From c21bc01b603ed8e604fbbb90575f5c438c56602d Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Sun, 24 Oct 2021 18:08:08 +0100 Subject: [PATCH 01/27] Update assert.h --- common/util/assert.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/common/util/assert.h b/common/util/assert.h index 9369507b2b..90a0044c0b 100644 --- a/common/util/assert.h +++ b/common/util/assert.h @@ -7,16 +7,18 @@ #if defined NDEBUG && defined _WIN32 -#define _OLD_NDEBUG NDEBUG +#pragma push_macro("NDEBUG") #undef NDEBUG +#undef assert #include -#define NDEBUG _OLD_NDEBUG -#undef _OLD_NDEBUG +#pragma pop_macro("NDEBUG") #else #include #endif + +#define ASSERT assert From 599ee34a4ab109fec8c9027de329b408d76e9143 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Sun, 24 Oct 2021 18:08:30 +0100 Subject: [PATCH 02/27] stuff for `process-drawable` to work --- decompiler/config/all-types.gc | 92 +++++++++---------- .../config/jak1_ntsc_black_label/hacks.jsonc | 2 - .../jak1_ntsc_black_label/label_types.jsonc | 4 + .../stack_structures.jsonc | 8 ++ .../jak1_ntsc_black_label/type_casts.jsonc | 62 +++++++++++++ .../jak1_ntsc_black_label/var_names.jsonc | 14 ++- 6 files changed, 133 insertions(+), 49 deletions(-) diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 92f0782640..3bc7b95961 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -6104,7 +6104,7 @@ (joint-num int16 :offset-assert 8) (geo basic :offset-assert 12) (bone bone :offset-assert 16) - (param0 function :offset-assert 20) + (param0 (function int) :offset-assert 20) (param1 basic :offset-assert 24) (param2 basic :offset-assert 28) ) @@ -7810,7 +7810,7 @@ (janim int32 :offset-assert 12) (bounds vector :inline :offset-assert 16) (radius meters :offset 28) - (mgeo uint16 4 :offset-assert 32) + (mgeo int16 4 :offset-assert 32) (max-lod int32 :offset-assert 40) (lod-dist float 4 :offset-assert 44) (longest-edge meters :offset-assert 60) @@ -7845,13 +7845,14 @@ :size-assert #x21 :flag-assert #xa00000021 (:methods - (dummy-9 (_type_) _type_ 9) + (dummy-9 (_type_ skeleton-group art-group entity) _type_ 9) ) ) (declare-type ripple-control basic) (declare-type shadow-control basic) (declare-type shadow-geo art-element) +(declare-type process-drawable process) (deftype draw-control (basic) ((status uint8 :offset-assert 4) (matrix-type uint8 :offset-assert 5) @@ -7860,8 +7861,8 @@ (art-group art-group :offset-assert 8) (jgeo art-joint-geo :offset-assert 12) (mgeo merc-ctrl :offset-assert 16) - (dma-add-func function :offset-assert 20) - (skeleton skeleton-group :offset-assert 24) ;; or cspace-array or shadow-control + (dma-add-func (function process-drawable draw-control symbol object none) :offset-assert 20) + (skeleton skeleton :offset-assert 24) ;; or cspace-array or shadow-control (lod-set lod-set :inline :offset-assert 28) (lod lod-group 4 :inline :offset 28) (max-lod int8 :offset 60) @@ -7900,8 +7901,8 @@ (:methods (new (symbol type process art-joint-geo) _type_ 0) (dummy-9 (_type_) (pointer int8) 9) - (dummy-10 (_type_ int) int 10) - (dummy-11 (_type_ lod-set) none 11) + (lod-set! (_type_ int) none 10) + (lods-assign! (_type_ lod-set) none 11) ) ) @@ -9426,9 +9427,9 @@ (root-channel (inline-array joint-control-channel) :offset 16) (blend-index int32 :offset-assert 20) (active-channels int32 :offset-assert 24) - (generate-frame-function basic :offset-assert 28) - (prebind-function basic :offset-assert 32) - (postbind-function function :offset-assert 36) + (generate-frame-function (function pointer int process-drawable none) :offset-assert 28) + (prebind-function (function pointer int process-drawable none) :offset-assert 32) + (postbind-function (function pointer int process-drawable none) :offset-assert 36) (effect effect-control :offset-assert 40) (channel joint-control-channel 3 :inline :offset-assert 48) ;; actually dynamic? (frame-group0 art-joint-anim :offset 60) @@ -9937,7 +9938,6 @@ :flag-assert #x90000004c ) -(declare-type process-drawable process) (deftype fact-info (basic) ((process process-drawable :offset-assert 4) (pickup-type pickup-type :offset-assert 8) @@ -10007,7 +10007,6 @@ ;; - Symbols -(declare-type process-drawable process) (define-extern process-drawable-art-error (state string process-drawable)) (define-extern *FACT-bank* fact-bank) @@ -10083,11 +10082,11 @@ :flag-assert #x14004000b0 ;; inherited inspect of process (:methods - (dummy-14 (_type_ skeleton-group object) none 14) + (initialize-skeleton (_type_ skeleton-group pair) none 14) (dummy-15 (_type_ string object) _type_ 15) (dummy-16 (_type_ int (inline-array vector) vector) collide-shape 16) (dummy-17 (_type_) none 17) - (dummy-18 (_type_) symbol 18) + (dummy-18 (_type_) none 18) (dummy-19 (_type_) none 19) ) ) @@ -10637,6 +10636,7 @@ :flag-assert #x900004b10 ) +(define-extern *debug-vertex-stats* debug-vertex-stats) ;; ---------------------- ;; File - joint-mod-h @@ -11565,7 +11565,7 @@ ;; - Functions -(define-extern joint-control-reset! (function joint-control joint-control-channel none)) +(define-extern joint-control-reset! (function joint-control joint-control-channel none :behavior process-drawable)) (define-extern cspace-index-by-name (function process-drawable string int)) (define-extern cspace-by-name (function process-drawable string cspace)) (define-extern cspace-by-name-no-fail (function process-drawable string cspace)) @@ -16015,7 +16015,7 @@ (define-extern draw-bones-merc function) (define-extern draw-bones-check-longest-edge function) (define-extern draw-bones-check-longest-edge-asm function) -(define-extern draw-bones function) +(define-extern draw-bones (function draw-control object float none)) (define-extern draw-bones-hud (function draw-control dma-buffer none)) ;; - Unknowns @@ -16829,11 +16829,11 @@ ;; - Functions -(define-extern ja-channel-push! (function int int int)) -(define-extern ja-channel-set! (function int int)) +(define-extern ja-channel-push! (function int int int :behavior process-drawable)) +(define-extern ja-channel-set! (function int int :behavior process-drawable)) (define-extern kill-current-level-hint (function pair pair symbol none)) (define-extern level-hint-surpress! (function none)) -(define-extern ja-aframe-num (function int float)) +(define-extern ja-aframe-num (function int float :behavior process-drawable)) (define-extern ja-abort-spooled-anim (function spool-anim art-joint-anim int int :behavior process-drawable)) (define-extern art-group-load-check (function string kheap int art-group)) (define-extern drawable-load (function drawable kheap drawable)) @@ -19177,41 +19177,41 @@ (define-extern process-grab? (function process symbol)) (define-extern process-release? (function process symbol)) (define-extern ja-post (function none :behavior process-drawable)) -(define-extern make-nodes-from-jg (function object pair symbol int)) -(define-extern dma-add-process-drawable function) -(define-extern add-process-drawable function) +(define-extern make-nodes-from-jg (function art-joint-geo pair symbol cspace-array :behavior process-drawable)) +(define-extern dma-add-process-drawable (function process-drawable draw-control symbol object none)) +(define-extern add-process-drawable (function process-drawable draw-control symbol none)) (define-extern vector<-cspace+vector! (function vector cspace vector vector)) (define-extern cspace-children (function process-drawable int pair)) -(define-extern cspace-inspect-tree function) -(define-extern fill-skeleton-cache (function process-drawable int)) +(define-extern cspace-inspect-tree (function process-drawable cspace int int object object)) +(define-extern fill-skeleton-cache (function process-drawable int)) ;; idk (define-extern execute-math-engine (function int)) (define-extern draw-joint-spheres (function process-drawable symbol)) -(define-extern anim-loop (function symbol)) -(define-extern ja-done? (function int symbol)) -(define-extern ja-min? (function int symbol)) -(define-extern ja-max? (function int symbol)) -(define-extern ja-num-frames (function int int)) -(define-extern ja-frame-num (function int float)) -(define-extern ja-aframe (function float int float)) -(define-extern ja-speed (function int float)) -(define-extern ja-step (function int float)) -(define-extern ja-group-size (function int)) -(define-extern ja-eval (function int)) -(define-extern ja-blend-eval (function int)) -(define-extern transform-post (function int)) -(define-extern rider-trans (function int)) -(define-extern rider-post (function int)) -(define-extern pusher-post (function int)) -(define-extern process-drawable-delay-player (function int int)) -(define-extern process-drawable-fuel-cell-handler (function process int symbol event-message-block none)) -(define-extern process-drawable-birth-fuel-cell function) +(define-extern anim-loop (function symbol :behavior process-drawable)) +(define-extern ja-done? (function int symbol :behavior process-drawable)) +(define-extern ja-min? (function int symbol :behavior process-drawable)) +(define-extern ja-max? (function int symbol :behavior process-drawable)) +(define-extern ja-num-frames (function int int :behavior process-drawable)) +(define-extern ja-frame-num (function int float :behavior process-drawable)) +(define-extern ja-aframe (function float int float :behavior process-drawable)) +(define-extern ja-speed (function int float :behavior process-drawable)) +(define-extern ja-step (function int float :behavior process-drawable)) +(define-extern ja-group-size (function int :behavior process-drawable)) +(define-extern ja-eval (function int :behavior process-drawable)) +(define-extern ja-blend-eval (function int :behavior process-drawable)) +(define-extern transform-post (function int :behavior process-drawable)) +(define-extern rider-trans (function int :behavior process-drawable)) +(define-extern rider-post (function int :behavior process-drawable)) +(define-extern pusher-post (function int :behavior process-drawable)) +(define-extern process-drawable-delay-player (function int int :behavior process-drawable)) +(define-extern process-drawable-fuel-cell-handler (function process int symbol event-message-block none :behavior process-drawable)) +(define-extern process-drawable-birth-fuel-cell (function entity vector symbol none :behavior process-drawable)) (define-extern process-drawable-valid? (function process-drawable symbol)) ;; - Unknowns (define-extern *valid-con* string) (define-extern *default-skel-template* pair) -(define-extern process-drawable-idle state) +(define-extern process-drawable-idle (state process-drawable)) ;; ---------------------- @@ -20078,7 +20078,7 @@ (define-extern draw-instance-info function) (define-extern find-instance-by-name (function string instance)) ;; TODO - ret not verified (define-extern prototype-bucket-type function) -(define-extern guard-band-cull function) +(define-extern guard-band-cull (function vector symbol)) (define-extern find-instance-by-index function) (define-extern prototype-bucket-recalc-fields (function instance none)) ;; TODO - ret not confirmed (define-extern dma-add-process-drawable-hud (function process-drawable draw-control symbol dma-buffer none)) @@ -20734,7 +20734,7 @@ (define-extern vent-standard-event-handler function) (define-extern ecovalve-init-by-other function) -(define-extern birth-pickup-at-point (function vector int float symbol process-drawable symbol (pointer process))) ;; TODO - unconfirmed - see beach-rocks +(define-extern birth-pickup-at-point (function vector int float symbol process-drawable fact-info (pointer process))) ;; TODO - unconfirmed - see beach-rocks (define-extern fuel-cell-pick-anim (function process-taskable none)) ;; TODO - unconfirmed - see process-taskable (define-extern othercam-init-by-other (function process-taskable symbol symbol symbol none :behavior othercam)) (define-extern fuel-cell-animate (function none)) diff --git a/decompiler/config/jak1_ntsc_black_label/hacks.jsonc b/decompiler/config/jak1_ntsc_black_label/hacks.jsonc index 447e2dbfd7..9f7860a14a 100644 --- a/decompiler/config/jak1_ntsc_black_label/hacks.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/hacks.jsonc @@ -276,8 +276,6 @@ "(method 35 collide-shape)", // process-drawable BUG - "cspace-inspect-tree", // BUG: - "process-drawable-birth-fuel-cell", // BUG: "(method 19 process-drawable)", // ambient diff --git a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc index df8ed07d7f..482cec5355 100644 --- a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc @@ -1150,6 +1150,10 @@ ["L32", "uint64", true] ], + "process-drawable": [ + ["L242", "vector"], + ["L241", "vector"] + ], // please do not add things after this entry! git is dumb. "object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": [] diff --git a/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc b/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc index fe6bb5e48d..6f3a17283e 100644 --- a/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc @@ -2747,5 +2747,13 @@ [16, "event-message-block"] ], + "(method 9 joint-control)": [[16, "vector"]], + "process-drawable-birth-fuel-cell": [[16, "vector"]], + "dma-add-process-drawable": [ + [32, "vector"], + [48, "vector"], + [64, "light-group"] + ], + "placeholder-do-not-add-below!": [] } diff --git a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc index fd143b118c..8be63c810d 100644 --- a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc @@ -4112,5 +4112,67 @@ [[8, 56], "v1", "cam-collision-record"] ], + "(method 9 lod-set)": [["_stack_", 16, "res-tag"]], + + "execute-math-engine": [ + [12, "a1", "process-drawable"], + [15, "a1", "process-drawable"] + ], + + "(method 18 process-drawable)": [ + [[8, 11], "a0", "collide-shape"] + ], + + "ja-post": [[[42, 45], "a0", "collide-shape"]], + "transform-post": [[[3, 6], "a0", "collide-shape"]], + "rider-trans": [[[1, 4], "a0", "collide-shape"]], + "rider-post": [ + [[4, 7], "a0", "collide-shape"], + [[9, 12], "a0", "collide-shape"], + [[13, 16], "gp", "collide-shape"], + [8, "gp", "collide-shape"], + [3, "gp", "collide-shape"] + ], + "pusher-post": [ + [4, "a0", "collide-shape"], + [3, "gp", "collide-shape"], + [[8, 11], "gp", "collide-shape"] + ], + + "(method 14 process-drawable)": [ + [[322, 336], "gp", "collide-shape"], + [320, "v1", "vector"] + ], + + "(method 9 joint-control)": [ + [[14, 61], "gp", "(pointer float)"], + [[13, 59], "s4", "joint-control-channel"] + ], + + "ja-blend-eval": [ + [[3, 31], "s5", "joint-control-channel"] + ], + + "joint-control-reset!": [ + [4, "a1", "pointer"], + [6, "a0", "pointer"], + [9, "a1", "pointer"], + [[14, 37], "v1", "joint-control-channel"] + ], + + "ja-channel-push!": [ + [38, "v1", "pointer"], + [38, "a0", "pointer"] + ], + + "fill-skeleton-cache": [ + [[11, 33], "a2", "bone-cache"] + ], + + "dma-add-process-drawable": [ + [292, "v1", "vector"], + [297, "v1", "vector"] + ], + "placeholder-do-not-add-below": [] } diff --git a/decompiler/config/jak1_ntsc_black_label/var_names.jsonc b/decompiler/config/jak1_ntsc_black_label/var_names.jsonc index 00f9274401..5cb9bb3f1d 100644 --- a/decompiler/config/jak1_ntsc_black_label/var_names.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/var_names.jsonc @@ -3645,7 +3645,19 @@ "(method 15 level)": { "vars": { - "v1-5": ["s5-1", "(inline-array box8s)"] + "v1-5": ["v1-5", "(inline-array box8s)"] + } + }, + + "(method 14 process-drawable)": { + "vars": { + "a2-10": ["a2-10", "int"] + } + }, + + "joint-control-reset!": { + "vars": { + "v1-2": ["v1-2", "joint-control-channel"] } }, From 0b76734dc69e4b6473824575feef6362c0ab9a6f Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Sun, 24 Oct 2021 21:15:03 +0100 Subject: [PATCH 03/27] add windows code for debugger --- common/cross_os_debug/xdbg.cpp | 207 ++++++++++++++++++++++++--- common/cross_os_debug/xdbg.h | 10 +- game/kernel/kprint.cpp | 2 +- goalc/compiler/compilation/Debug.cpp | 30 ++-- 4 files changed, 211 insertions(+), 38 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index d5baa56529..bafbb1daa8 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -21,7 +21,9 @@ #include #include #elif _WIN32 - +#include +#undef min +#undef max #endif namespace xdbg { @@ -297,50 +299,80 @@ bool cont_now(const ThreadID& tid) { #elif _WIN32 -ThreadID::ThreadID() {} // todo +ThreadID::ThreadID(DWORD _pid, DWORD _tid) : pid(_pid), tid(_tid) {} ThreadID::ThreadID(const std::string& str) { - // todo + // id = std::stoi(str); } std::string ThreadID::to_string() const { - // todo - return "0"; + return fmt::format("{}-{}", pid, tid); } ThreadID get_current_thread_id() { - // todo - return {}; + return ThreadID(GetCurrentProcessId(), GetCurrentThreadId()); +} + +void win_print_last_error(const std::string& msg) { + LPTSTR errorText = NULL; + + FormatMessage( + FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&errorText, 0, NULL); + + printf("[Debugger] %s Win Err: %s\n", msg.c_str(), errorText); } bool attach_and_break(const ThreadID& tid) { - return false; + if (!DebugActiveProcess(tid.pid)) { + win_print_last_error(fmt::format("DebugActiveProcess w/ TID {}", tid.to_string())); + return false; + } + + return true; } bool detach_and_resume(const ThreadID& tid) { - return false; + if (!DebugActiveProcessStop(tid.pid)) { + win_print_last_error("DebugActiveProcessStop"); + return false; + } + + return true; } void allow_debugging() {} bool break_now(const ThreadID& tid) { - return false; + HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, tid.pid); + + auto result = DebugBreakProcess(hProc); + + CloseHandle(hProc); + + if (!result) { + win_print_last_error("DebugBreakProcess"); + return false; + } + + return true; } bool cont_now(const ThreadID& tid) { - return false; -} + if (!ContinueDebugEvent(tid.pid, tid.tid, DBG_CONTINUE)) { + win_print_last_error("ContinueDebugEvent"); + return false; + } -bool get_regs_now(const ThreadID& tid, Regs* out) { - return false; + return true; } bool open_memory(const ThreadID& tid, MemoryHandle* out) { - return false; + return true; } bool close_memory(const ThreadID& tid, MemoryHandle* handle) { - return false; + return true; } bool read_goal_memory(u8* dest_buffer, @@ -348,7 +380,24 @@ bool read_goal_memory(u8* dest_buffer, u32 goal_addr, const DebugContext& context, const MemoryHandle& mem) { - return false; + SIZE_T read; + HANDLE hProc = OpenProcess(PROCESS_VM_READ, FALSE, context.tid.pid); + + if (hProc == NULL) { + win_print_last_error("OpenProcess"); + return false; + } + + auto result = + ReadProcessMemory(hProc, (LPCVOID)(context.base + goal_addr), dest_buffer, size, &read); + + CloseHandle(hProc); + + if (!result || read != size) { + win_print_last_error("ReadProcessMemory"); + return false; + } + return true; } bool write_goal_memory(const u8* src_buffer, @@ -356,15 +405,133 @@ bool write_goal_memory(const u8* src_buffer, u32 goal_addr, const DebugContext& context, const MemoryHandle& mem) { - return false; + SIZE_T written; + HANDLE hProc = OpenProcess(PROCESS_VM_WRITE, FALSE, context.tid.pid); + + if (hProc == NULL) { + win_print_last_error("OpenProcess"); + return false; + } + + auto result = + WriteProcessMemory(hProc, (LPVOID)(context.base + goal_addr), src_buffer, size, &written); + + CloseHandle(hProc); + + if (!result || written != size) { + win_print_last_error("WriteProcessMemory"); + return false; + } + return true; } bool check_stopped(const ThreadID& tid, SignalInfo* out) { - return false; + DEBUG_EVENT debugEvent; + + if (WaitForDebugEvent(&debugEvent, INFINITE)) { + printf("[Debugger] debug event %d\m", debugEvent.dwDebugEventCode); + if (!ContinueDebugEvent(tid.pid, tid.tid, DBG_CONTINUE)) { + win_print_last_error("ContinueDebugEvent"); + return false; + } + } else { + win_print_last_error("WaitForDebugEvent"); + return false; + } + + return true; +} + +bool get_regs_now(const ThreadID& tid, Regs* out) { + CONTEXT context; + HANDLE hThr = OpenThread(THREAD_GET_CONTEXT, FALSE, tid.tid); + + if (hThr == NULL) { + win_print_last_error("OpenThread"); + return false; + } + + auto result = GetThreadContext(hThr, &context); + CloseHandle(hThr); + + if (!result) { + win_print_last_error("GetThreadContext"); + return false; + } + + out->gprs[0] = context.Rax; + out->gprs[1] = context.Rcx; + out->gprs[2] = context.Rdx; + out->gprs[3] = context.Rbx; + out->gprs[4] = context.Rsp; + out->gprs[5] = context.Rbp; + out->gprs[6] = context.Rsi; + out->gprs[7] = context.Rdi; + out->gprs[8] = context.R8; + out->gprs[9] = context.R9; + out->gprs[10] = context.R10; + out->gprs[11] = context.R11; + out->gprs[12] = context.R12; + out->gprs[13] = context.R13; + out->gprs[14] = context.R14; + out->gprs[15] = context.R15; + out->rip = context.Rip; + + // todo, get fprs. + return true; } bool set_regs_now(const ThreadID& tid, const Regs& out) { - return false; + CONTEXT context; + HANDLE hThr = OpenThread(THREAD_GET_CONTEXT, FALSE, tid.tid); + + if (hThr == NULL) { + win_print_last_error("OpenThread"); + return false; + } + + auto result = GetThreadContext(hThr, &context); + CloseHandle(hThr); + + if (!result) { + win_print_last_error("GetThreadContext"); + return false; + } + + context.Rax = out.gprs[0]; + context.Rcx = out.gprs[1]; + context.Rdx = out.gprs[2]; + context.Rbx = out.gprs[3]; + context.Rsp = out.gprs[4]; + context.Rbp = out.gprs[5]; + context.Rsi = out.gprs[6]; + context.Rdi = out.gprs[7]; + context.R8 = out.gprs[8]; + context.R9 = out.gprs[9]; + context.R10 = out.gprs[10]; + context.R11 = out.gprs[11]; + context.R12 = out.gprs[12]; + context.R13 = out.gprs[13]; + context.R14 = out.gprs[14]; + context.R15 = out.gprs[15]; + context.Rip = out.rip; + + hThr = OpenThread(THREAD_SET_CONTEXT, FALSE, tid.tid); + + if (hThr == NULL) { + win_print_last_error("OpenThread"); + return false; + } + + result = SetThreadContext(hThr, &context); + CloseHandle(hThr); + + if (!result) { + win_print_last_error("SetThreadContext"); + return false; + } + // todo, set fprs. + return true; } #endif diff --git a/common/cross_os_debug/xdbg.h b/common/cross_os_debug/xdbg.h index c3ee3b78e9..99b9fedca1 100644 --- a/common/cross_os_debug/xdbg.h +++ b/common/cross_os_debug/xdbg.h @@ -13,7 +13,9 @@ #ifdef __linux #include #elif _WIN32 -// todo - windows includes +#include +#undef min +#undef max #endif namespace xdbg { @@ -41,9 +43,13 @@ struct MemoryHandle { #elif _WIN32 struct ThreadID { // todo - whatever windows uses to identify a thread + DWORD pid = 0; + DWORD tid = 0; + std::string to_string() const; ThreadID(const std::string& str); - ThreadID(); // todo - add id type here, like in linux version + ThreadID(DWORD pid, DWORD tid); + ThreadID() = default; }; struct MemoryHandle { diff --git a/game/kernel/kprint.cpp b/game/kernel/kprint.cpp index 4681a380dd..22497beb6a 100644 --- a/game/kernel/kprint.cpp +++ b/game/kernel/kprint.cpp @@ -124,7 +124,7 @@ void reset_output() { // s7.offset); // modified for OpenGOAL: - sprintf(OutputBufArea.cast().c() + sizeof(ListenerMessageHeader), "reset #x%x #x%lx %s\n", + sprintf(OutputBufArea.cast().c() + sizeof(ListenerMessageHeader), "reset #x%x #x%llx %s\n", s7.offset, (uintptr_t)g_ee_main_mem, xdbg::get_current_thread_id().to_string().c_str()); OutputPending = OutputBufArea + sizeof(ListenerMessageHeader); } diff --git a/goalc/compiler/compilation/Debug.cpp b/goalc/compiler/compilation/Debug.cpp index 6647231c0f..1d611d391b 100644 --- a/goalc/compiler/compilation/Debug.cpp +++ b/goalc/compiler/compilation/Debug.cpp @@ -156,7 +156,7 @@ Val* Compiler::compile_dump_all(const goos::Object& form, const goos::Object& re namespace { -enum PrintMode { HEX, UNSIGNED_DEC, SIGNED_DEC, FLOAT }; +enum class PrintMode { HEX, UNSIGNED_DEC, SIGNED_DEC, FLOAT }; template void mem_print(T* data, int count, u32 start_addr, PrintMode mode) { @@ -167,14 +167,14 @@ void mem_print(T* data, int count, u32 start_addr, PrintMode mode) { std::string format_string; switch (mode) { - case HEX: + case PrintMode::HEX: format_string = "0x{:0" + std::to_string(2 * sizeof(T)) + "x} "; break; - case UNSIGNED_DEC: - case SIGNED_DEC: + case PrintMode::UNSIGNED_DEC: + case PrintMode::SIGNED_DEC: format_string = "{:" + std::to_string(3 * sizeof(T)) + "d} "; break; - case FLOAT: + case PrintMode::FLOAT: format_string = "{:8.4f} "; // todo, is this what we want? break; default: @@ -210,18 +210,18 @@ Val* Compiler::compile_pm(const goos::Object& form, const goos::Object& rest, En u32 addr = parse_address_spec(args.unnamed.at(1)); u32 elts = args.unnamed.at(2).as_int(); - PrintMode mode = HEX; + PrintMode mode = PrintMode::HEX; if (args.has_named("print-mode")) { auto mode_name = symbol_string(args.get_named("print-mode")); if (mode_name == "hex") { - mode = HEX; + mode = PrintMode::HEX; } else if (mode_name == "unsigned-dec") { - mode = UNSIGNED_DEC; + mode = PrintMode::UNSIGNED_DEC; } else if (mode_name == "signed-dec") { - mode = SIGNED_DEC; + mode = PrintMode::SIGNED_DEC; } else if (mode_name == "float") { - mode = FLOAT; + mode = PrintMode::FLOAT; } else { throw_compiler_error(form, "Unknown print-mode {} for :pm.", mode_name); } @@ -250,8 +250,8 @@ Val* Compiler::compile_pm(const goos::Object& form, const goos::Object& rest, En m_debugger.read_memory(mem.data(), mem_size, addr); switch (mode) { - case HEX: - case UNSIGNED_DEC: + case PrintMode::HEX: + case PrintMode::UNSIGNED_DEC: switch (elt_size) { case 1: mem_print((u8*)mem.data(), elts, addr, mode); @@ -269,7 +269,7 @@ Val* Compiler::compile_pm(const goos::Object& form, const goos::Object& rest, En throw_compiler_error(form, ":pm {} is an invalid element size for unsigned", elt_size); } break; - case SIGNED_DEC: + case PrintMode::SIGNED_DEC: switch (elt_size) { case 1: mem_print((s8*)mem.data(), elts, addr, mode); @@ -287,7 +287,7 @@ Val* Compiler::compile_pm(const goos::Object& form, const goos::Object& rest, En throw_compiler_error(form, ":pm {} is a bad element size for signed", elt_size); } break; - case FLOAT: + case PrintMode::FLOAT: switch (elt_size) { case 4: mem_print((float*)mem.data(), elts, addr, mode); @@ -389,4 +389,4 @@ Val* Compiler::compile_ubp(const goos::Object& form, const goos::Object& rest, E m_debugger.remove_addr_breakpoint(addr); return get_none(); -} \ No newline at end of file +} From 464f16aa0b3db0580d61dc81f0aa5fb75f6de971 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Sun, 24 Oct 2021 22:20:16 +0100 Subject: [PATCH 04/27] debugger attaches --- common/cross_os_debug/xdbg.cpp | 53 ++++++++++++++++++++-------------- common/cross_os_debug/xdbg.h | 3 +- goalc/debugger/Debugger.cpp | 32 ++++++++++++++++++-- goalc/debugger/Debugger.h | 4 +++ 4 files changed, 66 insertions(+), 26 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index bafbb1daa8..dbba01e424 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -21,9 +21,8 @@ #include #include #elif _WIN32 +#define NOMINMAX #include -#undef min -#undef max #endif namespace xdbg { @@ -302,7 +301,9 @@ bool cont_now(const ThreadID& tid) { ThreadID::ThreadID(DWORD _pid, DWORD _tid) : pid(_pid), tid(_tid) {} ThreadID::ThreadID(const std::string& str) { - // id = std::stoi(str); + auto sep = str.find('-'); + pid = std::stoi(str.substr(0, sep)); + tid = std::stoi(str.substr(sep+1)); } std::string ThreadID::to_string() const { @@ -320,7 +321,7 @@ void win_print_last_error(const std::string& msg) { FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&errorText, 0, NULL); - printf("[Debugger] %s Win Err: %s\n", msg.c_str(), errorText); + printf("[Debugger] %s Win Err: %s", msg.c_str(), errorText); } bool attach_and_break(const ThreadID& tid) { @@ -367,6 +368,33 @@ bool cont_now(const ThreadID& tid) { return true; } +bool check_stopped(const ThreadID& tid, SignalInfo* out) { + DEBUG_EVENT debugEvent; + + if (WaitForDebugEvent(&debugEvent, INFINITE)) { + printf("[Debugger] debug event %d\n", debugEvent.dwDebugEventCode); + switch (debugEvent.dwDebugEventCode) { + case CREATE_PROCESS_DEBUG_EVENT: + out->kind = SignalInfo::BREAK; + break; + default: + out->kind = SignalInfo::UNKNOWN; + break; + } + return true; + /* + if (!ContinueDebugEvent(debugEvent.dwProcessId, debugEvent.dwThreadId, DBG_CONTINUE)) { + win_print_last_error("ContinueDebugEvent"); + return false; + }*/ + } else { + win_print_last_error("WaitForDebugEvent"); + return false; + } + + return false; +} + bool open_memory(const ThreadID& tid, MemoryHandle* out) { return true; } @@ -425,23 +453,6 @@ bool write_goal_memory(const u8* src_buffer, return true; } -bool check_stopped(const ThreadID& tid, SignalInfo* out) { - DEBUG_EVENT debugEvent; - - if (WaitForDebugEvent(&debugEvent, INFINITE)) { - printf("[Debugger] debug event %d\m", debugEvent.dwDebugEventCode); - if (!ContinueDebugEvent(tid.pid, tid.tid, DBG_CONTINUE)) { - win_print_last_error("ContinueDebugEvent"); - return false; - } - } else { - win_print_last_error("WaitForDebugEvent"); - return false; - } - - return true; -} - bool get_regs_now(const ThreadID& tid, Regs* out) { CONTEXT context; HANDLE hThr = OpenThread(THREAD_GET_CONTEXT, FALSE, tid.tid); diff --git a/common/cross_os_debug/xdbg.h b/common/cross_os_debug/xdbg.h index 99b9fedca1..4e7a19dd2b 100644 --- a/common/cross_os_debug/xdbg.h +++ b/common/cross_os_debug/xdbg.h @@ -13,9 +13,8 @@ #ifdef __linux #include #elif _WIN32 +#define NOMINMAX #include -#undef min -#undef max #endif namespace xdbg { diff --git a/goalc/debugger/Debugger.cpp b/goalc/debugger/Debugger.cpp index 02668f65d1..46c866a793 100644 --- a/goalc/debugger/Debugger.cpp +++ b/goalc/debugger/Debugger.cpp @@ -4,6 +4,7 @@ * Uses xdbg functions to debug an OpenGOAL target. */ +#include #include "Debugger.h" #include "common/goal_constants.h" #include "common/symbols.h" @@ -14,6 +15,10 @@ #include "goalc/listener/Listener.h" #include "third-party/fmt/core.h" +namespace { +std::mutex watcher_mutex; +} + /*! * Is the target halted? If we don't know or aren't connected, returns false. */ @@ -97,8 +102,7 @@ bool Debugger::attach_and_break() { clear_signal_queue(); // attach and send a break command - if (xdbg::attach_and_break(m_debug_context.tid)) { - start_watcher(); + if (try_start_watcher()) { // wait for the signal queue to get a stop and pop it. auto info = pop_signal(); @@ -562,6 +566,19 @@ bool Debugger::get_symbol_value(const std::string& sym_name, u32* output) { return false; } +/*! + * Attempt to start the debugger watch thread and evaluate attach success. Stops if unsuccessful. + */ +bool Debugger::try_start_watcher() { + start_watcher(); + std::unique_lock lk(watcher_mutex); + m_attach_cv.wait(lk, [&]() { return m_attach_return; }); + if (!m_attach_response) { + stop_watcher(); + } + return m_attach_response; +} + /*! * Starts the debugger watch thread which watches the target process to see if it stops. */ @@ -572,6 +589,7 @@ void Debugger::start_watcher() { assert(!m_watcher_running); m_watcher_running = true; m_watcher_should_stop = false; + m_attach_return = false; m_watcher_thread = std::thread(&Debugger::watcher, this); } @@ -595,6 +613,14 @@ Debugger::~Debugger() { * The watcher thread. */ void Debugger::watcher() { + // watcher will now attach to target. + // linux doesn't require the attachment and watching to be on the same thread, but windows does. + m_attach_response = xdbg::attach_and_break(m_debug_context.tid); + m_attach_return = true; + m_attach_cv.notify_all(); + if (!m_attach_response) + return; + xdbg::SignalInfo signal_info; while (!m_watcher_should_stop) { // we just sit in a loop, waiting for stops. @@ -790,4 +816,4 @@ DebugInfo& Debugger::get_debug_info_for_object(const std::string& object_name) { bool Debugger::knows_object(const std::string& object_name) const { return m_debug_info.find(object_name) != m_debug_info.end(); -} \ No newline at end of file +} diff --git a/goalc/debugger/Debugger.h b/goalc/debugger/Debugger.h index 76c7c7b88b..a9b816c1b6 100644 --- a/goalc/debugger/Debugger.h +++ b/goalc/debugger/Debugger.h @@ -160,7 +160,11 @@ class Debugger { bool m_watcher_should_stop = false; bool m_watcher_running = false; bool m_regs_valid = false; + bool m_attach_response = false; + bool m_attach_return = false; + std::condition_variable m_attach_cv; + bool try_start_watcher(); void start_watcher(); void stop_watcher(); void watcher(); From 3c925553c667331b1ed0d0f7c3c1e56120ebfb58 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Mon, 25 Oct 2021 01:09:38 +0100 Subject: [PATCH 05/27] something works --- common/cross_os_debug/xdbg.cpp | 102 +++++++++++++++++++++++++++++---- common/cross_os_debug/xdbg.h | 2 +- goal_src/test/test-bad-math.gc | 7 +++ goalc/debugger/Debugger.cpp | 3 + 4 files changed, 101 insertions(+), 13 deletions(-) create mode 100644 goal_src/test/test-bad-math.gc diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index dbba01e424..6e7b66f662 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -23,6 +23,8 @@ #elif _WIN32 #define NOMINMAX #include +#include +#include #endif namespace xdbg { @@ -324,6 +326,16 @@ void win_print_last_error(const std::string& msg) { printf("[Debugger] %s Win Err: %s", msg.c_str(), errorText); } +/*! + * Cross-thread things. + */ +int cont_status = -1; // hack? -1 = ignore; 0 = waiting for cont; 1 = cont'd, will resume +std::mutex m; +std::condition_variable cv; +DEBUG_EVENT debugEvent; +std::vector threads_to_cont; +bool cont = false; + bool attach_and_break(const ThreadID& tid) { if (!DebugActiveProcess(tid.pid)) { win_print_last_error(fmt::format("DebugActiveProcess w/ TID {}", tid.to_string())); @@ -360,36 +372,101 @@ bool break_now(const ThreadID& tid) { } bool cont_now(const ThreadID& tid) { + /* + HANDLE hThr = OpenThread(THREAD_SUSPEND_RESUME, FALSE, tid.tid); + + if (hThr == NULL) { + win_print_last_error("OpenThread"); + return false; + } + + auto result = ResumeThread(hThr); + CloseHandle(hThr); + + if (!result) { + win_print_last_error("ResumeThread"); + // return false; + } + */ + // cont = true; + // return threads_to_cont.empty(); + /* if (!ContinueDebugEvent(tid.pid, tid.tid, DBG_CONTINUE)) { win_print_last_error("ContinueDebugEvent"); return false; } + */ + if (cont_status != 0) { + return false; + } + cont_status = 1; + cv.notify_all(); return true; } bool check_stopped(const ThreadID& tid, SignalInfo* out) { - DEBUG_EVENT debugEvent; + { + std::unique_lock lk(m); + if (cont_status != -1) { + cv.wait(lk, [&] { return cont_status == 1; }); + if (!ContinueDebugEvent(tid.pid, tid.tid, DBG_CONTINUE)) { + win_print_last_error("ContinueDebugEvent"); + } + cont_status = -1; + } + } + /* + if (cont) { + for (auto& th : threads_to_cont) { + if (!ContinueDebugEvent(th.pid, th.tid, DBG_CONTINUE)) { + win_print_last_error("ContinueDebugEvent"); + } + } + threads_to_cont.clear(); + cont = false; + }*/ if (WaitForDebugEvent(&debugEvent, INFINITE)) { - printf("[Debugger] debug event %d\n", debugEvent.dwDebugEventCode); + bool is_other = tid.pid != debugEvent.dwProcessId || tid.tid != debugEvent.dwThreadId; + if (is_other) { + printf("[Debugger] got debug event %d on other\n", debugEvent.dwDebugEventCode); + } else { + printf("[Debugger] got debug event %d\n", debugEvent.dwDebugEventCode); + } + + cont_status = 0; switch (debugEvent.dwDebugEventCode) { - case CREATE_PROCESS_DEBUG_EVENT: + case EXCEPTION_DEBUG_EVENT: // 1 + out->kind = SignalInfo::ILLEGAL_INSTR; + break; + case CREATE_PROCESS_DEBUG_EVENT: // 3 out->kind = SignalInfo::BREAK; break; + case CREATE_THREAD_DEBUG_EVENT: // 2 + case LOAD_DLL_DEBUG_EVENT: // 6 + case UNLOAD_DLL_DEBUG_EVENT: // 7 + // don't care about these + out->kind = SignalInfo::NOTHING; + if (!ContinueDebugEvent(debugEvent.dwProcessId, debugEvent.dwThreadId, DBG_CONTINUE)) { + win_print_last_error("ContinueDebugEvent other 2"); + } + cont_status = 1; + return false; + break; + case EXIT_THREAD_DEBUG_EVENT: // 4 + case EXIT_PROCESS_DEBUG_EVENT: // 5 + case OUTPUT_DEBUG_STRING_EVENT: // 8 + case RIP_EVENT: // 9 default: + // printf("[Debugger] unhandled debug event %d\n", debugEvent.dwDebugEventCode); out->kind = SignalInfo::UNKNOWN; break; } + // threads_to_cont.push_back(ThreadID(debugEvent.dwProcessId, debugEvent.dwThreadId)); return true; - /* - if (!ContinueDebugEvent(debugEvent.dwProcessId, debugEvent.dwThreadId, DBG_CONTINUE)) { - win_print_last_error("ContinueDebugEvent"); - return false; - }*/ - } else { + } else if (GetLastError() != 0x79) { // semaphore timeout error, irrelevant. win_print_last_error("WaitForDebugEvent"); - return false; } return false; @@ -454,7 +531,8 @@ bool write_goal_memory(const u8* src_buffer, } bool get_regs_now(const ThreadID& tid, Regs* out) { - CONTEXT context; + CONTEXT context = {}; + context.ContextFlags = CONTEXT_FULL; HANDLE hThr = OpenThread(THREAD_GET_CONTEXT, FALSE, tid.tid); if (hThr == NULL) { @@ -493,7 +571,7 @@ bool get_regs_now(const ThreadID& tid, Regs* out) { } bool set_regs_now(const ThreadID& tid, const Regs& out) { - CONTEXT context; + CONTEXT context = {}; HANDLE hThr = OpenThread(THREAD_GET_CONTEXT, FALSE, tid.tid); if (hThr == NULL) { diff --git a/common/cross_os_debug/xdbg.h b/common/cross_os_debug/xdbg.h index 4e7a19dd2b..beab1871e5 100644 --- a/common/cross_os_debug/xdbg.h +++ b/common/cross_os_debug/xdbg.h @@ -41,7 +41,6 @@ struct MemoryHandle { #elif _WIN32 struct ThreadID { - // todo - whatever windows uses to identify a thread DWORD pid = 0; DWORD tid = 0; @@ -91,6 +90,7 @@ struct SignalInfo { ILLEGAL_INSTR, // bad instruction UNKNOWN, // some other signal that is unsupported DISAPPEARED, // process disappeared (maybe killed by the user) + NOTHING, // nothing of importance. Windows sends many irrelevant (to us) events. } kind = UNKNOWN; }; diff --git a/goal_src/test/test-bad-math.gc b/goal_src/test/test-bad-math.gc new file mode 100644 index 0000000000..3bb479b140 --- /dev/null +++ b/goal_src/test/test-bad-math.gc @@ -0,0 +1,7 @@ +;;-*-Lisp-*- +(in-package goal) + +(defun bad-math () + "bad math" + (/ 10 0) ;; oh no! + ) diff --git a/goalc/debugger/Debugger.cpp b/goalc/debugger/Debugger.cpp index 46c866a793..27eae64bd4 100644 --- a/goalc/debugger/Debugger.cpp +++ b/goalc/debugger/Debugger.cpp @@ -650,6 +650,9 @@ void Debugger::watcher() { case xdbg::SignalInfo::UNKNOWN: printf("Target has encountered an unknown signal. Run (:di) to get more information.\n"); break; + case xdbg::SignalInfo::NOTHING: + // printf("Nothing happened.\n"); + break; default: printf("[Debugger] unhandled signal in watcher: %d\n", int(signal_info.kind)); assert(false); From 49af7abe96d58212539a7ba03fe2097ec99cdbcf Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Mon, 25 Oct 2021 01:12:49 +0100 Subject: [PATCH 06/27] remove bad ideas --- common/cross_os_debug/xdbg.cpp | 39 ++-------------------------------- 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index 6e7b66f662..0c72cfe006 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -332,9 +332,7 @@ void win_print_last_error(const std::string& msg) { int cont_status = -1; // hack? -1 = ignore; 0 = waiting for cont; 1 = cont'd, will resume std::mutex m; std::condition_variable cv; -DEBUG_EVENT debugEvent; std::vector threads_to_cont; -bool cont = false; bool attach_and_break(const ThreadID& tid) { if (!DebugActiveProcess(tid.pid)) { @@ -372,30 +370,6 @@ bool break_now(const ThreadID& tid) { } bool cont_now(const ThreadID& tid) { - /* - HANDLE hThr = OpenThread(THREAD_SUSPEND_RESUME, FALSE, tid.tid); - - if (hThr == NULL) { - win_print_last_error("OpenThread"); - return false; - } - - auto result = ResumeThread(hThr); - CloseHandle(hThr); - - if (!result) { - win_print_last_error("ResumeThread"); - // return false; - } - */ - // cont = true; - // return threads_to_cont.empty(); - /* - if (!ContinueDebugEvent(tid.pid, tid.tid, DBG_CONTINUE)) { - win_print_last_error("ContinueDebugEvent"); - return false; - } - */ if (cont_status != 0) { return false; } @@ -416,16 +390,8 @@ bool check_stopped(const ThreadID& tid, SignalInfo* out) { cont_status = -1; } } - /* - if (cont) { - for (auto& th : threads_to_cont) { - if (!ContinueDebugEvent(th.pid, th.tid, DBG_CONTINUE)) { - win_print_last_error("ContinueDebugEvent"); - } - } - threads_to_cont.clear(); - cont = false; - }*/ + + DEBUG_EVENT debugEvent; if (WaitForDebugEvent(&debugEvent, INFINITE)) { bool is_other = tid.pid != debugEvent.dwProcessId || tid.tid != debugEvent.dwThreadId; @@ -463,7 +429,6 @@ bool check_stopped(const ThreadID& tid, SignalInfo* out) { out->kind = SignalInfo::UNKNOWN; break; } - // threads_to_cont.push_back(ThreadID(debugEvent.dwProcessId, debugEvent.dwThreadId)); return true; } else if (GetLastError() != 0x79) { // semaphore timeout error, irrelevant. win_print_last_error("WaitForDebugEvent"); From 6590070ea22770d7bcdddce794a7cb50b0f5ad79 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Mon, 25 Oct 2021 03:04:58 +0100 Subject: [PATCH 07/27] `(:break)` works --- common/cross_os_debug/xdbg.cpp | 111 ++++++++++++++++++++++++++------- common/cross_os_debug/xdbg.h | 3 +- goalc/debugger/Debugger.cpp | 3 + 3 files changed, 95 insertions(+), 22 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index 0c72cfe006..9b90c3d49f 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -379,62 +379,131 @@ bool cont_now(const ThreadID& tid) { return true; } +DEBUG_EVENT debugEvent; +void ignore_debug_event() { + if (!ContinueDebugEvent(debugEvent.dwProcessId, debugEvent.dwThreadId, DBG_CONTINUE)) { + win_print_last_error("ContinueDebugEvent"); + } + cont_status = -1; +} + +const char* win32_exception_code_to_charp(DWORD exc) { + switch (exc) { + case EXCEPTION_ACCESS_VIOLATION: + return "EXCEPTION_ACCESS_VIOLATION"; + case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: + return "EXCEPTION_ARRAY_BOUNDS_EXCEEDED"; + case EXCEPTION_BREAKPOINT: + return "EXCEPTION_BREAKPOINT"; + case EXCEPTION_DATATYPE_MISALIGNMENT: + return "EXCEPTION_DATATYPE_MISALIGNMENT"; + case EXCEPTION_FLT_DENORMAL_OPERAND: + return "EXCEPTION_FLT_DENORMAL_OPERAND"; + case EXCEPTION_FLT_DIVIDE_BY_ZERO: + return "EXCEPTION_FLT_DIVIDE_BY_ZERO"; + case EXCEPTION_FLT_INEXACT_RESULT: + return "EXCEPTION_FLT_INEXACT_RESULT"; + case EXCEPTION_FLT_INVALID_OPERATION: + return "EXCEPTION_FLT_INVALID_OPERATION"; + case EXCEPTION_FLT_OVERFLOW: + return "EXCEPTION_FLT_OVERFLOW"; + case EXCEPTION_FLT_STACK_CHECK: + return "EXCEPTION_FLT_STACK_CHECK"; + case EXCEPTION_FLT_UNDERFLOW: + return "EXCEPTION_FLT_UNDERFLOW"; + case EXCEPTION_ILLEGAL_INSTRUCTION: + return "EXCEPTION_ILLEGAL_INSTRUCTION"; + case EXCEPTION_IN_PAGE_ERROR: + return "EXCEPTION_IN_PAGE_ERROR"; + case EXCEPTION_INT_DIVIDE_BY_ZERO: + return "EXCEPTION_INT_DIVIDE_BY_ZERO"; + case EXCEPTION_INT_OVERFLOW: + return "EXCEPTION_INT_OVERFLOW"; + case EXCEPTION_INVALID_DISPOSITION: + return "EXCEPTION_INVALID_DISPOSITION"; + case EXCEPTION_NONCONTINUABLE_EXCEPTION: + return "EXCEPTION_NONCONTINUABLE_EXCEPTION"; + case EXCEPTION_PRIV_INSTRUCTION: + return "EXCEPTION_PRIV_INSTRUCTION"; + case EXCEPTION_SINGLE_STEP: + return "EXCEPTION_SINGLE_STEP"; + case EXCEPTION_STACK_OVERFLOW: + return "EXCEPTION_STACK_OVERFLOW"; + default: + return "??????????"; + } +} + bool check_stopped(const ThreadID& tid, SignalInfo* out) { { std::unique_lock lk(m); if (cont_status != -1) { cv.wait(lk, [&] { return cont_status == 1; }); - if (!ContinueDebugEvent(tid.pid, tid.tid, DBG_CONTINUE)) { + if (!ContinueDebugEvent(debugEvent.dwProcessId, debugEvent.dwThreadId, DBG_CONTINUE)) { win_print_last_error("ContinueDebugEvent"); } cont_status = -1; } } - DEBUG_EVENT debugEvent; - if (WaitForDebugEvent(&debugEvent, INFINITE)) { bool is_other = tid.pid != debugEvent.dwProcessId || tid.tid != debugEvent.dwThreadId; if (is_other) { - printf("[Debugger] got debug event %d on other\n", debugEvent.dwDebugEventCode); + // printf("[Debugger] got debug event %d on other\n", debugEvent.dwDebugEventCode); } else { - printf("[Debugger] got debug event %d\n", debugEvent.dwDebugEventCode); + // printf("[Debugger] got debug event %d\n", debugEvent.dwDebugEventCode); } cont_status = 0; switch (debugEvent.dwDebugEventCode) { case EXCEPTION_DEBUG_EVENT: // 1 - out->kind = SignalInfo::ILLEGAL_INSTR; - break; + { + auto exc = debugEvent.u.Exception.ExceptionRecord.ExceptionCode; + if (is_other) { + if (exc == EXCEPTION_BREAKPOINT) { + printf("breakpoint in other!\n"); + out->kind = SignalInfo::BREAK; + } else { + // don't care + ignore_debug_event(); + } + } else { + out->kind = SignalInfo::EXCEPTION; + printf("exception 0x%X thrown (%s)", exc, win32_exception_code_to_charp(exc)); + if (exc == EXCEPTION_BREAKPOINT) { + out->kind = SignalInfo::BREAK; + } + } + } break; case CREATE_PROCESS_DEBUG_EVENT: // 3 - out->kind = SignalInfo::BREAK; + out->kind = SignalInfo::NOTHING; + if (debugEvent.u.CreateProcessInfo.hProcess != NULL && + GetProcessId(debugEvent.u.CreateProcessInfo.hProcess) == debugEvent.dwProcessId) { + } break; case CREATE_THREAD_DEBUG_EVENT: // 2 + case EXIT_THREAD_DEBUG_EVENT: // 4 case LOAD_DLL_DEBUG_EVENT: // 6 case UNLOAD_DLL_DEBUG_EVENT: // 7 + case OUTPUT_DEBUG_STRING_EVENT: // 8 // don't care about these - out->kind = SignalInfo::NOTHING; - if (!ContinueDebugEvent(debugEvent.dwProcessId, debugEvent.dwThreadId, DBG_CONTINUE)) { - win_print_last_error("ContinueDebugEvent other 2"); - } - cont_status = 1; - return false; + // out->kind = SignalInfo::NOTHING; + ignore_debug_event(); + break; + case EXIT_PROCESS_DEBUG_EVENT: // 5 + case RIP_EVENT: // 9 + out->kind = SignalInfo::DISAPPEARED; break; - case EXIT_THREAD_DEBUG_EVENT: // 4 - case EXIT_PROCESS_DEBUG_EVENT: // 5 - case OUTPUT_DEBUG_STRING_EVENT: // 8 - case RIP_EVENT: // 9 default: - // printf("[Debugger] unhandled debug event %d\n", debugEvent.dwDebugEventCode); + printf("[Debugger] unhandled debug event %d\n", debugEvent.dwDebugEventCode); out->kind = SignalInfo::UNKNOWN; break; } - return true; } else if (GetLastError() != 0x79) { // semaphore timeout error, irrelevant. win_print_last_error("WaitForDebugEvent"); } - return false; + return cont_status != -1; } bool open_memory(const ThreadID& tid, MemoryHandle* out) { diff --git a/common/cross_os_debug/xdbg.h b/common/cross_os_debug/xdbg.h index beab1871e5..972bdfdba8 100644 --- a/common/cross_os_debug/xdbg.h +++ b/common/cross_os_debug/xdbg.h @@ -90,7 +90,8 @@ struct SignalInfo { ILLEGAL_INSTR, // bad instruction UNKNOWN, // some other signal that is unsupported DISAPPEARED, // process disappeared (maybe killed by the user) - NOTHING, // nothing of importance. Windows sends many irrelevant (to us) events. + NOTHING, // nothing of importance. Windows sends many irrelevant (to us) events + EXCEPTION, // some unhandled exception } kind = UNKNOWN; }; diff --git a/goalc/debugger/Debugger.cpp b/goalc/debugger/Debugger.cpp index 27eae64bd4..b95a1254bc 100644 --- a/goalc/debugger/Debugger.cpp +++ b/goalc/debugger/Debugger.cpp @@ -650,6 +650,9 @@ void Debugger::watcher() { case xdbg::SignalInfo::UNKNOWN: printf("Target has encountered an unknown signal. Run (:di) to get more information.\n"); break; + case xdbg::SignalInfo::EXCEPTION: + printf("Target raised an unknown exception. Run (:di) to get more information.\n"); + break; case xdbg::SignalInfo::NOTHING: // printf("Nothing happened.\n"); break; From 321921e38f1c13855813f611935b2dad33921144 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Mon, 25 Oct 2021 03:19:08 +0100 Subject: [PATCH 08/27] connection fixes --- common/cross_os_debug/xdbg.cpp | 10 ++++++---- common/cross_os_debug/xdbg.h | 2 ++ goalc/debugger/Debugger.cpp | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index 9b90c3d49f..6ddd246772 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -461,25 +461,27 @@ bool check_stopped(const ThreadID& tid, SignalInfo* out) { auto exc = debugEvent.u.Exception.ExceptionRecord.ExceptionCode; if (is_other) { if (exc == EXCEPTION_BREAKPOINT) { - printf("breakpoint in other!\n"); + // printf("breakpoint in other!\n"); out->kind = SignalInfo::BREAK; } else { // don't care ignore_debug_event(); } } else { - out->kind = SignalInfo::EXCEPTION; - printf("exception 0x%X thrown (%s)", exc, win32_exception_code_to_charp(exc)); if (exc == EXCEPTION_BREAKPOINT) { out->kind = SignalInfo::BREAK; + } else { + out->kind = SignalInfo::EXCEPTION; + out->msg = fmt::format("[{:X}] {}", exc, win32_exception_code_to_charp(exc)); } } } break; case CREATE_PROCESS_DEBUG_EVENT: // 3 - out->kind = SignalInfo::NOTHING; if (debugEvent.u.CreateProcessInfo.hProcess != NULL && GetProcessId(debugEvent.u.CreateProcessInfo.hProcess) == debugEvent.dwProcessId) { } + // out->kind = SignalInfo::NOTHING; + ignore_debug_event(); break; case CREATE_THREAD_DEBUG_EVENT: // 2 case EXIT_THREAD_DEBUG_EVENT: // 4 diff --git a/common/cross_os_debug/xdbg.h b/common/cross_os_debug/xdbg.h index 972bdfdba8..3e187538b3 100644 --- a/common/cross_os_debug/xdbg.h +++ b/common/cross_os_debug/xdbg.h @@ -94,6 +94,8 @@ struct SignalInfo { EXCEPTION, // some unhandled exception } kind = UNKNOWN; + + std::string msg; }; // Functions diff --git a/goalc/debugger/Debugger.cpp b/goalc/debugger/Debugger.cpp index b95a1254bc..acc4c6bff3 100644 --- a/goalc/debugger/Debugger.cpp +++ b/goalc/debugger/Debugger.cpp @@ -651,7 +651,7 @@ void Debugger::watcher() { printf("Target has encountered an unknown signal. Run (:di) to get more information.\n"); break; case xdbg::SignalInfo::EXCEPTION: - printf("Target raised an unknown exception. Run (:di) to get more information.\n"); + printf("Target raised an exception (%s). Run (:di) to get more information.\n", signal_info.msg.c_str()); break; case xdbg::SignalInfo::NOTHING: // printf("Nothing happened.\n"); From ea42bbd8db86186c178e498d76825a4b8a2bd521 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Mon, 25 Oct 2021 06:58:23 +0100 Subject: [PATCH 09/27] fixes + update docs --- common/cross_os_debug/xdbg.cpp | 39 ++++++++++++++++++++++------------ docs/markdown/debugging.md | 2 +- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index 6ddd246772..d7e2e87666 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -332,7 +332,6 @@ void win_print_last_error(const std::string& msg) { int cont_status = -1; // hack? -1 = ignore; 0 = waiting for cont; 1 = cont'd, will resume std::mutex m; std::condition_variable cv; -std::vector threads_to_cont; bool attach_and_break(const ThreadID& tid) { if (!DebugActiveProcess(tid.pid)) { @@ -448,11 +447,6 @@ bool check_stopped(const ThreadID& tid, SignalInfo* out) { if (WaitForDebugEvent(&debugEvent, INFINITE)) { bool is_other = tid.pid != debugEvent.dwProcessId || tid.tid != debugEvent.dwThreadId; - if (is_other) { - // printf("[Debugger] got debug event %d on other\n", debugEvent.dwDebugEventCode); - } else { - // printf("[Debugger] got debug event %d\n", debugEvent.dwDebugEventCode); - } cont_status = 0; switch (debugEvent.dwDebugEventCode) { @@ -461,18 +455,36 @@ bool check_stopped(const ThreadID& tid, SignalInfo* out) { auto exc = debugEvent.u.Exception.ExceptionRecord.ExceptionCode; if (is_other) { if (exc == EXCEPTION_BREAKPOINT) { - // printf("breakpoint in other!\n"); out->kind = SignalInfo::BREAK; } else { - // don't care + // ignore exceptions outside goal thread ignore_debug_event(); } } else { - if (exc == EXCEPTION_BREAKPOINT) { - out->kind = SignalInfo::BREAK; - } else { - out->kind = SignalInfo::EXCEPTION; - out->msg = fmt::format("[{:X}] {}", exc, win32_exception_code_to_charp(exc)); + switch (exc) { + case EXCEPTION_BREAKPOINT: + out->kind = SignalInfo::BREAK; + break; + case EXCEPTION_ILLEGAL_INSTRUCTION: + out->kind = SignalInfo::ILLEGAL_INSTR; + break; + case EXCEPTION_INT_DIVIDE_BY_ZERO: + case EXCEPTION_FLT_DENORMAL_OPERAND: + case EXCEPTION_FLT_DIVIDE_BY_ZERO: + case EXCEPTION_FLT_INEXACT_RESULT: + case EXCEPTION_FLT_INVALID_OPERATION: + case EXCEPTION_FLT_OVERFLOW: + case EXCEPTION_FLT_UNDERFLOW: + case EXCEPTION_FLT_STACK_CHECK: + out->kind = SignalInfo::MATH_EXCEPTION; + break; + case EXCEPTION_INT_OVERFLOW: + ignore_debug_event(); + break; + default: + out->kind = SignalInfo::EXCEPTION; + out->msg = fmt::format("[{:X}] {}", exc, win32_exception_code_to_charp(exc)); + break; } } } break; @@ -608,6 +620,7 @@ bool get_regs_now(const ThreadID& tid, Regs* out) { bool set_regs_now(const ThreadID& tid, const Regs& out) { CONTEXT context = {}; + context.ContextFlags = CONTEXT_FULL; HANDLE hThr = OpenThread(THREAD_GET_CONTEXT, FALSE, tid.tid); if (hThr == NULL) { diff --git a/docs/markdown/debugging.md b/docs/markdown/debugging.md index cc48b7d7d7..c514243b4f 100644 --- a/docs/markdown/debugging.md +++ b/docs/markdown/debugging.md @@ -1,6 +1,6 @@ # OpenGOAL Debugger -Currently the debugger only works on Linux. All the platform specific stuff is in `xdbg.cpp`. +The debugger works on Windows and Linux. All the platform specific code is in `xdbg.cpp`. When attached to a target, things like exceptions from invalid memory access or divides by zero break into the debugger for inspection on the code or values that caused the break. The technical implementation of the debugger across multiple platforms means there will be a few differences in how it handles or displays certain things. For example, the debugger on Linux will break if the GOAL (EE) thread runs into a breakpoint, but on Windows this can be caused by any thread on the target as the thread that `(:break)` breaks is unspecified. ## Commands From 105ef37f91711aa8e55d9f12f06d16feee7637a0 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Mon, 25 Oct 2021 21:06:06 +0100 Subject: [PATCH 10/27] crates & `defskelgroup` macro --- decompiler/config/all-types.gc | 111 ++++++++++-------- .../jak1_ntsc_black_label/label_types.jsonc | 3 + .../stack_structures.jsonc | 4 + .../jak1_ntsc_black_label/type_casts.jsonc | 5 + goal_src/engine/data/art-h.gc | 38 ++++++ 5 files changed, 115 insertions(+), 46 deletions(-) diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 3bc7b95961..785adc1e6e 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -945,6 +945,15 @@ (sidekick-hint-fish-powerup #x278) + (sidekick-speech-hint-crate-darkeco1 #x281) + + (sidekick-speech-crate-steel-break1 #x283) + (sidekick-speech-hint-crate-iron #x284) + (sidekick-speech-hint-crate-steel #x285) + + (sidekick-speech-crate-steel-break2 #x28e) + (sidekick-speech-hint-crate-darkeco2 #x28f) + (yakow-owed-powercell #x297) (misty-teetertotter-bonk-dax-tutorial #x2a4) @@ -998,6 +1007,8 @@ (rolling-ring-chase-1 #x324) (rolling-ring-chase-2 #x325) + (sidekick-speech-hint-rolling-crate-darkeco #x336) + (rolling-ring-hint-one-ring-down #x33f) (rolling-ring-hint-be-quick-to-next #x340) (rolling-ring-hint-be-quick-all #x341) @@ -1062,6 +1073,9 @@ (fire-canyon-end #x500) (fire-canyon-buzzer #x501) + (sidekick-speech-hint-firecanyon-crate-darkeco1 #x506) + (sidekick-speech-hint-firecanyon-crate-darkeco2 #x507) + (fire-canyon-level-name #x50c) (ogre-end #x600) @@ -1084,6 +1098,8 @@ (misty-battle-finished #x813) + (sage-voicebox-hint-crate-iron #x917) + (training-gimmie-task-name #x91b) (training-buzzer-task-name #x91c) (training-door-task-name #x91d) @@ -1092,6 +1108,7 @@ (inc #xf10) (europe #xf11) + ) ;; ---------------------- @@ -9877,7 +9894,7 @@ (nocamera uint8 :offset 1 :size 1) (noedge uint8 :offset 2 :size 1) (nolineofsight uint8 :offset 12 :size 1) - + ;; this is not in the inspect, but appears to be set. (unknown-bit uint8 :offset 15 :size 1) ) @@ -10150,7 +10167,7 @@ (vector vector :inline :offset-assert 16) (intersection vector :inline :offset-assert 32) (attacker handle :offset-assert 48) - (invinc-time uint64 :offset-assert 56) ;; likely useconds? + (invinc-time seconds :offset-assert 56) (mask uint32 :offset-assert 64) (mode symbol :offset-assert 68) (shove-back meters :offset-assert 72) @@ -11791,7 +11808,7 @@ (:methods (dummy-20 (_type_ collide-cache) none 20) ) - + (:states (target-racing-get-off handle) (target-racing-jump float float symbol) @@ -11804,7 +11821,7 @@ (target-racing-death symbol) (target-racing-get-off-jump handle) (target-racing-get-off-hit-ground symbol) - + (target-death) (target-hit-ground symbol) (target-clone-anim) @@ -15976,22 +15993,23 @@ (pad0 uint8 :offset-assert 6) (pad1 uint8 :offset-assert 7) ) + :pack-me :method-count-assert 9 :size-assert #x8 :flag-assert #x900000008 ) -; (deftype merc-bucket-info (structure) -; ((light vu-lights :inline :offset-assert 0) -; (needs-clip int32 :offset-assert 112) -; (need-mercprime-if-merc int32 :offset-assert 116) -; (must-use-mercneric-for-clip int32 :offset-assert 120) -; (effect UNKNOWN 16 :offset-assert 124) -; ) -; :method-count-assert 9 -; :size-assert #xfc -; :flag-assert #x9000000fc -; ) +(deftype merc-bucket-info (structure) + ((light vu-lights :inline :offset-assert 0) + (needs-clip int32 :offset-assert 112) + (need-mercprime-if-merc int32 :offset-assert 116) + (must-use-mercneric-for-clip int32 :offset-assert 120) + (effect merc-effect-bucket-info 16 :inline :offset-assert 124) + ) + :method-count-assert 9 + :size-assert #xfc + :flag-assert #x9000000fc + ) ;; - Functions @@ -19224,7 +19242,7 @@ (define-extern find-hint-control-index (function level-hint-control int)) (define-extern start-hint-timer (function level-hint-control none)) -(define-extern increment-success-for-hint (function level-hint-control none)) +(define-extern increment-success-for-hint (function game-text-id none)) (define-extern can-hint-be-played? (function int entity string symbol)) (define-extern update-task-hints (function none)) @@ -20735,7 +20753,7 @@ (define-extern vent-standard-event-handler function) (define-extern ecovalve-init-by-other function) (define-extern birth-pickup-at-point (function vector int float symbol process-drawable fact-info (pointer process))) ;; TODO - unconfirmed - see beach-rocks -(define-extern fuel-cell-pick-anim (function process-taskable none)) ;; TODO - unconfirmed - see process-taskable +(define-extern fuel-cell-pick-anim (function process-drawable spool-anim)) ;; TODO - unconfirmed - see process-taskable (define-extern othercam-init-by-other (function process-taskable symbol symbol symbol none :behavior othercam)) (define-extern fuel-cell-animate (function none)) (define-extern add-blue-motion (function symbol symbol symbol symbol none :behavior eco-blue)) @@ -20844,7 +20862,7 @@ ;; - Functions -(define-extern eco-blue-glow (function collide-shape-prim none)) +(define-extern eco-blue-glow (function vector none)) (define-extern cloud-track (function none)) @@ -20867,14 +20885,15 @@ ) (deftype crate (process-drawable) - ((smush smush-control :inline :offset-assert 176) + ((root-override collide-shape-moving :score 20 :offset 112) + (smush smush-control :inline :offset-assert 176) (base vector :inline :offset-assert 208) - (look basic :offset-assert 224) - (defense basic :offset-assert 228) + (look symbol :offset-assert 224) + (defense symbol :offset-assert 228) (incomming-attack-id uint64 :offset-assert 232) - (target uint64 :offset-assert 240) + (target handle :offset-assert 240) (child-count int32 :offset-assert 248) - (victory-anim basic :offset-assert 252) + (victory-anim spool-anim :offset-assert 252) ) :method-count-assert 30 :size-assert #x100 @@ -20883,15 +20902,15 @@ ;; inherited inspect of process-drawable (:methods (wait () _type_ :state 20) ;; state - (unknown-state00 () _type_ :state 21) - (dummy-22 () none 22) + (die (symbol int) _type_ :state 21) + (special-contents-die () _type_ :state 22) (bounce-on () _type_ :state 23) ;; state - (unknown-state01 () _type_ :state 24) - (dummy-25 () none 25) - (dummy-26 () none 26) - (dummy-27 () none 27) - (dummy-28 () none 28) - (dummy-29 () none 29) + (notice-blue (handle) _type_ :state 24) + (params-init (_type_ entity) none 25) + (art-init (_type_) none 26) + (params-set! (_type_ symbol symbol) none 27) + (dummy-28 (_type_) none 28) + (smush-update! (_type_) none 29) ) ) @@ -20920,7 +20939,7 @@ ) (deftype pickup-spawner (crate) - ((blocker basic :offset-assert 256) + ((blocker entity-actor :offset-assert 256) ) :method-count-assert 30 :heap-base #xa0 @@ -20932,7 +20951,7 @@ (define-extern crate-post (function int :behavior crate)) (define-extern crate-standard-event-handler (function process int symbol event-message-block object :behavior crate)) -(define-extern crate-init-by-other function) +(define-extern crate-init-by-other (function entity vector symbol none :behavior crate)) ;; - Unknowns @@ -29744,17 +29763,17 @@ ;; - Unknowns -(define-extern target-racing (state target)) ;; unknown type -(define-extern target-racing-grab (state target)) ;; unknown type -(define-extern target-racing-clone-anim (state handle target)) ;; unknown type -(define-extern target-racing-get-off-hit-ground (state symbol target)) ;; unknown type -(define-extern target-racing-get-off-jump (state handle target)) ;; unknown type -(define-extern target-racing-jump (state float float symbol target)) ;; unknown type -(define-extern target-racing-bounce (state float float symbol target)) ;; unknown type -(define-extern target-racing-falling (state target)) ;; unknown type -(define-extern target-racing-get-on (state handle target)) ;; unknown type -(define-extern target-racing-get-off (state handle target)) ;; unknown type -(define-extern target-racing-hit (state handle attack-info target)) ;; unknown type +(define-extern target-racing (state target)) +(define-extern target-racing-grab (state target)) +(define-extern target-racing-clone-anim (state handle target)) +(define-extern target-racing-get-off-hit-ground (state symbol target)) +(define-extern target-racing-get-off-jump (state handle target)) +(define-extern target-racing-jump (state float float symbol target)) +(define-extern target-racing-bounce (state float float symbol target)) +(define-extern target-racing-falling (state target)) +(define-extern target-racing-get-on (state handle target)) +(define-extern target-racing-get-off (state handle target)) +(define-extern target-racing-hit (state handle attack-info target)) ;; ---------------------- @@ -29816,7 +29835,7 @@ ;; - Unknowns (define-extern *ef-plane-sg* skeleton-group) -(define-extern blocking-plane-idle (state blocking-plane)) ;; unknown type +(define-extern blocking-plane-idle (state blocking-plane)) ;; ---------------------- @@ -29868,7 +29887,7 @@ ;; - Unknowns (define-extern *flutflut-sg* skeleton-group) -(define-extern *flutflut-shadow-control* shadow-control) ;; unknown type +(define-extern *flutflut-shadow-control* shadow-control) ;; ---------------------- diff --git a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc index 482cec5355..be45fb2084 100644 --- a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc @@ -534,6 +534,9 @@ ], "crates": [ + ["L171", "attack-info"], + ["L175", "attack-info"], + ["L181", "attack-info"], ["L242", "float", true], ["L243", "float", true], ["L245", "float", true], diff --git a/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc b/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc index 6f3a17283e..d7cbcbe949 100644 --- a/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc @@ -2755,5 +2755,9 @@ [64, "light-group"] ], + "(trans notice-blue crate)": [[16, "event-message-block"]], + "(event die crate)": [[16, "event-message-block"]], + "(code notice-blue crate)": [[16, "vector"]], + "placeholder-do-not-add-below!": [] } diff --git a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc index 8be63c810d..9e43253011 100644 --- a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc @@ -4174,5 +4174,10 @@ [297, "v1", "vector"] ], + "(code notice-blue crate)": [ + [22, "v1", "process-drawable"], + [36, "v1", "collide-shape"] + ], + "placeholder-do-not-add-below": [] } diff --git a/goal_src/engine/data/art-h.gc b/goal_src/engine/data/art-h.gc index 3ad87d5fe5..d154fa55f7 100644 --- a/goal_src/engine/data/art-h.gc +++ b/goal_src/engine/data/art-h.gc @@ -300,3 +300,41 @@ (defmethod dummy-9 draw-control ((obj draw-control)) (&-> (-> obj skeleton) texture-level) ) + + +(defmacro defskelgroup (name art-name joint-geom joint-anim lods + &key (shadow 0) + &key bounds + &key edge + &key (version 6) ;; do NOT use this! + ) + + "define a new static skeleton group" + + `(let ((skel (new 'static 'skeleton-group + :art-group-name ,(symbol->string art-name) + :bounds ,bounds + :longest-edge ,edge + :version ,version + :max-lod ,(length lods) + :shadow ,shadow + ))) + ;; set joint geometry and joint bones + (set! (-> skel jgeo) joint-geom) + (set! (-> skel janim) joint-anim) + + ;; set lods + ,@(apply-i (lambda (x i) + `(begin + (set! (-> skel mgeo ,i) ,(car x)) + (set! (-> skel lod-dist ,i) ,(cadr x)) + ) + ) lods) + + ;; define skel group + (define ,name skel) + ) + ) + + + From 47dd89d20bb36d8bbed03387b3b523052697830e Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Mon, 25 Oct 2021 21:45:10 +0100 Subject: [PATCH 11/27] clang --- common/cross_os_debug/xdbg.cpp | 2 +- game/kernel/kprint.cpp | 5 +++-- goalc/debugger/Debugger.cpp | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index d7e2e87666..6cbb749929 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -305,7 +305,7 @@ ThreadID::ThreadID(DWORD _pid, DWORD _tid) : pid(_pid), tid(_tid) {} ThreadID::ThreadID(const std::string& str) { auto sep = str.find('-'); pid = std::stoi(str.substr(0, sep)); - tid = std::stoi(str.substr(sep+1)); + tid = std::stoi(str.substr(sep + 1)); } std::string ThreadID::to_string() const { diff --git a/game/kernel/kprint.cpp b/game/kernel/kprint.cpp index 22497beb6a..93ecb26982 100644 --- a/game/kernel/kprint.cpp +++ b/game/kernel/kprint.cpp @@ -124,8 +124,9 @@ void reset_output() { // s7.offset); // modified for OpenGOAL: - sprintf(OutputBufArea.cast().c() + sizeof(ListenerMessageHeader), "reset #x%x #x%llx %s\n", - s7.offset, (uintptr_t)g_ee_main_mem, xdbg::get_current_thread_id().to_string().c_str()); + sprintf(OutputBufArea.cast().c() + sizeof(ListenerMessageHeader), + "reset #x%x #x%llx %s\n", s7.offset, (uintptr_t)g_ee_main_mem, + xdbg::get_current_thread_id().to_string().c_str()); OutputPending = OutputBufArea + sizeof(ListenerMessageHeader); } } diff --git a/goalc/debugger/Debugger.cpp b/goalc/debugger/Debugger.cpp index acc4c6bff3..cc6bb24552 100644 --- a/goalc/debugger/Debugger.cpp +++ b/goalc/debugger/Debugger.cpp @@ -651,7 +651,8 @@ void Debugger::watcher() { printf("Target has encountered an unknown signal. Run (:di) to get more information.\n"); break; case xdbg::SignalInfo::EXCEPTION: - printf("Target raised an exception (%s). Run (:di) to get more information.\n", signal_info.msg.c_str()); + printf("Target raised an exception (%s). Run (:di) to get more information.\n", + signal_info.msg.c_str()); break; case xdbg::SignalInfo::NOTHING: // printf("Nothing happened.\n"); From b5ccc83a309941ce947088c47d62ed60b6b98cae Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Tue, 26 Oct 2021 01:10:35 +0100 Subject: [PATCH 12/27] update tests and a few types --- common/cross_os_debug/xdbg.h | 1 - decompiler/analysis/final_output.cpp | 10 +- decompiler/config/all-types.gc | 15 +- .../jak1_ntsc_black_label/type_casts.jsonc | 13 + goal_src/engine/ambient/mood.gc | 6 +- goal_src/engine/anim/joint.gc | 7 +- goal_src/engine/data/art-h.gc | 18 +- goal_src/engine/debug/anim-tester.gc | 130 +- goal_src/engine/draw/drawable-h.gc | 6 +- goal_src/engine/draw/drawable.gc | 331 +++- goal_src/engine/draw/process-drawable.gc | 1498 ++++++++++++++++- goal_src/engine/gfx/hw/vu1-user-h.gc | 3 +- goal_src/engine/gfx/time-of-day-h.gc | 2 +- goal_src/engine/target/target-util.gc | 2 +- goal_src/engine/ui/hud-classes.gc | 2 +- goal_src/engine/ui/text-h.gc | 16 + goal_src/levels/beach/beach-rocks.gc | 2 +- goal_src/levels/beach/bird-lady-beach.gc | 2 +- goal_src/levels/beach/bird-lady.gc | 2 +- goal_src/levels/beach/lurkercrab.gc | 6 +- goal_src/levels/beach/lurkerpuppy.gc | 6 +- goal_src/levels/beach/mayor.gc | 2 +- goal_src/levels/beach/sculptor.gc | 4 +- goal_src/levels/citadel/assistant-citadel.gc | 2 +- goal_src/levels/citadel/citb-drop-plat-CIT.gc | 20 +- goal_src/levels/common/babak.gc | 6 +- goal_src/levels/common/basebutton.gc | 2 +- goal_src/levels/common/blocking-plane.gc | 2 +- goal_src/levels/common/plat-button.gc | 2 +- goal_src/levels/common/plat.gc | 10 +- goal_src/levels/common/sharkey.gc | 2 +- goal_src/levels/common/water-anim.gc | 102 +- goal_src/levels/finalboss/final-door.gc | 6 +- goal_src/levels/finalboss/green-eco-lurker.gc | 2 +- goal_src/levels/finalboss/light-eco.gc | 4 +- goal_src/levels/finalboss/robotboss-h.gc | 2 +- goal_src/levels/finalboss/robotboss-misc.gc | 8 +- goal_src/levels/finalboss/robotboss-weapon.gc | 6 +- goal_src/levels/finalboss/robotboss.gc | 6 +- .../levels/firecanyon/assistant-firecanyon.gc | 2 +- goal_src/levels/flut_common/flutflut.gc | 2 +- goal_src/levels/intro/evilbro.gc | 4 +- goal_src/levels/jungle/bouncer.gc | 2 +- goal_src/levels/jungle/fisher-JUN.gc | 14 +- goal_src/levels/jungle/hopper.gc | 6 +- goal_src/levels/jungle/junglefish.gc | 6 +- goal_src/levels/jungleb/aphid.gc | 2 +- goal_src/levels/jungleb/plat-flip.gc | 2 +- .../levels/lavatube/assistant-lavatube.gc | 2 +- goal_src/levels/maincave/baby-spider.gc | 6 +- goal_src/levels/maincave/spiderwebs.gc | 2 +- goal_src/levels/misty/bonelurker.gc | 6 +- goal_src/levels/misty/misty-conveyor.gc | 10 +- goal_src/levels/misty/misty-teetertotter.gc | 6 +- goal_src/levels/misty/misty-warehouse.gc | 6 +- goal_src/levels/misty/muse.gc | 2 +- goal_src/levels/misty/sidekick-human.gc | 10 +- goal_src/levels/ogre/flying-lurker.gc | 14 +- .../target-racer-h-FIC-LAV-MIS-OGR-ROL.gc | 4 +- goal_src/levels/snow/yeti.gc | 2 +- goal_src/levels/sunken/qbert-plat.gc | 4 +- goal_src/levels/sunken/square-platform.gc | 4 +- goal_src/levels/sunken/sunken-fish.gc | 6 +- goal_src/levels/sunken/wall-plat.gc | 2 +- goal_src/levels/sunken/wedge-plats.gc | 4 +- goal_src/levels/swamp/swamp-bat.gc | 6 +- goal_src/levels/swamp/swamp-rat-nest.gc | 10 +- goal_src/levels/swamp/swamp-rat.gc | 6 +- goal_src/levels/village1/assistant.gc | 2 +- goal_src/levels/village1/explorer.gc | 2 +- goal_src/levels/village1/farmer.gc | 4 +- goal_src/levels/village1/fishermans-boat.gc | 8 +- goal_src/levels/village1/sage.gc | 2 +- goal_src/levels/village1/yakow.gc | 6 +- .../levels/village2/assistant-village2.gc | 8 +- goal_src/levels/village2/flutflut-bluehut.gc | 2 +- goal_src/levels/village2/gambler.gc | 6 +- goal_src/levels/village2/geologist.gc | 6 +- goal_src/levels/village2/sage-bluehut.gc | 2 +- goal_src/levels/village2/sunken-elevator.gc | 2 +- goal_src/levels/village2/warrior.gc | 6 +- .../levels/village3/assistant-village3.gc | 2 +- goal_src/levels/village3/miners.gc | 6 +- goal_src/levels/village3/sage-village3.gc | 6 +- goal_src/levels/village_common/oracle.gc | 2 +- .../reference/engine/ambient/mood_REF.gc | 6 +- .../reference/engine/anim/joint-h_REF.gc | 38 +- .../reference/engine/camera/pov-camera_REF.gc | 2 +- .../reference/engine/data/art-h_REF.gc | 92 +- .../reference/engine/debug/anim-tester_REF.gc | 7 +- .../reference/engine/game/game-h_REF.gc | 6 +- .../reference/engine/game/projectiles_REF.gc | 4 +- .../engine/game/task/hint-control_REF.gc | 4 +- .../engine/game/task/process-taskable_REF.gc | 4 +- .../reference/engine/gfx/hw/vu1-user-h_REF.gc | 2 +- .../reference/engine/gfx/time-of-day-h_REF.gc | 2 +- .../reference/engine/level/level_REF.gc | 16 +- .../engine/target/logic-target_REF.gc | 2 +- .../engine/target/target-util_REF.gc | 2 +- .../reference/engine/ui/hud-classes_REF.gc | 2 +- .../reference/levels/beach/beach-rocks_REF.gc | 6 +- .../levels/beach/bird-lady-beach_REF.gc | 2 +- .../reference/levels/beach/bird-lady_REF.gc | 3 +- .../reference/levels/beach/lurkercrab_REF.gc | 8 +- .../reference/levels/beach/lurkerpuppy_REF.gc | 8 +- .../reference/levels/beach/mayor_REF.gc | 2 +- .../reference/levels/beach/sculptor_REF.gc | 4 +- .../levels/citadel/assistant-citadel_REF.gc | 2 +- .../levels/citadel/citb-drop-plat-CIT_REF.gc | 30 +- .../levels/common/babak-with-cannon_REF.gc | 2 +- .../reference/levels/common/babak_REF.gc | 8 +- .../reference/levels/common/basebutton_REF.gc | 4 +- .../levels/common/battlecontroller_REF.gc | 2 +- .../levels/common/blocking-plane_REF.gc | 4 +- .../reference/levels/common/nav-enemy_REF.gc | 2 +- .../levels/common/plat-button_REF.gc | 4 +- .../reference/levels/common/plat_REF.gc | 12 +- .../reference/levels/common/sharkey_REF.gc | 4 +- .../reference/levels/common/water-anim_REF.gc | 104 +- .../levels/finalboss/final-door_REF.gc | 12 +- .../levels/finalboss/green-eco-lurker_REF.gc | 4 +- .../levels/finalboss/light-eco_REF.gc | 8 +- .../levels/finalboss/robotboss-h_REF.gc | 2 +- .../levels/finalboss/robotboss-misc_REF.gc | 12 +- .../levels/finalboss/robotboss-weapon_REF.gc | 14 +- .../levels/finalboss/robotboss_REF.gc | 8 +- .../firecanyon/assistant-firecanyon_REF.gc | 2 +- .../levels/flut_common/flutflut_REF.gc | 6 +- .../reference/levels/intro/evilbro_REF.gc | 4 +- .../reference/levels/jungle/bouncer_REF.gc | 4 +- .../reference/levels/jungle/fisher-JUN_REF.gc | 87 +- .../reference/levels/jungle/hopper_REF.gc | 8 +- .../reference/levels/jungle/junglefish_REF.gc | 8 +- .../reference/levels/jungleb/aphid_REF.gc | 4 +- .../reference/levels/jungleb/plat-flip_REF.gc | 4 +- .../levels/lavatube/assistant-lavatube_REF.gc | 2 +- .../levels/maincave/baby-spider_REF.gc | 8 +- .../levels/maincave/spiderwebs_REF.gc | 4 +- .../reference/levels/misty/bonelurker_REF.gc | 8 +- .../levels/misty/misty-conveyor_REF.gc | 16 +- .../levels/misty/misty-teetertotter_REF.gc | 12 +- .../levels/misty/misty-warehouse_REF.gc | 10 +- .../reference/levels/misty/muse_REF.gc | 11 +- .../levels/misty/sidekick-human_REF.gc | 21 +- .../levels/ogre/flying-lurker_REF.gc | 18 +- .../target-racer-h-FIC-LAV-MIS-OGR-ROL_REF.gc | 4 +- .../reference/levels/snow/yeti_REF.gc | 4 +- .../reference/levels/sunken/qbert-plat_REF.gc | 8 +- .../levels/sunken/square-platform_REF.gc | 6 +- .../levels/sunken/sunken-fish_REF.gc | 12 +- .../reference/levels/sunken/wall-plat_REF.gc | 4 +- .../levels/sunken/wedge-plats_REF.gc | 8 +- .../reference/levels/swamp/swamp-bat_REF.gc | 8 +- .../levels/swamp/swamp-rat-nest_REF.gc | 16 +- .../reference/levels/swamp/swamp-rat_REF.gc | 8 +- .../levels/village1/assistant_REF.gc | 2 +- .../reference/levels/village1/explorer_REF.gc | 2 +- .../reference/levels/village1/farmer_REF.gc | 4 +- .../levels/village1/fishermans-boat_REF.gc | 10 +- .../reference/levels/village1/sage_REF.gc | 2 +- .../reference/levels/village1/yakow_REF.gc | 8 +- .../levels/village2/assistant-village2_REF.gc | 8 +- .../levels/village2/flutflut-bluehut_REF.gc | 2 +- .../reference/levels/village2/gambler_REF.gc | 6 +- .../levels/village2/geologist_REF.gc | 6 +- .../levels/village2/sage-bluehut_REF.gc | 2 +- .../levels/village2/sunken-elevator_REF.gc | 4 +- .../reference/levels/village2/warrior_REF.gc | 6 +- .../levels/village3/assistant-village3_REF.gc | 2 +- .../reference/levels/village3/miners_REF.gc | 8 +- .../levels/village3/sage-village3_REF.gc | 6 +- .../levels/village_common/oracle_REF.gc | 2 +- 172 files changed, 2576 insertions(+), 769 deletions(-) diff --git a/common/cross_os_debug/xdbg.h b/common/cross_os_debug/xdbg.h index 3e187538b3..58ecf97ccc 100644 --- a/common/cross_os_debug/xdbg.h +++ b/common/cross_os_debug/xdbg.h @@ -51,7 +51,6 @@ struct ThreadID { }; struct MemoryHandle { - int a; }; #endif diff --git a/decompiler/analysis/final_output.cpp b/decompiler/analysis/final_output.cpp index c7e4077786..f8fead055d 100644 --- a/decompiler/analysis/final_output.cpp +++ b/decompiler/analysis/final_output.cpp @@ -378,8 +378,8 @@ std::string write_from_top_level_form(Form* top_form, if (!something_matched) { auto debug_match_result = match(defun_debug_matcher, &f); if (debug_match_result.matched) { - auto first_name = debug_match_result.maps.strings.at(0); - auto second_name = debug_match_result.maps.strings.at(2); + auto& first_name = debug_match_result.maps.strings.at(0); + auto& second_name = debug_match_result.maps.strings.at(2); if (first_name == second_name) { auto func = file.try_get_function_at_label(debug_match_result.maps.label.at(1)); if (func) { @@ -400,7 +400,7 @@ std::string write_from_top_level_form(Form* top_form, auto define_match_result = match(define_symbol_matcher, &f); if (define_match_result.matched) { something_matched = true; - auto sym_name = define_match_result.maps.strings.at(0); + auto& sym_name = define_match_result.maps.strings.at(0); auto symbol_type = dts.lookup_symbol_type(sym_name); result += fmt::format(";; definition for symbol {}, type {}\n", sym_name, symbol_type.print()); @@ -419,7 +419,7 @@ std::string write_from_top_level_form(Form* top_form, define_perm_match_result.maps.strings.at(0) == define_perm_match_result.maps.strings.at(2)) { something_matched = true; - auto sym_name = define_perm_match_result.maps.strings.at(0); + auto& sym_name = define_perm_match_result.maps.strings.at(0); auto symbol_type = dts.lookup_symbol_type(sym_name); result += fmt::format(";; definition (perm) for symbol {}, type {}\n", sym_name, @@ -500,4 +500,4 @@ std::string write_from_top_level(const Function& top_level, return write_from_top_level_form(top_form, dts, file, skip_functions, env); } -} // namespace decompiler \ No newline at end of file +} // namespace decompiler diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 785adc1e6e..b81b30de32 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -1108,7 +1108,6 @@ (inc #xf10) (europe #xf11) - ) ;; ---------------------- @@ -3496,11 +3495,12 @@ :flag-assert #x900000014 ) +(declare-type level basic) (deftype dma-foreground-sink-group (basic) ((sink dma-foreground-sink 3 :offset-assert 4) (merc-sink dma-foreground-sink :offset 4) (generic-sink generic-dma-foreground-sink :offset 8) - (level basic :offset-assert 16) + (level level :offset-assert 16) ) :method-count-assert 9 :size-assert #x14 @@ -4770,7 +4770,6 @@ ) (declare-type texture-page basic) -(declare-type level basic) (deftype texture-pool (basic) ((top int32 :offset-assert 4) (cur int32 :offset-assert 8) @@ -6121,7 +6120,7 @@ (joint-num int16 :offset-assert 8) (geo basic :offset-assert 12) (bone bone :offset-assert 16) - (param0 (function int) :offset-assert 20) + (param0 function :offset-assert 20) (param1 basic :offset-assert 24) (param2 basic :offset-assert 28) ) @@ -7604,7 +7603,7 @@ (num-stars float :offset-assert 2092) (light-masks-0 uint8 2 :offset-assert 2096) (light-masks-1 uint8 2 :offset-assert 2098) - (light-interp uint32 2 :offset-assert 2100) + (light-interp float 2 :offset-assert 2100) (sky symbol :offset-assert 2108) (sun-fade float :offset-assert 2112) (title-updated symbol :offset-assert 2116) @@ -7917,7 +7916,7 @@ :flag-assert #xc000000bc (:methods (new (symbol type process art-joint-geo) _type_ 0) - (dummy-9 (_type_) (pointer int8) 9) + (dummy-9 (_type_) vector 9) (lod-set! (_type_ int) none 10) (lods-assign! (_type_ lod-set) none 11) ) @@ -19196,8 +19195,8 @@ (define-extern process-release? (function process symbol)) (define-extern ja-post (function none :behavior process-drawable)) (define-extern make-nodes-from-jg (function art-joint-geo pair symbol cspace-array :behavior process-drawable)) -(define-extern dma-add-process-drawable (function process-drawable draw-control symbol object none)) -(define-extern add-process-drawable (function process-drawable draw-control symbol none)) +(define-extern dma-add-process-drawable (function process-drawable draw-control symbol dma-buffer none)) +(define-extern add-process-drawable (function process-drawable draw-control symbol dma-buffer none)) (define-extern vector<-cspace+vector! (function vector cspace vector vector)) (define-extern cspace-children (function process-drawable int pair)) (define-extern cspace-inspect-tree (function process-drawable cspace int int object object)) diff --git a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc index 9e43253011..4b1b9423e5 100644 --- a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc @@ -4169,7 +4169,14 @@ [[11, 33], "a2", "bone-cache"] ], + "dma-add-process-drawable-hud": [ + [[12, 27], "v1", "vu-lights"] + ], + "dma-add-process-drawable": [ + [[15, 251], "s2", "vu-lights"], + [[12, 384], "s4", "vector"], + [290, "v1", "vector"], [292, "v1", "vector"], [297, "v1", "vector"] ], @@ -4179,5 +4186,11 @@ [36, "v1", "collide-shape"] ], + "(method 17 process-drawable)": [ + [104, "t9", "(function none)"], + [82, "t9", "(function none)"], + [63, "t9", "(function cspace basic basic int)"] + ], + "placeholder-do-not-add-below": [] } diff --git a/goal_src/engine/ambient/mood.gc b/goal_src/engine/ambient/mood.gc index fb01bc07f5..32bcfc4111 100644 --- a/goal_src/engine/ambient/mood.gc +++ b/goal_src/engine/ambient/mood.gc @@ -231,7 +231,7 @@ (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) (the-as uint 0.0)) + (set! (-> *time-of-day-context* light-interp arg2) 0.0) ) (else (let ((s0-0 (-> arg0 mood-lights-table data s3-0)) @@ -300,7 +300,7 @@ (-> *time-of-day-context* light-masks-1 arg2) (the-as uint (ash 1 s2-0)) ) - (set! (-> *time-of-day-context* light-interp arg2) (the-as uint f30-0)) + (set! (-> *time-of-day-context* light-interp arg2) f30-0) ) ) (if @@ -502,7 +502,7 @@ (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) (the-as uint 0.0)) + (set! (-> *time-of-day-context* light-interp arg4) 0.0) (if (and (= (-> arg0 current-prt-color x) 0.0) diff --git a/goal_src/engine/anim/joint.gc b/goal_src/engine/anim/joint.gc index 3c544d12e3..13943714e0 100644 --- a/goal_src/engine/anim/joint.gc +++ b/goal_src/engine/anim/joint.gc @@ -31,4 +31,9 @@ ) ) ) - ) \ No newline at end of file + ) + +(defun cspace<-parented-matrix-joint! ((arg0 cspace) (arg1 matrix)) + (matrix*! (-> arg0 bone transform) arg1 (-> arg0 parent bone transform)) + ) + diff --git a/goal_src/engine/data/art-h.gc b/goal_src/engine/data/art-h.gc index d154fa55f7..edbcd40e52 100644 --- a/goal_src/engine/data/art-h.gc +++ b/goal_src/engine/data/art-h.gc @@ -202,7 +202,7 @@ (janim int32 :offset-assert 12) (bounds vector :inline :offset-assert 16) (radius meters :offset 28) - (mgeo uint16 4 :offset-assert 32) + (mgeo int16 4 :offset-assert 32) (max-lod int32 :offset-assert 40) (lod-dist float 4 :offset-assert 44) (longest-edge meters :offset-assert 60) @@ -230,14 +230,14 @@ (deftype lod-set (structure) ((lod lod-group 4 :inline :offset-assert 0) - (max-lod int8 :offset-assert 32) + (max-lod int8 :offset-assert 32) ) :pack-me :method-count-assert 10 :size-assert #x21 :flag-assert #xa00000021 (:methods - (dummy-9 (_type_) _type_ 9) + (dummy-9 (_type_ skeleton-group art-group entity) _type_ 9) ) ) @@ -252,8 +252,8 @@ (art-group art-group :offset-assert 8) (jgeo art-joint-geo :offset-assert 12) (mgeo merc-ctrl :offset-assert 16) - (dma-add-func function :offset-assert 20) - (skeleton skeleton-group :offset-assert 24) ;; or cspace-array or shadow-control + (dma-add-func (function process-drawable draw-control symbol object none) :offset-assert 20) + (skeleton skeleton :offset-assert 24) ;; or cspace-array or shadow-control (lod-set lod-set :inline :offset-assert 28) (lod lod-group 4 :inline :offset 28) (max-lod int8 :offset 60) @@ -291,14 +291,14 @@ :flag-assert #xc000000bc (:methods (new (symbol type process art-joint-geo) _type_ 0) - (dummy-9 (_type_) (pointer int8) 9) - (dummy-10 (_type_ int) int 10) - (dummy-11 (_type_ lod-set) none 11) + (dummy-9 (_type_) vector 9) + (lod-set! (_type_ int) none 10) + (lods-assign! (_type_ lod-set) none 11) ) ) (defmethod dummy-9 draw-control ((obj draw-control)) - (&-> (-> obj skeleton) texture-level) + (-> obj skeleton bones 0 position) ) diff --git a/goal_src/engine/debug/anim-tester.gc b/goal_src/engine/debug/anim-tester.gc index bd84e5f578..98492ec5a3 100644 --- a/goal_src/engine/debug/anim-tester.gc +++ b/goal_src/engine/debug/anim-tester.gc @@ -913,15 +913,12 @@ (set! (-> self draw level-index) (the-as uint 2)) (set! (-> self node-list) - (the-as - cspace-array - (make-nodes-from-jg a0-15 *default-skel-template* 'debug) - ) + (make-nodes-from-jg a0-15 *default-skel-template* 'debug) ) ) (set! (-> self skel effect) (new 'process 'effect-control self)) (fill-skeleton-cache self) - (dummy-10 (-> self draw) 0) + (lod-set! (-> self draw) 0) (ja-channel-set! 0) (ja-post) ) @@ -3033,80 +3030,85 @@ (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)) - (let ((gp-2 (new 'stack 'file-stream *temp-string* 'write))) + (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))) + "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))) + "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-30 next))) + (not (not (-> v1-21 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 + (when (zero? (logand (-> s4-2 flags) 5)) + (format gp-2 - " ~S~%" - (if (logtest? (-> (the-as anim-test-sequence s5-1) flags) 1) - "EndSequence" - "EndAnim" - ) + " 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! s5-1 (-> (the-as anim-test-sequence s5-1) next)) + (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) ) + ) ) (defun anim-tester-save-all-objects ((arg0 anim-tester)) diff --git a/goal_src/engine/draw/drawable-h.gc b/goal_src/engine/draw/drawable-h.gc index 3176f83518..e52529ad55 100644 --- a/goal_src/engine/draw/drawable-h.gc +++ b/goal_src/engine/draw/drawable-h.gc @@ -51,6 +51,8 @@ (define-extern foreground-engine-execute (function engine display-frame int int none)) (define-extern sphere-in-view-frustum? (function sphere symbol)) -;; for anim-tester -(define-extern dma-add-process-drawable function) +(declare-type draw-control basic) +(define-extern add-process-drawable (function process-drawable draw-control symbol dma-buffer none)) +(define-extern dma-add-process-drawable-hud (function process-drawable draw-control symbol dma-buffer none)) +(define-extern dma-add-process-drawable (function process-drawable draw-control symbol dma-buffer none)) (define-extern vis-cull (function int symbol)) \ No newline at end of file diff --git a/goal_src/engine/draw/drawable.gc b/goal_src/engine/draw/drawable.gc index 7bf6179a37..015e2ef630 100644 --- a/goal_src/engine/draw/drawable.gc +++ b/goal_src/engine/draw/drawable.gc @@ -696,13 +696,342 @@ (display-sync disp) ;; also starts next ) -;; TODO stub (defun dma-add-process-drawable-hud ((arg0 process-drawable) (arg1 draw-control) (arg2 symbol) (arg3 dma-buffer)) (set! (-> arg1 status) (logand -9 (-> arg1 status))) (when (zero? (logand (-> arg1 status) 22)) + (let ((v1-6 (the-as vu-lights (+ 64 #x70000000))) + (a0-3 *hud-lights*) + ) + (set! (-> v1-6 direction 0 quad) (-> a0-3 direction 0 quad)) + (set! (-> v1-6 direction 1 quad) (-> a0-3 direction 1 quad)) + (set! (-> v1-6 direction 2 quad) (-> a0-3 direction 2 quad)) + (set! (-> v1-6 color 0 quad) (-> a0-3 color 0 quad)) + (set! (-> v1-6 color 1 quad) (-> a0-3 color 1 quad)) + (set! (-> v1-6 color 2 quad) (-> a0-3 color 2 quad)) + (set! (-> v1-6 ambient quad) (-> a0-3 ambient quad)) + ) + (lod-set! arg1 0) (logior! (-> arg1 status) 8) + (draw-bones-hud arg1 arg3) ) + 0 + (none) + ) + +(defun add-process-drawable ((arg0 process-drawable) (arg1 draw-control) (arg2 symbol) (arg3 dma-buffer)) + ((-> arg1 dma-add-func) arg0 arg1 arg2 arg3) (none) ) +(defun + dma-add-process-drawable + ((arg0 process-drawable) (arg1 draw-control) (arg2 symbol) (arg3 dma-buffer)) + (local-vars (v1-37 float) (sv-16 process-drawable)) + (rlet ((acc :class vf) + (Q :class vf) + (vf0 :class vf) + (vf15 :class vf) + (vf16 :class vf) + (vf17 :class vf) + (vf18 :class vf) + (vf19 :class vf) + (vf2 :class vf) + (vf20 :class vf) + (vf21 :class vf) + (vf22 :class vf) + (vf23 :class vf) + (vf24 :class vf) + (vf25 :class vf) + (vf26 :class vf) + (vf27 :class vf) + (vf28 :class vf) + (vf29 :class vf) + (vf3 :class vf) + (vf4 :class vf) + (vf5 :class vf) + ) + (init-vf0-vector) + (set! sv-16 arg0) + (set! (-> arg1 status) (logand -9 (-> arg1 status))) + (when (zero? (logand (-> arg1 status) 22)) + (let ((s4-0 (the-as vector (+ 48 #x70000000))) + (s2-0 (the-as vu-lights (+ 64 #x70000000))) + (s3-0 *time-of-day-context*) + ) + (.lvf vf16 (&-> arg1 origin quad)) + (.lvf vf17 (&-> arg1 bounds quad)) + (.mul.x.vf vf16 vf16 vf0 :mask #b1000) + (.add.vf vf16 vf16 vf17) + (.svf (&-> s4-0 quad) vf16) + (.lvf vf28 (&-> arg1 color-mult quad)) + (.lvf vf29 (&-> arg1 color-emissive quad)) + (when (sphere-in-view-frustum? (the-as sphere s4-0)) + (case (-> arg1 global-effect) + ((3) + (when (not (-> s3-0 title-updated)) + (set! (-> s3-0 title-updated) #t) + (let ((s0-0 (-> *math-camera* inv-camera-rot)) + (a1-1 (new 'stack-no-clear 'vector)) + (s1-0 (new 'stack-no-clear 'vector)) + ) + (set-vector! a1-1 0.612 0.5 -0.612 0.0) + (set-vector! s1-0 -0.696 0.174 0.696 0.0) + (vector-matrix*! + (the-as vector (-> s3-0 title-light-group)) + a1-1 + s0-0 + ) + (vector-matrix*! + (the-as vector (-> s3-0 title-light-group dir1)) + s1-0 + s0-0 + ) + ) + (set-vector! + (-> *time-of-day-context* current-shadow) + 0.612 + -0.5 + -0.612 + 1.0 + ) + ) + (vu-lights<-light-group! s2-0 (-> s3-0 title-light-group)) + ) + (else + (let ((f28-0 (-> arg1 secondary-interp)) + (f30-0 (-> arg1 current-secondary-interp)) + (v1-17 (-> arg1 shadow-mask)) + (a0-10 (-> arg1 level-index)) + (s0-1 (-> s3-0 light-group (-> *target* draw light-index))) + (s1-1 (new 'stack-no-clear 'light-group)) + ) + (cond + ((= (-> arg1 light-index) 255) + ) + ((= a0-10 2) + (set! s0-1 (-> s3-0 light-group (-> arg1 light-index))) + ) + (else + (set! s0-1 (-> s3-0 moods a0-10 light-group (-> arg1 light-index))) + ) + ) + (when (not (or (= a0-10 2) (zero? v1-17))) + (let* ((a1-22 (-> s3-0 light-masks-0 a0-10)) + (a2-14 (-> s3-0 light-masks-1 a0-10)) + (f26-0 (-> s3-0 light-interp a0-10)) + (a0-13 (logand a1-22 v1-17)) + (v1-18 (logand a2-14 v1-17)) + ) + (cond + ((and (zero? a0-13) (zero? v1-18)) + ) + (else + (set! f28-0 (cond + ((and (nonzero? a0-13) (nonzero? v1-18)) + 1.0 + ) + ((zero? a0-13) + (quad-copy! + (the-as pointer s1-1) + (the-as pointer s0-1) + 12 + ) + (set! s0-1 s1-1) + (set! (-> s0-1 dir1 levels x) 0.0) + f26-0 + ) + (else + (quad-copy! + (the-as pointer s1-1) + (the-as pointer s0-1) + 12 + ) + (set! s0-1 s1-1) + (set! (-> s0-1 dir0 levels x) 0.0) + (- 1.0 f26-0) + ) + ) + ) + ) + ) + ) + ) + (if *teleport* + (set! f30-0 f28-0) + ) + (when (not (or (paused?) (= f28-0 f30-0))) + (let ((f0-15 (- f30-0 f28-0))) + (set! f30-0 (cond + ((< (fabs f0-15) 0.2) + f28-0 + ) + ((< f0-15 0.0) + (+ 0.2 f30-0) + ) + (else + (+ -0.2 f30-0) + ) + ) + ) + ) + (set! (-> arg1 current-secondary-interp) f30-0) + ) + (cond + ((= f30-0 0.0) + (vu-lights<-light-group! s2-0 s0-1) + ) + (else + (if (!= s0-1 s1-1) + (quad-copy! (the-as pointer s1-1) (the-as pointer s0-1) 12) + ) + (let ((f0-20 (- 1.0 f30-0))) + (set! (-> s1-1 dir0 levels x) (* (-> s1-1 dir0 levels x) f0-20)) + (set! (-> s1-1 dir0 levels y) (* (-> s1-1 dir0 levels y) f0-20)) + (set! (-> s1-1 dir1 levels x) (* (-> s1-1 dir1 levels x) f0-20)) + (set! (-> s1-1 dir1 levels y) (* (-> s1-1 dir1 levels y) f0-20)) + (set! (-> s1-1 dir2 levels x) (* (-> s1-1 dir2 levels x) f0-20)) + (set! (-> s1-1 dir2 levels y) (* (-> s1-1 dir2 levels y) f0-20)) + ) + (vu-lights<-light-group! s2-0 s1-1) + ) + ) + ) + (.lvf vf2 (&-> s2-0 color 0 quad)) + (.lvf vf3 (&-> s2-0 color 1 quad)) + (.lvf vf4 (&-> s2-0 color 2 quad)) + (.lvf vf5 (&-> s2-0 ambient quad)) + (.mul.vf vf5 vf5 vf28) + (.mul.vf vf2 vf2 vf28) + (.mul.vf vf3 vf3 vf28) + (.mul.vf vf4 vf4 vf28) + (.add.vf vf5 vf5 vf29) + (.svf (&-> s2-0 color 0 quad) vf2) + (.svf (&-> s2-0 color 1 quad) vf3) + (.svf (&-> s2-0 color 2 quad) vf4) + (.svf (&-> s2-0 ambient quad) vf5) + (.mov v1-37 vf5) + ) + ) + (if *display-lights* + (add-debug-lights + #t + (bucket-id debug-draw0) + (the-as (inline-array light) (-> s3-0 light-group)) + (-> arg1 origin) + ) + ) + (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 guard-plane 0 quad)) + (.lvf vf21 (&-> at-0 guard-plane 1 quad)) + (.lvf vf22 (&-> at-0 guard-plane 2 quad)) + (.lvf vf23 (&-> at-0 guard-plane 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)) + ) + (let ((v1-42 (the-as object (+ 176 #x70000000)))) + (.lvf vf15 (&-> s4-0 quad)) + (.mul.w.vf acc vf27 vf0) + (.add.mul.x.vf acc vf24 vf15 acc) + (.add.mul.y.vf acc vf25 vf15 acc) + (.add.mul.z.vf vf15 vf26 vf15 acc :mask #b111) + (.mul.vf vf28 vf15 vf15) + (.max.w.vf vf29 vf0 vf0) + (.add.y.vf acc vf28 vf28) + (.add.mul.z.vf vf28 vf29 vf28 acc :mask #b1) + (.sqrt.vf Q vf28 :ftf #b0) + (.sub.w.vf vf28 vf0 vf15 :mask #b1000) + (.wait.vf) + (.add.vf vf15 vf28 Q :mask #b1000) + (.svf (&-> (the-as vector v1-42) quad) vf15) + (when (< 0.0 (+ (-> (the-as vector v1-42) z) (-> arg1 bounds w))) + (let ((s3-1 0)) + (let ((f30-1 (-> (the-as vector v1-42) w))) + (when (nonzero? (-> arg1 lod-set max-lod)) + (cond + ((>= (-> arg1 force-lod) 0) + (set! s3-1 (-> arg1 force-lod)) + (if (< (-> arg1 lod-set lod (-> arg1 lod-set max-lod) dist) f30-1) + (return #f) + ) + ) + (else + (while + (and + (< s3-1 (-> arg1 lod-set max-lod)) + (< (-> arg1 lod-set lod s3-1 dist) f30-1) + ) + (+! s3-1 1) + ) + ) + ) + ) + (if + (and + (< (-> arg1 lod-set lod s3-1 dist) f30-1) + (< (-> arg1 force-lod) 0) + ) + (return #f) + ) + (let ((v1-64 (-> arg1 sink-group level)) + (a0-26 + (+ (-> arg1 sink-group merc-sink foreground-texture-page) 6) + ) + ) + (when (zero? (logand (-> arg1 status) 64)) + (if (< f30-1 (-> v1-64 closest-object a0-26)) + (set! (-> v1-64 closest-object a0-26) f30-1) + ) + (when (and (!= a0-26 6) (!= (-> arg1 level-index) 2)) + (let ((a1-45 (cond + ((< 102400.0 f30-1) + (-> arg1 mgeo header masks 0) + ) + ((< 81920.0 f30-1) + (-> arg1 mgeo header masks 1) + ) + (else + (-> arg1 mgeo header masks 2) + ) + ) + ) + ) + (logior! (-> v1-64 texture-mask a0-26) a1-45) + ) + ) + ) + ) + (if (or (guard-band-cull s4-0) (< f30-1 (* 1.2 (-> *math-camera* d)))) + (logior! (-> arg1 status) 1) + (set! (-> arg1 status) (logand -2 (-> arg1 status))) + ) + (logior! (-> arg1 status) 8) + (if (logtest? (-> arg1 status) 32) + (return #f) + ) + (draw-bones arg1 arg3 f30-1) + ) + (when (and (< s3-1 (-> arg1 cur-lod)) (logtest? (-> arg1 status) 128)) + (let ((v1-82 *matrix-engine*)) + (set! (-> v1-82 (-> v1-82 length)) (process->handle sv-16)) + (+! (-> v1-82 length) 1) + ) + ) + (lod-set! arg1 s3-1) + ) + ) + ) + ) + ) + ) + 0 + (none) + ) + ) + diff --git a/goal_src/engine/draw/process-drawable.gc b/goal_src/engine/draw/process-drawable.gc index c38368da06..397bf28bf0 100644 --- a/goal_src/engine/draw/process-drawable.gc +++ b/goal_src/engine/draw/process-drawable.gc @@ -5,39 +5,43 @@ ;; name in dgo: process-drawable ;; dgos: GAME, ENGINE -;; TODO - for water-anim | sunken-elevator -(define-extern ja-post (function none :behavior process-drawable)) -;; TODO - for rigid-body -(define-extern rider-post (function int)) -(define-extern transform-post (function int)) -;; TODO - for misty-teetertotter -(define-extern transform-post (function int)) -(define-extern ja-done? (function int symbol)) -;; TODO - for misty-warehouse -(define-extern rider-trans (function int)) -;; TODO - for nav-enemy -(define-extern ja-blend-eval (function int)) -(define-extern process-drawable-fuel-cell-handler (function process int symbol event-message-block none)) -(define-extern ja-aframe-num (function int float)) -(define-extern ja-aframe (function float int float)) -;; TODO - for sculptor -(define-extern ja-eval (function int)) -;; TODO - for basebutton -(define-extern anim-loop (function symbol)) -;; TODO - for bouncer -(define-extern ja-min? (function int symbol)) -;; TODO - for process-drawable -(define-extern ja-num-frames (function int int)) -;; TODO - for flutflut -(define-extern ja-group-size (function int)) -;; TODO - for yakow | pov-camera -(define-extern ja-frame-num (function int float)) -;; TODO - for anim-tester -(define-extern draw-joint-spheres (function process-drawable symbol)) -(define-extern *default-skel-template* pair) -(define-extern make-nodes-from-jg (function object pair symbol int)) -(define-extern fill-skeleton-cache (function process-drawable int)) +;; definition for function cspace-by-name +(defun cspace-by-name ((arg0 process-drawable) (arg1 string)) + (let* ((s4-0 (-> arg0 node-list length)) + (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)) + ) + ) + (the-as cspace #f) + ) +;; definition for function cspace-index-by-name +(defun cspace-index-by-name ((arg0 process-drawable) (arg1 string)) + (let* ((s4-0 0) + (s3-0 (-> arg0 node-list length)) + (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)) + ) + ) + -1 + ) + +;; definition for function vector<-cspace! (defun vector<-cspace! ((arg0 vector) (arg1 cspace)) (rlet ((Q :class vf) (vf0 :class vf) @@ -55,3 +59,1433 @@ arg0 ) ) + +;; definition for function vector<-cspace+vector! +(defun vector<-cspace+vector! ((arg0 vector) (arg1 cspace) (arg2 vector)) + (vector-matrix*! arg0 arg2 (-> arg1 bone transform)) + ) + +;; 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)) + ) + ) + a3-0 + ) + ) + +;; definition (debug) for function cspace-inspect-tree + +;; 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))) + ) + ) + (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) + ) + ) + 0 + (none) + ) + +;; definition for method 11 of type draw-control +;; INFO: Return type mismatch int vs none. +(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) + ) + 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)) + (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)))) + ) + ) + ) + ) + ) + ) + (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!) + ) + ) + +;; 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)) + ) + (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) + ) + ) + ) + ) + (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 +;; WARN: Unsupported inline assembly instruction kind - [sync.l] +;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin a2, 0] +;; WARN: Unsupported inline assembly instruction kind - [sync.l] +;; WARN: Unsupported inline assembly instruction kind - [cache dxwbin a2, 1] +;; WARN: Unsupported inline assembly instruction kind - [sync.l] +(defun fill-skeleton-cache ((arg0 process-drawable)) + (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) + ) + ) + ) + ) + (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 + ) + ) + 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) + ) + ) + ) + (set! (-> gp-0 length) 0) + ) + 0 + 0 + ) + +;; definition for method 17 of type process-drawable +;; INFO: Return type mismatch int vs none. +;; 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) + ) + (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) + ) + (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) + ) + ) + ) + ) + (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) + ) + +;; definition for method 18 of type process-drawable +;; INFO: Return type mismatch int vs none. +(defmethod dummy-18 process-drawable ((obj process-drawable)) + (if (type-type? (-> obj root type) collide-shape) + (dummy-48 (the-as collide-shape (-> obj root))) + ) + (if (nonzero? (-> obj skel)) + (ja-channel-set! 0) + ) + (process-entity-status! obj (entity-perm-status dead) #t) + (none) + ) + +;; definition for function draw-joint-spheres +;; 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) + ) + ) + ) + #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)) + ) + (if (nonzero? (-> obj sound)) + (stop! (-> obj sound)) + ) + ((method-of-type process deactivate) obj) + (none) + ) + +;; failed to figure out what this is: +(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) + ) + ) + ) + (suspend) + ) + (none) + ) + ) + +;; failed to figure out what this is: +(defstate process-drawable-idle (process-drawable) + :code + (the-as (function none :behavior process-drawable) anim-loop) + :post + ja-post + ) + +;; definition for method 14 of type process-drawable +;; WARN: Stack slot offset 20 signed mismatch +;; WARN: Stack slot offset 20 signed mismatch +;; 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)) + (local-vars (s3-0 draw-control) (sv-16 art-element) (sv-20 int)) + (let ((s1-0 (cond + ((= (-> arg0 texture-level) 2) + (-> *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)) + ) + (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) + ) + ) + ) + (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)) + ) + (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) + ) + ) + (set! (-> s2-1 effect) (new 'process 'effect-control obj)) + ) + ) + ) + (else + (set! + (-> s3-0 skeleton bones 0 transform vector 3 quad) + (-> + (the-as + vector + ((method-of-type res-lump 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)) + ((method-of-object gp-1 dummy-38)) + ) + ) + (label cfg-59) + (none) + ) + +;; definition for method 15 of type process-drawable +(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) + ) + ) + ) + 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)) + (when (logtest? arg0 7) + (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) + ) + ) + (if (logtest? arg0 16) + (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 + ) + ) + ) + ) + +;; definition for function ja-min? +(defbehavior ja-min? process-drawable ((arg0 int)) + (= (-> self skel root-channel arg0 frame-num) 0.0) + ) + +;; 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)) + ) + ) + ) + +;; definition for function ja-num-frames +(defbehavior ja-num-frames process-drawable ((arg0 int)) + (+ (-> self skel root-channel arg0 frame-group data 0 length) -1) + ) + +;; definition for function ja-frame-num +(defbehavior ja-frame-num process-drawable ((arg0 int)) + (-> self skel root-channel arg0 frame-num) + ) + +;; definition for function ja-aframe-num +(defbehavior ja-aframe-num process-drawable ((arg0 int)) + (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 + ) + ) + ) + ) + +;; 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 + ) + ) + (if v1-3 + (-> v1-3 artist-step) + 1.0 + ) + ) + ) + ) + +;; definition for function ja-speed +(defbehavior ja-speed process-drawable ((arg0 int)) + (-> self skel root-channel arg0 frame-group speed) + ) + +;; definition for function ja-step +(defbehavior ja-step process-drawable ((arg0 int)) + (-> self skel root-channel arg0 frame-group artist-step) + ) + +;; definition for function ja-channel-set! +(defbehavior ja-channel-set! process-drawable ((arg0 int)) + (set! (-> self skel active-channels) arg0) + (set! (-> self skel root-channel) (-> self skel channel)) + (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 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) + ) + (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) + ) + (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)) + ) + ) + (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)))) + ) + ) + (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 + ) + ) + +;; definition for function ja-eval +(defbehavior ja-eval process-drawable () + (let ((gp-0 (-> self skel root-channel 0)) + (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) + ) + ) + ) + (&+! gp-0 48) + ) + ) + 0 + ) + +;; definition for function ja-blend-eval +(defbehavior ja-blend-eval process-drawable () + (let ((gp-0 (-> self skel root-channel)) + (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) + ) + (else + (if (!= (-> s5-0 eval-time) s4-0) + (joint-control-channel-eval s5-0) + ) + ) + ) + (&+! s5-0 48) + ) + ) + ) + 0 + ) + +;; definition for method 19 of type process-drawable +;; ERROR: function was not converted to expressions. Cannot decompile. + +;; definition for function ja-post +;; INFO: Return type mismatch int vs none. +;; 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 ((v1-24 *matrix-engine*)) + (set! (-> v1-24 (-> v1-24 length)) (process->handle self)) + (+! (-> v1-24 length) 1) + ) + ) + 0 + (none) + ) + +;; definition for method 9 of type joint-control +;; INFO: Return type mismatch float vs none. +(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)) + ) + (('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) + ) + (-> gp-0 -1) + ) + ) + (else + 0.0 + ) + ) + (none) + ) + +;; definition for function anim-loop +;; INFO: Return type mismatch none vs symbol. +;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? +(defbehavior anim-loop process-drawable () + (logior! (-> self mask) (process-mask sleep-code)) + (while #t + (nop!) + (suspend) + ) + (the-as symbol #f) + ) + +;; definition for function transform-post +(defbehavior transform-post process-drawable () + (ja-post) + (dummy-47 (the-as collide-shape (-> self root))) + 0 + ) + +;; definition for function rider-trans +(defbehavior rider-trans process-drawable () + (dummy-35 (the-as collide-shape (-> self root))) + 0 + ) + +;; definition for function rider-post +(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) + ) + 0 + ) + +;; definition for function pusher-post +(defbehavior pusher-post process-drawable () + (ja-post) + (let ((gp-0 (the-as collide-shape (-> self root)))) + (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)) + ) + (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) + ) + (suspend) + ) + (while (< (- (-> *display* base-frame-counter) (-> self state-time)) arg0) + (suspend) + ) + (process-release? *target*) + (suspend) + 0 + ) + +;; 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) + (if (type-type? (-> arg0 type) fuel-cell) + (process-entity-status! self (entity-perm-status dead) #t) + ) + ) + ) + ) + ) + (none) + ) + +;; definition for function process-drawable-birth-fuel-cell +;; 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)) + (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) (the-as uint 0)) + (if arg2 + (set! (-> s4-0 options) (the-as uint 64)) + ) + (when (and (nonzero? s5-0) (not (task-complete? *game-info* s5-0))) + (label cfg-12) + (birth-pickup-at-point gp-0 6 (the float s5-0) #f self s4-0) + (when (not (-> self child)) + (suspend) + (goto cfg-12) + ) + ) + ) + ) + 0 + (none) + ) + +;; this part is debug only +(when *debug-segment* +;; definition for symbol *valid-con*, type string +(define *valid-con* (new 'debug 'string #x4000 (the-as string #f))) + +) +;; 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*) + ) + (else + (format + *valid-con* + "ERROR: ~A has an invalid geo ~A~%" + s3-0 + (-> s3-0 geo) + ) + (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 + ) + ) + ) + ) + ) + ) + ) + ) + (when (not s5-0) + (format *valid-con* "--------------------------------~%~%") + (format 0 "~S" *valid-con*) + ) + s5-0 + ) + ) + + + + diff --git a/goal_src/engine/gfx/hw/vu1-user-h.gc b/goal_src/engine/gfx/hw/vu1-user-h.gc index 7856a8b201..469a096c44 100644 --- a/goal_src/engine/gfx/hw/vu1-user-h.gc +++ b/goal_src/engine/gfx/hw/vu1-user-h.gc @@ -48,11 +48,12 @@ ) ;; group of sinks used for the foreground renderers. +(declare-type level basic) (deftype dma-foreground-sink-group (basic) ((sink dma-foreground-sink 3 :offset-assert 4) (merc-sink dma-foreground-sink :offset 4) (generic-sink generic-dma-foreground-sink :offset 8) - (level basic :offset-assert 16) + (level level :offset-assert 16) ) :method-count-assert 9 :size-assert #x14 diff --git a/goal_src/engine/gfx/time-of-day-h.gc b/goal_src/engine/gfx/time-of-day-h.gc index f6c17424c4..ab438db904 100644 --- a/goal_src/engine/gfx/time-of-day-h.gc +++ b/goal_src/engine/gfx/time-of-day-h.gc @@ -88,7 +88,7 @@ (num-stars float :offset-assert 2092) (light-masks-0 uint8 2 :offset-assert 2096) (light-masks-1 uint8 2 :offset-assert 2098) - (light-interp uint32 2 :offset-assert 2100) + (light-interp float 2 :offset-assert 2100) (sky symbol :offset-assert 2108) (sun-fade float :offset-assert 2112) (title-updated symbol :offset-assert 2116) diff --git a/goal_src/engine/target/target-util.gc b/goal_src/engine/target/target-util.gc index 37f7701950..5c70ef597b 100644 --- a/goal_src/engine/target/target-util.gc +++ b/goal_src/engine/target/target-util.gc @@ -29,7 +29,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) -1) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *jchar-sg* v1-0) ) diff --git a/goal_src/engine/ui/hud-classes.gc b/goal_src/engine/ui/hud-classes.gc index 7b70c108c4..175feee052 100644 --- a/goal_src/engine/ui/hud-classes.gc +++ b/goal_src/engine/ui/hud-classes.gc @@ -1169,7 +1169,7 @@ ) (set! (-> v1-24 jgeo) 0) (set! (-> v1-24 janim) 2) - (set! (-> v1-24 mgeo 0) (the-as uint 1)) + (set! (-> v1-24 mgeo 0) 1) (set! (-> v1-24 lod-dist 0) 4095996000.0) (set! *fuelcell-naked-sg* v1-24) ) diff --git a/goal_src/engine/ui/text-h.gc b/goal_src/engine/ui/text-h.gc index 87f1a9fe16..a8595e0d4b 100644 --- a/goal_src/engine/ui/text-h.gc +++ b/goal_src/engine/ui/text-h.gc @@ -158,6 +158,15 @@ (sidekick-hint-fish-powerup #x278) + (sidekick-speech-hint-crate-darkeco1 #x281) + + (sidekick-speech-crate-steel-break1 #x283) + (sidekick-speech-hint-crate-iron #x284) + (sidekick-speech-hint-crate-steel #x285) + + (sidekick-speech-crate-steel-break2 #x28e) + (sidekick-speech-hint-crate-darkeco2 #x28f) + (yakow-owed-powercell #x297) (misty-teetertotter-bonk-dax-tutorial #x2a4) @@ -211,6 +220,8 @@ (rolling-ring-chase-1 #x324) (rolling-ring-chase-2 #x325) + (sidekick-speech-hint-rolling-crate-darkeco #x336) + (rolling-ring-hint-one-ring-down #x33f) (rolling-ring-hint-be-quick-to-next #x340) (rolling-ring-hint-be-quick-all #x341) @@ -275,6 +286,9 @@ (fire-canyon-end #x500) (fire-canyon-buzzer #x501) + (sidekick-speech-hint-firecanyon-crate-darkeco1 #x506) + (sidekick-speech-hint-firecanyon-crate-darkeco2 #x507) + (fire-canyon-level-name #x50c) (ogre-end #x600) @@ -297,6 +311,8 @@ (misty-battle-finished #x813) + (sage-voicebox-hint-crate-iron #x917) + (training-gimmie-task-name #x91b) (training-buzzer-task-name #x91c) (training-door-task-name #x91d) diff --git a/goal_src/levels/beach/beach-rocks.gc b/goal_src/levels/beach/beach-rocks.gc index cb1d85743c..0eed80c7ea 100644 --- a/goal_src/levels/beach/beach-rocks.gc +++ b/goal_src/levels/beach/beach-rocks.gc @@ -21,7 +21,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 2) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *lrocklrg-sg* v1-0) ) diff --git a/goal_src/levels/beach/bird-lady-beach.gc b/goal_src/levels/beach/bird-lady-beach.gc index 7ad5147b1e..a5629ee808 100644 --- a/goal_src/levels/beach/bird-lady-beach.gc +++ b/goal_src/levels/beach/bird-lady-beach.gc @@ -32,7 +32,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *bird-lady-beach-sg* v1-1) ) diff --git a/goal_src/levels/beach/bird-lady.gc b/goal_src/levels/beach/bird-lady.gc index 5f482e68ea..3c67621d26 100644 --- a/goal_src/levels/beach/bird-lady.gc +++ b/goal_src/levels/beach/bird-lady.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *bird-lady-sg* v1-1) ) diff --git a/goal_src/levels/beach/lurkercrab.gc b/goal_src/levels/beach/lurkercrab.gc index 1930bbf82c..279385875e 100644 --- a/goal_src/levels/beach/lurkercrab.gc +++ b/goal_src/levels/beach/lurkercrab.gc @@ -103,11 +103,11 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) 4) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 81920.0) - (set! (-> v1-4 mgeo 1) (the-as uint 2)) + (set! (-> v1-4 mgeo 1) 2) (set! (-> v1-4 lod-dist 1) 163840.0) - (set! (-> v1-4 mgeo 2) (the-as uint 3)) + (set! (-> v1-4 mgeo 2) 3) (set! (-> v1-4 lod-dist 2) 4095996000.0) (set! *lurkercrab-sg* v1-4) ) diff --git a/goal_src/levels/beach/lurkerpuppy.gc b/goal_src/levels/beach/lurkerpuppy.gc index e716635728..5fe527f21a 100644 --- a/goal_src/levels/beach/lurkerpuppy.gc +++ b/goal_src/levels/beach/lurkerpuppy.gc @@ -30,11 +30,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *lurkerpuppy-sg* v1-1) ) diff --git a/goal_src/levels/beach/mayor.gc b/goal_src/levels/beach/mayor.gc index 19da80b392..36f28fe696 100644 --- a/goal_src/levels/beach/mayor.gc +++ b/goal_src/levels/beach/mayor.gc @@ -30,7 +30,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *mayor-sg* v1-1) ) diff --git a/goal_src/levels/beach/sculptor.gc b/goal_src/levels/beach/sculptor.gc index 02da5d8079..ed5f42648e 100644 --- a/goal_src/levels/beach/sculptor.gc +++ b/goal_src/levels/beach/sculptor.gc @@ -32,7 +32,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sculptor-muse-sg* v1-1) ) @@ -49,7 +49,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 4) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *sculptor-sg* v1-2) ) diff --git a/goal_src/levels/citadel/assistant-citadel.gc b/goal_src/levels/citadel/assistant-citadel.gc index 7b51c775de..970919ba98 100644 --- a/goal_src/levels/citadel/assistant-citadel.gc +++ b/goal_src/levels/citadel/assistant-citadel.gc @@ -30,7 +30,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-lavatube-end-sg* v1-1) ) diff --git a/goal_src/levels/citadel/citb-drop-plat-CIT.gc b/goal_src/levels/citadel/citb-drop-plat-CIT.gc index e41599fed1..d6a3425aa2 100644 --- a/goal_src/levels/citadel/citb-drop-plat-CIT.gc +++ b/goal_src/levels/citadel/citb-drop-plat-CIT.gc @@ -35,9 +35,9 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 3) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 81920.0) - (set! (-> v1-0 mgeo 1) (the-as uint 2)) + (set! (-> v1-0 mgeo 1) 2) (set! (-> v1-0 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-sg* v1-0) ) @@ -54,9 +54,9 @@ ) (set! (-> v1-1 jgeo) 4) (set! (-> v1-1 janim) 7) - (set! (-> v1-1 mgeo 0) (the-as uint 5)) + (set! (-> v1-1 mgeo 0) 5) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 6)) + (set! (-> v1-1 mgeo 1) 6) (set! (-> v1-1 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-red-sg* v1-1) ) @@ -73,9 +73,9 @@ ) (set! (-> v1-2 jgeo) 8) (set! (-> v1-2 janim) 11) - (set! (-> v1-2 mgeo 0) (the-as uint 9)) + (set! (-> v1-2 mgeo 0) 9) (set! (-> v1-2 lod-dist 0) 81920.0) - (set! (-> v1-2 mgeo 1) (the-as uint 10)) + (set! (-> v1-2 mgeo 1) 10) (set! (-> v1-2 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-green-sg* v1-2) ) @@ -92,9 +92,9 @@ ) (set! (-> v1-3 jgeo) 12) (set! (-> v1-3 janim) 15) - (set! (-> v1-3 mgeo 0) (the-as uint 13)) + (set! (-> v1-3 mgeo 0) 13) (set! (-> v1-3 lod-dist 0) 81920.0) - (set! (-> v1-3 mgeo 1) (the-as uint 14)) + (set! (-> v1-3 mgeo 1) 14) (set! (-> v1-3 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-blue-sg* v1-3) ) @@ -111,9 +111,9 @@ ) (set! (-> v1-4 jgeo) 16) (set! (-> v1-4 janim) 19) - (set! (-> v1-4 mgeo 0) (the-as uint 17)) + (set! (-> v1-4 mgeo 0) 17) (set! (-> v1-4 lod-dist 0) 81920.0) - (set! (-> v1-4 mgeo 1) (the-as uint 18)) + (set! (-> v1-4 mgeo 1) 18) (set! (-> v1-4 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-yellow-sg* v1-4) ) diff --git a/goal_src/levels/common/babak.gc b/goal_src/levels/common/babak.gc index 7a0d56aeda..8e9524ce7a 100644 --- a/goal_src/levels/common/babak.gc +++ b/goal_src/levels/common/babak.gc @@ -33,11 +33,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *babak-sg* v1-1) ) diff --git a/goal_src/levels/common/basebutton.gc b/goal_src/levels/common/basebutton.gc index ca525f6cbf..aabab91e46 100644 --- a/goal_src/levels/common/basebutton.gc +++ b/goal_src/levels/common/basebutton.gc @@ -58,7 +58,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *generic-button-sg* v1-1) ) diff --git a/goal_src/levels/common/blocking-plane.gc b/goal_src/levels/common/blocking-plane.gc index 0b3069f500..a8a45766ab 100644 --- a/goal_src/levels/common/blocking-plane.gc +++ b/goal_src/levels/common/blocking-plane.gc @@ -29,7 +29,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *ef-plane-sg* v1-1) ) diff --git a/goal_src/levels/common/plat-button.gc b/goal_src/levels/common/plat-button.gc index a8b5f27d32..b8bd0c363f 100644 --- a/goal_src/levels/common/plat-button.gc +++ b/goal_src/levels/common/plat-button.gc @@ -55,7 +55,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *plat-button-sg* v1-1) ) diff --git a/goal_src/levels/common/plat.gc b/goal_src/levels/common/plat.gc index a200fd03a3..e3264507bc 100644 --- a/goal_src/levels/common/plat.gc +++ b/goal_src/levels/common/plat.gc @@ -112,11 +112,11 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) 4) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 81920.0) - (set! (-> v1-4 mgeo 1) (the-as uint 2)) + (set! (-> v1-4 mgeo 1) 2) (set! (-> v1-4 lod-dist 1) 163840.0) - (set! (-> v1-4 mgeo 2) (the-as uint 3)) + (set! (-> v1-4 mgeo 2) 3) (set! (-> v1-4 lod-dist 2) 4095996000.0) (set! *plat-sg* v1-4) ) @@ -133,7 +133,7 @@ ) (set! (-> v1-5 jgeo) 0) (set! (-> v1-5 janim) 4) - (set! (-> v1-5 mgeo 0) (the-as uint 1)) + (set! (-> v1-5 mgeo 0) 1) (set! (-> v1-5 lod-dist 0) 4095996000.0) (set! *plat-jungleb-sg* v1-5) ) @@ -150,7 +150,7 @@ ) (set! (-> v1-6 jgeo) 0) (set! (-> v1-6 janim) 4) - (set! (-> v1-6 mgeo 0) (the-as uint 1)) + (set! (-> v1-6 mgeo 0) 1) (set! (-> v1-6 lod-dist 0) 4095996000.0) (set! *plat-sunken-sg* v1-6) ) diff --git a/goal_src/levels/common/sharkey.gc b/goal_src/levels/common/sharkey.gc index aeb5ed9335..f788bf3122 100644 --- a/goal_src/levels/common/sharkey.gc +++ b/goal_src/levels/common/sharkey.gc @@ -76,7 +76,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *sharkey-sg* v1-2) ) diff --git a/goal_src/levels/common/water-anim.gc b/goal_src/levels/common/water-anim.gc index 445b048518..7c685c94b8 100644 --- a/goal_src/levels/common/water-anim.gc +++ b/goal_src/levels/common/water-anim.gc @@ -39,7 +39,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-dark-eco-qbert-sg* v1-1) ) @@ -56,7 +56,7 @@ ) (set! (-> v1-2 jgeo) 2) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 3)) + (set! (-> v1-2 mgeo 0) 3) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-dark-eco-platform-room-sg* v1-2) ) @@ -73,7 +73,7 @@ ) (set! (-> v1-3 jgeo) 4) (set! (-> v1-3 janim) -1) - (set! (-> v1-3 mgeo 0) (the-as uint 5)) + (set! (-> v1-3 mgeo 0) 5) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-dark-eco-helix-room-sg* v1-3) ) @@ -91,7 +91,7 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) -1) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-big-room-sg* v1-4) ) @@ -108,7 +108,7 @@ ) (set! (-> v1-5 jgeo) 2) (set! (-> v1-5 janim) -1) - (set! (-> v1-5 mgeo 0) (the-as uint 3)) + (set! (-> v1-5 mgeo 0) 3) (set! (-> v1-5 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-first-room-from-entrance-sg* v1-5) ) @@ -125,7 +125,7 @@ ) (set! (-> v1-6 jgeo) 4) (set! (-> v1-6 janim) -1) - (set! (-> v1-6 mgeo 0) (the-as uint 5)) + (set! (-> v1-6 mgeo 0) 5) (set! (-> v1-6 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-qbert-room-sg* v1-6) ) @@ -142,7 +142,7 @@ ) (set! (-> v1-7 jgeo) 6) (set! (-> v1-7 janim) -1) - (set! (-> v1-7 mgeo 0) (the-as uint 7)) + (set! (-> v1-7 mgeo 0) 7) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-first-right-branch-sg* v1-7) ) @@ -159,7 +159,7 @@ ) (set! (-> v1-8 jgeo) 8) (set! (-> v1-8 janim) -1) - (set! (-> v1-8 mgeo 0) (the-as uint 9)) + (set! (-> v1-8 mgeo 0) 9) (set! (-> v1-8 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-circular-with-bullys-sg* v1-8) ) @@ -176,7 +176,7 @@ ) (set! (-> v1-9 jgeo) 10) (set! (-> v1-9 janim) -1) - (set! (-> v1-9 mgeo 0) (the-as uint 11)) + (set! (-> v1-9 mgeo 0) 11) (set! (-> v1-9 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-hall-with-one-whirlpool-sg* v1-9) ) @@ -193,7 +193,7 @@ ) (set! (-> v1-10 jgeo) 12) (set! (-> v1-10 janim) -1) - (set! (-> v1-10 mgeo 0) (the-as uint 13)) + (set! (-> v1-10 mgeo 0) 13) (set! (-> v1-10 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-hall-with-three-whirlpools-sg* v1-10) ) @@ -210,7 +210,7 @@ ) (set! (-> v1-11 jgeo) 14) (set! (-> v1-11 janim) -1) - (set! (-> v1-11 mgeo 0) (the-as uint 15)) + (set! (-> v1-11 mgeo 0) 15) (set! (-> v1-11 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-start-of-helix-slide-sg* v1-11) ) @@ -227,7 +227,7 @@ ) (set! (-> v1-12 jgeo) 16) (set! (-> v1-12 janim) -1) - (set! (-> v1-12 mgeo 0) (the-as uint 17)) + (set! (-> v1-12 mgeo 0) 17) (set! (-> v1-12 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-room-above-exit-chamber-sg* v1-12) ) @@ -245,7 +245,7 @@ ) (set! (-> v1-13 jgeo) 18) (set! (-> v1-13 janim) -1) - (set! (-> v1-13 mgeo 0) (the-as uint 19)) + (set! (-> v1-13 mgeo 0) 19) (set! (-> v1-13 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-hall-before-big-room-sg* v1-13) ) @@ -262,7 +262,7 @@ ) (set! (-> v1-14 jgeo) 20) (set! (-> v1-14 janim) -1) - (set! (-> v1-14 mgeo 0) (the-as uint 21)) + (set! (-> v1-14 mgeo 0) 21) (set! (-> v1-14 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-short-piece-sg* v1-14) ) @@ -279,7 +279,7 @@ ) (set! (-> v1-15 jgeo) 22) (set! (-> v1-15 janim) -1) - (set! (-> v1-15 mgeo 0) (the-as uint 23)) + (set! (-> v1-15 mgeo 0) 23) (set! (-> v1-15 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-big-room-upper-water-sg* v1-15) ) @@ -296,7 +296,7 @@ ) (set! (-> v1-16 jgeo) 0) (set! (-> v1-16 janim) -1) - (set! (-> v1-16 mgeo 0) (the-as uint 1)) + (set! (-> v1-16 mgeo 0) 1) (set! (-> v1-16 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-center-pool-sg* v1-16) ) @@ -314,7 +314,7 @@ ) (set! (-> v1-17 jgeo) 2) (set! (-> v1-17 janim) -1) - (set! (-> v1-17 mgeo 0) (the-as uint 3)) + (set! (-> v1-17 mgeo 0) 3) (set! (-> v1-17 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-lower-right-pool-sg* v1-17) ) @@ -331,7 +331,7 @@ ) (set! (-> v1-18 jgeo) 4) (set! (-> v1-18 janim) -1) - (set! (-> v1-18 mgeo 0) (the-as uint 5)) + (set! (-> v1-18 mgeo 0) 5) (set! (-> v1-18 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-mid-right-pool-sg* v1-18) ) @@ -349,7 +349,7 @@ ) (set! (-> v1-19 jgeo) 6) (set! (-> v1-19 janim) -1) - (set! (-> v1-19 mgeo 0) (the-as uint 7)) + (set! (-> v1-19 mgeo 0) 7) (set! (-> v1-19 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-lower-left-pool-sg* v1-19) ) @@ -366,7 +366,7 @@ ) (set! (-> v1-20 jgeo) 8) (set! (-> v1-20 janim) -1) - (set! (-> v1-20 mgeo 0) (the-as uint 9)) + (set! (-> v1-20 mgeo 0) 9) (set! (-> v1-20 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-mid-left-pool-sg* v1-20) ) @@ -384,7 +384,7 @@ ) (set! (-> v1-21 jgeo) 0) (set! (-> v1-21 janim) -1) - (set! (-> v1-21 mgeo 0) (the-as uint 1)) + (set! (-> v1-21 mgeo 0) 1) (set! (-> v1-21 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-water-with-crystal-sg* v1-21) ) @@ -402,9 +402,9 @@ ) (set! (-> v1-22 jgeo) 0) (set! (-> v1-22 janim) -1) - (set! (-> v1-22 mgeo 0) (the-as uint 1)) + (set! (-> v1-22 mgeo 0) 1) (set! (-> v1-22 lod-dist 0) 81920.0) - (set! (-> v1-22 mgeo 1) (the-as uint 2)) + (set! (-> v1-22 mgeo 1) 2) (set! (-> v1-22 lod-dist 1) 4095996000.0) (set! *water-anim-robocave-main-pool-sg* v1-22) ) @@ -422,7 +422,7 @@ ) (set! (-> v1-23 jgeo) 0) (set! (-> v1-23 janim) -1) - (set! (-> v1-23 mgeo 0) (the-as uint 1)) + (set! (-> v1-23 mgeo 0) 1) (set! (-> v1-23 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-by-arena-sg* v1-23) ) @@ -439,7 +439,7 @@ ) (set! (-> v1-24 jgeo) 2) (set! (-> v1-24 janim) -1) - (set! (-> v1-24 mgeo 0) (the-as uint 3)) + (set! (-> v1-24 mgeo 0) 3) (set! (-> v1-24 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-above-skeleton-sg* v1-24) ) @@ -457,7 +457,7 @@ ) (set! (-> v1-25 jgeo) 4) (set! (-> v1-25 janim) -1) - (set! (-> v1-25 mgeo 0) (the-as uint 5)) + (set! (-> v1-25 mgeo 0) 5) (set! (-> v1-25 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-behind-skeleton-sg* v1-25) ) @@ -474,7 +474,7 @@ ) (set! (-> v1-26 jgeo) 6) (set! (-> v1-26 janim) -1) - (set! (-> v1-26 mgeo 0) (the-as uint 7)) + (set! (-> v1-26 mgeo 0) 7) (set! (-> v1-26 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-above-skull-back-sg* v1-26) ) @@ -491,7 +491,7 @@ ) (set! (-> v1-27 jgeo) 8) (set! (-> v1-27 janim) -1) - (set! (-> v1-27 mgeo 0) (the-as uint 9)) + (set! (-> v1-27 mgeo 0) 9) (set! (-> v1-27 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-above-skull-front-sg* v1-27) ) @@ -508,7 +508,7 @@ ) (set! (-> v1-28 jgeo) 10) (set! (-> v1-28 janim) -1) - (set! (-> v1-28 mgeo 0) (the-as uint 11)) + (set! (-> v1-28 mgeo 0) 11) (set! (-> v1-28 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-other-near-skull-sg* v1-28) ) @@ -525,7 +525,7 @@ ) (set! (-> v1-29 jgeo) 12) (set! (-> v1-29 janim) -1) - (set! (-> v1-29 mgeo 0) (the-as uint 13)) + (set! (-> v1-29 mgeo 0) 13) (set! (-> v1-29 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-near-skull-sg* v1-29) ) @@ -542,7 +542,7 @@ ) (set! (-> v1-30 jgeo) 14) (set! (-> v1-30 janim) -1) - (set! (-> v1-30 mgeo 0) (the-as uint 15)) + (set! (-> v1-30 mgeo 0) 15) (set! (-> v1-30 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-under-spine-sg* v1-30) ) @@ -559,7 +559,7 @@ ) (set! (-> v1-31 jgeo) 16) (set! (-> v1-31 janim) -1) - (set! (-> v1-31 mgeo 0) (the-as uint 17)) + (set! (-> v1-31 mgeo 0) 17) (set! (-> v1-31 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-by-dock-sg* v1-31) ) @@ -577,7 +577,7 @@ ) (set! (-> v1-32 jgeo) 18) (set! (-> v1-32 janim) -1) - (set! (-> v1-32 mgeo 0) (the-as uint 19)) + (set! (-> v1-32 mgeo 0) 19) (set! (-> v1-32 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-island-near-dock-sg* v1-32) ) @@ -594,7 +594,7 @@ ) (set! (-> v1-33 jgeo) 20) (set! (-> v1-33 janim) -1) - (set! (-> v1-33 mgeo 0) (the-as uint 21)) + (set! (-> v1-33 mgeo 0) 21) (set! (-> v1-33 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-lonely-island-sg* v1-33) ) @@ -611,7 +611,7 @@ ) (set! (-> v1-34 jgeo) 22) (set! (-> v1-34 janim) -1) - (set! (-> v1-34 mgeo 0) (the-as uint 23)) + (set! (-> v1-34 mgeo 0) 23) (set! (-> v1-34 lod-dist 0) 4095996000.0) (set! *water-anim-misty-dark-eco-pool-sg* v1-34) ) @@ -628,7 +628,7 @@ ) (set! (-> v1-35 jgeo) 0) (set! (-> v1-35 janim) -1) - (set! (-> v1-35 mgeo 0) (the-as uint 1)) + (set! (-> v1-35 mgeo 0) 1) (set! (-> v1-35 lod-dist 0) 4095996000.0) (set! *water-anim-ogre-lava-sg* v1-35) ) @@ -646,9 +646,9 @@ ) (set! (-> v1-36 jgeo) 0) (set! (-> v1-36 janim) -1) - (set! (-> v1-36 mgeo 0) (the-as uint 1)) + (set! (-> v1-36 mgeo 0) 1) (set! (-> v1-36 lod-dist 0) 81920.0) - (set! (-> v1-36 mgeo 1) (the-as uint 2)) + (set! (-> v1-36 mgeo 1) 2) (set! (-> v1-36 lod-dist 1) 4095996000.0) (set! *water-anim-jungle-river-sg* v1-36) ) @@ -667,9 +667,9 @@ ) (set! (-> v1-37 jgeo) 0) (set! (-> v1-37 janim) -1) - (set! (-> v1-37 mgeo 0) (the-as uint 1)) + (set! (-> v1-37 mgeo 0) 1) (set! (-> v1-37 lod-dist 0) 81920.0) - (set! (-> v1-37 mgeo 1) (the-as uint 2)) + (set! (-> v1-37 mgeo 1) 2) (set! (-> v1-37 lod-dist 1) 4095996000.0) (set! *water-anim-village3-lava-sg* v1-37) ) @@ -687,7 +687,7 @@ ) (set! (-> v1-38 jgeo) 0) (set! (-> v1-38 janim) -1) - (set! (-> v1-38 mgeo 0) (the-as uint 1)) + (set! (-> v1-38 mgeo 0) 1) (set! (-> v1-38 lod-dist 0) 4095996000.0) (set! *water-anim-training-lake-sg* v1-38) ) @@ -704,7 +704,7 @@ ) (set! (-> v1-39 jgeo) 0) (set! (-> v1-39 janim) -1) - (set! (-> v1-39 mgeo 0) (the-as uint 1)) + (set! (-> v1-39 mgeo 0) 1) (set! (-> v1-39 lod-dist 0) 4095996000.0) (set! *water-anim-darkcave-water-with-crystal-sg* v1-39) ) @@ -722,7 +722,7 @@ ) (set! (-> v1-40 jgeo) 0) (set! (-> v1-40 janim) -1) - (set! (-> v1-40 mgeo 0) (the-as uint 1)) + (set! (-> v1-40 mgeo 0) 1) (set! (-> v1-40 lod-dist 0) 4095996000.0) (set! *water-anim-rolling-water-back-sg* v1-40) ) @@ -739,7 +739,7 @@ ) (set! (-> v1-41 jgeo) 2) (set! (-> v1-41 janim) -1) - (set! (-> v1-41 mgeo 0) (the-as uint 3)) + (set! (-> v1-41 mgeo 0) 3) (set! (-> v1-41 lod-dist 0) 4095996000.0) (set! *water-anim-rolling-water-front-sg* v1-41) ) @@ -756,7 +756,7 @@ ) (set! (-> v1-42 jgeo) 0) (set! (-> v1-42 janim) -1) - (set! (-> v1-42 mgeo 0) (the-as uint 1)) + (set! (-> v1-42 mgeo 0) 1) (set! (-> v1-42 lod-dist 0) 4095996000.0) (set! *water-anim-finalboss-dark-eco-pool-sg* v1-42) ) @@ -774,7 +774,7 @@ ) (set! (-> v1-43 jgeo) 0) (set! (-> v1-43 janim) -1) - (set! (-> v1-43 mgeo 0) (the-as uint 1)) + (set! (-> v1-43 mgeo 0) 1) (set! (-> v1-43 lod-dist 0) 4095996000.0) (set! *water-anim-lavatube-energy-lava-sg* v1-43) ) @@ -792,7 +792,7 @@ ) (set! (-> v1-44 jgeo) 0) (set! (-> v1-44 janim) -1) - (set! (-> v1-44 mgeo 0) (the-as uint 1)) + (set! (-> v1-44 mgeo 0) 1) (set! (-> v1-44 lod-dist 0) 4095996000.0) (set! *water-anim-village1-rice-paddy-sg* v1-44) ) @@ -809,7 +809,7 @@ ) (set! (-> v1-45 jgeo) 6) (set! (-> v1-45 janim) -1) - (set! (-> v1-45 mgeo 0) (the-as uint 7)) + (set! (-> v1-45 mgeo 0) 7) (set! (-> v1-45 lod-dist 0) 4095996000.0) (set! *water-anim-village1-fountain-sg* v1-45) ) @@ -826,7 +826,7 @@ ) (set! (-> v1-46 jgeo) 2) (set! (-> v1-46 janim) -1) - (set! (-> v1-46 mgeo 0) (the-as uint 3)) + (set! (-> v1-46 mgeo 0) 3) (set! (-> v1-46 lod-dist 0) 4095996000.0) (set! *water-anim-village1-rice-paddy-mid-sg* v1-46) ) @@ -844,7 +844,7 @@ ) (set! (-> v1-47 jgeo) 4) (set! (-> v1-47 janim) -1) - (set! (-> v1-47 mgeo 0) (the-as uint 5)) + (set! (-> v1-47 mgeo 0) 5) (set! (-> v1-47 lod-dist 0) 4095996000.0) (set! *water-anim-village1-rice-paddy-top-sg* v1-47) ) @@ -861,7 +861,7 @@ ) (set! (-> v1-48 jgeo) 0) (set! (-> v1-48 janim) -1) - (set! (-> v1-48 mgeo 0) (the-as uint 1)) + (set! (-> v1-48 mgeo 0) 1) (set! (-> v1-48 lod-dist 0) 4095996000.0) (set! *water-anim-village2-bucket-sg* v1-48) ) diff --git a/goal_src/levels/finalboss/final-door.gc b/goal_src/levels/finalboss/final-door.gc index 923ff3efa5..70240b9ba4 100644 --- a/goal_src/levels/finalboss/final-door.gc +++ b/goal_src/levels/finalboss/final-door.gc @@ -48,7 +48,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *power-left-sg* v1-2) ) @@ -65,7 +65,7 @@ ) (set! (-> v1-3 jgeo) 0) (set! (-> v1-3 janim) 2) - (set! (-> v1-3 mgeo 0) (the-as uint 1)) + (set! (-> v1-3 mgeo 0) 1) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *power-right-sg* v1-3) ) @@ -81,7 +81,7 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) 2) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 4095996000.0) (set! *powercellalt-sg* v1-4) ) diff --git a/goal_src/levels/finalboss/green-eco-lurker.gc b/goal_src/levels/finalboss/green-eco-lurker.gc index 138e0d207d..46da7e1684 100644 --- a/goal_src/levels/finalboss/green-eco-lurker.gc +++ b/goal_src/levels/finalboss/green-eco-lurker.gc @@ -50,7 +50,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *green-eco-lurker-sg* v1-2) ) diff --git a/goal_src/levels/finalboss/light-eco.gc b/goal_src/levels/finalboss/light-eco.gc index e9031e95b4..59503d9f8a 100644 --- a/goal_src/levels/finalboss/light-eco.gc +++ b/goal_src/levels/finalboss/light-eco.gc @@ -70,7 +70,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *light-eco-big-sg* v1-2) ) @@ -86,7 +86,7 @@ ) (set! (-> v1-3 jgeo) 3) (set! (-> v1-3 janim) -1) - (set! (-> v1-3 mgeo 0) (the-as uint 4)) + (set! (-> v1-3 mgeo 0) 4) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *light-eco-small-sg* v1-3) ) diff --git a/goal_src/levels/finalboss/robotboss-h.gc b/goal_src/levels/finalboss/robotboss-h.gc index 1142afa236..2c12c2d5e7 100644 --- a/goal_src/levels/finalboss/robotboss-h.gc +++ b/goal_src/levels/finalboss/robotboss-h.gc @@ -140,7 +140,7 @@ ) (set! (-> v0-6 jgeo) 0) (set! (-> v0-6 janim) 2) - (set! (-> v0-6 mgeo 0) (the-as uint 1)) + (set! (-> v0-6 mgeo 0) 1) (set! (-> v0-6 lod-dist 0) 4095996000.0) (set! *robotboss-sg* v0-6) ) diff --git a/goal_src/levels/finalboss/robotboss-misc.gc b/goal_src/levels/finalboss/robotboss-misc.gc index 728420749c..28f1315258 100644 --- a/goal_src/levels/finalboss/robotboss-misc.gc +++ b/goal_src/levels/finalboss/robotboss-misc.gc @@ -28,7 +28,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 2) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *med-res-snow1-sg* v1-0) ) @@ -152,7 +152,7 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) 2) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 4095996000.0) (set! *ecoclaw-sg* v1-4) ) @@ -492,7 +492,7 @@ ) (set! (-> v1-10 jgeo) 0) (set! (-> v1-10 janim) 2) - (set! (-> v1-10 mgeo 0) (the-as uint 1)) + (set! (-> v1-10 mgeo 0) 1) (set! (-> v1-10 lod-dist 0) 4095996000.0) (set! *silodoor-sg* v1-10) ) @@ -744,7 +744,7 @@ ) (set! (-> v1-17 jgeo) 0) (set! (-> v1-17 janim) 2) - (set! (-> v1-17 mgeo 0) (the-as uint 1)) + (set! (-> v1-17 mgeo 0) 1) (set! (-> v1-17 lod-dist 0) 4095996000.0) (set! *finalbosscam-sg* v1-17) ) diff --git a/goal_src/levels/finalboss/robotboss-weapon.gc b/goal_src/levels/finalboss/robotboss-weapon.gc index f9b9d52a8b..716049e0d4 100644 --- a/goal_src/levels/finalboss/robotboss-weapon.gc +++ b/goal_src/levels/finalboss/robotboss-weapon.gc @@ -263,7 +263,7 @@ ) (set! (-> v1-8 jgeo) 0) (set! (-> v1-8 janim) 2) - (set! (-> v1-8 mgeo 0) (the-as uint 1)) + (set! (-> v1-8 mgeo 0) 1) (set! (-> v1-8 lod-dist 0) 4095996000.0) (set! *darkecobomb-sg* v1-8) ) @@ -856,7 +856,7 @@ ) (set! (-> v1-17 jgeo) 0) (set! (-> v1-17 janim) 2) - (set! (-> v1-17 mgeo 0) (the-as uint 1)) + (set! (-> v1-17 mgeo 0) 1) (set! (-> v1-17 lod-dist 0) 4095996000.0) (set! *greenshot-sg* v1-17) ) @@ -1043,7 +1043,7 @@ ) (set! (-> v1-22 jgeo) 0) (set! (-> v1-22 janim) 2) - (set! (-> v1-22 mgeo 0) (the-as uint 1)) + (set! (-> v1-22 mgeo 0) 1) (set! (-> v1-22 lod-dist 0) 4095996000.0) (set! *redring-sg* v1-22) ) diff --git a/goal_src/levels/finalboss/robotboss.gc b/goal_src/levels/finalboss/robotboss.gc index 51d843f966..ba0169458e 100644 --- a/goal_src/levels/finalboss/robotboss.gc +++ b/goal_src/levels/finalboss/robotboss.gc @@ -28,7 +28,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 2) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *robotboss-blueeco-sg* v1-0) ) @@ -44,7 +44,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *robotboss-redeco-sg* v1-1) ) @@ -60,7 +60,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *robotboss-yelloweco-sg* v1-2) ) diff --git a/goal_src/levels/firecanyon/assistant-firecanyon.gc b/goal_src/levels/firecanyon/assistant-firecanyon.gc index 8f46e07fb1..a7086f85c1 100644 --- a/goal_src/levels/firecanyon/assistant-firecanyon.gc +++ b/goal_src/levels/firecanyon/assistant-firecanyon.gc @@ -30,7 +30,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-firecanyon-sg* v1-1) ) diff --git a/goal_src/levels/flut_common/flutflut.gc b/goal_src/levels/flut_common/flutflut.gc index 7a38c71ac8..e41f4a3040 100644 --- a/goal_src/levels/flut_common/flutflut.gc +++ b/goal_src/levels/flut_common/flutflut.gc @@ -75,7 +75,7 @@ ) (set! (-> v1-5 jgeo) 0) (set! (-> v1-5 janim) -1) - (set! (-> v1-5 mgeo 0) (the-as uint 1)) + (set! (-> v1-5 mgeo 0) 1) (set! (-> v1-5 lod-dist 0) 4095996000.0) (set! *flutflut-sg* v1-5) ) diff --git a/goal_src/levels/intro/evilbro.gc b/goal_src/levels/intro/evilbro.gc index f2c5163bb2..f4cd0391bb 100644 --- a/goal_src/levels/intro/evilbro.gc +++ b/goal_src/levels/intro/evilbro.gc @@ -32,7 +32,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *evilbro-intro-sg* v1-1) ) @@ -244,7 +244,7 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 3) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *evilsis-intro-sg* v1-7) ) diff --git a/goal_src/levels/jungle/bouncer.gc b/goal_src/levels/jungle/bouncer.gc index 3c138e242c..bb06840684 100644 --- a/goal_src/levels/jungle/bouncer.gc +++ b/goal_src/levels/jungle/bouncer.gc @@ -37,7 +37,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *bouncer-sg* v1-2) ) diff --git a/goal_src/levels/jungle/fisher-JUN.gc b/goal_src/levels/jungle/fisher-JUN.gc index 90cff540a6..c0edcf0ca1 100644 --- a/goal_src/levels/jungle/fisher-JUN.gc +++ b/goal_src/levels/jungle/fisher-JUN.gc @@ -856,7 +856,7 @@ ) (set! (-> v1-16 jgeo) 0) (set! (-> v1-16 janim) 2) - (set! (-> v1-16 mgeo 0) (the-as uint 1)) + (set! (-> v1-16 mgeo 0) 1) (set! (-> v1-16 lod-dist 0) 4095996000.0) (set! *catch-fisha-sg* v1-16) ) @@ -872,7 +872,7 @@ ) (set! (-> v1-17 jgeo) 0) (set! (-> v1-17 janim) 2) - (set! (-> v1-17 mgeo 0) (the-as uint 1)) + (set! (-> v1-17 mgeo 0) 1) (set! (-> v1-17 lod-dist 0) 4095996000.0) (set! *catch-fishb-sg* v1-17) ) @@ -888,7 +888,7 @@ ) (set! (-> v1-18 jgeo) 0) (set! (-> v1-18 janim) 2) - (set! (-> v1-18 mgeo 0) (the-as uint 1)) + (set! (-> v1-18 mgeo 0) 1) (set! (-> v1-18 lod-dist 0) 4095996000.0) (set! *catch-fishc-sg* v1-18) ) @@ -904,7 +904,7 @@ ) (set! (-> v1-19 jgeo) 0) (set! (-> v1-19 janim) 2) - (set! (-> v1-19 mgeo 0) (the-as uint 1)) + (set! (-> v1-19 mgeo 0) 1) (set! (-> v1-19 lod-dist 0) 4095996000.0) (set! *fish-net-sg* v1-19) ) @@ -923,11 +923,11 @@ ) (set! (-> v1-20 jgeo) 0) (set! (-> v1-20 janim) 6) - (set! (-> v1-20 mgeo 0) (the-as uint 1)) + (set! (-> v1-20 mgeo 0) 1) (set! (-> v1-20 lod-dist 0) 81920.0) - (set! (-> v1-20 mgeo 1) (the-as uint 2)) + (set! (-> v1-20 mgeo 1) 2) (set! (-> v1-20 lod-dist 1) 163840.0) - (set! (-> v1-20 mgeo 2) (the-as uint 3)) + (set! (-> v1-20 mgeo 2) 3) (set! (-> v1-20 lod-dist 2) 4095996000.0) (set! *fisher-sg* v1-20) ) diff --git a/goal_src/levels/jungle/hopper.gc b/goal_src/levels/jungle/hopper.gc index d40ad6101a..69b0fbe898 100644 --- a/goal_src/levels/jungle/hopper.gc +++ b/goal_src/levels/jungle/hopper.gc @@ -34,11 +34,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *hopper-sg* v1-1) ) diff --git a/goal_src/levels/jungle/junglefish.gc b/goal_src/levels/jungle/junglefish.gc index a7a49d9d87..0223141e86 100644 --- a/goal_src/levels/jungle/junglefish.gc +++ b/goal_src/levels/jungle/junglefish.gc @@ -31,11 +31,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *junglefish-sg* v1-1) ) diff --git a/goal_src/levels/jungleb/aphid.gc b/goal_src/levels/jungleb/aphid.gc index 370ea2a857..8e048eba21 100644 --- a/goal_src/levels/jungleb/aphid.gc +++ b/goal_src/levels/jungleb/aphid.gc @@ -32,7 +32,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *aphid-sg* v1-1) ) diff --git a/goal_src/levels/jungleb/plat-flip.gc b/goal_src/levels/jungleb/plat-flip.gc index e177c6d2dd..3a9e8a0e0e 100644 --- a/goal_src/levels/jungleb/plat-flip.gc +++ b/goal_src/levels/jungleb/plat-flip.gc @@ -39,7 +39,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *plat-flip-sg* v1-1) ) diff --git a/goal_src/levels/lavatube/assistant-lavatube.gc b/goal_src/levels/lavatube/assistant-lavatube.gc index e838a94d50..354ee4f02c 100644 --- a/goal_src/levels/lavatube/assistant-lavatube.gc +++ b/goal_src/levels/lavatube/assistant-lavatube.gc @@ -30,7 +30,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-lavatube-start-sg* v1-1) ) diff --git a/goal_src/levels/maincave/baby-spider.gc b/goal_src/levels/maincave/baby-spider.gc index 0a1bf19676..3e3c7e96ac 100644 --- a/goal_src/levels/maincave/baby-spider.gc +++ b/goal_src/levels/maincave/baby-spider.gc @@ -75,11 +75,11 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 81920.0) - (set! (-> v1-2 mgeo 1) (the-as uint 2)) + (set! (-> v1-2 mgeo 1) 2) (set! (-> v1-2 lod-dist 1) 163840.0) - (set! (-> v1-2 mgeo 2) (the-as uint 3)) + (set! (-> v1-2 mgeo 2) 3) (set! (-> v1-2 lod-dist 2) 4095996000.0) (set! *baby-spider-sg* v1-2) ) diff --git a/goal_src/levels/maincave/spiderwebs.gc b/goal_src/levels/maincave/spiderwebs.gc index fea33d5d34..6b9ab04844 100644 --- a/goal_src/levels/maincave/spiderwebs.gc +++ b/goal_src/levels/maincave/spiderwebs.gc @@ -65,7 +65,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *spiderwebs-sg* v1-2) ) diff --git a/goal_src/levels/misty/bonelurker.gc b/goal_src/levels/misty/bonelurker.gc index 9e623e3b69..9180ca2332 100644 --- a/goal_src/levels/misty/bonelurker.gc +++ b/goal_src/levels/misty/bonelurker.gc @@ -36,11 +36,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *bonelurker-sg* v1-1) ) diff --git a/goal_src/levels/misty/misty-conveyor.gc b/goal_src/levels/misty/misty-conveyor.gc index c5ebda0dcf..232cf576d3 100644 --- a/goal_src/levels/misty/misty-conveyor.gc +++ b/goal_src/levels/misty/misty-conveyor.gc @@ -132,7 +132,7 @@ ) (set! (-> v1-6 jgeo) 0) (set! (-> v1-6 janim) 2) - (set! (-> v1-6 mgeo 0) (the-as uint 1)) + (set! (-> v1-6 mgeo 0) 1) (set! (-> v1-6 lod-dist 0) 4095996000.0) (set! *keg-conveyor-sg* v1-6) ) @@ -149,7 +149,7 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 2) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *keg-conveyor-paddle-sg* v1-7) ) @@ -167,11 +167,11 @@ ) (set! (-> v1-8 jgeo) 0) (set! (-> v1-8 janim) 5) - (set! (-> v1-8 mgeo 0) (the-as uint 1)) + (set! (-> v1-8 mgeo 0) 1) (set! (-> v1-8 lod-dist 0) 81920.0) - (set! (-> v1-8 mgeo 1) (the-as uint 2)) + (set! (-> v1-8 mgeo 1) 2) (set! (-> v1-8 lod-dist 1) 163840.0) - (set! (-> v1-8 mgeo 2) (the-as uint 3)) + (set! (-> v1-8 mgeo 2) 3) (set! (-> v1-8 lod-dist 2) 4095996000.0) (set! *keg-sg* v1-8) ) diff --git a/goal_src/levels/misty/misty-teetertotter.gc b/goal_src/levels/misty/misty-teetertotter.gc index 0ff384e77e..742145ce00 100644 --- a/goal_src/levels/misty/misty-teetertotter.gc +++ b/goal_src/levels/misty/misty-teetertotter.gc @@ -37,11 +37,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *teetertotter-sg* v1-1) ) diff --git a/goal_src/levels/misty/misty-warehouse.gc b/goal_src/levels/misty/misty-warehouse.gc index 3147f3e3b9..74f5fcc530 100644 --- a/goal_src/levels/misty/misty-warehouse.gc +++ b/goal_src/levels/misty/misty-warehouse.gc @@ -38,7 +38,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *silostep-sg* v1-1) ) @@ -283,9 +283,9 @@ ) (set! (-> v1-6 jgeo) 0) (set! (-> v1-6 janim) 3) - (set! (-> v1-6 mgeo 0) (the-as uint 1)) + (set! (-> v1-6 mgeo 0) 1) (set! (-> v1-6 lod-dist 0) 81920.0) - (set! (-> v1-6 mgeo 1) (the-as uint 2)) + (set! (-> v1-6 mgeo 1) 2) (set! (-> v1-6 lod-dist 1) 4095996000.0) (set! *rounddoor-sg* v1-6) ) diff --git a/goal_src/levels/misty/muse.gc b/goal_src/levels/misty/muse.gc index eb191e83ff..6b853ffebe 100644 --- a/goal_src/levels/misty/muse.gc +++ b/goal_src/levels/misty/muse.gc @@ -216,7 +216,7 @@ ) (set! (-> v1-5 jgeo) 0) (set! (-> v1-5 janim) 3) - (set! (-> v1-5 mgeo 0) (the-as uint 1)) + (set! (-> v1-5 mgeo 0) 1) (set! (-> v1-5 lod-dist 0) 4095996000.0) (set! *muse-sg* v1-5) ) diff --git a/goal_src/levels/misty/sidekick-human.gc b/goal_src/levels/misty/sidekick-human.gc index 9316c1c016..b33ac9ba70 100644 --- a/goal_src/levels/misty/sidekick-human.gc +++ b/goal_src/levels/misty/sidekick-human.gc @@ -1383,7 +1383,7 @@ ) (set! (-> v1-46 jgeo) 0) (set! (-> v1-46 janim) 3) - (set! (-> v1-46 mgeo 0) (the-as uint 1)) + (set! (-> v1-46 mgeo 0) 1) (set! (-> v1-46 lod-dist 0) 4095996000.0) (set! *sidekick-human-sg* v1-46) ) @@ -1399,7 +1399,7 @@ ) (set! (-> v1-47 jgeo) 0) (set! (-> v1-47 janim) 4) - (set! (-> v1-47 mgeo 0) (the-as uint 1)) + (set! (-> v1-47 mgeo 0) 1) (set! (-> v1-47 lod-dist 0) 4095996000.0) (set! *darkecocan-sg* v1-47) ) @@ -1415,7 +1415,7 @@ ) (set! (-> v1-48 jgeo) 2) (set! (-> v1-48 janim) 4) - (set! (-> v1-48 mgeo 0) (the-as uint 3)) + (set! (-> v1-48 mgeo 0) 3) (set! (-> v1-48 lod-dist 0) 4095996000.0) (set! *darkecocan-glow-sg* v1-48) ) @@ -1431,7 +1431,7 @@ ) (set! (-> v1-49 jgeo) 0) (set! (-> v1-49 janim) 3) - (set! (-> v1-49 mgeo 0) (the-as uint 1)) + (set! (-> v1-49 mgeo 0) 1) (set! (-> v1-49 lod-dist 0) 4095996000.0) (set! *evilbro-sg* v1-49) ) @@ -1447,7 +1447,7 @@ ) (set! (-> v1-50 jgeo) 0) (set! (-> v1-50 janim) 3) - (set! (-> v1-50 mgeo 0) (the-as uint 1)) + (set! (-> v1-50 mgeo 0) 1) (set! (-> v1-50 lod-dist 0) 4095996000.0) (set! *evilsis-sg* v1-50) ) diff --git a/goal_src/levels/ogre/flying-lurker.gc b/goal_src/levels/ogre/flying-lurker.gc index cfe754017a..0a93b8bfbe 100644 --- a/goal_src/levels/ogre/flying-lurker.gc +++ b/goal_src/levels/ogre/flying-lurker.gc @@ -25,7 +25,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) -1) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *ogrecam-sg* v1-0) ) @@ -54,11 +54,11 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 4) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 81920.0) - (set! (-> v1-2 mgeo 1) (the-as uint 2)) + (set! (-> v1-2 mgeo 1) 2) (set! (-> v1-2 lod-dist 1) 163840.0) - (set! (-> v1-2 mgeo 2) (the-as uint 3)) + (set! (-> v1-2 mgeo 2) 3) (set! (-> v1-2 lod-dist 2) 4095996000.0) (set! *plunger-lurker-sg* v1-2) ) @@ -665,11 +665,11 @@ ) (set! (-> v1-8 jgeo) 0) (set! (-> v1-8 janim) 5) - (set! (-> v1-8 mgeo 0) (the-as uint 1)) + (set! (-> v1-8 mgeo 0) 1) (set! (-> v1-8 lod-dist 0) 81920.0) - (set! (-> v1-8 mgeo 1) (the-as uint 2)) + (set! (-> v1-8 mgeo 1) 2) (set! (-> v1-8 lod-dist 1) 163840.0) - (set! (-> v1-8 mgeo 2) (the-as uint 3)) + (set! (-> v1-8 mgeo 2) 3) (set! (-> v1-8 lod-dist 2) 4095996000.0) (set! *flying-lurker-sg* v1-8) ) diff --git a/goal_src/levels/racer_common/target-racer-h-FIC-LAV-MIS-OGR-ROL.gc b/goal_src/levels/racer_common/target-racer-h-FIC-LAV-MIS-OGR-ROL.gc index 74befa0523..6863fc466b 100644 --- a/goal_src/levels/racer_common/target-racer-h-FIC-LAV-MIS-OGR-ROL.gc +++ b/goal_src/levels/racer_common/target-racer-h-FIC-LAV-MIS-OGR-ROL.gc @@ -179,9 +179,9 @@ ) (set! (-> v0-4 jgeo) 0) (set! (-> v0-4 janim) 3) - (set! (-> v0-4 mgeo 0) (the-as uint 1)) + (set! (-> v0-4 mgeo 0) 1) (set! (-> v0-4 lod-dist 0) 81920.0) - (set! (-> v0-4 mgeo 1) (the-as uint 2)) + (set! (-> v0-4 mgeo 1) 2) (set! (-> v0-4 lod-dist 1) 4095996000.0) (set! *balloon-sg* v0-4) ) diff --git a/goal_src/levels/snow/yeti.gc b/goal_src/levels/snow/yeti.gc index 7e95f7fdf1..b8165a6db4 100644 --- a/goal_src/levels/snow/yeti.gc +++ b/goal_src/levels/snow/yeti.gc @@ -62,7 +62,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *yeti-sg* v1-2) ) diff --git a/goal_src/levels/sunken/qbert-plat.gc b/goal_src/levels/sunken/qbert-plat.gc index 32c8250e6f..a7d026f0f0 100644 --- a/goal_src/levels/sunken/qbert-plat.gc +++ b/goal_src/levels/sunken/qbert-plat.gc @@ -40,7 +40,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *qbert-plat-on-sg* v1-1) ) @@ -71,7 +71,7 @@ ) (set! (-> v1-3 jgeo) 0) (set! (-> v1-3 janim) 2) - (set! (-> v1-3 mgeo 0) (the-as uint 1)) + (set! (-> v1-3 mgeo 0) 1) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *qbert-plat-sg* v1-3) ) diff --git a/goal_src/levels/sunken/square-platform.gc b/goal_src/levels/sunken/square-platform.gc index dffb038906..2aa2f7997c 100644 --- a/goal_src/levels/sunken/square-platform.gc +++ b/goal_src/levels/sunken/square-platform.gc @@ -53,9 +53,9 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 4095996000.0) (set! *square-platform-sg* v1-1) ) diff --git a/goal_src/levels/sunken/sunken-fish.gc b/goal_src/levels/sunken/sunken-fish.gc index 1826913796..e02c743a3c 100644 --- a/goal_src/levels/sunken/sunken-fish.gc +++ b/goal_src/levels/sunken/sunken-fish.gc @@ -56,7 +56,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sunkenfisha-red-yellow-sg* v1-1) ) @@ -73,7 +73,7 @@ ) (set! (-> v1-2 jgeo) 2) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 3)) + (set! (-> v1-2 mgeo 0) 3) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *sunkenfisha-yellow-blue-sg* v1-2) ) @@ -90,7 +90,7 @@ ) (set! (-> v1-3 jgeo) 4) (set! (-> v1-3 janim) -1) - (set! (-> v1-3 mgeo 0) (the-as uint 5)) + (set! (-> v1-3 mgeo 0) 5) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *sunkenfisha-yellow-eye-sg* v1-3) ) diff --git a/goal_src/levels/sunken/wall-plat.gc b/goal_src/levels/sunken/wall-plat.gc index 1ddb23654b..ae511bf012 100644 --- a/goal_src/levels/sunken/wall-plat.gc +++ b/goal_src/levels/sunken/wall-plat.gc @@ -43,7 +43,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *wall-plat-sg* v1-1) ) diff --git a/goal_src/levels/sunken/wedge-plats.gc b/goal_src/levels/sunken/wedge-plats.gc index f52b352e31..c707cc5762 100644 --- a/goal_src/levels/sunken/wedge-plats.gc +++ b/goal_src/levels/sunken/wedge-plats.gc @@ -121,7 +121,7 @@ ) (set! (-> v1-3 jgeo) 0) (set! (-> v1-3 janim) 2) - (set! (-> v1-3 mgeo 0) (the-as uint 1)) + (set! (-> v1-3 mgeo 0) 1) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *wedge-plat-sg* v1-3) ) @@ -391,7 +391,7 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 2) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *wedge-plat-outer-sg* v1-7) ) diff --git a/goal_src/levels/swamp/swamp-bat.gc b/goal_src/levels/swamp/swamp-bat.gc index 391aa9fa9a..e733e35468 100644 --- a/goal_src/levels/swamp/swamp-bat.gc +++ b/goal_src/levels/swamp/swamp-bat.gc @@ -194,11 +194,11 @@ swamp-bat-slave-event-handler ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 4) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 81920.0) - (set! (-> v1-7 mgeo 1) (the-as uint 2)) + (set! (-> v1-7 mgeo 1) 2) (set! (-> v1-7 lod-dist 1) 163840.0) - (set! (-> v1-7 mgeo 2) (the-as uint 3)) + (set! (-> v1-7 mgeo 2) 3) (set! (-> v1-7 lod-dist 2) 4095996000.0) (set! *swamp-bat-slave-sg* v1-7) ) diff --git a/goal_src/levels/swamp/swamp-rat-nest.gc b/goal_src/levels/swamp/swamp-rat-nest.gc index 261326ae90..c360330cd6 100644 --- a/goal_src/levels/swamp/swamp-rat-nest.gc +++ b/goal_src/levels/swamp/swamp-rat-nest.gc @@ -1656,9 +1656,9 @@ swamp-rat-nest-default-event-handler ) (set! (-> v1-51 jgeo) 0) (set! (-> v1-51 janim) 3) - (set! (-> v1-51 mgeo 0) (the-as uint 1)) + (set! (-> v1-51 mgeo 0) 1) (set! (-> v1-51 lod-dist 0) 81920.0) - (set! (-> v1-51 mgeo 1) (the-as uint 2)) + (set! (-> v1-51 mgeo 1) 2) (set! (-> v1-51 lod-dist 1) 4095996000.0) (set! *swamp-rat-nest-dummy-a-sg* v1-51) ) @@ -1675,9 +1675,9 @@ swamp-rat-nest-default-event-handler ) (set! (-> v1-52 jgeo) 4) (set! (-> v1-52 janim) 7) - (set! (-> v1-52 mgeo 0) (the-as uint 5)) + (set! (-> v1-52 mgeo 0) 5) (set! (-> v1-52 lod-dist 0) 81920.0) - (set! (-> v1-52 mgeo 1) (the-as uint 6)) + (set! (-> v1-52 mgeo 1) 6) (set! (-> v1-52 lod-dist 1) 4095996000.0) (set! *swamp-rat-nest-dummy-b-sg* v1-52) ) @@ -1693,7 +1693,7 @@ swamp-rat-nest-default-event-handler ) (set! (-> v1-53 jgeo) 8) (set! (-> v1-53 janim) 11) - (set! (-> v1-53 mgeo 0) (the-as uint 9)) + (set! (-> v1-53 mgeo 0) 9) (set! (-> v1-53 lod-dist 0) 4095996000.0) (set! *swamp-rat-nest-dummy-c-sg* v1-53) ) diff --git a/goal_src/levels/swamp/swamp-rat.gc b/goal_src/levels/swamp/swamp-rat.gc index 1eb7c7c416..731c9119e4 100644 --- a/goal_src/levels/swamp/swamp-rat.gc +++ b/goal_src/levels/swamp/swamp-rat.gc @@ -44,11 +44,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *swamp-rat-sg* v1-1) ) diff --git a/goal_src/levels/village1/assistant.gc b/goal_src/levels/village1/assistant.gc index 467e68ecba..21d20bdbbe 100644 --- a/goal_src/levels/village1/assistant.gc +++ b/goal_src/levels/village1/assistant.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-sg* v1-1) ) diff --git a/goal_src/levels/village1/explorer.gc b/goal_src/levels/village1/explorer.gc index 9aefbe2ebf..a460f1b874 100644 --- a/goal_src/levels/village1/explorer.gc +++ b/goal_src/levels/village1/explorer.gc @@ -30,7 +30,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *explorer-sg* v1-1) ) diff --git a/goal_src/levels/village1/farmer.gc b/goal_src/levels/village1/farmer.gc index cd77535a55..3a792da2e5 100644 --- a/goal_src/levels/village1/farmer.gc +++ b/goal_src/levels/village1/farmer.gc @@ -31,9 +31,9 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 4095996000.0) (set! *farmer-sg* v1-1) ) diff --git a/goal_src/levels/village1/fishermans-boat.gc b/goal_src/levels/village1/fishermans-boat.gc index 0e8331df5e..22df78194f 100644 --- a/goal_src/levels/village1/fishermans-boat.gc +++ b/goal_src/levels/village1/fishermans-boat.gc @@ -628,9 +628,9 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 3) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 81920.0) - (set! (-> v1-7 mgeo 1) (the-as uint 2)) + (set! (-> v1-7 mgeo 1) 2) (set! (-> v1-7 lod-dist 1) 4095996000.0) (set! *fishermans-boat-sg* v1-7) ) @@ -646,7 +646,7 @@ ) (set! (-> v1-8 jgeo) 0) (set! (-> v1-8 janim) 3) - (set! (-> v1-8 mgeo 0) (the-as uint 1)) + (set! (-> v1-8 mgeo 0) 1) (set! (-> v1-8 lod-dist 0) 4095996000.0) (set! *fb-evilbro-sg* v1-8) ) @@ -662,7 +662,7 @@ ) (set! (-> v1-9 jgeo) 0) (set! (-> v1-9 janim) 3) - (set! (-> v1-9 mgeo 0) (the-as uint 1)) + (set! (-> v1-9 mgeo 0) 1) (set! (-> v1-9 lod-dist 0) 4095996000.0) (set! *fb-evilsis-sg* v1-9) ) diff --git a/goal_src/levels/village1/sage.gc b/goal_src/levels/village1/sage.gc index d88bbaaebb..02b5a615bc 100644 --- a/goal_src/levels/village1/sage.gc +++ b/goal_src/levels/village1/sage.gc @@ -32,7 +32,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sage-sg* v1-1) ) diff --git a/goal_src/levels/village1/yakow.gc b/goal_src/levels/village1/yakow.gc index 915023a59c..6d1b00d610 100644 --- a/goal_src/levels/village1/yakow.gc +++ b/goal_src/levels/village1/yakow.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 2) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *village1cam-sg* v1-0) ) @@ -176,9 +176,9 @@ ) (set! (-> v1-5 jgeo) 0) (set! (-> v1-5 janim) 4) - (set! (-> v1-5 mgeo 0) (the-as uint 1)) + (set! (-> v1-5 mgeo 0) 1) (set! (-> v1-5 lod-dist 0) 81920.0) - (set! (-> v1-5 mgeo 1) (the-as uint 2)) + (set! (-> v1-5 mgeo 1) 2) (set! (-> v1-5 lod-dist 1) 4095996000.0) (set! *yakow-sg* v1-5) ) diff --git a/goal_src/levels/village2/assistant-village2.gc b/goal_src/levels/village2/assistant-village2.gc index cfb9721574..6315f41f5e 100644 --- a/goal_src/levels/village2/assistant-village2.gc +++ b/goal_src/levels/village2/assistant-village2.gc @@ -58,11 +58,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *assistant-village2-sg* v1-1) ) @@ -78,7 +78,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *jaws-sg* v1-2) ) diff --git a/goal_src/levels/village2/flutflut-bluehut.gc b/goal_src/levels/village2/flutflut-bluehut.gc index 82c055fac4..6eb0389e9a 100644 --- a/goal_src/levels/village2/flutflut-bluehut.gc +++ b/goal_src/levels/village2/flutflut-bluehut.gc @@ -28,7 +28,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *flutflut-bluehut-sg* v1-1) ) diff --git a/goal_src/levels/village2/gambler.gc b/goal_src/levels/village2/gambler.gc index e4f39efa6f..5686a34ab3 100644 --- a/goal_src/levels/village2/gambler.gc +++ b/goal_src/levels/village2/gambler.gc @@ -31,11 +31,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *gambler-sg* v1-1) ) diff --git a/goal_src/levels/village2/geologist.gc b/goal_src/levels/village2/geologist.gc index 1b32f1a182..4975f39e74 100644 --- a/goal_src/levels/village2/geologist.gc +++ b/goal_src/levels/village2/geologist.gc @@ -31,11 +31,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *geologist-sg* v1-1) ) diff --git a/goal_src/levels/village2/sage-bluehut.gc b/goal_src/levels/village2/sage-bluehut.gc index 9991b9aecb..19b11c897e 100644 --- a/goal_src/levels/village2/sage-bluehut.gc +++ b/goal_src/levels/village2/sage-bluehut.gc @@ -45,7 +45,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 3) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *sage-bluehut-sg* v1-2) ) diff --git a/goal_src/levels/village2/sunken-elevator.gc b/goal_src/levels/village2/sunken-elevator.gc index b32ab6cc61..2d48d94558 100644 --- a/goal_src/levels/village2/sunken-elevator.gc +++ b/goal_src/levels/village2/sunken-elevator.gc @@ -33,7 +33,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sunken-elevator-sg* v1-1) ) diff --git a/goal_src/levels/village2/warrior.gc b/goal_src/levels/village2/warrior.gc index 8584bd4723..7864687d20 100644 --- a/goal_src/levels/village2/warrior.gc +++ b/goal_src/levels/village2/warrior.gc @@ -31,11 +31,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *warrior-sg* v1-1) ) diff --git a/goal_src/levels/village3/assistant-village3.gc b/goal_src/levels/village3/assistant-village3.gc index 0dc0638e00..4ae913f4a6 100644 --- a/goal_src/levels/village3/assistant-village3.gc +++ b/goal_src/levels/village3/assistant-village3.gc @@ -30,7 +30,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-village3-sg* v1-1) ) diff --git a/goal_src/levels/village3/miners.gc b/goal_src/levels/village3/miners.gc index 1bbd21455d..74784d6e17 100644 --- a/goal_src/levels/village3/miners.gc +++ b/goal_src/levels/village3/miners.gc @@ -62,7 +62,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 3) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *minertall-sg* v1-2) ) @@ -170,7 +170,7 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 3) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *minershort-sg* v1-7) ) @@ -892,7 +892,7 @@ ) (set! (-> v1-18 jgeo) 0) (set! (-> v1-18 janim) 2) - (set! (-> v1-18 mgeo 0) (the-as uint 1)) + (set! (-> v1-18 mgeo 0) 1) (set! (-> v1-18 lod-dist 0) 4095996000.0) (set! *cavegem-sg* v1-18) ) diff --git a/goal_src/levels/village3/sage-village3.gc b/goal_src/levels/village3/sage-village3.gc index 2ab9952c4e..d0af1cfcd3 100644 --- a/goal_src/levels/village3/sage-village3.gc +++ b/goal_src/levels/village3/sage-village3.gc @@ -35,7 +35,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sage-village3-sg* v1-1) ) @@ -52,7 +52,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 3) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *evilbro-village3-sg* v1-2) ) @@ -69,7 +69,7 @@ ) (set! (-> v1-3 jgeo) 0) (set! (-> v1-3 janim) 3) - (set! (-> v1-3 mgeo 0) (the-as uint 1)) + (set! (-> v1-3 mgeo 0) 1) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *evilsis-village3-sg* v1-3) ) diff --git a/goal_src/levels/village_common/oracle.gc b/goal_src/levels/village_common/oracle.gc index e82ed3a51f..e6539865df 100644 --- a/goal_src/levels/village_common/oracle.gc +++ b/goal_src/levels/village_common/oracle.gc @@ -33,7 +33,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *oracle-sg* v1-1) ) diff --git a/test/decompiler/reference/engine/ambient/mood_REF.gc b/test/decompiler/reference/engine/ambient/mood_REF.gc index 10f4f61a1a..a0ff8894eb 100644 --- a/test/decompiler/reference/engine/ambient/mood_REF.gc +++ b/test/decompiler/reference/engine/ambient/mood_REF.gc @@ -227,7 +227,7 @@ (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) (the-as uint 0.0)) + (set! (-> *time-of-day-context* light-interp arg2) 0.0) ) (else (let ((s0-0 (-> arg0 mood-lights-table data s3-0)) @@ -296,7 +296,7 @@ (-> *time-of-day-context* light-masks-1 arg2) (the-as uint (ash 1 s2-0)) ) - (set! (-> *time-of-day-context* light-interp arg2) (the-as uint f30-0)) + (set! (-> *time-of-day-context* light-interp arg2) f30-0) ) ) (if @@ -498,7 +498,7 @@ (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) (the-as uint 0.0)) + (set! (-> *time-of-day-context* light-interp arg4) 0.0) (if (and (= (-> arg0 current-prt-color x) 0.0) diff --git a/test/decompiler/reference/engine/anim/joint-h_REF.gc b/test/decompiler/reference/engine/anim/joint-h_REF.gc index 38a3855b5d..9a9d771c5e 100644 --- a/test/decompiler/reference/engine/anim/joint-h_REF.gc +++ b/test/decompiler/reference/engine/anim/joint-h_REF.gc @@ -44,25 +44,25 @@ ;; definition of type joint-control (deftype joint-control (basic) - ((status uint16 :offset-assert 4) - (allocated-length int16 :offset-assert 6) - (root-channel (inline-array joint-control-channel) :offset 16) - (blend-index int32 :offset-assert 20) - (active-channels int32 :offset-assert 24) - (generate-frame-function basic :offset-assert 28) - (prebind-function basic :offset-assert 32) - (postbind-function function :offset-assert 36) - (effect effect-control :offset-assert 40) - (channel joint-control-channel 3 :inline :offset-assert 48) - (frame-group0 art-joint-anim :offset 60) - (frame-num0 float :offset 64) - (frame-interp0 float :offset 56) - (frame-group1 art-joint-anim :offset 108) - (frame-num1 float :offset 112) - (frame-interp1 float :offset 104) - (frame-group2 art-joint-anim :offset 156) - (frame-num2 float :offset 160) - (frame-interp2 float :offset 152) + ((status uint16 :offset-assert 4) + (allocated-length int16 :offset-assert 6) + (root-channel (inline-array joint-control-channel) :offset 16) + (blend-index int32 :offset-assert 20) + (active-channels int32 :offset-assert 24) + (generate-frame-function (function pointer int process-drawable none) :offset-assert 28) + (prebind-function (function pointer int process-drawable none) :offset-assert 32) + (postbind-function (function pointer int process-drawable none) :offset-assert 36) + (effect effect-control :offset-assert 40) + (channel joint-control-channel 3 :inline :offset-assert 48) + (frame-group0 art-joint-anim :offset 60) + (frame-num0 float :offset 64) + (frame-interp0 float :offset 56) + (frame-group1 art-joint-anim :offset 108) + (frame-num1 float :offset 112) + (frame-interp1 float :offset 104) + (frame-group2 art-joint-anim :offset 156) + (frame-num2 float :offset 160) + (frame-interp2 float :offset 152) ) :method-count-assert 11 :size-assert #xc0 diff --git a/test/decompiler/reference/engine/camera/pov-camera_REF.gc b/test/decompiler/reference/engine/camera/pov-camera_REF.gc index f5fc4440cd..df3f39013d 100644 --- a/test/decompiler/reference/engine/camera/pov-camera_REF.gc +++ b/test/decompiler/reference/engine/camera/pov-camera_REF.gc @@ -369,7 +369,7 @@ (quaternion-copy! (-> self root quat) (-> v1-20 root quat)) ) ) - (dummy-14 self arg1 '()) + (initialize-skeleton self arg1 '()) (logior! (-> self draw status) 32) (logior! (-> self skel status) 1) (set! (-> self anim-name) arg2) diff --git a/test/decompiler/reference/engine/data/art-h_REF.gc b/test/decompiler/reference/engine/data/art-h_REF.gc index 9739f67049..e4668f1865 100644 --- a/test/decompiler/reference/engine/data/art-h_REF.gc +++ b/test/decompiler/reference/engine/data/art-h_REF.gc @@ -328,7 +328,7 @@ (janim int32 :offset-assert 12) (bounds vector :inline :offset-assert 16) (radius meters :offset 28) - (mgeo uint16 4 :offset-assert 32) + (mgeo int16 4 :offset-assert 32) (max-lod int32 :offset-assert 40) (lod-dist float 4 :offset-assert 44) (longest-edge meters :offset-assert 60) @@ -391,7 +391,7 @@ :size-assert #x21 :flag-assert #xa00000021 (:methods - (dummy-9 (_type_) _type_ 9) + (dummy-9 (_type_ skeleton-group art-group entity) _type_ 9) ) ) @@ -405,55 +405,55 @@ ;; definition of type draw-control (deftype draw-control (basic) - ((status uint8 :offset-assert 4) - (matrix-type uint8 :offset-assert 5) - (data-format uint8 :offset-assert 6) - (global-effect uint8 :offset-assert 7) - (art-group art-group :offset-assert 8) - (jgeo art-joint-geo :offset-assert 12) - (mgeo merc-ctrl :offset-assert 16) - (dma-add-func function :offset-assert 20) - (skeleton skeleton-group :offset-assert 24) - (lod-set lod-set :inline :offset-assert 28) - (lod lod-group 4 :inline :offset 28) - (max-lod int8 :offset 60) - (force-lod int8 :offset-assert 61) - (cur-lod int8 :offset-assert 62) - (desired-lod int8 :offset-assert 63) - (ripple ripple-control :offset-assert 64) - (longest-edge meters :offset-assert 68) - (longest-edge? uint32 :offset 68) - (light-index uint8 :offset-assert 72) - (dummy uint8 2 :offset-assert 73) - (death-draw-overlap uint8 :offset-assert 75) - (death-timer uint8 :offset-assert 76) - (death-timer-org uint8 :offset-assert 77) - (death-vertex-skip uint16 :offset-assert 78) - (death-effect uint32 :offset-assert 80) - (sink-group dma-foreground-sink-group :offset-assert 84) - (process process :offset-assert 88) - (shadow shadow-geo :offset-assert 92) - (shadow-ctrl shadow-control :offset-assert 96) - (origin vector :inline :offset-assert 112) - (bounds vector :inline :offset-assert 128) - (radius meters :offset 140) - (color-mult rgbaf :inline :offset-assert 144) - (color-emissive rgbaf :inline :offset-assert 160) - (secondary-interp float :offset-assert 176) - (current-secondary-interp float :offset-assert 180) - (shadow-mask uint8 :offset-assert 184) - (level-index uint8 :offset-assert 185) - (origin-joint-index uint8 :offset-assert 186) - (shadow-joint-index uint8 :offset-assert 187) + ((status uint8 :offset-assert 4) + (matrix-type uint8 :offset-assert 5) + (data-format uint8 :offset-assert 6) + (global-effect uint8 :offset-assert 7) + (art-group art-group :offset-assert 8) + (jgeo art-joint-geo :offset-assert 12) + (mgeo merc-ctrl :offset-assert 16) + (dma-add-func (function process-drawable draw-control symbol object none) :offset-assert 20) + (skeleton skeleton :offset-assert 24) + (lod-set lod-set :inline :offset-assert 28) + (lod lod-group 4 :inline :offset 28) + (max-lod int8 :offset 60) + (force-lod int8 :offset-assert 61) + (cur-lod int8 :offset-assert 62) + (desired-lod int8 :offset-assert 63) + (ripple ripple-control :offset-assert 64) + (longest-edge meters :offset-assert 68) + (longest-edge? uint32 :offset 68) + (light-index uint8 :offset-assert 72) + (dummy uint8 2 :offset-assert 73) + (death-draw-overlap uint8 :offset-assert 75) + (death-timer uint8 :offset-assert 76) + (death-timer-org uint8 :offset-assert 77) + (death-vertex-skip uint16 :offset-assert 78) + (death-effect uint32 :offset-assert 80) + (sink-group dma-foreground-sink-group :offset-assert 84) + (process process :offset-assert 88) + (shadow shadow-geo :offset-assert 92) + (shadow-ctrl shadow-control :offset-assert 96) + (origin vector :inline :offset-assert 112) + (bounds vector :inline :offset-assert 128) + (radius meters :offset 140) + (color-mult rgbaf :inline :offset-assert 144) + (color-emissive rgbaf :inline :offset-assert 160) + (secondary-interp float :offset-assert 176) + (current-secondary-interp float :offset-assert 180) + (shadow-mask uint8 :offset-assert 184) + (level-index uint8 :offset-assert 185) + (origin-joint-index uint8 :offset-assert 186) + (shadow-joint-index uint8 :offset-assert 187) ) :method-count-assert 12 :size-assert #xbc :flag-assert #xc000000bc (:methods (new (symbol type process art-joint-geo) _type_ 0) - (dummy-9 (_type_) (pointer int8) 9) - (dummy-10 (_type_ int) int 10) - (dummy-11 (_type_ lod-set) none 11) + (dummy-9 (_type_) vector 9) + (lod-set! (_type_ int) none 10) + (lods-assign! (_type_ lod-set) none 11) ) ) @@ -509,7 +509,7 @@ ;; definition for method 9 of type draw-control (defmethod dummy-9 draw-control ((obj draw-control)) - (&-> (-> obj skeleton) texture-level) + (-> obj skeleton bones 0 transform vector 3) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/engine/debug/anim-tester_REF.gc b/test/decompiler/reference/engine/debug/anim-tester_REF.gc index ba9ed98e96..415633a743 100644 --- a/test/decompiler/reference/engine/debug/anim-tester_REF.gc +++ b/test/decompiler/reference/engine/debug/anim-tester_REF.gc @@ -1172,15 +1172,12 @@ (set! (-> self draw level-index) (the-as uint 2)) (set! (-> self node-list) - (the-as - cspace-array - (make-nodes-from-jg a0-15 *default-skel-template* 'debug) - ) + (make-nodes-from-jg a0-15 *default-skel-template* 'debug) ) ) (set! (-> self skel effect) (new 'process 'effect-control self)) (fill-skeleton-cache self) - (dummy-10 (-> self draw) 0) + (lod-set! (-> self draw) 0) (ja-channel-set! 0) (ja-post) ) diff --git a/test/decompiler/reference/engine/game/game-h_REF.gc b/test/decompiler/reference/engine/game/game-h_REF.gc index fa15a46f53..1320f448cd 100644 --- a/test/decompiler/reference/engine/game/game-h_REF.gc +++ b/test/decompiler/reference/engine/game/game-h_REF.gc @@ -24,11 +24,11 @@ :size-assert #xb0 :flag-assert #x14004000b0 (:methods - (dummy-14 (_type_ skeleton-group object) none 14) + (initialize-skeleton (_type_ skeleton-group pair) none 14) (dummy-15 (_type_ string object) _type_ 15) (dummy-16 (_type_ int (inline-array vector) vector) collide-shape 16) (dummy-17 (_type_) none 17) - (dummy-18 (_type_) symbol 18) + (dummy-18 (_type_) none 18) (dummy-19 (_type_) none 19) ) ) @@ -124,7 +124,7 @@ (vector vector :inline :offset-assert 16) (intersection vector :inline :offset-assert 32) (attacker handle :offset-assert 48) - (invinc-time uint64 :offset-assert 56) + (invinc-time seconds :offset-assert 56) (mask uint32 :offset-assert 64) (mode symbol :offset-assert 68) (shove-back meters :offset-assert 72) diff --git a/test/decompiler/reference/engine/game/projectiles_REF.gc b/test/decompiler/reference/engine/game/projectiles_REF.gc index 3f5b42935d..67da8de10a 100644 --- a/test/decompiler/reference/engine/game/projectiles_REF.gc +++ b/test/decompiler/reference/engine/game/projectiles_REF.gc @@ -1873,9 +1873,7 @@ ;; 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 collide-shape-prim (-> obj root-override root-prim prim-core)) - ) + (eco-blue-glow (the-as vector (-> obj root-override root-prim prim-core))) ) 0 (none) 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 e384875013..46bc74c6fd 100644 --- a/test/decompiler/reference/engine/game/task/hint-control_REF.gc +++ b/test/decompiler/reference/engine/game/task/hint-control_REF.gc @@ -393,8 +393,8 @@ ;; definition for function increment-success-for-hint ;; INFO: Return type mismatch int vs none. -(defun increment-success-for-hint ((arg0 level-hint-control)) - (let ((gp-0 (find-hint-control-index arg0))) +(defun increment-success-for-hint ((arg0 game-text-id)) + (let ((gp-0 (find-hint-control-index (the-as level-hint-control arg0)))) (when (>= gp-0 0) (set! (-> *game-info* hint-control gp-0 num-success) 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 bf810f361d..7dd1c52472 100644 --- a/test/decompiler/reference/engine/game/task/process-taskable_REF.gc +++ b/test/decompiler/reference/engine/game/task/process-taskable_REF.gc @@ -1521,7 +1521,7 @@ (initialize-collision obj s3-0 s0-0) (process-drawable-from-entity! obj (the-as res-lump arg0)) (let* ((a0-4 obj) - (t9-3 (method-of-object a0-4 dummy-14)) + (t9-3 (method-of-object a0-4 initialize-skeleton)) (a2-2 '()) (a1-4 arg1) ) @@ -1529,7 +1529,7 @@ (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) (the-as spool-anim (fuel-cell-pick-anim obj))) + (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) 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 719b713c71..87480789b9 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 @@ -92,7 +92,7 @@ ((sink dma-foreground-sink 3 :offset-assert 4) (merc-sink dma-foreground-sink :offset 4) (generic-sink generic-dma-foreground-sink :offset 8) - (level basic :offset-assert 16) + (level level :offset-assert 16) ) :method-count-assert 9 :size-assert #x14 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 48df0af2fc..2a95f76e2d 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 @@ -140,7 +140,7 @@ (num-stars float :offset-assert 2092) (light-masks-0 uint8 2 :offset-assert 2096) (light-masks-1 uint8 2 :offset-assert 2098) - (light-interp uint32 2 :offset-assert 2100) + (light-interp float 2 :offset-assert 2100) (sky symbol :offset-assert 2108) (sun-fade float :offset-assert 2112) (title-updated symbol :offset-assert 2116) diff --git a/test/decompiler/reference/engine/level/level_REF.gc b/test/decompiler/reference/engine/level/level_REF.gc index 9786d2b383..d872f04f64 100644 --- a/test/decompiler/reference/engine/level/level_REF.gc +++ b/test/decompiler/reference/engine/level/level_REF.gc @@ -1016,21 +1016,21 @@ ) (else (let* ((a0-1 (-> obj bsp boxes)) - (s5-1 (-> a0-1 data)) + (v1-5 (-> a0-1 data)) ) (countdown (a0-2 (-> a0-1 length)) (if (and - (>= (-> arg0 x) (-> s5-1 0 min x)) - (>= (-> arg0 y) (-> s5-1 0 min y)) - (>= (-> arg0 z) (-> s5-1 0 min z)) - (< (-> arg0 x) (-> s5-1 0 max x)) - (< (-> arg0 y) (-> s5-1 0 max y)) - (< (-> arg0 z) (-> s5-1 0 max z)) + (>= (-> 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! s5-1 (the-as (inline-array box8s) (-> s5-1 1))) + (set! v1-5 (the-as (inline-array box8s) (-> v1-5 1))) ) ) #f diff --git a/test/decompiler/reference/engine/target/logic-target_REF.gc b/test/decompiler/reference/engine/target/logic-target_REF.gc index 9321d1836e..86afb98e76 100644 --- a/test/decompiler/reference/engine/target/logic-target_REF.gc +++ b/test/decompiler/reference/engine/target/logic-target_REF.gc @@ -2801,7 +2801,7 @@ (set! (-> self control unknown-surface01 name) 'current) (set! (-> self control unknown-surface01 active-hook) nothing) (set! (-> self control unknown-surface01 touch-hook) nothing) - (dummy-14 self *jchar-sg* '()) + (initialize-skeleton self *jchar-sg* '()) (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))) diff --git a/test/decompiler/reference/engine/target/target-util_REF.gc b/test/decompiler/reference/engine/target/target-util_REF.gc index 1cbc02e43b..e856039193 100644 --- a/test/decompiler/reference/engine/target/target-util_REF.gc +++ b/test/decompiler/reference/engine/target/target-util_REF.gc @@ -18,7 +18,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) -1) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *jchar-sg* v1-0) ) diff --git a/test/decompiler/reference/engine/ui/hud-classes_REF.gc b/test/decompiler/reference/engine/ui/hud-classes_REF.gc index 6176bb8c76..ab37f93c98 100644 --- a/test/decompiler/reference/engine/ui/hud-classes_REF.gc +++ b/test/decompiler/reference/engine/ui/hud-classes_REF.gc @@ -1261,7 +1261,7 @@ ) (set! (-> v1-24 jgeo) 0) (set! (-> v1-24 janim) 2) - (set! (-> v1-24 mgeo 0) (the-as uint 1)) + (set! (-> v1-24 mgeo 0) 1) (set! (-> v1-24 lod-dist 0) 4095996000.0) (set! *fuelcell-naked-sg* v1-24) ) diff --git a/test/decompiler/reference/levels/beach/beach-rocks_REF.gc b/test/decompiler/reference/levels/beach/beach-rocks_REF.gc index a3129bc7f6..e1debd83d4 100644 --- a/test/decompiler/reference/levels/beach/beach-rocks_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-rocks_REF.gc @@ -14,7 +14,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 2) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *lrocklrg-sg* v1-0) ) @@ -666,7 +666,7 @@ (the float (the-as int (-> obj entity extra perm task))) #f obj - #f + (the-as fact-info #f) ) ) (go (method-of-object obj fallen)) @@ -730,7 +730,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *lrocklrg-sg* '()) + (initialize-skeleton obj *lrocklrg-sg* '()) ((method-of-type beach-rock copy-defaults!) obj arg0) (none) ) 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 5041ebfaa9..221ceaa6fe 100644 --- a/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc +++ b/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc @@ -35,7 +35,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *bird-lady-beach-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/beach/bird-lady_REF.gc b/test/decompiler/reference/levels/beach/bird-lady_REF.gc index 29f8a3d54d..96264a2493 100644 --- a/test/decompiler/reference/levels/beach/bird-lady_REF.gc +++ b/test/decompiler/reference/levels/beach/bird-lady_REF.gc @@ -32,7 +32,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *bird-lady-sg* v1-1) ) @@ -263,7 +263,6 @@ ) ;; definition for method 11 of type bird-lady -;; INFO: Return type mismatch object vs none. (defmethod copy-defaults! bird-lady ((obj bird-lady) (arg0 res-lump)) (dummy-40 obj diff --git a/test/decompiler/reference/levels/beach/lurkercrab_REF.gc b/test/decompiler/reference/levels/beach/lurkercrab_REF.gc index f16c7e87d8..e1ba1480be 100644 --- a/test/decompiler/reference/levels/beach/lurkercrab_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkercrab_REF.gc @@ -108,11 +108,11 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) 4) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 81920.0) - (set! (-> v1-4 mgeo 1) (the-as uint 2)) + (set! (-> v1-4 mgeo 1) 2) (set! (-> v1-4 lod-dist 1) 163840.0) - (set! (-> v1-4 mgeo 2) (the-as uint 3)) + (set! (-> v1-4 mgeo 2) 3) (set! (-> v1-4 lod-dist 2) 4095996000.0) (set! *lurkercrab-sg* v1-4) ) @@ -1211,7 +1211,7 @@ nav-enemy-default-event-handler (set! (-> obj collide-info) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *lurkercrab-sg* '()) + (initialize-skeleton obj *lurkercrab-sg* '()) (TODO-RENAME-45 obj *lurkercrab-nav-enemy-info*) (set! (-> obj part) diff --git a/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc b/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc index 7752590c13..6b15fe0db7 100644 --- a/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc @@ -32,11 +32,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *lurkerpuppy-sg* v1-1) ) @@ -636,7 +636,7 @@ nav-enemy-default-event-handler ;; definition for method 48 of type lurkerpuppy ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-48 lurkerpuppy ((obj lurkerpuppy)) - (dummy-14 obj *lurkerpuppy-sg* '()) + (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)) diff --git a/test/decompiler/reference/levels/beach/mayor_REF.gc b/test/decompiler/reference/levels/beach/mayor_REF.gc index c4d8f018e9..ea95a69760 100644 --- a/test/decompiler/reference/levels/beach/mayor_REF.gc +++ b/test/decompiler/reference/levels/beach/mayor_REF.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *mayor-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/beach/sculptor_REF.gc b/test/decompiler/reference/levels/beach/sculptor_REF.gc index 2a802cacaf..69e4fc6efe 100644 --- a/test/decompiler/reference/levels/beach/sculptor_REF.gc +++ b/test/decompiler/reference/levels/beach/sculptor_REF.gc @@ -32,7 +32,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sculptor-muse-sg* v1-1) ) @@ -50,7 +50,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 4) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *sculptor-sg* v1-2) ) diff --git a/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc b/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc index 9bb13881f1..d59c6c950b 100644 --- a/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc +++ b/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-lavatube-end-sg* v1-1) ) 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 c538792a3a..0b8c1a6923 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 @@ -14,9 +14,9 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 3) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 81920.0) - (set! (-> v1-0 mgeo 1) (the-as uint 2)) + (set! (-> v1-0 mgeo 1) 2) (set! (-> v1-0 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-sg* v1-0) ) @@ -34,9 +34,9 @@ ) (set! (-> v1-1 jgeo) 4) (set! (-> v1-1 janim) 7) - (set! (-> v1-1 mgeo 0) (the-as uint 5)) + (set! (-> v1-1 mgeo 0) 5) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 6)) + (set! (-> v1-1 mgeo 1) 6) (set! (-> v1-1 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-red-sg* v1-1) ) @@ -54,9 +54,9 @@ ) (set! (-> v1-2 jgeo) 8) (set! (-> v1-2 janim) 11) - (set! (-> v1-2 mgeo 0) (the-as uint 9)) + (set! (-> v1-2 mgeo 0) 9) (set! (-> v1-2 lod-dist 0) 81920.0) - (set! (-> v1-2 mgeo 1) (the-as uint 10)) + (set! (-> v1-2 mgeo 1) 10) (set! (-> v1-2 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-green-sg* v1-2) ) @@ -74,9 +74,9 @@ ) (set! (-> v1-3 jgeo) 12) (set! (-> v1-3 janim) 15) - (set! (-> v1-3 mgeo 0) (the-as uint 13)) + (set! (-> v1-3 mgeo 0) 13) (set! (-> v1-3 lod-dist 0) 81920.0) - (set! (-> v1-3 mgeo 1) (the-as uint 14)) + (set! (-> v1-3 mgeo 1) 14) (set! (-> v1-3 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-blue-sg* v1-3) ) @@ -94,9 +94,9 @@ ) (set! (-> v1-4 jgeo) 16) (set! (-> v1-4 janim) 19) - (set! (-> v1-4 mgeo 0) (the-as uint 17)) + (set! (-> v1-4 mgeo 0) 17) (set! (-> v1-4 lod-dist 0) 81920.0) - (set! (-> v1-4 mgeo 1) (the-as uint 18)) + (set! (-> v1-4 mgeo 1) 18) (set! (-> v1-4 lod-dist 1) 4095996000.0) (set! *citb-drop-plat-yellow-sg* v1-4) ) @@ -467,19 +467,19 @@ (defmethod dummy-21 drop-plat ((obj drop-plat)) (case (-> obj color) ((1) - (dummy-14 obj *citb-drop-plat-red-sg* '()) + (initialize-skeleton obj *citb-drop-plat-red-sg* '()) ) ((2) - (dummy-14 obj *citb-drop-plat-green-sg* '()) + (initialize-skeleton obj *citb-drop-plat-green-sg* '()) ) ((3) - (dummy-14 obj *citb-drop-plat-blue-sg* '()) + (initialize-skeleton obj *citb-drop-plat-blue-sg* '()) ) ((4) - (dummy-14 obj *citb-drop-plat-yellow-sg* '()) + (initialize-skeleton obj *citb-drop-plat-yellow-sg* '()) ) (else - (dummy-14 obj *citb-drop-plat-sg* '()) + (initialize-skeleton obj *citb-drop-plat-sg* '()) ) ) (logclear! (-> obj mask) (process-mask actor-pause)) 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 6d5b7bd182..d66fd77d2c 100644 --- a/test/decompiler/reference/levels/common/babak-with-cannon_REF.gc +++ b/test/decompiler/reference/levels/common/babak-with-cannon_REF.gc @@ -656,7 +656,7 @@ nav-enemy-default-event-handler (the float (-> self entity extra perm task)) #f self - #f + (the-as fact-info #f) ) ) (while (-> self child) diff --git a/test/decompiler/reference/levels/common/babak_REF.gc b/test/decompiler/reference/levels/common/babak_REF.gc index 9d630b86a6..67eff2ad46 100644 --- a/test/decompiler/reference/levels/common/babak_REF.gc +++ b/test/decompiler/reference/levels/common/babak_REF.gc @@ -34,11 +34,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *babak-sg* v1-1) ) @@ -683,7 +683,7 @@ ;; definition for method 48 of type babak ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-48 babak ((obj babak)) - (dummy-14 obj *babak-sg* '()) + (initialize-skeleton obj *babak-sg* '()) (TODO-RENAME-45 obj *babak-nav-enemy-info*) (set! (-> obj neck up) (the-as uint 0)) (set! (-> obj neck nose) (the-as uint 1)) diff --git a/test/decompiler/reference/levels/common/basebutton_REF.gc b/test/decompiler/reference/levels/common/basebutton_REF.gc index 30b9cb817e..a043cfff07 100644 --- a/test/decompiler/reference/levels/common/basebutton_REF.gc +++ b/test/decompiler/reference/levels/common/basebutton_REF.gc @@ -71,7 +71,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *generic-button-sg* v1-1) ) @@ -486,7 +486,7 @@ ;; definition for method 26 of type basebutton (defmethod TODO-RENAME-26 basebutton ((obj basebutton)) - (dummy-14 obj *generic-button-sg* '()) + (initialize-skeleton obj *generic-button-sg* '()) (logior! (-> obj skel status) 1) (ja-channel-set! 1) (cond diff --git a/test/decompiler/reference/levels/common/battlecontroller_REF.gc b/test/decompiler/reference/levels/common/battlecontroller_REF.gc index 9a390c7dc5..b994c1746a 100644 --- a/test/decompiler/reference/levels/common/battlecontroller_REF.gc +++ b/test/decompiler/reference/levels/common/battlecontroller_REF.gc @@ -790,7 +790,7 @@ battlecontroller-default-event-handler (the float (-> self entity extra perm task)) #f self - #f + (the-as fact-info #f) ) (when (not (-> self child)) (suspend) diff --git a/test/decompiler/reference/levels/common/blocking-plane_REF.gc b/test/decompiler/reference/levels/common/blocking-plane_REF.gc index 163285621c..2c37896a81 100644 --- a/test/decompiler/reference/levels/common/blocking-plane_REF.gc +++ b/test/decompiler/reference/levels/common/blocking-plane_REF.gc @@ -30,7 +30,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *ef-plane-sg* v1-1) ) @@ -120,7 +120,7 @@ (matrix->quaternion (-> self root quat) s4-2) ) ) - (dummy-14 self *ef-plane-sg* '()) + (initialize-skeleton self *ef-plane-sg* '()) (logior! (-> self draw status) 32) (go blocking-plane-idle) (none) diff --git a/test/decompiler/reference/levels/common/nav-enemy_REF.gc b/test/decompiler/reference/levels/common/nav-enemy_REF.gc index 1a3a6f802e..da85404d08 100644 --- a/test/decompiler/reference/levels/common/nav-enemy_REF.gc +++ b/test/decompiler/reference/levels/common/nav-enemy_REF.gc @@ -2321,7 +2321,7 @@ nav-enemy-default-event-handler (the float (the-as int (-> self entity extra perm task))) #f self - #f + (the-as fact-info #f) ) (when (not (-> self child)) (suspend) diff --git a/test/decompiler/reference/levels/common/plat-button_REF.gc b/test/decompiler/reference/levels/common/plat-button_REF.gc index 6e9fc2ffad..13adc692d4 100644 --- a/test/decompiler/reference/levels/common/plat-button_REF.gc +++ b/test/decompiler/reference/levels/common/plat-button_REF.gc @@ -69,7 +69,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *plat-button-sg* v1-1) ) @@ -689,7 +689,7 @@ ;; definition for method 31 of type plat-button ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-31 plat-button ((obj plat-button)) - (dummy-14 obj *plat-button-sg* '()) + (initialize-skeleton obj *plat-button-sg* '()) 0 (none) ) diff --git a/test/decompiler/reference/levels/common/plat_REF.gc b/test/decompiler/reference/levels/common/plat_REF.gc index cde7aa0f6e..034d4b873d 100644 --- a/test/decompiler/reference/levels/common/plat_REF.gc +++ b/test/decompiler/reference/levels/common/plat_REF.gc @@ -117,11 +117,11 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) 4) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 81920.0) - (set! (-> v1-4 mgeo 1) (the-as uint 2)) + (set! (-> v1-4 mgeo 1) 2) (set! (-> v1-4 lod-dist 1) 163840.0) - (set! (-> v1-4 mgeo 2) (the-as uint 3)) + (set! (-> v1-4 mgeo 2) 3) (set! (-> v1-4 lod-dist 2) 4095996000.0) (set! *plat-sg* v1-4) ) @@ -139,7 +139,7 @@ ) (set! (-> v1-5 jgeo) 0) (set! (-> v1-5 janim) 4) - (set! (-> v1-5 mgeo 0) (the-as uint 1)) + (set! (-> v1-5 mgeo 0) 1) (set! (-> v1-5 lod-dist 0) 4095996000.0) (set! *plat-jungleb-sg* v1-5) ) @@ -157,7 +157,7 @@ ) (set! (-> v1-6 jgeo) 0) (set! (-> v1-6 janim) 4) - (set! (-> v1-6 mgeo 0) (the-as uint 1)) + (set! (-> v1-6 mgeo 0) 1) (set! (-> v1-6 lod-dist 0) 4095996000.0) (set! *plat-sunken-sg* v1-6) ) @@ -384,7 +384,7 @@ (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) (dummy-24 obj) (process-drawable-from-entity! obj arg0) - (dummy-14 obj (get-unlit-skel obj) '()) + (initialize-skeleton obj (get-unlit-skel obj) '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) diff --git a/test/decompiler/reference/levels/common/sharkey_REF.gc b/test/decompiler/reference/levels/common/sharkey_REF.gc index 6c3495931b..66bce4488a 100644 --- a/test/decompiler/reference/levels/common/sharkey_REF.gc +++ b/test/decompiler/reference/levels/common/sharkey_REF.gc @@ -93,7 +93,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *sharkey-sg* v1-2) ) @@ -1243,7 +1243,7 @@ nav-enemy-default-event-handler (set! (-> obj collide-info) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *sharkey-sg* '()) + (initialize-skeleton obj *sharkey-sg* '()) (TODO-RENAME-45 obj *sharkey-nav-enemy-info*) (logclear! (-> obj mask) (process-mask actor-pause)) (set! diff --git a/test/decompiler/reference/levels/common/water-anim_REF.gc b/test/decompiler/reference/levels/common/water-anim_REF.gc index 4cef41d9bc..550150ad7c 100644 --- a/test/decompiler/reference/levels/common/water-anim_REF.gc +++ b/test/decompiler/reference/levels/common/water-anim_REF.gc @@ -35,7 +35,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-dark-eco-qbert-sg* v1-1) ) @@ -52,7 +52,7 @@ ) (set! (-> v1-2 jgeo) 2) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 3)) + (set! (-> v1-2 mgeo 0) 3) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-dark-eco-platform-room-sg* v1-2) ) @@ -69,7 +69,7 @@ ) (set! (-> v1-3 jgeo) 4) (set! (-> v1-3 janim) -1) - (set! (-> v1-3 mgeo 0) (the-as uint 5)) + (set! (-> v1-3 mgeo 0) 5) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-dark-eco-helix-room-sg* v1-3) ) @@ -87,7 +87,7 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) -1) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-big-room-sg* v1-4) ) @@ -104,7 +104,7 @@ ) (set! (-> v1-5 jgeo) 2) (set! (-> v1-5 janim) -1) - (set! (-> v1-5 mgeo 0) (the-as uint 3)) + (set! (-> v1-5 mgeo 0) 3) (set! (-> v1-5 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-first-room-from-entrance-sg* v1-5) ) @@ -121,7 +121,7 @@ ) (set! (-> v1-6 jgeo) 4) (set! (-> v1-6 janim) -1) - (set! (-> v1-6 mgeo 0) (the-as uint 5)) + (set! (-> v1-6 mgeo 0) 5) (set! (-> v1-6 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-qbert-room-sg* v1-6) ) @@ -138,7 +138,7 @@ ) (set! (-> v1-7 jgeo) 6) (set! (-> v1-7 janim) -1) - (set! (-> v1-7 mgeo 0) (the-as uint 7)) + (set! (-> v1-7 mgeo 0) 7) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-first-right-branch-sg* v1-7) ) @@ -155,7 +155,7 @@ ) (set! (-> v1-8 jgeo) 8) (set! (-> v1-8 janim) -1) - (set! (-> v1-8 mgeo 0) (the-as uint 9)) + (set! (-> v1-8 mgeo 0) 9) (set! (-> v1-8 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-circular-with-bullys-sg* v1-8) ) @@ -172,7 +172,7 @@ ) (set! (-> v1-9 jgeo) 10) (set! (-> v1-9 janim) -1) - (set! (-> v1-9 mgeo 0) (the-as uint 11)) + (set! (-> v1-9 mgeo 0) 11) (set! (-> v1-9 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-hall-with-one-whirlpool-sg* v1-9) ) @@ -189,7 +189,7 @@ ) (set! (-> v1-10 jgeo) 12) (set! (-> v1-10 janim) -1) - (set! (-> v1-10 mgeo 0) (the-as uint 13)) + (set! (-> v1-10 mgeo 0) 13) (set! (-> v1-10 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-hall-with-three-whirlpools-sg* v1-10) ) @@ -206,7 +206,7 @@ ) (set! (-> v1-11 jgeo) 14) (set! (-> v1-11 janim) -1) - (set! (-> v1-11 mgeo 0) (the-as uint 15)) + (set! (-> v1-11 mgeo 0) 15) (set! (-> v1-11 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-start-of-helix-slide-sg* v1-11) ) @@ -223,7 +223,7 @@ ) (set! (-> v1-12 jgeo) 16) (set! (-> v1-12 janim) -1) - (set! (-> v1-12 mgeo 0) (the-as uint 17)) + (set! (-> v1-12 mgeo 0) 17) (set! (-> v1-12 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-room-above-exit-chamber-sg* v1-12) ) @@ -241,7 +241,7 @@ ) (set! (-> v1-13 jgeo) 18) (set! (-> v1-13 janim) -1) - (set! (-> v1-13 mgeo 0) (the-as uint 19)) + (set! (-> v1-13 mgeo 0) 19) (set! (-> v1-13 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-hall-before-big-room-sg* v1-13) ) @@ -258,7 +258,7 @@ ) (set! (-> v1-14 jgeo) 20) (set! (-> v1-14 janim) -1) - (set! (-> v1-14 mgeo 0) (the-as uint 21)) + (set! (-> v1-14 mgeo 0) 21) (set! (-> v1-14 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-short-piece-sg* v1-14) ) @@ -275,7 +275,7 @@ ) (set! (-> v1-15 jgeo) 22) (set! (-> v1-15 janim) -1) - (set! (-> v1-15 mgeo 0) (the-as uint 23)) + (set! (-> v1-15 mgeo 0) 23) (set! (-> v1-15 lod-dist 0) 4095996000.0) (set! *water-anim-sunken-big-room-upper-water-sg* v1-15) ) @@ -292,7 +292,7 @@ ) (set! (-> v1-16 jgeo) 0) (set! (-> v1-16 janim) -1) - (set! (-> v1-16 mgeo 0) (the-as uint 1)) + (set! (-> v1-16 mgeo 0) 1) (set! (-> v1-16 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-center-pool-sg* v1-16) ) @@ -310,7 +310,7 @@ ) (set! (-> v1-17 jgeo) 2) (set! (-> v1-17 janim) -1) - (set! (-> v1-17 mgeo 0) (the-as uint 3)) + (set! (-> v1-17 mgeo 0) 3) (set! (-> v1-17 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-lower-right-pool-sg* v1-17) ) @@ -327,7 +327,7 @@ ) (set! (-> v1-18 jgeo) 4) (set! (-> v1-18 janim) -1) - (set! (-> v1-18 mgeo 0) (the-as uint 5)) + (set! (-> v1-18 mgeo 0) 5) (set! (-> v1-18 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-mid-right-pool-sg* v1-18) ) @@ -345,7 +345,7 @@ ) (set! (-> v1-19 jgeo) 6) (set! (-> v1-19 janim) -1) - (set! (-> v1-19 mgeo 0) (the-as uint 7)) + (set! (-> v1-19 mgeo 0) 7) (set! (-> v1-19 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-lower-left-pool-sg* v1-19) ) @@ -362,7 +362,7 @@ ) (set! (-> v1-20 jgeo) 8) (set! (-> v1-20 janim) -1) - (set! (-> v1-20 mgeo 0) (the-as uint 9)) + (set! (-> v1-20 mgeo 0) 9) (set! (-> v1-20 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-mid-left-pool-sg* v1-20) ) @@ -380,7 +380,7 @@ ) (set! (-> v1-21 jgeo) 0) (set! (-> v1-21 janim) -1) - (set! (-> v1-21 mgeo 0) (the-as uint 1)) + (set! (-> v1-21 mgeo 0) 1) (set! (-> v1-21 lod-dist 0) 4095996000.0) (set! *water-anim-maincave-water-with-crystal-sg* v1-21) ) @@ -398,9 +398,9 @@ ) (set! (-> v1-22 jgeo) 0) (set! (-> v1-22 janim) -1) - (set! (-> v1-22 mgeo 0) (the-as uint 1)) + (set! (-> v1-22 mgeo 0) 1) (set! (-> v1-22 lod-dist 0) 81920.0) - (set! (-> v1-22 mgeo 1) (the-as uint 2)) + (set! (-> v1-22 mgeo 1) 2) (set! (-> v1-22 lod-dist 1) 4095996000.0) (set! *water-anim-robocave-main-pool-sg* v1-22) ) @@ -418,7 +418,7 @@ ) (set! (-> v1-23 jgeo) 0) (set! (-> v1-23 janim) -1) - (set! (-> v1-23 mgeo 0) (the-as uint 1)) + (set! (-> v1-23 mgeo 0) 1) (set! (-> v1-23 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-by-arena-sg* v1-23) ) @@ -435,7 +435,7 @@ ) (set! (-> v1-24 jgeo) 2) (set! (-> v1-24 janim) -1) - (set! (-> v1-24 mgeo 0) (the-as uint 3)) + (set! (-> v1-24 mgeo 0) 3) (set! (-> v1-24 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-above-skeleton-sg* v1-24) ) @@ -453,7 +453,7 @@ ) (set! (-> v1-25 jgeo) 4) (set! (-> v1-25 janim) -1) - (set! (-> v1-25 mgeo 0) (the-as uint 5)) + (set! (-> v1-25 mgeo 0) 5) (set! (-> v1-25 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-behind-skeleton-sg* v1-25) ) @@ -470,7 +470,7 @@ ) (set! (-> v1-26 jgeo) 6) (set! (-> v1-26 janim) -1) - (set! (-> v1-26 mgeo 0) (the-as uint 7)) + (set! (-> v1-26 mgeo 0) 7) (set! (-> v1-26 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-above-skull-back-sg* v1-26) ) @@ -487,7 +487,7 @@ ) (set! (-> v1-27 jgeo) 8) (set! (-> v1-27 janim) -1) - (set! (-> v1-27 mgeo 0) (the-as uint 9)) + (set! (-> v1-27 mgeo 0) 9) (set! (-> v1-27 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-above-skull-front-sg* v1-27) ) @@ -504,7 +504,7 @@ ) (set! (-> v1-28 jgeo) 10) (set! (-> v1-28 janim) -1) - (set! (-> v1-28 mgeo 0) (the-as uint 11)) + (set! (-> v1-28 mgeo 0) 11) (set! (-> v1-28 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-other-near-skull-sg* v1-28) ) @@ -521,7 +521,7 @@ ) (set! (-> v1-29 jgeo) 12) (set! (-> v1-29 janim) -1) - (set! (-> v1-29 mgeo 0) (the-as uint 13)) + (set! (-> v1-29 mgeo 0) 13) (set! (-> v1-29 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-near-skull-sg* v1-29) ) @@ -538,7 +538,7 @@ ) (set! (-> v1-30 jgeo) 14) (set! (-> v1-30 janim) -1) - (set! (-> v1-30 mgeo 0) (the-as uint 15)) + (set! (-> v1-30 mgeo 0) 15) (set! (-> v1-30 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-under-spine-sg* v1-30) ) @@ -555,7 +555,7 @@ ) (set! (-> v1-31 jgeo) 16) (set! (-> v1-31 janim) -1) - (set! (-> v1-31 mgeo 0) (the-as uint 17)) + (set! (-> v1-31 mgeo 0) 17) (set! (-> v1-31 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-by-dock-sg* v1-31) ) @@ -573,7 +573,7 @@ ) (set! (-> v1-32 jgeo) 18) (set! (-> v1-32 janim) -1) - (set! (-> v1-32 mgeo 0) (the-as uint 19)) + (set! (-> v1-32 mgeo 0) 19) (set! (-> v1-32 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-island-near-dock-sg* v1-32) ) @@ -590,7 +590,7 @@ ) (set! (-> v1-33 jgeo) 20) (set! (-> v1-33 janim) -1) - (set! (-> v1-33 mgeo 0) (the-as uint 21)) + (set! (-> v1-33 mgeo 0) 21) (set! (-> v1-33 lod-dist 0) 4095996000.0) (set! *water-anim-misty-mud-lonely-island-sg* v1-33) ) @@ -607,7 +607,7 @@ ) (set! (-> v1-34 jgeo) 22) (set! (-> v1-34 janim) -1) - (set! (-> v1-34 mgeo 0) (the-as uint 23)) + (set! (-> v1-34 mgeo 0) 23) (set! (-> v1-34 lod-dist 0) 4095996000.0) (set! *water-anim-misty-dark-eco-pool-sg* v1-34) ) @@ -624,7 +624,7 @@ ) (set! (-> v1-35 jgeo) 0) (set! (-> v1-35 janim) -1) - (set! (-> v1-35 mgeo 0) (the-as uint 1)) + (set! (-> v1-35 mgeo 0) 1) (set! (-> v1-35 lod-dist 0) 4095996000.0) (set! *water-anim-ogre-lava-sg* v1-35) ) @@ -642,9 +642,9 @@ ) (set! (-> v1-36 jgeo) 0) (set! (-> v1-36 janim) -1) - (set! (-> v1-36 mgeo 0) (the-as uint 1)) + (set! (-> v1-36 mgeo 0) 1) (set! (-> v1-36 lod-dist 0) 81920.0) - (set! (-> v1-36 mgeo 1) (the-as uint 2)) + (set! (-> v1-36 mgeo 1) 2) (set! (-> v1-36 lod-dist 1) 4095996000.0) (set! *water-anim-jungle-river-sg* v1-36) ) @@ -663,9 +663,9 @@ ) (set! (-> v1-37 jgeo) 0) (set! (-> v1-37 janim) -1) - (set! (-> v1-37 mgeo 0) (the-as uint 1)) + (set! (-> v1-37 mgeo 0) 1) (set! (-> v1-37 lod-dist 0) 81920.0) - (set! (-> v1-37 mgeo 1) (the-as uint 2)) + (set! (-> v1-37 mgeo 1) 2) (set! (-> v1-37 lod-dist 1) 4095996000.0) (set! *water-anim-village3-lava-sg* v1-37) ) @@ -683,7 +683,7 @@ ) (set! (-> v1-38 jgeo) 0) (set! (-> v1-38 janim) -1) - (set! (-> v1-38 mgeo 0) (the-as uint 1)) + (set! (-> v1-38 mgeo 0) 1) (set! (-> v1-38 lod-dist 0) 4095996000.0) (set! *water-anim-training-lake-sg* v1-38) ) @@ -700,7 +700,7 @@ ) (set! (-> v1-39 jgeo) 0) (set! (-> v1-39 janim) -1) - (set! (-> v1-39 mgeo 0) (the-as uint 1)) + (set! (-> v1-39 mgeo 0) 1) (set! (-> v1-39 lod-dist 0) 4095996000.0) (set! *water-anim-darkcave-water-with-crystal-sg* v1-39) ) @@ -718,7 +718,7 @@ ) (set! (-> v1-40 jgeo) 0) (set! (-> v1-40 janim) -1) - (set! (-> v1-40 mgeo 0) (the-as uint 1)) + (set! (-> v1-40 mgeo 0) 1) (set! (-> v1-40 lod-dist 0) 4095996000.0) (set! *water-anim-rolling-water-back-sg* v1-40) ) @@ -735,7 +735,7 @@ ) (set! (-> v1-41 jgeo) 2) (set! (-> v1-41 janim) -1) - (set! (-> v1-41 mgeo 0) (the-as uint 3)) + (set! (-> v1-41 mgeo 0) 3) (set! (-> v1-41 lod-dist 0) 4095996000.0) (set! *water-anim-rolling-water-front-sg* v1-41) ) @@ -752,7 +752,7 @@ ) (set! (-> v1-42 jgeo) 0) (set! (-> v1-42 janim) -1) - (set! (-> v1-42 mgeo 0) (the-as uint 1)) + (set! (-> v1-42 mgeo 0) 1) (set! (-> v1-42 lod-dist 0) 4095996000.0) (set! *water-anim-finalboss-dark-eco-pool-sg* v1-42) ) @@ -770,7 +770,7 @@ ) (set! (-> v1-43 jgeo) 0) (set! (-> v1-43 janim) -1) - (set! (-> v1-43 mgeo 0) (the-as uint 1)) + (set! (-> v1-43 mgeo 0) 1) (set! (-> v1-43 lod-dist 0) 4095996000.0) (set! *water-anim-lavatube-energy-lava-sg* v1-43) ) @@ -788,7 +788,7 @@ ) (set! (-> v1-44 jgeo) 0) (set! (-> v1-44 janim) -1) - (set! (-> v1-44 mgeo 0) (the-as uint 1)) + (set! (-> v1-44 mgeo 0) 1) (set! (-> v1-44 lod-dist 0) 4095996000.0) (set! *water-anim-village1-rice-paddy-sg* v1-44) ) @@ -805,7 +805,7 @@ ) (set! (-> v1-45 jgeo) 6) (set! (-> v1-45 janim) -1) - (set! (-> v1-45 mgeo 0) (the-as uint 7)) + (set! (-> v1-45 mgeo 0) 7) (set! (-> v1-45 lod-dist 0) 4095996000.0) (set! *water-anim-village1-fountain-sg* v1-45) ) @@ -822,7 +822,7 @@ ) (set! (-> v1-46 jgeo) 2) (set! (-> v1-46 janim) -1) - (set! (-> v1-46 mgeo 0) (the-as uint 3)) + (set! (-> v1-46 mgeo 0) 3) (set! (-> v1-46 lod-dist 0) 4095996000.0) (set! *water-anim-village1-rice-paddy-mid-sg* v1-46) ) @@ -840,7 +840,7 @@ ) (set! (-> v1-47 jgeo) 4) (set! (-> v1-47 janim) -1) - (set! (-> v1-47 mgeo 0) (the-as uint 5)) + (set! (-> v1-47 mgeo 0) 5) (set! (-> v1-47 lod-dist 0) 4095996000.0) (set! *water-anim-village1-rice-paddy-top-sg* v1-47) ) @@ -857,7 +857,7 @@ ) (set! (-> v1-48 jgeo) 0) (set! (-> v1-48 janim) -1) - (set! (-> v1-48 mgeo 0) (the-as uint 1)) + (set! (-> v1-48 mgeo 0) 1) (set! (-> v1-48 lod-dist 0) 4095996000.0) (set! *water-anim-village2-bucket-sg* v1-48) ) @@ -1493,7 +1493,7 @@ (go process-drawable-art-error "skel group") ) ) - (dummy-14 obj (the-as skeleton-group s4-0) '()) + (initialize-skeleton obj (the-as skeleton-group s4-0) '()) ) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) diff --git a/test/decompiler/reference/levels/finalboss/final-door_REF.gc b/test/decompiler/reference/levels/finalboss/final-door_REF.gc index 2f2ba320ce..e983aab266 100644 --- a/test/decompiler/reference/levels/finalboss/final-door_REF.gc +++ b/test/decompiler/reference/levels/finalboss/final-door_REF.gc @@ -76,7 +76,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *power-left-sg* v1-2) ) @@ -94,7 +94,7 @@ ) (set! (-> v1-3 jgeo) 0) (set! (-> v1-3 janim) 2) - (set! (-> v1-3 mgeo 0) (the-as uint 1)) + (set! (-> v1-3 mgeo 0) 1) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *power-right-sg* v1-3) ) @@ -111,7 +111,7 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) 2) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 4095996000.0) (set! *powercellalt-sg* v1-4) ) @@ -402,7 +402,7 @@ ;; definition for method 21 of type power-left ;; INFO: Return type mismatch int vs none. (defmethod dummy-21 power-left ((obj power-left)) - (dummy-14 obj *power-left-sg* '()) + (initialize-skeleton obj *power-left-sg* '()) 0 (none) ) @@ -410,7 +410,7 @@ ;; definition for method 21 of type power-right ;; INFO: Return type mismatch int vs none. (defmethod dummy-21 power-right ((obj power-right)) - (dummy-14 obj *power-right-sg* '()) + (initialize-skeleton obj *power-right-sg* '()) 0 (none) ) @@ -585,7 +585,7 @@ (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) - (dummy-14 self *powercellalt-sg* '()) + (initialize-skeleton self *powercellalt-sg* '()) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 63) self) 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 077bcacb66..0e6fc58745 100644 --- a/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc +++ b/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc @@ -66,7 +66,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *green-eco-lurker-sg* v1-2) ) @@ -1245,7 +1245,7 @@ ;; definition for method 48 of type green-eco-lurker ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-48 green-eco-lurker ((obj green-eco-lurker)) - (dummy-14 obj *green-eco-lurker-sg* '()) + (initialize-skeleton obj *green-eco-lurker-sg* '()) (set! (-> obj draw origin-joint-index) (the-as uint 3)) (set! (-> obj collide-info nav-flags) diff --git a/test/decompiler/reference/levels/finalboss/light-eco_REF.gc b/test/decompiler/reference/levels/finalboss/light-eco_REF.gc index ef31f94994..5b97f3e035 100644 --- a/test/decompiler/reference/levels/finalboss/light-eco_REF.gc +++ b/test/decompiler/reference/levels/finalboss/light-eco_REF.gc @@ -91,7 +91,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *light-eco-big-sg* v1-2) ) @@ -108,7 +108,7 @@ ) (set! (-> v1-3 jgeo) 3) (set! (-> v1-3 janim) -1) - (set! (-> v1-3 mgeo 0) (the-as uint 4)) + (set! (-> v1-3 mgeo 0) 4) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *light-eco-small-sg* v1-3) ) @@ -877,7 +877,7 @@ (set! (-> s4-3 y) -122880.0) ) (logclear! (-> self mask) (process-mask actor-pause)) - (dummy-14 self *light-eco-small-sg* '()) + (initialize-skeleton self *light-eco-small-sg* '()) (ja-channel-set! 1) (let ((a0-21 (-> self skel root-channel 0))) (set! @@ -1214,7 +1214,7 @@ (vector-reset! (-> self root scale)) (quaternion-identity! (-> self root quat)) (logclear! (-> self mask) (process-mask actor-pause)) - (dummy-14 self *light-eco-big-sg* '()) + (initialize-skeleton self *light-eco-big-sg* '()) (ja-channel-set! 1) (let ((a0-7 (-> self skel root-channel 0))) (set! diff --git a/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc index 549e45a6ba..9187cbc370 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc @@ -193,7 +193,7 @@ ) (set! (-> v0-6 jgeo) 0) (set! (-> v0-6 janim) 2) - (set! (-> v0-6 mgeo 0) (the-as uint 1)) + (set! (-> v0-6 mgeo 0) 1) (set! (-> v0-6 lod-dist 0) 4095996000.0) (set! *robotboss-sg* v0-6) ) diff --git a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc index d3fa8e7bdb..10a936e01b 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc @@ -15,7 +15,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 2) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *med-res-snow1-sg* v1-0) ) @@ -159,7 +159,7 @@ ) (set! (-> v1-4 jgeo) 0) (set! (-> v1-4 janim) 2) - (set! (-> v1-4 mgeo 0) (the-as uint 1)) + (set! (-> v1-4 mgeo 0) 1) (set! (-> v1-4 lod-dist 0) 4095996000.0) (set! *ecoclaw-sg* v1-4) ) @@ -473,7 +473,7 @@ (defmethod copy-defaults! ecoclaw ((obj ecoclaw) (arg0 res-lump)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *ecoclaw-sg* '()) + (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)) @@ -518,7 +518,7 @@ ) (set! (-> v1-10 jgeo) 0) (set! (-> v1-10 janim) 2) - (set! (-> v1-10 mgeo 0) (the-as uint 1)) + (set! (-> v1-10 mgeo 0) 1) (set! (-> v1-10 lod-dist 0) 4095996000.0) (set! *silodoor-sg* v1-10) ) @@ -728,7 +728,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *silodoor-sg* '()) + (initialize-skeleton obj *silodoor-sg* '()) (logior! (-> obj skel status) 1) (set! (-> obj root pause-adjust-distance) 1228800.0) (set! @@ -784,7 +784,7 @@ ) (set! (-> v1-17 jgeo) 0) (set! (-> v1-17 janim) 2) - (set! (-> v1-17 mgeo 0) (the-as uint 1)) + (set! (-> v1-17 mgeo 0) 1) (set! (-> v1-17 lod-dist 0) 4095996000.0) (set! *finalbosscam-sg* v1-17) ) diff --git a/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc index 792f985bd2..4de2d5edf9 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc @@ -310,7 +310,7 @@ ) (set! (-> v1-8 jgeo) 0) (set! (-> v1-8 janim) 2) - (set! (-> v1-8 mgeo 0) (the-as uint 1)) + (set! (-> v1-8 mgeo 0) 1) (set! (-> v1-8 lod-dist 0) 4095996000.0) (set! *darkecobomb-sg* v1-8) ) @@ -863,7 +863,7 @@ (set! (-> self root) s1-0) ) (set! (-> self root trans quad) (-> arg0 quad)) - (dummy-14 self *darkecobomb-sg* '()) + (initialize-skeleton self *darkecobomb-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self part) @@ -923,7 +923,7 @@ ) (set! (-> v1-17 jgeo) 0) (set! (-> v1-17 janim) 2) - (set! (-> v1-17 mgeo 0) (the-as uint 1)) + (set! (-> v1-17 mgeo 0) 1) (set! (-> v1-17 lod-dist 0) 4095996000.0) (set! *greenshot-sg* v1-17) ) @@ -1042,7 +1042,7 @@ (set! (-> self root) s2-0) ) (set! (-> self root trans quad) (-> arg0 quad)) - (dummy-14 self *greenshot-sg* '()) + (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)) @@ -1135,7 +1135,7 @@ ) (set! (-> v1-22 jgeo) 0) (set! (-> v1-22 janim) 2) - (set! (-> v1-22 mgeo 0) (the-as uint 1)) + (set! (-> v1-22 mgeo 0) 1) (set! (-> v1-22 lod-dist 0) 4095996000.0) (set! *redring-sg* v1-22) ) @@ -1415,7 +1415,7 @@ (set! (-> self root) s0-0) ) (set! (-> self root trans quad) (-> arg0 quad)) - (dummy-14 self *redring-sg* '()) + (initialize-skeleton self *redring-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) arg3) @@ -1564,7 +1564,7 @@ (set! (-> self root) s2-0) ) (set! (-> self root trans quad) (-> arg0 quad)) - (dummy-14 self *redring-sg* '()) + (initialize-skeleton self *redring-sg* '()) (logior! (-> self draw status) 2) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) (the-as int arg3)) diff --git a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc index 77290ecc27..c9fdbf6067 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc @@ -18,7 +18,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 2) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *robotboss-blueeco-sg* v1-0) ) @@ -35,7 +35,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *robotboss-redeco-sg* v1-1) ) @@ -52,7 +52,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *robotboss-yelloweco-sg* v1-2) ) @@ -6098,7 +6098,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *robotboss-sg* '()) + (initialize-skeleton obj *robotboss-sg* '()) (aybabtu 2) (set! (-> obj nav) diff --git a/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc b/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc index 942585f699..d8df2d0865 100644 --- a/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc +++ b/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-firecanyon-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc index 9abb7e3cfc..2b6ce57d25 100644 --- a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc +++ b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc @@ -88,7 +88,7 @@ ) (set! (-> v1-5 jgeo) 0) (set! (-> v1-5 janim) -1) - (set! (-> v1-5 mgeo 0) (the-as uint 1)) + (set! (-> v1-5 mgeo 0) 1) (set! (-> v1-5 lod-dist 0) 4095996000.0) (set! *flutflut-sg* v1-5) ) @@ -228,7 +228,7 @@ (the float (-> self entity extra perm task)) #f self - (the-as symbol (-> self fact)) + (-> self fact) ) ) ) @@ -534,7 +534,7 @@ (-> obj root-override) (res-lump-float arg0 'rotoffset) ) - (dummy-14 obj *flutflut-sg* '()) + (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))) diff --git a/test/decompiler/reference/levels/intro/evilbro_REF.gc b/test/decompiler/reference/levels/intro/evilbro_REF.gc index e9a50539dd..714503bc1b 100644 --- a/test/decompiler/reference/levels/intro/evilbro_REF.gc +++ b/test/decompiler/reference/levels/intro/evilbro_REF.gc @@ -33,7 +33,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *evilbro-intro-sg* v1-1) ) @@ -260,7 +260,7 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 3) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *evilsis-intro-sg* v1-7) ) diff --git a/test/decompiler/reference/levels/jungle/bouncer_REF.gc b/test/decompiler/reference/levels/jungle/bouncer_REF.gc index ddb80445b1..a5e701cb6f 100644 --- a/test/decompiler/reference/levels/jungle/bouncer_REF.gc +++ b/test/decompiler/reference/levels/jungle/bouncer_REF.gc @@ -37,7 +37,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *bouncer-sg* v1-2) ) @@ -270,7 +270,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *bouncer-sg* '()) + (initialize-skeleton obj *bouncer-sg* '()) (nav-mesh-connect obj (-> obj root) (the-as nav-control #f)) (set! (-> obj spring-height) diff --git a/test/decompiler/reference/levels/jungle/fisher-JUN_REF.gc b/test/decompiler/reference/levels/jungle/fisher-JUN_REF.gc index 6ddb7ed3c2..c3bbd52f9f 100644 --- a/test/decompiler/reference/levels/jungle/fisher-JUN_REF.gc +++ b/test/decompiler/reference/levels/jungle/fisher-JUN_REF.gc @@ -922,7 +922,7 @@ ) (set! (-> v1-16 jgeo) 0) (set! (-> v1-16 janim) 2) - (set! (-> v1-16 mgeo 0) (the-as uint 1)) + (set! (-> v1-16 mgeo 0) 1) (set! (-> v1-16 lod-dist 0) 4095996000.0) (set! *catch-fisha-sg* v1-16) ) @@ -939,7 +939,7 @@ ) (set! (-> v1-17 jgeo) 0) (set! (-> v1-17 janim) 2) - (set! (-> v1-17 mgeo 0) (the-as uint 1)) + (set! (-> v1-17 mgeo 0) 1) (set! (-> v1-17 lod-dist 0) 4095996000.0) (set! *catch-fishb-sg* v1-17) ) @@ -956,7 +956,7 @@ ) (set! (-> v1-18 jgeo) 0) (set! (-> v1-18 janim) 2) - (set! (-> v1-18 mgeo 0) (the-as uint 1)) + (set! (-> v1-18 mgeo 0) 1) (set! (-> v1-18 lod-dist 0) 4095996000.0) (set! *catch-fishc-sg* v1-18) ) @@ -973,7 +973,7 @@ ) (set! (-> v1-19 jgeo) 0) (set! (-> v1-19 janim) 2) - (set! (-> v1-19 mgeo 0) (the-as uint 1)) + (set! (-> v1-19 mgeo 0) 1) (set! (-> v1-19 lod-dist 0) 4095996000.0) (set! *fish-net-sg* v1-19) ) @@ -993,11 +993,11 @@ ) (set! (-> v1-20 jgeo) 0) (set! (-> v1-20 janim) 6) - (set! (-> v1-20 mgeo 0) (the-as uint 1)) + (set! (-> v1-20 mgeo 0) 1) (set! (-> v1-20 lod-dist 0) 81920.0) - (set! (-> v1-20 mgeo 1) (the-as uint 2)) + (set! (-> v1-20 mgeo 1) 2) (set! (-> v1-20 lod-dist 1) 163840.0) - (set! (-> v1-20 mgeo 2) (the-as uint 3)) + (set! (-> v1-20 mgeo 2) 3) (set! (-> v1-20 lod-dist 2) 4095996000.0) (set! *fisher-sg* v1-20) ) @@ -1455,33 +1455,42 @@ (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self root) (new 'process 'trsqv)) (set! (-> self size) 3276.8) - (dummy-14 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) @@ -3170,13 +3179,17 @@ (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) - (dummy-14 (-> self manipy 0 joint 0) (the-as skeleton-group s4-0) s3-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 dummy-14)) + (t9-16 (method-of-object a0-34 initialize-skeleton)) (a2-7 #f) ) - (t9-16 a0-34 (the-as skeleton-group s4-0) a2-7) + (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) diff --git a/test/decompiler/reference/levels/jungle/hopper_REF.gc b/test/decompiler/reference/levels/jungle/hopper_REF.gc index 6220661b61..564494a421 100644 --- a/test/decompiler/reference/levels/jungle/hopper_REF.gc +++ b/test/decompiler/reference/levels/jungle/hopper_REF.gc @@ -37,11 +37,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *hopper-sg* v1-1) ) @@ -721,7 +721,7 @@ nav-enemy-default-event-handler ;; definition for method 48 of type hopper ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-48 hopper ((obj hopper)) - (dummy-14 obj *hopper-sg* '()) + (initialize-skeleton obj *hopper-sg* '()) (TODO-RENAME-45 obj *hopper-nav-enemy-info*) (set! (-> obj shadow-min-y) diff --git a/test/decompiler/reference/levels/jungle/junglefish_REF.gc b/test/decompiler/reference/levels/jungle/junglefish_REF.gc index d05a02110a..134f3dc463 100644 --- a/test/decompiler/reference/levels/jungle/junglefish_REF.gc +++ b/test/decompiler/reference/levels/jungle/junglefish_REF.gc @@ -32,11 +32,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *junglefish-sg* v1-1) ) @@ -642,7 +642,7 @@ nav-enemy-default-event-handler (set! (-> obj collide-info) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *junglefish-sg* '()) + (initialize-skeleton obj *junglefish-sg* '()) (TODO-RENAME-45 obj *junglefish-nav-enemy-info*) (set! (-> obj water) (new 'process 'water-control obj 7 0.0 8192.0 2048.0)) (set! (-> obj water flags) (the-as uint 2)) diff --git a/test/decompiler/reference/levels/jungleb/aphid_REF.gc b/test/decompiler/reference/levels/jungleb/aphid_REF.gc index 947ea28d82..19b1cc7839 100644 --- a/test/decompiler/reference/levels/jungleb/aphid_REF.gc +++ b/test/decompiler/reference/levels/jungleb/aphid_REF.gc @@ -34,7 +34,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *aphid-sg* v1-1) ) @@ -631,7 +631,7 @@ ;; definition for method 48 of type aphid ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-48 aphid ((obj aphid)) - (dummy-14 obj *aphid-sg* '()) + (initialize-skeleton obj *aphid-sg* '()) (TODO-RENAME-45 obj *aphid-nav-enemy-info*) (set! (-> obj neck up) (the-as uint 0)) (set! (-> obj neck nose) (the-as uint 1)) diff --git a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc index bee24f8d15..dac65ee0b8 100644 --- a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc +++ b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc @@ -49,7 +49,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *plat-flip-sg* v1-1) ) @@ -264,7 +264,7 @@ ) (process-drawable-from-entity! obj arg0) (set! (-> obj base-pos quad) (-> obj root-override trans quad)) - (dummy-14 obj *plat-flip-sg* '()) + (initialize-skeleton obj *plat-flip-sg* '()) (logior! (-> obj skel status) 1) (let ((f30-0 300.0)) (set! sv-16 (new 'static 'res-tag)) diff --git a/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc b/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc index 5884c663a7..00ed4dfaee 100644 --- a/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc +++ b/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-lavatube-start-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/maincave/baby-spider_REF.gc b/test/decompiler/reference/levels/maincave/baby-spider_REF.gc index 4bef244434..a08c004a49 100644 --- a/test/decompiler/reference/levels/maincave/baby-spider_REF.gc +++ b/test/decompiler/reference/levels/maincave/baby-spider_REF.gc @@ -115,11 +115,11 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 81920.0) - (set! (-> v1-2 mgeo 1) (the-as uint 2)) + (set! (-> v1-2 mgeo 1) 2) (set! (-> v1-2 lod-dist 1) 163840.0) - (set! (-> v1-2 mgeo 2) (the-as uint 3)) + (set! (-> v1-2 mgeo 2) 3) (set! (-> v1-2 lod-dist 2) 4095996000.0) (set! *baby-spider-sg* v1-2) ) @@ -1186,7 +1186,7 @@ baby-spider-default-event-handler ;; Used lq/sq (defmethod TODO-RENAME-48 baby-spider ((obj baby-spider)) (set! (-> obj last-visible-time) (-> *display* base-frame-counter)) - (dummy-14 obj *baby-spider-sg* '()) + (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*) diff --git a/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc b/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc index 32ba6ab975..2f0c7f050b 100644 --- a/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc +++ b/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc @@ -68,7 +68,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *spiderwebs-sg* v1-2) ) @@ -285,7 +285,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *spiderwebs-sg* '()) + (initialize-skeleton obj *spiderwebs-sg* '()) (set! (-> obj spring-height) (res-lump-float arg0 'spring-height :default 45056.0) diff --git a/test/decompiler/reference/levels/misty/bonelurker_REF.gc b/test/decompiler/reference/levels/misty/bonelurker_REF.gc index af707e4db7..281c501e4f 100644 --- a/test/decompiler/reference/levels/misty/bonelurker_REF.gc +++ b/test/decompiler/reference/levels/misty/bonelurker_REF.gc @@ -35,11 +35,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *bonelurker-sg* v1-1) ) @@ -1216,7 +1216,7 @@ nav-enemy-default-event-handler ;; definition for method 48 of type bonelurker ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-48 bonelurker ((obj bonelurker)) - (dummy-14 obj *bonelurker-sg* '()) + (initialize-skeleton obj *bonelurker-sg* '()) (TODO-RENAME-45 obj *bonelurker-nav-enemy-info*) (set! (-> obj neck up) (the-as uint 0)) (set! (-> obj neck nose) (the-as uint 1)) diff --git a/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc b/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc index c8b9bfd728..b2e263780a 100644 --- a/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc @@ -153,7 +153,7 @@ ) (set! (-> v1-6 jgeo) 0) (set! (-> v1-6 janim) 2) - (set! (-> v1-6 mgeo 0) (the-as uint 1)) + (set! (-> v1-6 mgeo 0) 1) (set! (-> v1-6 lod-dist 0) 4095996000.0) (set! *keg-conveyor-sg* v1-6) ) @@ -171,7 +171,7 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 2) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *keg-conveyor-paddle-sg* v1-7) ) @@ -190,11 +190,11 @@ ) (set! (-> v1-8 jgeo) 0) (set! (-> v1-8 janim) 5) - (set! (-> v1-8 mgeo 0) (the-as uint 1)) + (set! (-> v1-8 mgeo 0) 1) (set! (-> v1-8 lod-dist 0) 81920.0) - (set! (-> v1-8 mgeo 1) (the-as uint 2)) + (set! (-> v1-8 mgeo 1) 2) (set! (-> v1-8 lod-dist 1) 163840.0) - (set! (-> v1-8 mgeo 2) (the-as uint 3)) + (set! (-> v1-8 mgeo 2) 3) (set! (-> v1-8 lod-dist 2) 4095996000.0) (set! *keg-sg* v1-8) ) @@ -724,7 +724,7 @@ (set! (-> self root-override) s4-0) ) (set! (-> self root-override trans quad) (-> arg0 root-override trans quad)) - (dummy-14 self *keg-sg* '()) + (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) @@ -991,7 +991,7 @@ (-> arg0 root-override quat vec quad) ) (set! (-> self root-override scale quad) (-> arg0 root-override scale quad)) - (dummy-14 self *keg-conveyor-paddle-sg* '()) + (initialize-skeleton self *keg-conveyor-paddle-sg* '()) (setup-params! (-> self sync) (the-as uint 4800) 0.0 0.15 0.15) (logclear! (-> self mask) (process-mask actor-pause enemy)) (set! (-> self object-on-paddle) (the-as (pointer bouncing-float) #f)) @@ -1025,7 +1025,7 @@ (set! (-> obj mask) (logior (process-mask enemy death) (-> obj mask))) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *keg-conveyor-sg* '()) + (initialize-skeleton obj *keg-conveyor-sg* '()) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) (logior! (-> obj path flags) diff --git a/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc b/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc index 93b3fd1c80..65a58ec789 100644 --- a/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc @@ -37,11 +37,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *teetertotter-sg* v1-1) ) @@ -81,7 +81,9 @@ (('flop) (when (target-on-end-of-teetertotter? self) (set! (-> self in-launch-window) #f) - (increment-success-for-hint (the-as level-hint-control 676)) + (increment-success-for-hint + (game-text-id misty-teetertotter-bonk-dax-tutorial) + ) (go teetertotter-launch) ) ) @@ -402,7 +404,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *teetertotter-sg* '()) + (initialize-skeleton obj *teetertotter-sg* '()) (set! (-> obj launched-player) #f) (set! (-> obj in-launch-window) #f) (set! (-> obj rock-is-dangerous) #f) diff --git a/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc b/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc index d8d98723e9..e5bfb78b11 100644 --- a/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc @@ -35,7 +35,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *silostep-sg* v1-1) ) @@ -249,7 +249,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *silostep-sg* '()) + (initialize-skeleton obj *silostep-sg* '()) (set! (-> obj anim-limit) (* @@ -288,9 +288,9 @@ ) (set! (-> v1-6 jgeo) 0) (set! (-> v1-6 janim) 3) - (set! (-> v1-6 mgeo 0) (the-as uint 1)) + (set! (-> v1-6 mgeo 0) 1) (set! (-> v1-6 lod-dist 0) 81920.0) - (set! (-> v1-6 mgeo 1) (the-as uint 2)) + (set! (-> v1-6 mgeo 1) 2) (set! (-> v1-6 lod-dist 1) 4095996000.0) (set! *rounddoor-sg* v1-6) ) @@ -348,7 +348,7 @@ ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defmethod TODO-RENAME-25 rounddoor ((obj rounddoor)) - (dummy-14 obj *rounddoor-sg* '()) + (initialize-skeleton obj *rounddoor-sg* '()) (set! (-> obj open-distance) 69632.0) (set! (-> obj close-distance) 81920.0) (set! (-> obj open-sound) (static-sound-name "arenadoor-open")) diff --git a/test/decompiler/reference/levels/misty/muse_REF.gc b/test/decompiler/reference/levels/misty/muse_REF.gc index b0a4850845..46a3f016a0 100644 --- a/test/decompiler/reference/levels/misty/muse_REF.gc +++ b/test/decompiler/reference/levels/misty/muse_REF.gc @@ -252,7 +252,7 @@ ) (set! (-> v1-5 jgeo) 0) (set! (-> v1-5 janim) 3) - (set! (-> v1-5 mgeo 0) (the-as uint 1)) + (set! (-> v1-5 mgeo 0) 1) (set! (-> v1-5 lod-dist 0) 4095996000.0) (set! *muse-sg* v1-5) ) @@ -825,7 +825,7 @@ nav-enemy-default-event-handler (the float (-> self entity extra perm task)) #f self - #f + (the-as fact-info #f) ) ) ) @@ -941,7 +941,7 @@ nav-enemy-default-event-handler (set! (-> obj collide-info) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *muse-sg* '()) + (initialize-skeleton obj *muse-sg* '()) (logclear! (-> obj mask) (process-mask actor-pause)) (TODO-RENAME-45 obj *muse-nav-enemy-info*) (set! @@ -982,10 +982,7 @@ nav-enemy-default-event-handler ) ) ) - (set! - (-> obj victory-anim) - (the-as spool-anim (fuel-cell-pick-anim (the-as process-taskable obj))) - ) + (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 8c4d5b52f9..b0d736c200 100644 --- a/test/decompiler/reference/levels/misty/sidekick-human_REF.gc +++ b/test/decompiler/reference/levels/misty/sidekick-human_REF.gc @@ -1471,7 +1471,7 @@ ) (set! (-> v1-46 jgeo) 0) (set! (-> v1-46 janim) 3) - (set! (-> v1-46 mgeo 0) (the-as uint 1)) + (set! (-> v1-46 mgeo 0) 1) (set! (-> v1-46 lod-dist 0) 4095996000.0) (set! *sidekick-human-sg* v1-46) ) @@ -1488,7 +1488,7 @@ ) (set! (-> v1-47 jgeo) 0) (set! (-> v1-47 janim) 4) - (set! (-> v1-47 mgeo 0) (the-as uint 1)) + (set! (-> v1-47 mgeo 0) 1) (set! (-> v1-47 lod-dist 0) 4095996000.0) (set! *darkecocan-sg* v1-47) ) @@ -1505,7 +1505,7 @@ ) (set! (-> v1-48 jgeo) 2) (set! (-> v1-48 janim) 4) - (set! (-> v1-48 mgeo 0) (the-as uint 3)) + (set! (-> v1-48 mgeo 0) 3) (set! (-> v1-48 lod-dist 0) 4095996000.0) (set! *darkecocan-glow-sg* v1-48) ) @@ -1522,7 +1522,7 @@ ) (set! (-> v1-49 jgeo) 0) (set! (-> v1-49 janim) 3) - (set! (-> v1-49 mgeo 0) (the-as uint 1)) + (set! (-> v1-49 mgeo 0) 1) (set! (-> v1-49 lod-dist 0) 4095996000.0) (set! *evilbro-sg* v1-49) ) @@ -1539,7 +1539,7 @@ ) (set! (-> v1-50 jgeo) 0) (set! (-> v1-50 janim) 3) - (set! (-> v1-50 mgeo 0) (the-as uint 1)) + (set! (-> v1-50 mgeo 0) 1) (set! (-> v1-50 lod-dist 0) 4095996000.0) (set! *evilsis-sg* v1-50) ) @@ -2551,7 +2551,7 @@ ;; INFO: Return type mismatch int vs none. (defbehavior sequenceC-can-trans-hook sequenceC () (when (>= (ja-aframe-num 0) 1055.0) - (dummy-11 + (lods-assign! (-> self draw) (the-as lod-set @@ -2668,13 +2668,14 @@ 'eval (lambda :behavior sequenceC () - (let ((a0-0 (&-> (the-as process-taskable (-> self parent 0)) stack 288)) - (t9-0 (method-of-type lod-set dummy-9)) - ) + ((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) - (t9-0 (the-as lod-set a0-0)) ) (let ((v0-1 (create-launch-control (-> *part-group-id-table* 560) self))) (set! (-> self part) v0-1) diff --git a/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc b/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc index 5de8f4b0a4..2f881e4d7b 100644 --- a/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc +++ b/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc @@ -14,7 +14,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) -1) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *ogrecam-sg* v1-0) ) @@ -54,11 +54,11 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 4) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 81920.0) - (set! (-> v1-2 mgeo 1) (the-as uint 2)) + (set! (-> v1-2 mgeo 1) 2) (set! (-> v1-2 lod-dist 1) 163840.0) - (set! (-> v1-2 mgeo 2) (the-as uint 3)) + (set! (-> v1-2 mgeo 2) 3) (set! (-> v1-2 lod-dist 2) 4095996000.0) (set! *plunger-lurker-sg* v1-2) ) @@ -614,7 +614,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *plunger-lurker-sg* '()) + (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) @@ -699,11 +699,11 @@ ) (set! (-> v1-8 jgeo) 0) (set! (-> v1-8 janim) 5) - (set! (-> v1-8 mgeo 0) (the-as uint 1)) + (set! (-> v1-8 mgeo 0) 1) (set! (-> v1-8 lod-dist 0) 81920.0) - (set! (-> v1-8 mgeo 1) (the-as uint 2)) + (set! (-> v1-8 mgeo 1) 2) (set! (-> v1-8 lod-dist 1) 163840.0) - (set! (-> v1-8 mgeo 2) (the-as uint 3)) + (set! (-> v1-8 mgeo 2) 3) (set! (-> v1-8 lod-dist 2) 4095996000.0) (set! *flying-lurker-sg* v1-8) ) @@ -1897,7 +1897,7 @@ (stack-size-set! (-> obj main-thread) 512) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *flying-lurker-sg* '()) + (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! 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 8426033ac3..bc835cd91a 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 @@ -297,9 +297,9 @@ ) (set! (-> v0-4 jgeo) 0) (set! (-> v0-4 janim) 3) - (set! (-> v0-4 mgeo 0) (the-as uint 1)) + (set! (-> v0-4 mgeo 0) 1) (set! (-> v0-4 lod-dist 0) 81920.0) - (set! (-> v0-4 mgeo 1) (the-as uint 2)) + (set! (-> v0-4 mgeo 1) 2) (set! (-> v0-4 lod-dist 1) 4095996000.0) (set! *balloon-sg* v0-4) ) diff --git a/test/decompiler/reference/levels/snow/yeti_REF.gc b/test/decompiler/reference/levels/snow/yeti_REF.gc index ed2fc8dfbd..2d71a65735 100644 --- a/test/decompiler/reference/levels/snow/yeti_REF.gc +++ b/test/decompiler/reference/levels/snow/yeti_REF.gc @@ -68,7 +68,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *yeti-sg* v1-2) ) @@ -1191,7 +1191,7 @@ ;; definition for method 48 of type yeti-slave ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-48 yeti-slave ((obj yeti-slave)) - (dummy-14 obj *yeti-sg* '()) + (initialize-skeleton obj *yeti-sg* '()) (set! (-> obj draw origin-joint-index) (the-as uint 3)) (TODO-RENAME-45 obj *yeti-nav-enemy-info*) (set! (-> obj neck up) (the-as uint 0)) diff --git a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc index 0c3330b835..b3c0d75ebe 100644 --- a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *qbert-plat-on-sg* v1-1) ) @@ -76,7 +76,7 @@ ) (set! (-> v1-3 jgeo) 0) (set! (-> v1-3 janim) 2) - (set! (-> v1-3 mgeo 0) (the-as uint 1)) + (set! (-> v1-3 mgeo 0) 1) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *qbert-plat-sg* v1-3) ) @@ -216,7 +216,7 @@ (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)) - (dummy-14 self *qbert-plat-on-sg* '()) + (initialize-skeleton self *qbert-plat-on-sg* '()) (logior! (-> self skel status) 1) (ja-channel-set! 1) (let ((gp-1 (-> self skel root-channel 0))) @@ -489,7 +489,7 @@ ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defmethod TODO-RENAME-31 qbert-plat ((obj qbert-plat)) - (dummy-14 obj *qbert-plat-sg* '()) + (initialize-skeleton obj *qbert-plat-sg* '()) (set! (-> obj anchor-point quad) (-> obj root-overlay trans quad)) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-overlay)) diff --git a/test/decompiler/reference/levels/sunken/square-platform_REF.gc b/test/decompiler/reference/levels/sunken/square-platform_REF.gc index 7ce2a7e20e..4af62925a9 100644 --- a/test/decompiler/reference/levels/sunken/square-platform_REF.gc +++ b/test/decompiler/reference/levels/sunken/square-platform_REF.gc @@ -55,9 +55,9 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 4095996000.0) (set! *square-platform-sg* v1-1) ) @@ -663,7 +663,7 @@ (process-drawable-from-entity! obj arg0) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj plat-id) (actor-count-before (-> obj link))) - (dummy-14 obj *square-platform-sg* '()) + (initialize-skeleton obj *square-platform-sg* '()) (dummy-21 obj) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) diff --git a/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc b/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc index 0af43949e4..9718abed51 100644 --- a/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc @@ -89,7 +89,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sunkenfisha-red-yellow-sg* v1-1) ) @@ -107,7 +107,7 @@ ) (set! (-> v1-2 jgeo) 2) (set! (-> v1-2 janim) -1) - (set! (-> v1-2 mgeo 0) (the-as uint 3)) + (set! (-> v1-2 mgeo 0) 3) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *sunkenfisha-yellow-blue-sg* v1-2) ) @@ -125,7 +125,7 @@ ) (set! (-> v1-3 jgeo) 4) (set! (-> v1-3 janim) -1) - (set! (-> v1-3 mgeo 0) (the-as uint 5)) + (set! (-> v1-3 mgeo 0) 5) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *sunkenfisha-yellow-eye-sg* v1-3) ) @@ -422,13 +422,13 @@ (let ((v1-3 (rand-vu-int-count 3))) (cond ((zero? v1-3) - (dummy-14 obj *sunkenfisha-red-yellow-sg* '()) + (initialize-skeleton obj *sunkenfisha-red-yellow-sg* '()) ) ((= v1-3 1) - (dummy-14 obj *sunkenfisha-yellow-blue-sg* '()) + (initialize-skeleton obj *sunkenfisha-yellow-blue-sg* '()) ) ((= v1-3 2) - (dummy-14 obj *sunkenfisha-yellow-eye-sg* '()) + (initialize-skeleton obj *sunkenfisha-yellow-eye-sg* '()) ) ) ) diff --git a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc index 883edd7e21..0a46180e00 100644 --- a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc @@ -42,7 +42,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) -1) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *wall-plat-sg* v1-1) ) @@ -319,7 +319,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *wall-plat-sg* '()) + (initialize-skeleton obj *wall-plat-sg* '()) (logior! (-> obj skel status) 1) (set! (-> obj use-sync?) diff --git a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc index c73e3ac5b4..24e7600f0b 100644 --- a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc +++ b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc @@ -131,7 +131,7 @@ ) (set! (-> v1-3 jgeo) 0) (set! (-> v1-3 janim) 2) - (set! (-> v1-3 mgeo 0) (the-as uint 1)) + (set! (-> v1-3 mgeo 0) 1) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *wedge-plat-sg* v1-3) ) @@ -371,7 +371,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *wedge-plat-sg* '()) + (initialize-skeleton obj *wedge-plat-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) @@ -415,7 +415,7 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 2) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *wedge-plat-outer-sg* v1-7) ) @@ -657,7 +657,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *wedge-plat-sg* '()) + (initialize-skeleton obj *wedge-plat-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) diff --git a/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc b/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc index 2db10f3807..c691880678 100644 --- a/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc @@ -232,11 +232,11 @@ swamp-bat-slave-event-handler ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 4) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 81920.0) - (set! (-> v1-7 mgeo 1) (the-as uint 2)) + (set! (-> v1-7 mgeo 1) 2) (set! (-> v1-7 lod-dist 1) 163840.0) - (set! (-> v1-7 mgeo 2) (the-as uint 3)) + (set! (-> v1-7 mgeo 2) 3) (set! (-> v1-7 lod-dist 2) 4095996000.0) (set! *swamp-bat-slave-sg* v1-7) ) @@ -750,7 +750,7 @@ swamp-bat-slave-event-handler (swamp-bat-slave-get-new-path) (set! (-> self root-override trans quad) (-> self idle-position quad)) (setup-params! (-> self sync) (the-as uint 1200) 0.0 0.15 0.15) - (dummy-14 self *swamp-bat-slave-sg* '()) + (initialize-skeleton self *swamp-bat-slave-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) (go swamp-bat-slave-idle) (none) 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 30814c5ae0..1017d357ad 100644 --- a/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc @@ -1743,9 +1743,9 @@ swamp-rat-nest-default-event-handler ) (set! (-> v1-51 jgeo) 0) (set! (-> v1-51 janim) 3) - (set! (-> v1-51 mgeo 0) (the-as uint 1)) + (set! (-> v1-51 mgeo 0) 1) (set! (-> v1-51 lod-dist 0) 81920.0) - (set! (-> v1-51 mgeo 1) (the-as uint 2)) + (set! (-> v1-51 mgeo 1) 2) (set! (-> v1-51 lod-dist 1) 4095996000.0) (set! *swamp-rat-nest-dummy-a-sg* v1-51) ) @@ -1763,9 +1763,9 @@ swamp-rat-nest-default-event-handler ) (set! (-> v1-52 jgeo) 4) (set! (-> v1-52 janim) 7) - (set! (-> v1-52 mgeo 0) (the-as uint 5)) + (set! (-> v1-52 mgeo 0) 5) (set! (-> v1-52 lod-dist 0) 81920.0) - (set! (-> v1-52 mgeo 1) (the-as uint 6)) + (set! (-> v1-52 mgeo 1) 6) (set! (-> v1-52 lod-dist 1) 4095996000.0) (set! *swamp-rat-nest-dummy-b-sg* v1-52) ) @@ -1782,7 +1782,7 @@ swamp-rat-nest-default-event-handler ) (set! (-> v1-53 jgeo) 8) (set! (-> v1-53 janim) 11) - (set! (-> v1-53 mgeo 0) (the-as uint 9)) + (set! (-> v1-53 mgeo 0) 9) (set! (-> v1-53 lod-dist 0) 4095996000.0) (set! *swamp-rat-nest-dummy-c-sg* v1-53) ) @@ -1814,7 +1814,7 @@ swamp-rat-nest-default-event-handler (dummy-50 s5-0) (set! (-> obj root-override) s5-0) ) - (dummy-14 obj *swamp-rat-nest-dummy-a-sg* '()) + (initialize-skeleton obj *swamp-rat-nest-dummy-a-sg* '()) (none) ) @@ -1845,7 +1845,7 @@ swamp-rat-nest-default-event-handler (dummy-50 s5-0) (set! (-> obj root-override) s5-0) ) - (dummy-14 obj *swamp-rat-nest-dummy-b-sg* '()) + (initialize-skeleton obj *swamp-rat-nest-dummy-b-sg* '()) (none) ) @@ -1876,7 +1876,7 @@ swamp-rat-nest-default-event-handler (dummy-50 s5-0) (set! (-> obj root-override) s5-0) ) - (dummy-14 obj *swamp-rat-nest-dummy-c-sg* '()) + (initialize-skeleton obj *swamp-rat-nest-dummy-c-sg* '()) (none) ) diff --git a/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc b/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc index 1480e7f03d..b33f6e885f 100644 --- a/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc @@ -55,11 +55,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *swamp-rat-sg* v1-1) ) @@ -890,7 +890,7 @@ swamp-rat-default-event-handler ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defmethod TODO-RENAME-48 swamp-rat ((obj swamp-rat)) - (dummy-14 obj *swamp-rat-sg* '()) + (initialize-skeleton obj *swamp-rat-sg* '()) (TODO-RENAME-45 obj *swamp-rat-nav-enemy-info*) (vector-float*! (-> obj collide-info scale) *identity-vector* 1.5) (set! (-> obj neck up) (the-as uint 1)) diff --git a/test/decompiler/reference/levels/village1/assistant_REF.gc b/test/decompiler/reference/levels/village1/assistant_REF.gc index db214c10f1..d18f924447 100644 --- a/test/decompiler/reference/levels/village1/assistant_REF.gc +++ b/test/decompiler/reference/levels/village1/assistant_REF.gc @@ -33,7 +33,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/village1/explorer_REF.gc b/test/decompiler/reference/levels/village1/explorer_REF.gc index 4ed084d68c..8877eb8c5f 100644 --- a/test/decompiler/reference/levels/village1/explorer_REF.gc +++ b/test/decompiler/reference/levels/village1/explorer_REF.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *explorer-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/village1/farmer_REF.gc b/test/decompiler/reference/levels/village1/farmer_REF.gc index b18af8183c..432e883a1e 100644 --- a/test/decompiler/reference/levels/village1/farmer_REF.gc +++ b/test/decompiler/reference/levels/village1/farmer_REF.gc @@ -32,9 +32,9 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 4095996000.0) (set! *farmer-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc index 2feaae38b4..1edbb1f241 100644 --- a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc +++ b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc @@ -732,9 +732,9 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 3) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 81920.0) - (set! (-> v1-7 mgeo 1) (the-as uint 2)) + (set! (-> v1-7 mgeo 1) 2) (set! (-> v1-7 lod-dist 1) 4095996000.0) (set! *fishermans-boat-sg* v1-7) ) @@ -751,7 +751,7 @@ ) (set! (-> v1-8 jgeo) 0) (set! (-> v1-8 janim) 3) - (set! (-> v1-8 mgeo 0) (the-as uint 1)) + (set! (-> v1-8 mgeo 0) 1) (set! (-> v1-8 lod-dist 0) 4095996000.0) (set! *fb-evilbro-sg* v1-8) ) @@ -768,7 +768,7 @@ ) (set! (-> v1-9 jgeo) 0) (set! (-> v1-9 janim) 3) - (set! (-> v1-9 mgeo 0) (the-as uint 1)) + (set! (-> v1-9 mgeo 0) 1) (set! (-> v1-9 lod-dist 0) 4095996000.0) (set! *fb-evilsis-sg* v1-9) ) @@ -2056,7 +2056,7 @@ ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defmethod TODO-RENAME-31 fishermans-boat ((obj fishermans-boat)) - (dummy-14 obj *fishermans-boat-sg* '()) + (initialize-skeleton obj *fishermans-boat-sg* '()) (logclear! (-> obj mask) (process-mask actor-pause movie)) (logior! (-> obj skel status) 1) (process-entity-status! obj (entity-perm-status bit-3) #t) diff --git a/test/decompiler/reference/levels/village1/sage_REF.gc b/test/decompiler/reference/levels/village1/sage_REF.gc index df54dde83f..a091b04900 100644 --- a/test/decompiler/reference/levels/village1/sage_REF.gc +++ b/test/decompiler/reference/levels/village1/sage_REF.gc @@ -35,7 +35,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 4) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sage-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/village1/yakow_REF.gc b/test/decompiler/reference/levels/village1/yakow_REF.gc index 426a9284cc..9e985f2673 100644 --- a/test/decompiler/reference/levels/village1/yakow_REF.gc +++ b/test/decompiler/reference/levels/village1/yakow_REF.gc @@ -13,7 +13,7 @@ ) (set! (-> v1-0 jgeo) 0) (set! (-> v1-0 janim) 2) - (set! (-> v1-0 mgeo 0) (the-as uint 1)) + (set! (-> v1-0 mgeo 0) 1) (set! (-> v1-0 lod-dist 0) 4095996000.0) (set! *village1cam-sg* v1-0) ) @@ -226,9 +226,9 @@ ) (set! (-> v1-5 jgeo) 0) (set! (-> v1-5 janim) 4) - (set! (-> v1-5 mgeo 0) (the-as uint 1)) + (set! (-> v1-5 mgeo 0) 1) (set! (-> v1-5 lod-dist 0) 81920.0) - (set! (-> v1-5 mgeo 1) (the-as uint 2)) + (set! (-> v1-5 mgeo 1) 2) (set! (-> v1-5 lod-dist 1) 4095996000.0) (set! *yakow-sg* v1-5) ) @@ -1517,7 +1517,7 @@ yakow-default-event-handler (-> obj fact-override idle-distance) (-> *YAKOW-bank* default-idle-distance) ) - (dummy-14 obj *yakow-sg* '()) + (initialize-skeleton obj *yakow-sg* '()) (set! (-> obj draw shadow-ctrl) (new diff --git a/test/decompiler/reference/levels/village2/assistant-village2_REF.gc b/test/decompiler/reference/levels/village2/assistant-village2_REF.gc index cffb9c7912..9a1a34ff08 100644 --- a/test/decompiler/reference/levels/village2/assistant-village2_REF.gc +++ b/test/decompiler/reference/levels/village2/assistant-village2_REF.gc @@ -63,11 +63,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *assistant-village2-sg* v1-1) ) @@ -84,7 +84,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 2) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *jaws-sg* v1-2) ) diff --git a/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc b/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc index 4098881d52..d886605dde 100644 --- a/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc +++ b/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc @@ -30,7 +30,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *flutflut-bluehut-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/village2/gambler_REF.gc b/test/decompiler/reference/levels/village2/gambler_REF.gc index 47c150a3c0..d03b0995e0 100644 --- a/test/decompiler/reference/levels/village2/gambler_REF.gc +++ b/test/decompiler/reference/levels/village2/gambler_REF.gc @@ -32,11 +32,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *gambler-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/village2/geologist_REF.gc b/test/decompiler/reference/levels/village2/geologist_REF.gc index e01994ee2a..dcb5807a4b 100644 --- a/test/decompiler/reference/levels/village2/geologist_REF.gc +++ b/test/decompiler/reference/levels/village2/geologist_REF.gc @@ -32,11 +32,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *geologist-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc b/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc index 213665549b..c52701bac4 100644 --- a/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc +++ b/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc @@ -60,7 +60,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 3) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *sage-bluehut-sg* v1-2) ) diff --git a/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc b/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc index 4c237b4dd0..93bbf5f699 100644 --- a/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc +++ b/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc @@ -41,7 +41,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sunken-elevator-sg* v1-1) ) @@ -300,7 +300,7 @@ ;; definition for method 31 of type sunken-elevator ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-31 sunken-elevator ((obj sunken-elevator)) - (dummy-14 obj *sunken-elevator-sg* '()) + (initialize-skeleton obj *sunken-elevator-sg* '()) 0 (none) ) diff --git a/test/decompiler/reference/levels/village2/warrior_REF.gc b/test/decompiler/reference/levels/village2/warrior_REF.gc index 23d520abc8..86ac36f694 100644 --- a/test/decompiler/reference/levels/village2/warrior_REF.gc +++ b/test/decompiler/reference/levels/village2/warrior_REF.gc @@ -32,11 +32,11 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 5) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 81920.0) - (set! (-> v1-1 mgeo 1) (the-as uint 2)) + (set! (-> v1-1 mgeo 1) 2) (set! (-> v1-1 lod-dist 1) 163840.0) - (set! (-> v1-1 mgeo 2) (the-as uint 3)) + (set! (-> v1-1 mgeo 2) 3) (set! (-> v1-1 lod-dist 2) 4095996000.0) (set! *warrior-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/village3/assistant-village3_REF.gc b/test/decompiler/reference/levels/village3/assistant-village3_REF.gc index c9ccca0646..6923b65231 100644 --- a/test/decompiler/reference/levels/village3/assistant-village3_REF.gc +++ b/test/decompiler/reference/levels/village3/assistant-village3_REF.gc @@ -31,7 +31,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *assistant-village3-sg* v1-1) ) diff --git a/test/decompiler/reference/levels/village3/miners_REF.gc b/test/decompiler/reference/levels/village3/miners_REF.gc index e965bdfe23..75b34a337b 100644 --- a/test/decompiler/reference/levels/village3/miners_REF.gc +++ b/test/decompiler/reference/levels/village3/miners_REF.gc @@ -61,7 +61,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 3) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *minertall-sg* v1-2) ) @@ -187,7 +187,7 @@ ) (set! (-> v1-7 jgeo) 0) (set! (-> v1-7 janim) 3) - (set! (-> v1-7 mgeo 0) (the-as uint 1)) + (set! (-> v1-7 mgeo 0) 1) (set! (-> v1-7 lod-dist 0) 4095996000.0) (set! *minershort-sg* v1-7) ) @@ -933,7 +933,7 @@ ) (set! (-> v1-18 jgeo) 0) (set! (-> v1-18 janim) 2) - (set! (-> v1-18 mgeo 0) (the-as uint 1)) + (set! (-> v1-18 mgeo 0) 1) (set! (-> v1-18 lod-dist 0) 4095996000.0) (set! *cavegem-sg* v1-18) ) @@ -1003,7 +1003,7 @@ (defmethod copy-defaults! cavegem ((obj cavegem) (arg0 res-lump)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *cavegem-sg* '()) + (initialize-skeleton obj *cavegem-sg* '()) (go (method-of-object obj idle)) (none) ) diff --git a/test/decompiler/reference/levels/village3/sage-village3_REF.gc b/test/decompiler/reference/levels/village3/sage-village3_REF.gc index 6e9455f92c..382ba4c802 100644 --- a/test/decompiler/reference/levels/village3/sage-village3_REF.gc +++ b/test/decompiler/reference/levels/village3/sage-village3_REF.gc @@ -37,7 +37,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 3) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *sage-village3-sg* v1-1) ) @@ -55,7 +55,7 @@ ) (set! (-> v1-2 jgeo) 0) (set! (-> v1-2 janim) 3) - (set! (-> v1-2 mgeo 0) (the-as uint 1)) + (set! (-> v1-2 mgeo 0) 1) (set! (-> v1-2 lod-dist 0) 4095996000.0) (set! *evilbro-village3-sg* v1-2) ) @@ -73,7 +73,7 @@ ) (set! (-> v1-3 jgeo) 0) (set! (-> v1-3 janim) 3) - (set! (-> v1-3 mgeo 0) (the-as uint 1)) + (set! (-> v1-3 mgeo 0) 1) (set! (-> v1-3 lod-dist 0) 4095996000.0) (set! *evilsis-village3-sg* v1-3) ) diff --git a/test/decompiler/reference/levels/village_common/oracle_REF.gc b/test/decompiler/reference/levels/village_common/oracle_REF.gc index 305b9c8e86..1f0d200959 100644 --- a/test/decompiler/reference/levels/village_common/oracle_REF.gc +++ b/test/decompiler/reference/levels/village_common/oracle_REF.gc @@ -38,7 +38,7 @@ ) (set! (-> v1-1 jgeo) 0) (set! (-> v1-1 janim) 2) - (set! (-> v1-1 mgeo 0) (the-as uint 1)) + (set! (-> v1-1 mgeo 0) 1) (set! (-> v1-1 lod-dist 0) 4095996000.0) (set! *oracle-sg* v1-1) ) From 408a74386b7e2727ad9381177f261e3c78d5f182 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 02:00:56 +0100 Subject: [PATCH 13/27] temp --- decompiler/config/all-types.gc | 35 +- .../stack_structures.jsonc | 3 + .../jak1_ntsc_black_label/type_casts.jsonc | 22 + goal_src/engine/anim/joint-h.gc | 6 +- goal_src/engine/anim/joint.gc | 1095 ++++++++++++++++- goal_src/engine/data/art-h.gc | 4 +- goal_src/engine/draw/drawable.gc | 18 +- goal_src/engine/draw/process-drawable.gc | 6 +- goal_src/engine/game/game-h.gc | 17 +- goal_src/engine/game/generic-obs-h.gc | 7 + goal_src/engine/game/generic-obs.gc | 35 +- goal_src/engine/target/logic-target.gc | 2 +- 12 files changed, 1190 insertions(+), 60 deletions(-) diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index b81b30de32..656d2c6b91 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -7735,7 +7735,7 @@ (fixed-qwc uint32 :offset-assert 4) (frame-qwc uint32 :offset-assert 8) (fixed joint-anim-compressed-fixed :offset-assert 12) - (data uint32 1 :offset-assert 16) ;; guess + (data joint-anim-compressed-frame 1 :offset-assert 16) ) :method-count-assert 9 :size-assert #x14 @@ -7783,7 +7783,7 @@ (master-art-group-name string :offset 32) (master-art-group-index int32 :offset 36) (blerc-data (pointer uint8) :offset 40) ;; todo, this is probably something else - (frames pointer :offset 44) ;; this structure doesn't exist? it's a structure with an array of joint-anim-compressed-hdr starting at offset 12 + (frames joint-anim-compressed-control :offset 44) ;; this structure doesn't exist? it's a structure with an array of joint-anim-compressed-hdr starting at offset 12 (data joint-anim-compressed :dynamic :offset-assert 48) ) :method-count-assert 13 @@ -7799,6 +7799,7 @@ :size-assert #x20 :flag-assert #xf00000020 (:methods + (relocate (_type_ kheap (pointer uint8)) none :replace 7) (link-art! (_type_) art-group 13) (unlink-art! (_type_) int 14) ) @@ -10254,12 +10255,12 @@ (target uint64 :offset-assert 120) (callback basic :offset-assert 128) (linger-callback basic :offset-assert 132) - (duration uint64 :offset-assert 136) - (linger-duration uint64 :offset-assert 144) - (start-time uint64 :offset-assert 152) + (duration int64 :offset-assert 136) + (linger-duration int64 :offset-assert 144) + (start-time int64 :offset-assert 152) (offset vector :inline :offset-assert 160) (userdata uint64 :offset-assert 176) - (user-time uint64 2 :offset-assert 184) + (user-time int64 2 :offset-assert 184) (user-vector vector 2 :inline :offset-assert 208) (user-handle uint32 2 :offset-assert 240) ) @@ -10276,11 +10277,11 @@ (old-global-mask uint32 :offset-assert 136) (old-self-mask uint32 :offset-assert 140) (old-parent-mask uint32 :offset-assert 144) - (look-at-target uint64 :offset-assert 152) - (pov-target uint64 :offset-assert 160) - (work-process uint64 :offset-assert 168) - (anim-process uint64 :offset-assert 176) - (start-time uint64 :offset-assert 184) + (look-at-target handle :offset-assert 152) + (pov-target handle :offset-assert 160) + (work-process handle :offset-assert 168) + (anim-process handle :offset-assert 176) + (start-time int64 :offset-assert 184) (callback basic :offset-assert 192) (userdata basic :offset-assert 196) (message basic :offset-assert 200) @@ -15364,10 +15365,10 @@ (define-extern matrix-from-control! (function matrix-stack joint matrix symbol matrix)) (define-extern matrix-from-control-channel! (function matrix joint joint-control-channel matrix)) (define-extern matrix-from-control-pair! (function matrix matrix joint matrix)) -(define-extern matrix-from-joint-anim-frame (function pointer int int matrix)) ;; ??? +(define-extern matrix-from-joint-anim-frame (function joint-anim-compressed-control int int matrix)) ;; ??? (define-extern create-interpolated-joint-animation-frame (function joint-control int process-drawable int)) (define-extern mem-size (function basic symbol int int)) -(define-extern jacc-mem-usage (function pointer memory-usage-block int int)) +(define-extern jacc-mem-usage (function joint-anim-compressed-control memory-usage-block int joint-anim-compressed-control)) (define-extern joint-anim-inspect-elt (function joint-anim float joint-anim)) (define-extern joint-anim-login (function joint-anim-drawable joint-anim-drawable)) (define-extern joint-control-channel-eval (function joint-control-channel float)) @@ -19191,8 +19192,8 @@ ;; - Functions (define-extern process-entity-status! (function process entity-perm-status symbol int)) -(define-extern process-grab? (function process symbol)) -(define-extern process-release? (function process symbol)) +(define-extern process-grab? (function process none :behavior process)) +(define-extern process-release? (function process symbol :behavior process)) (define-extern ja-post (function none :behavior process-drawable)) (define-extern make-nodes-from-jg (function art-joint-geo pair symbol cspace-array :behavior process-drawable)) (define-extern dma-add-process-drawable (function process-drawable draw-control symbol dma-buffer none)) @@ -19203,7 +19204,7 @@ (define-extern fill-skeleton-cache (function process-drawable int)) ;; idk (define-extern execute-math-engine (function int)) (define-extern draw-joint-spheres (function process-drawable symbol)) -(define-extern anim-loop (function symbol :behavior process-drawable)) +(define-extern anim-loop (function none :behavior process-drawable)) (define-extern ja-done? (function int symbol :behavior process-drawable)) (define-extern ja-min? (function int symbol :behavior process-drawable)) (define-extern ja-max? (function int symbol :behavior process-drawable)) @@ -19382,7 +19383,7 @@ (define-extern process-drawable-from-entity! (function process-drawable res-lump none)) (define-extern cam-launcher-long-joystick function) (define-extern hide-hud-quick (function none)) -(define-extern command-get-process function) +(define-extern command-get-process (function basic process-drawable process)) (define-extern camera-change-to (function string int symbol none)) ;; TODO - not confirmed yet (define-extern camera-look-at function) (define-extern camera-pov-from function) diff --git a/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc b/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc index d7cbcbe949..5accf7a9f7 100644 --- a/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc @@ -2759,5 +2759,8 @@ "(event die crate)": [[16, "event-message-block"]], "(code notice-blue crate)": [[16, "vector"]], + "process-grab?": [[16, "event-message-block"]], + "process-release?": [[16, "event-message-block"]], + "placeholder-do-not-add-below!": [] } diff --git a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc index 4b1b9423e5..0137990b5d 100644 --- a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc @@ -4192,5 +4192,27 @@ [63, "t9", "(function cspace basic basic int)"] ], + "process-grab?": [ + [18, "s6", "camera-tracker"] + ], + + "command-get-process": [ + [62, "s6", "camera-tracker"] + ], + + "joint-control-copy!": [ + [8, "a0", "pointer"], + [8, "a2", "pointer"] + ], + + "matrix-from-control!": [ + [23, "v1", "pointer"], + [36, "v1", "pointer"], + [39, "v1", "pointer"], + [69, "v1", "pointer"], + [78, "v1", "pointer"], + [81, "v1", "pointer"] + ], + "placeholder-do-not-add-below": [] } diff --git a/goal_src/engine/anim/joint-h.gc b/goal_src/engine/anim/joint-h.gc index 49a3ec53b9..b88b5a6d2a 100644 --- a/goal_src/engine/anim/joint-h.gc +++ b/goal_src/engine/anim/joint-h.gc @@ -35,9 +35,9 @@ (root-channel (inline-array joint-control-channel) :offset 16) (blend-index int32 :offset-assert 20) (active-channels int32 :offset-assert 24) - (generate-frame-function basic :offset-assert 28) - (prebind-function basic :offset-assert 32) - (postbind-function function :offset-assert 36) + (generate-frame-function (function pointer int process-drawable none) :offset-assert 28) + (prebind-function (function pointer int process-drawable none) :offset-assert 32) + (postbind-function (function pointer int process-drawable none) :offset-assert 36) (effect effect-control :offset-assert 40) (channel joint-control-channel 3 :inline :offset-assert 48) ;; actually dynamic? (frame-group0 art-joint-anim :offset 60) diff --git a/goal_src/engine/anim/joint.gc b/goal_src/engine/anim/joint.gc index 13943714e0..d713a15342 100644 --- a/goal_src/engine/anim/joint.gc +++ b/goal_src/engine/anim/joint.gc @@ -5,20 +5,413 @@ ;; name in dgo: joint ;; dgos: GAME, ENGINE -;; TODO - for aligner -(define-extern cspace<-matrix-no-push-joint! (function cspace matrix matrix)) -;; TODO - for logic-target -(define-extern cspace<-transformq+trans! (function cspace transformq vector matrix)) +;; 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 + ) + obj + ) + +;; definition for method 8 of type joint +(defmethod mem-usage joint ((obj joint) (arg0 memory-usage-block) (arg1 int)) + (set! (-> arg0 length) (max 66 (-> arg0 length))) + (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))) + ) + 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 + ) + obj + ) + +;; definition for method 4 of type joint-anim +(defmethod length joint-anim ((obj joint-anim)) + (-> obj length) + ) + +;; definition for method 3 of type joint-anim-matrix +(defmethod inspect joint-anim-matrix ((obj joint-anim-matrix)) + (format #t "[~8x] ~A~%" obj (-> obj type)) + (format #t "~Tname: ~A~%" (-> obj name)) + (format #t "~Tnumber: ~D~%" (-> obj number)) + (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj data)) + obj + ) + +;; definition for method 5 of type joint-anim-matrix +;; INFO: Return type mismatch uint vs int. +(defmethod asize-of joint-anim-matrix ((obj joint-anim-matrix)) + (the-as int (+ (-> joint-anim-matrix size) (* (-> obj length) 64))) + ) + +;; definition for method 3 of type joint-anim-transformq +(defmethod inspect joint-anim-transformq ((obj joint-anim-transformq)) + (format #t "[~8x] ~A~%" obj (-> obj type)) + (format #t "~Tname: ~A~%" (-> obj name)) + (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)) + ) + obj + ) + +;; definition for method 5 of type joint-anim-transformq +;; INFO: Return type mismatch uint vs int. +(defmethod asize-of joint-anim-transformq ((obj joint-anim-transformq)) + (the-as int (+ (-> joint-anim-transformq size) (* 48 (-> obj length)))) + ) + +;; definition for method 5 of type joint-anim-drawable +;; INFO: Return type mismatch uint vs int. +(defmethod asize-of joint-anim-drawable ((obj joint-anim-drawable)) + (the-as int (+ (-> joint-anim-drawable size) (* (-> obj length) 4))) + ) +;; 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)) + ) + ) + arg0 + ) -(define-extern joint-control-copy! (function joint-control joint-control joint-control)) -(define-extern joint-control-remap! (function joint-control art-group art-group pair int string object)) +;; definition for function joint-anim-inspect-elt +(defun joint-anim-inspect-elt ((arg0 joint-anim) (arg1 float)) + (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) + ) + ) + ) + ((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)) + (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))) + ) + (dotimes (s3-0 (-> obj length)) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) + obj + ) +;; definition for function jacc-mem-usage +;; INFO: Return type mismatch pointer vs 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))) + ) + (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))) + ) + ) + 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 + ) + obj + ) + +;; definition for method 5 of type joint-control +;; INFO: Return type mismatch uint vs int. +(defmethod asize-of joint-control ((obj joint-control)) + (the-as int (+ (-> obj type size) (* 48 (-> obj allocated-length)))) + ) + +;; definition for method 0 of type joint-control + +;; definition for method 9 of type joint-control-channel +(defmethod dummy-9 joint-control-channel ((obj joint-control-channel)) + (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) + ) + ) + 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 + ) + ) + ) + ) + (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 + ) + +;; definition for method 12 of type art (defmethod needs-link? art ((obj art)) #f ) +;; definition for method 10 of type art +;; INFO: Return type mismatch symbol vs joint. +(defmethod dummy-10 art ((obj art) (arg0 string) (arg1 type)) + (the-as joint #f) + ) + +;; definition for method 11 of type art +;; INFO: Return type mismatch symbol vs int. +(defmethod dummy-11 art ((obj art) (arg0 string) (arg1 type)) + (the-as int #f) + ) + +;; 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 + ) + obj + ) + +;; definition for method 4 of type art +(defmethod length art ((obj art)) + (-> obj length) + ) + +;; 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 trans))) + ) + 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)) + (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))) + ) + (if (-> obj extra) + (mem-usage (-> obj extra) arg0 (logior arg1 512)) + ) + (dotimes (s3-0 (-> obj length)) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) + obj + ) + +;; definition for method 3 of type art-joint-anim +(defmethod inspect art-joint-anim ((obj art-joint-anim)) + (format #t "[~8x] ~A~%" obj (-> obj type)) + (format #t "~Tlength: ~D~%" (-> obj length)) + (format #t "~Tname: ~A~%" (-> obj name)) + (format #t "~Textra: ~A~%" (-> obj extra)) + (format #t "~Tspeed: ~F~%" (-> obj speed)) + (format #t "~Tartist-base: ~F~%" (-> obj artist-base)) + (format #t "~Tartist-step: ~F~%" (-> obj artist-step)) + (format #t "~Tmaster-art-group-name: ~A~%" (-> obj master-art-group-name)) + (format #t "~Tmaster-art-group-index: ~D~%" (-> obj master-art-group-index)) + (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)) + ) + 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)) + (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))) + ) + (if (-> obj extra) + (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))) + ) + ) + (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))) + ) + ) + obj + ) + +;; definition for method 5 of type art-joint-anim +;; INFO: this function exists in multiple non-identical object files +;; INFO: Return type mismatch uint vs int. +(defmethod asize-of art-joint-anim ((obj art-joint-anim)) + (the-as int (+ (-> art size) (* (-> obj length) 4))) + ) + +;; definition for method 3 of type art-group +(defmethod inspect art-group ((obj art-group)) + (format #t "[~8x] ~A~%" obj (-> obj type)) + (format #t "~Tinfo: ~A~%" (-> obj info)) + (format #t "~Tlength: ~D~%" (-> obj length)) + (format #t "~Tname: ~A~%" (-> obj name)) + (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) + ) + ) + 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 @@ -33,7 +426,697 @@ ) ) +;; 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 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)) + ) + ) + (return s2-0) + ) + ) + ) + (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) + ) + ) + (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))) + ) + ) + obj + ) + +;; definition for method 8 of type art-group +(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) + ) + ) + obj + ) + +;; definition for method 7 of type art-group +;; WARN: Function may read a register that is not set: a2 +(defmethod relocate art-group ((obj art-group) (arg0 int)) + (local-vars (a2-0 none)) + (let ((s4-0 (clear *temp-string*))) + (string<-charp s4-0 (the-as (pointer uint8) a2-0)) + (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 + ) + ) + ) + ) + +;; definition for method 5 of type art-mesh-geo +;; INFO: Return type mismatch uint vs int. +(defmethod asize-of art-mesh-geo ((obj art-mesh-geo)) + (the-as int (+ (-> art size) (* (-> obj length) 4))) + ) + +;; 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)) + (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))) + ) + (if (-> obj extra) + (mem-usage (-> obj extra) arg0 (logior arg1 512)) + ) + (dotimes (s3-0 (-> obj length)) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) + obj + ) + +;; 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 trans))) + ) + obj + ) + +;; definition for method 5 of type art-joint-geo +;; INFO: Return type mismatch uint vs int. +(defmethod asize-of art-joint-geo ((obj art-joint-geo)) + (the-as int (+ (-> art size) (* (-> obj length) 4))) + ) + +;; 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)) + ) + ) + (the-as joint #f) + ) + (else + (dotimes (s4-1 (-> obj length)) + (if (name= arg0 (-> obj data s4-1 name)) + (return (-> obj data s4-1)) + ) + ) + (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) + ) + ) + (the-as int #f) + ) + (else + (dotimes (s4-1 (-> obj length)) + (if (name= arg0 (-> obj data s4-1 name)) + (return s4-1) + ) + ) + (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)) + (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))) + ) + (if (-> obj extra) + (mem-usage (-> obj extra) arg0 (logior arg1 512)) + ) + (dotimes (s3-0 (-> obj length)) + (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 + ) + ) + +;; definition for function joint-control-channel-eval! +(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 + ) + ) + +;; 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)) + ) + (set! (-> arg0 num-func) arg2) + (cond + ((= (-> arg0 command) 'stack) + ) + (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)) + ) + (set! (-> arg0 num-func) arg2) + (cond + ((= (-> arg0 command) 'stack) + ) + (arg1 + (set! (-> arg0 frame-group) arg1) + ) + ) + 0 + ) + +(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 + ) + ) + ) + ) + (mem-copy! + (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) + ) + 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) + ) + (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) + ) + (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) + ) + (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-56 + (mod s1-1 (+ ((method-of-type (rtype-of a0-9) length) a0-9) -1)) + ) + ) + (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-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) + ) + +(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) + ) + ) + ) + ) + ((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) + ) + ) + +;; definition for function matrix-from-control-channel! +;; Used lq/sq +(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)) + ) + (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)) + ) + (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) + ) + ) + ) + ) + ) + ) + +;; 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) + ) + ) + ) + (matrix-lerp! arg0 arg0 a2-3 f30-0) + ) + ) + ) + ) + ) + +;; definition for method 9 of type cspace +(defmethod dummy-9 cspace ((obj cspace) (arg0 basic)) + (set! (-> obj parent) #f) + (set! (-> obj joint) #f) + (set! (-> obj geo) arg0) + (set! (-> obj param0) #f) + (set! (-> obj param1) #f) + (set! (-> obj param2) #f) + obj + ) + +;; definition for method 0 of type cspace +(defmethod new cspace ((allocation symbol) (type-to-make type) (arg0 basic)) + (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) + ) + ) + +;; 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) + ) + v0-0 + ) + ) + +;; definition for function cspace<-rot-yxy! +;; ERROR: function has no type analysis. Cannot decompile. + +;; definition for function cspace<-transform-yxy! +;; ERROR: function has no type analysis. Cannot decompile. + +;; definition for function cspace<-transformq! +(defun cspace<-transformq! ((arg0 cspace) (arg1 transformq)) + (matrix<-transformq! (-> arg0 bone transform) arg1) + ) + +;; definition for function cspace<-transformq+trans! +(defun cspace<-transformq+trans! ((arg0 cspace) (arg1 transformq) (arg2 vector)) + (matrix<-transformq+trans! (-> arg0 bone transform) arg1 arg2) + ) + +;; definition for function cspace<-transformq+world-trans! +(defun cspace<-transformq+world-trans! ((arg0 cspace) (arg1 transformq) (arg2 vector)) + (matrix<-transformq+world-trans! (-> arg0 bone transform) arg1 arg2) + ) + +;; definition for function cspace-calc-total-matrix! +(defun cspace-calc-total-matrix! ((arg0 cspace) (arg1 matrix)) + (matrix*! arg1 (-> arg0 bone transform) (-> *math-camera* camera-temp)) + ) + +;; definition for function cspace<-matrix-no-push-joint! +;; Used lq/sq +(defun cspace<-matrix-no-push-joint! ((arg0 cspace) (arg1 matrix)) + (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 + ) + ) + +;; 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) + ) + v0-0 + ) + ) + +;; definition for function cspace<-parented-matrix-joint! (defun cspace<-parented-matrix-joint! ((arg0 cspace) (arg1 matrix)) (matrix*! (-> arg0 bone transform) arg1 (-> arg0 parent bone transform)) ) +;; definition for function cspace<-parented-transformq-joint! +;; ERROR: function was not converted to expressions. Cannot decompile. + +;; definition for function clear-frame-accumulator +;; ERROR: function was not converted to expressions. Cannot decompile. + +;; definition for function normalize-frame-quaternions +;; ERROR: function was not converted to expressions. Cannot decompile. + +;; definition for function decompress-fixed-data-to-accumulator +;; ERROR: function was not converted to expressions. Cannot decompile. + +;; definition for function decompress-frame-data-to-accumulator +;; ERROR: function was not converted to expressions. Cannot decompile. + +;; definition for function decompress-frame-data-pair-to-accumulator +;; ERROR: function was not converted to expressions. Cannot decompile. + +;; definition for function calc-animation-from-spr +;; ERROR: function was not converted to expressions. Cannot decompile. + +;; definition for function create-interpolated-joint-animation-frame + + + + diff --git a/goal_src/engine/data/art-h.gc b/goal_src/engine/data/art-h.gc index edbcd40e52..0f5e188e94 100644 --- a/goal_src/engine/data/art-h.gc +++ b/goal_src/engine/data/art-h.gc @@ -112,7 +112,7 @@ (fixed-qwc uint32 :offset-assert 4) (frame-qwc uint32 :offset-assert 8) (fixed joint-anim-compressed-fixed :offset-assert 12) - (data uint32 1 :offset-assert 16) ;; guess + (data joint-anim-compressed-frame 1 :offset-assert 16) ;; guess ) :method-count-assert 9 :size-assert #x14 @@ -159,7 +159,7 @@ (master-art-group-name string :offset 32) (master-art-group-index int32 :offset 36) (blerc-data (pointer uint8) :offset 40) ;; todo, this is probably something else - (frames pointer :offset 44) + (frames joint-anim-compressed-control :offset 44) (data joint-anim-compressed :dynamic) ) :method-count-assert 13 diff --git a/goal_src/engine/draw/drawable.gc b/goal_src/engine/draw/drawable.gc index 015e2ef630..cc751250e6 100644 --- a/goal_src/engine/draw/drawable.gc +++ b/goal_src/engine/draw/drawable.gc @@ -699,20 +699,10 @@ (defun dma-add-process-drawable-hud ((arg0 process-drawable) (arg1 draw-control) (arg2 symbol) (arg3 dma-buffer)) (set! (-> arg1 status) (logand -9 (-> arg1 status))) (when (zero? (logand (-> arg1 status) 22)) - (let ((v1-6 (the-as vu-lights (+ 64 #x70000000))) - (a0-3 *hud-lights*) - ) - (set! (-> v1-6 direction 0 quad) (-> a0-3 direction 0 quad)) - (set! (-> v1-6 direction 1 quad) (-> a0-3 direction 1 quad)) - (set! (-> v1-6 direction 2 quad) (-> a0-3 direction 2 quad)) - (set! (-> v1-6 color 0 quad) (-> a0-3 color 0 quad)) - (set! (-> v1-6 color 1 quad) (-> a0-3 color 1 quad)) - (set! (-> v1-6 color 2 quad) (-> a0-3 color 2 quad)) - (set! (-> v1-6 ambient quad) (-> a0-3 ambient quad)) - ) + ;; snip (lod-set! arg1 0) (logior! (-> arg1 status) 8) - (draw-bones-hud arg1 arg3) + ;;(draw-bones-hud arg1 arg3) ) 0 (none) @@ -723,6 +713,8 @@ (none) ) +(define-extern guard-band-cull (function vector symbol)) + (defun dma-add-process-drawable ((arg0 process-drawable) (arg1 draw-control) (arg2 symbol) (arg3 dma-buffer)) @@ -1014,7 +1006,7 @@ (if (logtest? (-> arg1 status) 32) (return #f) ) - (draw-bones arg1 arg3 f30-1) + ;(draw-bones arg1 arg3 f30-1) ) (when (and (< s3-1 (-> arg1 cur-lod)) (logtest? (-> arg1 status) 128)) (let ((v1-82 *matrix-engine*)) diff --git a/goal_src/engine/draw/process-drawable.gc b/goal_src/engine/draw/process-drawable.gc index 397bf28bf0..b6654cf5c7 100644 --- a/goal_src/engine/draw/process-drawable.gc +++ b/goal_src/engine/draw/process-drawable.gc @@ -335,7 +335,7 @@ (countdown (s5-0 (-> gp-0 length)) (let ((a0-1 (handle->process (-> gp-0 s5-0)))) (if a0-1 - (dummy-17 a0-1) + (dummy-17 (the-as process-drawable a0-1)) ) ) ) @@ -537,6 +537,8 @@ ) ) +(define-extern ja-post (function none :behavior process-drawable)) +(define-extern anim-loop (function none :behavior process-drawable)) ;; failed to figure out what this is: (defstate process-drawable-idle (process-drawable) :code @@ -1260,7 +1262,7 @@ (nop!) (suspend) ) - (the-as symbol #f) + (none) ) ;; definition for function transform-post diff --git a/goal_src/engine/game/game-h.gc b/goal_src/engine/game/game-h.gc index 1e0c08239b..d22d2aec9f 100644 --- a/goal_src/engine/game/game-h.gc +++ b/goal_src/engine/game/game-h.gc @@ -28,7 +28,7 @@ (water water-control :offset-assert 156) (sound ambient-sound :offset-assert 160) (state-flags uint32 :offset-assert 164) - (state-time int64 :offset-assert 168) + (state-time int64 :offset-assert 168) ) :heap-base #x40 :method-count-assert 20 @@ -36,22 +36,11 @@ :flag-assert #x14004000b0 ;; inherited inspect of process (:methods - (deactivate (_type_) none 10) - ;; add-art? - (dummy-14 (_type_ skeleton-group object) none 14) ;; I think skeleton group is too specific. - - ;; load skeleton group? + (initialize-skeleton (_type_ skeleton-group pair) none 14) (dummy-15 (_type_ string object) _type_ 15) - - ;; apply velocity offset? - ;; probably a transformq (dummy-16 (_type_ int (inline-array vector) vector) collide-shape 16) - - ;; something with cspace (dummy-17 (_type_) none 17) - (dummy-18 (_type_) symbol 18) - - ;; something with animation + (dummy-18 (_type_) none 18) (dummy-19 (_type_) none 19) ) ) diff --git a/goal_src/engine/game/generic-obs-h.gc b/goal_src/engine/game/generic-obs-h.gc index 09f9f88d81..a7c945ea72 100644 --- a/goal_src/engine/game/generic-obs-h.gc +++ b/goal_src/engine/game/generic-obs-h.gc @@ -14,6 +14,13 @@ (define-extern draw-eco-beam (function vector vector none)) +(define-extern process-grab? (function process none :behavior process)) +(define-extern process-release? (function process symbol :behavior process)) + +(define-extern fuel-cell type) + +(define-extern birth-pickup-at-point (function vector int float symbol process-drawable fact-info (pointer process))) + ;; decomp begins (deftype manipy (process-drawable) diff --git a/goal_src/engine/game/generic-obs.gc b/goal_src/engine/game/generic-obs.gc index 47d998bebb..c12ae78ad4 100644 --- a/goal_src/engine/game/generic-obs.gc +++ b/goal_src/engine/game/generic-obs.gc @@ -122,9 +122,40 @@ ;; TODO - for misty-warehouse (define-extern camera-tracker-init (function function none)) ;; TODO - not confirmed, see misty-warehouse::camera-view -(define-extern process-grab? (function process symbol)) +(define-extern command-get-process (function basic process-drawable process)) +(defbehavior process-grab? process ((arg0 process)) + (let ((gp-0 (command-get-process arg0 *target*))) + (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) + ) + ) + (none) + ) + +(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 + ) + ) + ) + ) + (define-extern camera-change-to (function string int symbol none)) ;; TODO - not confirmed yet -(define-extern process-release? (function process symbol)) ;; TODO - for projectiles | dark-eco-pool (define-extern part-tracker-init (function sparticle-launch-group int basic basic basic vector none)) ;; TODO - not confirmed ;; TODO - for target-part diff --git a/goal_src/engine/target/logic-target.gc b/goal_src/engine/target/logic-target.gc index 67b428488a..fcb4ad8b7f 100644 --- a/goal_src/engine/target/logic-target.gc +++ b/goal_src/engine/target/logic-target.gc @@ -2737,7 +2737,7 @@ (set! (-> self control unknown-surface01 name) 'current) (set! (-> self control unknown-surface01 active-hook) nothing) (set! (-> self control unknown-surface01 touch-hook) nothing) - (dummy-14 self *jchar-sg* '()) + (initialize-skeleton self *jchar-sg* '()) (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))) From 2c904283d569bd5220d385c78b5cd75b6ba8cb9b Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 03:11:41 +0100 Subject: [PATCH 14/27] temp --- common/cross_os_debug/xdbg.h | 3 +- decompiler/config/all-types.gc | 12 +- .../jak1_ntsc_black_label/type_casts.jsonc | 4 +- .../jak1_ntsc_black_label/var_names.jsonc | 6 + goal_src/engine/anim/aligner.gc | 2 +- goal_src/engine/anim/joint-h.gc | 3 +- goal_src/engine/anim/joint.gc | 184 +++++++++++++++--- goal_src/engine/camera/pov-camera.gc | 2 +- goal_src/engine/data/art-h.gc | 1 + goal_src/engine/debug/anim-tester.gc | 123 ++++++------ goal_src/engine/draw/process-drawable.gc | 8 +- goal_src/engine/game/collectables.gc | 4 +- goal_src/engine/game/generic-obs-h.gc | 2 +- goal_src/engine/game/generic-obs.gc | 15 +- goal_src/engine/game/task/process-taskable.gc | 4 +- 15 files changed, 250 insertions(+), 123 deletions(-) diff --git a/common/cross_os_debug/xdbg.h b/common/cross_os_debug/xdbg.h index 58ecf97ccc..479c4b0133 100644 --- a/common/cross_os_debug/xdbg.h +++ b/common/cross_os_debug/xdbg.h @@ -50,8 +50,7 @@ struct ThreadID { ThreadID() = default; }; -struct MemoryHandle { -}; +struct MemoryHandle {}; #endif /*! diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 656d2c6b91..836025b222 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -7783,7 +7783,7 @@ (master-art-group-name string :offset 32) (master-art-group-index int32 :offset 36) (blerc-data (pointer uint8) :offset 40) ;; todo, this is probably something else - (frames joint-anim-compressed-control :offset 44) ;; this structure doesn't exist? it's a structure with an array of joint-anim-compressed-hdr starting at offset 12 + (frames joint-anim-compressed-control :offset 44) (data joint-anim-compressed :dynamic :offset-assert 48) ) :method-count-assert 13 @@ -15362,7 +15362,7 @@ (define-extern decompress-fixed-data-to-accumulator (function none)) (define-extern decompress-frame-data-to-accumulator (function none)) (define-extern decompress-frame-data-pair-to-accumulator (function none)) -(define-extern matrix-from-control! (function matrix-stack joint matrix symbol matrix)) +(define-extern matrix-from-control! (function matrix-stack joint joint-control symbol matrix)) (define-extern matrix-from-control-channel! (function matrix joint joint-control-channel matrix)) (define-extern matrix-from-control-pair! (function matrix matrix joint matrix)) (define-extern matrix-from-joint-anim-frame (function joint-anim-compressed-control int int matrix)) ;; ??? @@ -15383,7 +15383,7 @@ (define-extern cspace<-transformq+trans! (function cspace transformq vector matrix)) (define-extern cspace<-transformq+world-trans! (function cspace transformq vector matrix)) (define-extern cspace-calc-total-matrix! (function cspace matrix matrix)) -(define-extern cspace<-matrix-no-push-joint! (function cspace matrix matrix)) +(define-extern cspace<-matrix-no-push-joint! (function cspace joint-control matrix)) (define-extern cspace<-matrix-joint! (function cspace matrix matrix)) (define-extern cspace<-parented-matrix-joint! (function cspace matrix matrix)) (define-extern clear-frame-accumulator function) @@ -19192,7 +19192,7 @@ ;; - Functions (define-extern process-entity-status! (function process entity-perm-status symbol int)) -(define-extern process-grab? (function process none :behavior process)) +(define-extern process-grab? (function process symbol :behavior process)) (define-extern process-release? (function process symbol :behavior process)) (define-extern ja-post (function none :behavior process-drawable)) (define-extern make-nodes-from-jg (function art-joint-geo pair symbol cspace-array :behavior process-drawable)) @@ -20752,8 +20752,8 @@ (define-extern vent-standard-event-handler function) (define-extern ecovalve-init-by-other function) -(define-extern birth-pickup-at-point (function vector int float symbol process-drawable fact-info (pointer process))) ;; TODO - unconfirmed - see beach-rocks -(define-extern fuel-cell-pick-anim (function process-drawable spool-anim)) ;; TODO - unconfirmed - see process-taskable +(define-extern birth-pickup-at-point (function vector int float symbol process-drawable fact-info (pointer process))) +(define-extern fuel-cell-pick-anim (function process-drawable spool-anim)) (define-extern othercam-init-by-other (function process-taskable symbol symbol symbol none :behavior othercam)) (define-extern fuel-cell-animate (function none)) (define-extern add-blue-motion (function symbol symbol symbol symbol none :behavior eco-blue)) diff --git a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc index 0137990b5d..874c2b5058 100644 --- a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc @@ -4211,7 +4211,9 @@ [39, "v1", "pointer"], [69, "v1", "pointer"], [78, "v1", "pointer"], - [81, "v1", "pointer"] + [81, "v1", "pointer"], + [58, "v1", "matrix"], + [[45, 49], "v1", "matrix"] ], "placeholder-do-not-add-below": [] diff --git a/decompiler/config/jak1_ntsc_black_label/var_names.jsonc b/decompiler/config/jak1_ntsc_black_label/var_names.jsonc index 5cb9bb3f1d..2a67bf7f99 100644 --- a/decompiler/config/jak1_ntsc_black_label/var_names.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/var_names.jsonc @@ -3661,5 +3661,11 @@ } }, + "matrix-from-control!": { + "vars": { + "v1-10": ["v1-10", "matrix"] + } + }, + "aaaaaaaaaaaaaaaaaaaaaaa": {} } diff --git a/goal_src/engine/anim/aligner.gc b/goal_src/engine/anim/aligner.gc index 2a2e34980b..ee7fd03d37 100644 --- a/goal_src/engine/anim/aligner.gc +++ b/goal_src/engine/anim/aligner.gc @@ -95,7 +95,7 @@ (set! (-> a2-5 vector 3 quad) a3-1) ) (let ((s5-1 (-> obj process node-list data 1))) - (cspace<-matrix-no-push-joint! s5-1 (the-as matrix (-> obj process skel))) + (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)) diff --git a/goal_src/engine/anim/joint-h.gc b/goal_src/engine/anim/joint-h.gc index b88b5a6d2a..90bd2fac80 100644 --- a/goal_src/engine/anim/joint-h.gc +++ b/goal_src/engine/anim/joint-h.gc @@ -107,4 +107,5 @@ (define-extern cspace<-parented-transformq-joint! (function cspace transformq none)) (define-extern cspace<-transformq! (function cspace transformq matrix)) (define-extern vector<-cspace! (function vector cspace vector)) -(define-extern cspace<-transformq+world-trans! (function cspace transformq vector matrix)) \ No newline at end of file +(define-extern cspace<-transformq+world-trans! (function cspace transformq vector matrix)) +(define-extern create-interpolated-joint-animation-frame (function joint-control int process-drawable int)) \ No newline at end of file diff --git a/goal_src/engine/anim/joint.gc b/goal_src/engine/anim/joint.gc index d713a15342..0aa22dce0c 100644 --- a/goal_src/engine/anim/joint.gc +++ b/goal_src/engine/anim/joint.gc @@ -139,8 +139,9 @@ ) ;; definition for function jacc-mem-usage -;; INFO: Return type mismatch pointer vs int. -(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) @@ -187,6 +188,36 @@ ) ;; 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))) + ) + ) + ) + (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 (defmethod dummy-9 joint-control-channel ((obj joint-control-channel)) @@ -533,36 +564,46 @@ ) ;; definition for method 7 of type art-group -;; WARN: Function may read a register that is not set: a2 -(defmethod relocate art-group ((obj art-group) (arg0 int)) - (local-vars (a2-0 none)) +;; INFO: Return type mismatch art-group vs none. +(defmethod + relocate + art-group + ((obj art-group) (arg0 kheap) (arg1 (pointer uint8))) (let ((s4-0 (clear *temp-string*))) - (string<-charp s4-0 (the-as (pointer uint8) a2-0)) - (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 - ) + (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 + ) + ) ) ) + (none) ) ;; definition for method 5 of type art-mesh-geo @@ -740,6 +781,7 @@ 0 ) +;; definition for function joint-control-copy! (defun joint-control-copy! ((arg0 joint-control) (arg1 joint-control)) (set! (-> arg0 blend-index) (-> arg1 blend-index)) (set! (-> arg0 active-channels) (-> arg1 active-channels)) @@ -976,6 +1018,76 @@ ) ) +;; 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)) + (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))) + ) + (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)) + ) + ;; definition for method 9 of type cspace (defmethod dummy-9 cspace ((obj cspace) (arg0 basic)) (set! (-> obj parent) #f) @@ -1033,7 +1145,9 @@ ) ;; 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) ) @@ -1044,7 +1158,7 @@ ;; definition for function cspace<-matrix-no-push-joint! ;; Used lq/sq -(defun cspace<-matrix-no-push-joint! ((arg0 cspace) (arg1 matrix)) +(defun cspace<-matrix-no-push-joint! ((arg0 cspace) (arg1 joint-control)) (let ((v1-2 (matrix-from-control! @@ -1116,6 +1230,14 @@ ;; 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)) + ;(flatten-joint-control-to-spr (-> arg2 skel)) + ;(make-joint-jump-tables) + ;(calc-animation-from-spr arg0 arg1) + 0 + ) diff --git a/goal_src/engine/camera/pov-camera.gc b/goal_src/engine/camera/pov-camera.gc index 222e40d069..600a078e8a 100644 --- a/goal_src/engine/camera/pov-camera.gc +++ b/goal_src/engine/camera/pov-camera.gc @@ -358,7 +358,7 @@ (quaternion-copy! (-> self root quat) (-> v1-20 root quat)) ) ) - (dummy-14 self arg1 '()) + (initialize-skeleton self arg1 '()) (logior! (-> self draw status) 32) (logior! (-> self skel status) 1) (set! (-> self anim-name) arg2) diff --git a/goal_src/engine/data/art-h.gc b/goal_src/engine/data/art-h.gc index 0f5e188e94..ac5d1cc84c 100644 --- a/goal_src/engine/data/art-h.gc +++ b/goal_src/engine/data/art-h.gc @@ -175,6 +175,7 @@ :size-assert #x20 :flag-assert #xf00000020 (:methods + (relocate (_type_ kheap (pointer uint8)) none :replace 7) (link-art! (_type_) art-group 13) (unlink-art! (_type_) int 14) ) diff --git a/goal_src/engine/debug/anim-tester.gc b/goal_src/engine/debug/anim-tester.gc index 98492ec5a3..fc2e22bc87 100644 --- a/goal_src/engine/debug/anim-tester.gc +++ b/goal_src/engine/debug/anim-tester.gc @@ -3030,85 +3030,80 @@ (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*) - ) - (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 (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)) + (let ((gp-2 (new 'stack 'file-stream *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))) - "return the start of the list" - (let ((s4-2 (the-as anim-test-seq-item (-> v1-11 head)))) - (while (let ((v1-21 s4-2)) + "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-21 next))) + (not (not (-> v1-30 next))) ) - (when (zero? (logand (-> s4-2 flags) 5)) - (format + (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 - " 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" - "-" - ) + " ~S~%" + (if (logtest? (-> (the-as anim-test-sequence s5-1) flags) 1) + "EndSequence" + "EndAnim" + ) ) - ) "return the next node in the list" - (set! s4-2 (the-as anim-test-seq-item (-> s4-2 next))) + (set! s5-1 (-> (the-as anim-test-sequence s5-1) 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) ) - ) ) (defun anim-tester-save-all-objects ((arg0 anim-tester)) diff --git a/goal_src/engine/draw/process-drawable.gc b/goal_src/engine/draw/process-drawable.gc index b6654cf5c7..79b979b211 100644 --- a/goal_src/engine/draw/process-drawable.gc +++ b/goal_src/engine/draw/process-drawable.gc @@ -333,9 +333,9 @@ (defun execute-math-engine () (let ((gp-0 *matrix-engine*)) (countdown (s5-0 (-> gp-0 length)) - (let ((a0-1 (handle->process (-> gp-0 s5-0)))) + (let ((a0-1 (the-as process-drawable (handle->process (-> gp-0 s5-0))))) (if a0-1 - (dummy-17 (the-as process-drawable a0-1)) + (dummy-17 a0-1) ) ) ) @@ -542,7 +542,7 @@ ;; failed to figure out what this is: (defstate process-drawable-idle (process-drawable) :code - (the-as (function none :behavior process-drawable) anim-loop) + anim-loop :post ja-post ) @@ -1254,8 +1254,6 @@ ) ;; definition for function anim-loop -;; INFO: Return type mismatch none vs symbol. -;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? (defbehavior anim-loop process-drawable () (logior! (-> self mask) (process-mask sleep-code)) (while #t diff --git a/goal_src/engine/game/collectables.gc b/goal_src/engine/game/collectables.gc index 29335d1022..b5a6d71069 100644 --- a/goal_src/engine/game/collectables.gc +++ b/goal_src/engine/game/collectables.gc @@ -6,7 +6,7 @@ ;; dgos: GAME, ENGINE ;; TODO - for nav-enemy -(define-extern birth-pickup-at-point (function vector int float symbol process-drawable symbol (pointer process)));; TODO - unconfirmed - see beach-rocks +(define-extern birth-pickup-at-point (function vector int float symbol process-drawable fact-info (pointer process))) ;; TODO - for oracle (define-extern *fuel-cell-sg* skeleton-group) ;; unknown type (define-extern *money-sg* skeleton-group) ;; unknown type @@ -77,4 +77,4 @@ :flag-assert #x1f0130019c ) (define-extern fuel-cell-init-as-clone (function handle object none)) -(define-extern fuel-cell-pick-anim (function process-taskable none)) +(define-extern fuel-cell-pick-anim (function process-drawable spool-anim)) diff --git a/goal_src/engine/game/generic-obs-h.gc b/goal_src/engine/game/generic-obs-h.gc index a7c945ea72..6fc0e04cc5 100644 --- a/goal_src/engine/game/generic-obs-h.gc +++ b/goal_src/engine/game/generic-obs-h.gc @@ -14,7 +14,7 @@ (define-extern draw-eco-beam (function vector vector none)) -(define-extern process-grab? (function process none :behavior process)) +(define-extern process-grab? (function process symbol :behavior process)) (define-extern process-release? (function process symbol :behavior process)) (define-extern fuel-cell type) diff --git a/goal_src/engine/game/generic-obs.gc b/goal_src/engine/game/generic-obs.gc index c12ae78ad4..9dfb538be4 100644 --- a/goal_src/engine/game/generic-obs.gc +++ b/goal_src/engine/game/generic-obs.gc @@ -125,14 +125,17 @@ (define-extern command-get-process (function basic process-drawable process)) (defbehavior process-grab? process ((arg0 process)) (let ((gp-0 (command-get-process arg0 *target*))) - (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) + (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) + ) ) ) - (none) ) (defbehavior process-release? process ((arg0 process)) diff --git a/goal_src/engine/game/task/process-taskable.gc b/goal_src/engine/game/task/process-taskable.gc index cb63466365..7eddad0a20 100644 --- a/goal_src/engine/game/task/process-taskable.gc +++ b/goal_src/engine/game/task/process-taskable.gc @@ -1470,7 +1470,7 @@ (initialize-collision obj s3-0 s0-0) (process-drawable-from-entity! obj (the-as res-lump arg0)) (let* ((a0-4 obj) - (t9-3 (method-of-object a0-4 dummy-14)) + (t9-3 (method-of-object a0-4 initialize-skeleton)) (a2-2 '()) (a1-4 arg1) ) @@ -1478,7 +1478,7 @@ (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) (the-as spool-anim (fuel-cell-pick-anim obj))) + (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) From d659ef5971f772cfe1cc0cd6a0b36eea435faff4 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 03:17:53 +0100 Subject: [PATCH 15/27] fix files --- goal_src/levels/common/babak.gc | 2 +- goal_src/levels/common/basebutton.gc | 10 +-- goal_src/levels/common/blocking-plane.gc | 2 +- goal_src/levels/common/nav-enemy.gc | 2 +- goal_src/levels/common/plat-button.gc | 4 +- goal_src/levels/common/plat.gc | 2 +- goal_src/levels/common/sharkey.gc | 2 +- goal_src/levels/common/water-anim.gc | 2 +- goal_src/levels/finalboss/final-door.gc | 6 +- goal_src/levels/finalboss/green-eco-lurker.gc | 2 +- goal_src/levels/finalboss/light-eco.gc | 8 +- goal_src/levels/finalboss/robotboss-misc.gc | 6 +- goal_src/levels/finalboss/robotboss-weapon.gc | 8 +- goal_src/levels/finalboss/robotboss.gc | 2 +- goal_src/levels/jungle/bouncer.gc | 2 +- goal_src/levels/jungle/fisher-JUN.gc | 81 +++++++++++-------- goal_src/levels/jungle/hopper.gc | 2 +- goal_src/levels/jungle/junglefish.gc | 2 +- goal_src/levels/village1/fishermans-boat.gc | 2 +- goal_src/levels/village1/yakow.gc | 2 +- goal_src/levels/village2/sunken-elevator.gc | 2 +- goal_src/levels/village3/miners.gc | 2 +- 22 files changed, 83 insertions(+), 70 deletions(-) diff --git a/goal_src/levels/common/babak.gc b/goal_src/levels/common/babak.gc index 8e9524ce7a..fcc10d0dce 100644 --- a/goal_src/levels/common/babak.gc +++ b/goal_src/levels/common/babak.gc @@ -672,7 +672,7 @@ ) (defmethod TODO-RENAME-48 babak ((obj babak)) - (dummy-14 obj *babak-sg* '()) + (initialize-skeleton obj *babak-sg* '()) (TODO-RENAME-45 obj *babak-nav-enemy-info*) (set! (-> obj neck up) (the-as uint 0)) (set! (-> obj neck nose) (the-as uint 1)) diff --git a/goal_src/levels/common/basebutton.gc b/goal_src/levels/common/basebutton.gc index aabab91e46..7f05276279 100644 --- a/goal_src/levels/common/basebutton.gc +++ b/goal_src/levels/common/basebutton.gc @@ -461,7 +461,7 @@ ) (defmethod TODO-RENAME-26 basebutton ((obj basebutton)) - (dummy-14 obj *generic-button-sg* '()) + (initialize-skeleton obj *generic-button-sg* '()) (logior! (-> obj skel status) 1) (ja-channel-set! 1) (cond @@ -789,7 +789,7 @@ (-> self control unknown-vector102 y) (+ -4096.0 (-> self control unknown-vector102 y)) ) - (set! (-> self control unknown-symbol20) #f) + (set! (-> self control unknown-float120) (the-as float #f)) (vector-reset! (-> self control transv)) (logior! (-> self state-flags) 1024) (set! (-> self alt-cam-pos quad) (-> arg1 quad)) @@ -939,7 +939,7 @@ (and (or (< (vector-dot gp-2 (-> self control transv)) 0.0) - (-> self control unknown-symbol20) + (-> self control unknown-float120) ) (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15) ) @@ -950,10 +950,10 @@ ) (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-symbol20)) + (when (not (-> self control unknown-float120)) (send-event self 'do-effect 'death-warp-out -1.0) (let ((v0-2 #t)) - (set! (-> self control unknown-symbol20) v0-2) + (set! (-> self control unknown-float120) (the-as float v0-2)) v0-2 ) ) diff --git a/goal_src/levels/common/blocking-plane.gc b/goal_src/levels/common/blocking-plane.gc index a8a45766ab..207b31266e 100644 --- a/goal_src/levels/common/blocking-plane.gc +++ b/goal_src/levels/common/blocking-plane.gc @@ -115,7 +115,7 @@ (matrix->quaternion (-> self root quat) s4-2) ) ) - (dummy-14 self *ef-plane-sg* '()) + (initialize-skeleton self *ef-plane-sg* '()) (logior! (-> self draw status) 32) (go blocking-plane-idle) (none) diff --git a/goal_src/levels/common/nav-enemy.gc b/goal_src/levels/common/nav-enemy.gc index 680e83bacf..ab6f3f8cc2 100644 --- a/goal_src/levels/common/nav-enemy.gc +++ b/goal_src/levels/common/nav-enemy.gc @@ -2225,7 +2225,7 @@ nav-enemy-default-event-handler (the float (the-as int (-> self entity extra perm task))) #f self - #f + (the-as fact-info #f) ) (when (not (-> self child)) (suspend) diff --git a/goal_src/levels/common/plat-button.gc b/goal_src/levels/common/plat-button.gc index b8bd0c363f..2a38bbfce5 100644 --- a/goal_src/levels/common/plat-button.gc +++ b/goal_src/levels/common/plat-button.gc @@ -88,7 +88,7 @@ (or (not (-> self should-grab-player?)) (let ((v0-3 (process-grab? *target*))) - (set! (-> self grab-player?) v0-3) + (set! (-> self grab-player?) (the-as symbol v0-3)) v0-3 ) ) @@ -657,7 +657,7 @@ ) (defmethod TODO-RENAME-31 plat-button ((obj plat-button)) - (dummy-14 obj *plat-button-sg* '()) + (initialize-skeleton obj *plat-button-sg* '()) 0 (none) ) diff --git a/goal_src/levels/common/plat.gc b/goal_src/levels/common/plat.gc index e3264507bc..7682e5e09b 100644 --- a/goal_src/levels/common/plat.gc +++ b/goal_src/levels/common/plat.gc @@ -365,7 +365,7 @@ (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) (dummy-24 obj) (process-drawable-from-entity! obj arg0) - (dummy-14 obj (get-unlit-skel obj) '()) + (initialize-skeleton obj (get-unlit-skel obj) '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) diff --git a/goal_src/levels/common/sharkey.gc b/goal_src/levels/common/sharkey.gc index f788bf3122..d037a06cf9 100644 --- a/goal_src/levels/common/sharkey.gc +++ b/goal_src/levels/common/sharkey.gc @@ -1189,7 +1189,7 @@ nav-enemy-default-event-handler (set! (-> obj collide-info) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *sharkey-sg* '()) + (initialize-skeleton obj *sharkey-sg* '()) (TODO-RENAME-45 obj *sharkey-nav-enemy-info*) (logclear! (-> obj mask) (process-mask actor-pause)) (set! diff --git a/goal_src/levels/common/water-anim.gc b/goal_src/levels/common/water-anim.gc index 7c685c94b8..bfda06aec9 100644 --- a/goal_src/levels/common/water-anim.gc +++ b/goal_src/levels/common/water-anim.gc @@ -1497,7 +1497,7 @@ (go process-drawable-art-error "skel group") ) ) - (dummy-14 obj (the-as skeleton-group s4-0) '()) + (initialize-skeleton obj (the-as skeleton-group s4-0) '()) ) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) diff --git a/goal_src/levels/finalboss/final-door.gc b/goal_src/levels/finalboss/final-door.gc index 70240b9ba4..39cea3feb3 100644 --- a/goal_src/levels/finalboss/final-door.gc +++ b/goal_src/levels/finalboss/final-door.gc @@ -349,13 +349,13 @@ ) (defmethod dummy-21 power-left ((obj power-left)) - (dummy-14 obj *power-left-sg* '()) + (initialize-skeleton obj *power-left-sg* '()) 0 (none) ) (defmethod dummy-21 power-right ((obj power-right)) - (dummy-14 obj *power-right-sg* '()) + (initialize-skeleton obj *power-right-sg* '()) 0 (none) ) @@ -514,7 +514,7 @@ (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) - (dummy-14 self *powercellalt-sg* '()) + (initialize-skeleton self *powercellalt-sg* '()) (set! (-> self part) (create-launch-control (-> *part-group-id-table* 63) self) diff --git a/goal_src/levels/finalboss/green-eco-lurker.gc b/goal_src/levels/finalboss/green-eco-lurker.gc index 46da7e1684..fe673415c0 100644 --- a/goal_src/levels/finalboss/green-eco-lurker.gc +++ b/goal_src/levels/finalboss/green-eco-lurker.gc @@ -1197,7 +1197,7 @@ ) (defmethod TODO-RENAME-48 green-eco-lurker ((obj green-eco-lurker)) - (dummy-14 obj *green-eco-lurker-sg* '()) + (initialize-skeleton obj *green-eco-lurker-sg* '()) (set! (-> obj draw origin-joint-index) (the-as uint 3)) (set! (-> obj collide-info nav-flags) diff --git a/goal_src/levels/finalboss/light-eco.gc b/goal_src/levels/finalboss/light-eco.gc index 59503d9f8a..132d1c37bd 100644 --- a/goal_src/levels/finalboss/light-eco.gc +++ b/goal_src/levels/finalboss/light-eco.gc @@ -28,10 +28,10 @@ (common-trans (_type_) none 20) ) (:states + light-eco-child-die light-eco-child-grabbed light-eco-child-hit-ground light-eco-child-idle - light-eco-child-die ) ) @@ -53,8 +53,8 @@ (common-trans (_type_) none 21) ) (:states - light-eco-mother-discipate light-eco-mother-active + light-eco-mother-discipate ) ) @@ -824,7 +824,7 @@ (set! (-> s4-3 y) -122880.0) ) (logclear! (-> self mask) (process-mask actor-pause)) - (dummy-14 self *light-eco-small-sg* '()) + (initialize-skeleton self *light-eco-small-sg* '()) (ja-channel-set! 1) (let ((a0-21 (-> self skel root-channel 0))) (set! @@ -1147,7 +1147,7 @@ (vector-reset! (-> self root scale)) (quaternion-identity! (-> self root quat)) (logclear! (-> self mask) (process-mask actor-pause)) - (dummy-14 self *light-eco-big-sg* '()) + (initialize-skeleton self *light-eco-big-sg* '()) (ja-channel-set! 1) (let ((a0-7 (-> self skel root-channel 0))) (set! diff --git a/goal_src/levels/finalboss/robotboss-misc.gc b/goal_src/levels/finalboss/robotboss-misc.gc index 28f1315258..218113aa08 100644 --- a/goal_src/levels/finalboss/robotboss-misc.gc +++ b/goal_src/levels/finalboss/robotboss-misc.gc @@ -314,7 +314,7 @@ (the-as part-tracker (-> self particles gp-0 tracker process 0)) start-time ) - (the-as uint (-> *display* base-frame-counter)) + (-> *display* base-frame-counter) ) ) ((-> self particles gp-0 kind) @@ -457,7 +457,7 @@ (defmethod copy-defaults! ecoclaw ((obj ecoclaw) (arg0 res-lump)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *ecoclaw-sg* '()) + (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)) @@ -698,7 +698,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *silodoor-sg* '()) + (initialize-skeleton obj *silodoor-sg* '()) (logior! (-> obj skel status) 1) (set! (-> obj root pause-adjust-distance) 1228800.0) (set! diff --git a/goal_src/levels/finalboss/robotboss-weapon.gc b/goal_src/levels/finalboss/robotboss-weapon.gc index 716049e0d4..1b4a80838c 100644 --- a/goal_src/levels/finalboss/robotboss-weapon.gc +++ b/goal_src/levels/finalboss/robotboss-weapon.gc @@ -806,7 +806,7 @@ (set! (-> self root) s1-0) ) (set! (-> self root trans quad) (-> arg0 quad)) - (dummy-14 self *darkecobomb-sg* '()) + (initialize-skeleton self *darkecobomb-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self part) @@ -971,7 +971,7 @@ (set! (-> self root) s2-0) ) (set! (-> self root trans quad) (-> arg0 quad)) - (dummy-14 self *greenshot-sg* '()) + (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)) @@ -1315,7 +1315,7 @@ (set! (-> self root) s0-0) ) (set! (-> self root trans quad) (-> arg0 quad)) - (dummy-14 self *redring-sg* '()) + (initialize-skeleton self *redring-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) arg3) @@ -1451,7 +1451,7 @@ (set! (-> self root) s2-0) ) (set! (-> self root trans quad) (-> arg0 quad)) - (dummy-14 self *redring-sg* '()) + (initialize-skeleton self *redring-sg* '()) (logior! (-> self draw status) 2) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) (the-as int arg3)) diff --git a/goal_src/levels/finalboss/robotboss.gc b/goal_src/levels/finalboss/robotboss.gc index ba0169458e..1f4926399d 100644 --- a/goal_src/levels/finalboss/robotboss.gc +++ b/goal_src/levels/finalboss/robotboss.gc @@ -6032,7 +6032,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *robotboss-sg* '()) + (initialize-skeleton obj *robotboss-sg* '()) (aybabtu 2) (set! (-> obj nav) diff --git a/goal_src/levels/jungle/bouncer.gc b/goal_src/levels/jungle/bouncer.gc index bb06840684..c4f6808e7d 100644 --- a/goal_src/levels/jungle/bouncer.gc +++ b/goal_src/levels/jungle/bouncer.gc @@ -265,7 +265,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *bouncer-sg* '()) + (initialize-skeleton obj *bouncer-sg* '()) (nav-mesh-connect obj (-> obj root) (the-as nav-control #f)) (set! (-> obj spring-height) diff --git a/goal_src/levels/jungle/fisher-JUN.gc b/goal_src/levels/jungle/fisher-JUN.gc index c0edcf0ca1..8815121c17 100644 --- a/goal_src/levels/jungle/fisher-JUN.gc +++ b/goal_src/levels/jungle/fisher-JUN.gc @@ -1371,33 +1371,42 @@ (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self root) (new 'process 'trsqv)) (set! (-> self size) 3276.8) - (dummy-14 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) @@ -2896,7 +2905,7 @@ (activate! (-> self control unknown-smush00) 1.0 120 210 0.3 1.0) ) ((= arg2 'lose) - (set! (-> self control unknown-symbol20) arg2) + (set! (-> self control unknown-float120) (the-as float arg2)) arg2 ) (else @@ -2909,7 +2918,7 @@ (set! (-> self control unknown-surface00) *empty-mods*) (logior! (-> self state-flags) 16) (set-zero! (-> self control unknown-smush00)) - (set! (-> self control unknown-symbol20) #f) + (set! (-> self control unknown-float120) (the-as float #f)) (none) ) :exit @@ -3026,7 +3035,7 @@ (set! (-> s5-1 frame-num) (ja-aframe 15.0 0)) ) (let ((s5-2 (new 'stack-no-clear 'vector))) - (until (-> self control unknown-symbol20) + (until (-> self control unknown-float120) (let ((v1-42 (handle->process arg0))) (when v1-42 (let ((a0-28 (-> self skel root-channel 0))) @@ -3062,13 +3071,17 @@ (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) - (dummy-14 (-> self manipy 0 joint 0) (the-as skeleton-group s4-0) s3-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 dummy-14)) + (t9-16 (method-of-object a0-34 initialize-skeleton)) (a2-7 #f) ) - (t9-16 a0-34 (the-as skeleton-group s4-0) a2-7) + (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) @@ -3079,7 +3092,7 @@ (suspend) ) ) - (case (-> self control unknown-symbol20) + (case (-> self control unknown-float120) (('lose) (ja-channel-push! 1 30) (let ((a0-38 (-> self skel root-channel 0))) diff --git a/goal_src/levels/jungle/hopper.gc b/goal_src/levels/jungle/hopper.gc index 69b0fbe898..1695d249ee 100644 --- a/goal_src/levels/jungle/hopper.gc +++ b/goal_src/levels/jungle/hopper.gc @@ -697,7 +697,7 @@ nav-enemy-default-event-handler ) (defmethod TODO-RENAME-48 hopper ((obj hopper)) - (dummy-14 obj *hopper-sg* '()) + (initialize-skeleton obj *hopper-sg* '()) (TODO-RENAME-45 obj *hopper-nav-enemy-info*) (set! (-> obj shadow-min-y) diff --git a/goal_src/levels/jungle/junglefish.gc b/goal_src/levels/jungle/junglefish.gc index 0223141e86..06f5a988ae 100644 --- a/goal_src/levels/jungle/junglefish.gc +++ b/goal_src/levels/jungle/junglefish.gc @@ -627,7 +627,7 @@ nav-enemy-default-event-handler (set! (-> obj collide-info) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *junglefish-sg* '()) + (initialize-skeleton obj *junglefish-sg* '()) (TODO-RENAME-45 obj *junglefish-nav-enemy-info*) (set! (-> obj water) (new 'process 'water-control obj 7 0.0 8192.0 2048.0)) (set! (-> obj water flags) (the-as uint 2)) diff --git a/goal_src/levels/village1/fishermans-boat.gc b/goal_src/levels/village1/fishermans-boat.gc index 22df78194f..5ac0ceaf14 100644 --- a/goal_src/levels/village1/fishermans-boat.gc +++ b/goal_src/levels/village1/fishermans-boat.gc @@ -1912,7 +1912,7 @@ ) (defmethod TODO-RENAME-31 fishermans-boat ((obj fishermans-boat)) - (dummy-14 obj *fishermans-boat-sg* '()) + (initialize-skeleton obj *fishermans-boat-sg* '()) (logclear! (-> obj mask) (process-mask actor-pause movie)) (logior! (-> obj skel status) 1) (process-entity-status! obj (entity-perm-status bit-3) #t) diff --git a/goal_src/levels/village1/yakow.gc b/goal_src/levels/village1/yakow.gc index 6d1b00d610..b74de98e7d 100644 --- a/goal_src/levels/village1/yakow.gc +++ b/goal_src/levels/village1/yakow.gc @@ -1440,7 +1440,7 @@ yakow-default-event-handler (-> obj fact-override idle-distance) (-> *YAKOW-bank* default-idle-distance) ) - (dummy-14 obj *yakow-sg* '()) + (initialize-skeleton obj *yakow-sg* '()) (set! (-> obj draw shadow-ctrl) (new diff --git a/goal_src/levels/village2/sunken-elevator.gc b/goal_src/levels/village2/sunken-elevator.gc index 2d48d94558..5d2c8b4430 100644 --- a/goal_src/levels/village2/sunken-elevator.gc +++ b/goal_src/levels/village2/sunken-elevator.gc @@ -283,7 +283,7 @@ ) (defmethod TODO-RENAME-31 sunken-elevator ((obj sunken-elevator)) - (dummy-14 obj *sunken-elevator-sg* '()) + (initialize-skeleton obj *sunken-elevator-sg* '()) 0 (none) ) diff --git a/goal_src/levels/village3/miners.gc b/goal_src/levels/village3/miners.gc index 74784d6e17..fcba1eb4cd 100644 --- a/goal_src/levels/village3/miners.gc +++ b/goal_src/levels/village3/miners.gc @@ -959,7 +959,7 @@ (defmethod copy-defaults! cavegem ((obj cavegem) (arg0 res-lump)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *cavegem-sg* '()) + (initialize-skeleton obj *cavegem-sg* '()) (go (method-of-object obj idle)) (none) ) From 662f519f74a5393b38be836628ab23c995e36dab Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 04:17:16 +0100 Subject: [PATCH 16/27] game builds --- decompiler/config/all-types.gc | 19 +- goal_src/engine/ambient/ambient.gc | 172 +++++++----------- goal_src/engine/draw/drawable-ambient-h.gc | 29 +-- goal_src/engine/draw/process-drawable-h.gc | 2 +- goal_src/engine/game/game-h.gc | 6 +- goal_src/engine/game/generic-obs-h.gc | 36 ++-- goal_src/engine/game/powerups.gc | 2 +- goal_src/engine/game/projectiles.gc | 4 +- goal_src/engine/game/task/hint-control.gc | 12 +- goal_src/engine/game/task/process-taskable.gc | 9 +- goal_src/engine/load/loader.gc | 12 +- goal_src/engine/ui/text-h.gc | 1 + goal_src/levels/beach/beach-rocks.gc | 4 +- goal_src/levels/beach/lurkercrab.gc | 2 +- goal_src/levels/beach/lurkerpuppy.gc | 27 +-- goal_src/levels/citadel/citb-drop-plat-CIT.gc | 10 +- goal_src/levels/common/babak-with-cannon.gc | 2 +- goal_src/levels/common/battlecontroller.gc | 2 +- goal_src/levels/flut_common/flutflut.gc | 4 +- goal_src/levels/jungleb/aphid.gc | 2 +- goal_src/levels/jungleb/plat-flip.gc | 2 +- goal_src/levels/maincave/baby-spider.gc | 4 +- goal_src/levels/maincave/spiderwebs.gc | 4 +- goal_src/levels/misty/bonelurker.gc | 7 +- goal_src/levels/misty/misty-conveyor.gc | 12 +- goal_src/levels/misty/misty-teetertotter.gc | 6 +- goal_src/levels/misty/misty-warehouse.gc | 4 +- goal_src/levels/misty/muse.gc | 9 +- goal_src/levels/misty/sidekick-human.gc | 11 +- goal_src/levels/ogre/flying-lurker.gc | 4 +- goal_src/levels/snow/yeti.gc | 2 +- goal_src/levels/sunken/qbert-plat.gc | 6 +- goal_src/levels/sunken/square-platform.gc | 2 +- goal_src/levels/sunken/sunken-fish.gc | 6 +- goal_src/levels/sunken/wall-plat.gc | 2 +- goal_src/levels/sunken/wedge-plats.gc | 4 +- goal_src/levels/swamp/swamp-bat.gc | 2 +- goal_src/levels/swamp/swamp-rat-nest.gc | 8 +- goal_src/levels/swamp/swamp-rat.gc | 4 +- .../reference/engine/anim/aligner_REF.gc | 2 +- .../reference/engine/data/art-h_REF.gc | 21 ++- .../engine/draw/drawable-ambient-h_REF.gc | 7 + .../engine/game/collectables-part_REF.gc | 5 +- .../engine/game/generic-obs-h_REF.gc | 18 +- .../engine/game/task/hint-control_REF.gc | 12 +- .../engine/game/task/process-taskable_REF.gc | 9 +- .../levels/finalboss/robotboss-misc_REF.gc | 2 +- .../reference/levels/sunken/qbert-plat_REF.gc | 2 +- 48 files changed, 253 insertions(+), 281 deletions(-) diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 836025b222..c6b3e7df9e 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -800,6 +800,7 @@ :type uint32 :bitfield #f (zero 0) + (one 1) (confirm #x103) (press-to-use #x105) (confirm-play #x106) @@ -6366,6 +6367,13 @@ (print-text (_type_) none 14) (dummy-15 (_type_) symbol 15) ) + (:states + (level-hint-sidekick string) + level-hint-normal + level-hint-exit + (level-hint-ambient-sound string) + (level-hint-error string string) + ) ) (deftype ambient-list (structure) @@ -19240,10 +19248,10 @@ ;; - Functions -(define-extern find-hint-control-index (function level-hint-control int)) -(define-extern start-hint-timer (function level-hint-control none)) +(define-extern find-hint-control-index (function game-text-id int)) +(define-extern start-hint-timer (function game-text-id none)) (define-extern increment-success-for-hint (function game-text-id none)) -(define-extern can-hint-be-played? (function int entity string symbol)) +(define-extern can-hint-be-played? (function game-text-id entity string symbol)) (define-extern update-task-hints (function none)) ;; - Symbols @@ -19303,11 +19311,6 @@ ;; - Unknowns -(define-extern level-hint-exit (state level-hint)) -(define-extern level-hint-error (state string string level-hint)) -(define-extern level-hint-ambient-sound (state string level-hint)) -(define-extern level-hint-sidekick (state string level-hint)) -(define-extern level-hint-normal (state level-hint)) (define-extern *execute-ambients* symbol) diff --git a/goal_src/engine/ambient/ambient.gc b/goal_src/engine/ambient/ambient.gc index aeea9b4857..f0b48ef845 100644 --- a/goal_src/engine/ambient/ambient.gc +++ b/goal_src/engine/ambient/ambient.gc @@ -5,11 +5,12 @@ ;; name in dgo: ambient ;; dgos: GAME, ENGINE -;; decomp begins +(define-extern level-hint-init-by-other (function game-text-id string entity none :behavior level-hint)) +(define-extern ambient-hint-init-by-other (function string vector symbol none :behavior level-hint)) + +;; DECOMP BEGINS -;; definition for method 8 of type drawable-ambient -;; INFO: Return type mismatch int vs drawable-ambient. (defmethod mem-usage drawable-ambient @@ -25,8 +26,6 @@ (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 @@ -44,10 +43,8 @@ (the-as drawable-inline-array-ambient 0) ) -;; definition for symbol *hint-semaphore*, type (pointer level-hint) (define *hint-semaphore* (the-as (pointer level-hint) #f)) -;; definition for function level-hint-process-cmd (defun level-hint-process-cmd ((arg0 (pointer int32)) (arg1 int) (arg2 int)) (let ((v1-2 (-> arg0 arg1)) (gp-0 (+ arg1 1)) @@ -210,15 +207,13 @@ ) ) -;; definition for function level-hint-task-process -;; Used lq/sq (defun level-hint-task-process ((arg0 entity) (arg1 uint128) (arg2 string)) (local-vars (sv-16 res-tag)) (let ((gp-0 (res-lump-value arg0 'text-id int :default arg1)) (s5-0 0) ) (cond - ((can-hint-be-played? gp-0 arg0 arg2) + ((can-hint-be-played? (the-as game-text-id gp-0) arg0 arg2) (set! sv-16 (new 'static 'res-tag)) (let ((s4-1 @@ -267,15 +262,12 @@ ) ) -;; definition for function level-hint-surpress! -;; INFO: Return type mismatch int vs none. (defun level-hint-surpress! () (set! (-> *game-info* hint-play-time) (-> *display* base-frame-counter)) 0 (none) ) -;; definition for function can-grab-display? (defun can-grab-display? ((arg0 process-taskable)) (let ((v1-2 (handle->process (-> *game-info* display-text-handle)))) (when @@ -317,9 +309,6 @@ ) ) -;; definition for function level-hint-spawn -;; INFO: Return type mismatch int vs none. -(define-extern level-hint-init-by-other (function game-text-id string entity none :behavior level-hint)) (defun level-hint-spawn ((arg0 game-text-id) @@ -354,9 +343,6 @@ (none) ) -;; definition for function ambient-hint-spawn -;; INFO: Return type mismatch (pointer process) vs object. -(define-extern ambient-hint-init-by-other (function string vector symbol none :behavior level-hint)) (defun ambient-hint-spawn ((arg0 string) (arg1 vector) (arg2 process-tree) (arg3 symbol)) @@ -387,35 +373,22 @@ ) ) -;; 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)) - (with-pp - (when *hint-semaphore* - (let ((s4-0 (ppointer->process *hint-semaphore*))) - (when - (and - (or (null? arg0) (member (-> (the-as level-hint s4-0) mode) arg0)) - (not (member (-> (the-as level-hint s4-0) mode) arg1)) - ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 0) - (set! (-> a1-4 message) arg2) - (send-event-function (the-as process s4-0) a1-4) - ) + (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)) ) + (send-event (the-as level-hint s4-0) arg2) ) ) - 0 - (none) ) + 0 + (none) ) -;; definition for function level-hint-init-by-other -;; INFO: Return type mismatch int vs none. -(define-extern level-hint-sidekick (state string level-hint)) -(define-extern level-hint-normal (state level-hint)) (defbehavior level-hint-init-by-other level-hint ((arg0 game-text-id) (arg1 string) (arg2 entity)) @@ -467,9 +440,6 @@ (none) ) -;; definition for function ambient-hint-init-by-other -;; INFO: Return type mismatch int vs none. -(define-extern level-hint-ambient-sound (state string level-hint)) (defbehavior ambient-hint-init-by-other level-hint ((arg0 string) (arg1 vector) (arg2 symbol)) @@ -482,7 +452,14 @@ (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) + (push-setting! + *setting-control* + self + 'ambient + (process->ppointer self) + 0.0 + 0 + ) ) (copy-settings-from-target! *setting-control*) (set! @@ -505,8 +482,6 @@ (none) ) -;; definition for method 14 of type level-hint -;; INFO: Return type mismatch int vs none. (defmethod print-text level-hint ((obj level-hint)) (when (!= *common-text* #f) (let @@ -543,7 +518,6 @@ (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) @@ -551,9 +525,6 @@ ) ) -;; failed to figure out what this is: -(define-extern level-hint-exit (state level-hint)) -(define-extern level-hint-error (state string string level-hint)) (defstate level-hint-normal (level-hint) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) @@ -623,7 +594,6 @@ ) ) -;; 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)) @@ -655,12 +625,7 @@ (if (= (ppointer->process *hint-semaphore*) self) (set! *hint-semaphore* (the-as (pointer level-hint) #f)) ) - (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) 'die) - (send-event-function (handle->process (-> self voicebox)) a1-3) - ) + (send-event (handle->process (-> self voicebox)) 'die) (none) ) :code @@ -715,9 +680,30 @@ ) (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) + (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) ) @@ -734,7 +720,6 @@ ) ) -;; failed to figure out what this is: (defstate level-hint-ambient-sound (level-hint) :event (-> level-hint-sidekick event) @@ -807,8 +792,22 @@ (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) + (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) @@ -823,7 +822,6 @@ ) ) -;; failed to figure out what this is: (defstate level-hint-error (level-hint) :event (-> level-hint-normal event) @@ -874,7 +872,6 @@ ) ) -;; failed to figure out what this is: (defstate level-hint-exit (level-hint) :code (behavior () @@ -885,8 +882,6 @@ ) ) -;; 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))) @@ -912,15 +907,11 @@ (none) ) -;; definition for function ambient-type-poi -;; INFO: Return type mismatch int vs none. (defun ambient-type-poi ((arg0 drawable-ambient) (arg1 vector)) 0 (none) ) -;; definition for function ambient-type-hint -;; INFO: Return type mismatch int vs none. (defun ambient-type-hint ((arg0 drawable-ambient) (arg1 vector)) (with-pp (let @@ -996,9 +987,6 @@ ) ) -;; definition for function ambient-type-sound -;; INFO: Return type mismatch int vs none. -;; Used lq/sq (defun ambient-type-sound ((arg0 drawable-ambient) (arg1 vector)) (local-vars (sv-16 string) (sv-112 res-tag)) (let* ((s5-0 (-> arg0 ambient)) @@ -1093,9 +1081,6 @@ (none) ) -;; definition for function ambient-type-sound-loop -;; INFO: Return type mismatch int vs none. -;; Used lq/sq (defun ambient-type-sound-loop ((arg0 drawable-ambient) (arg1 vector)) (let* ((s5-0 (-> arg0 ambient)) (s2-0 @@ -1130,9 +1115,6 @@ (none) ) -;; definition for function ambient-type-light -;; INFO: Return type mismatch int vs none. -;; Used lq/sq (defun ambient-type-light ((arg0 drawable-ambient) (arg1 vector)) (when *target* (let ((s4-0 (-> arg0 ambient)) @@ -1196,9 +1178,6 @@ (none) ) -;; definition for function ambient-type-dark -;; INFO: Return type mismatch int vs none. -;; Used lq/sq (defun ambient-type-dark ((arg0 drawable-ambient) (arg1 vector)) (when *target* (let ((s4-0 (-> arg0 ambient)) @@ -1263,9 +1242,6 @@ (none) ) -;; definition for function ambient-type-weather-off -;; INFO: Return type mismatch int vs none. -;; Used lq/sq (defun ambient-type-weather-off ((arg0 drawable-ambient) (arg1 vector)) (when *target* (let ((s4-0 (-> arg0 ambient)) @@ -1330,24 +1306,18 @@ (none) ) -;; definition for function ambient-type-ocean-off -;; INFO: Return type mismatch int vs none. (defun ambient-type-ocean-off ((arg0 drawable-ambient) (arg1 vector)) (set! *ocean-off* #t) 0 (none) ) -;; definition for function ambient-type-ocean-near-off -;; INFO: Return type mismatch int vs none. (defun ambient-type-ocean-near-off ((arg0 drawable-ambient) (arg1 vector)) (set! *ocean-near-off* #t) 0 (none) ) -;; definition for function ambient-type-music -;; 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-object 0) @@ -1372,8 +1342,6 @@ (none) ) -;; definition for method 17 of type drawable-ambient -;; INFO: Return type mismatch int vs none. (defmethod collect-ambients drawable-ambient @@ -1389,8 +1357,6 @@ (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 @@ -1409,8 +1375,6 @@ (none) ) -;; definition for method 17 of type drawable-tree-ambient -;; INFO: Return type mismatch int vs none. (defmethod collect-ambients drawable-tree-ambient @@ -1420,9 +1384,6 @@ (none) ) -;; definition for method 28 of type entity-ambient -;; INFO: Return type mismatch entity-ambient vs none. -;; Used lq/sq (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) @@ -1567,23 +1528,16 @@ (none) ) -;; definition for symbol *execute-ambients*, type symbol (define *execute-ambients* #t) -;; definition for method 18 of type drawable-ambient -;; INFO: Return type mismatch int vs none. (defmethod dummy-18 drawable-ambient ((obj drawable-ambient) (arg0 vector)) ((-> obj ambient ambient-data function) obj arg0) 0 (none) ) -;; definition (debug) for function ambient-inspect ;; ERROR: function was not converted to expressions. Cannot decompile. -;; definition for method 27 of type entity-ambient -;; INFO: Return type mismatch int vs none. -;; Used lq/sq (defmethod draw-debug entity-ambient ((obj entity-ambient)) (local-vars (sv-16 uint128)) (let ((gp-0 (-> obj trans)) diff --git a/goal_src/engine/draw/drawable-ambient-h.gc b/goal_src/engine/draw/drawable-ambient-h.gc index a9159a7e1b..5cf2abf488 100644 --- a/goal_src/engine/draw/drawable-ambient-h.gc +++ b/goal_src/engine/draw/drawable-ambient-h.gc @@ -44,15 +44,15 @@ ) (deftype level-hint (process) - ((text-id-to-display game-text-id :offset-assert 112) - (sound-to-play string :offset-assert 116) - (trans vector :offset-assert 120) - (sound-id sound-id :offset-assert 124) - (mode symbol :offset-assert 128) - (total-time int64 :offset-assert 136) - (total-off-time int64 :offset-assert 144) - (last-time int64 :offset-assert 152) - (voicebox handle :offset-assert 160) + ((text-id-to-display game-text-id :offset-assert 112) + (sound-to-play string :offset-assert 116) + (trans vector :offset-assert 120) + (sound-id sound-id :offset-assert 124) + (mode symbol :offset-assert 128) + (total-time int64 :offset-assert 136) + (total-off-time int64 :offset-assert 144) + (last-time int64 :offset-assert 152) + (voicebox handle :offset-assert 160) ) :heap-base #x40 :method-count-assert 16 @@ -62,11 +62,18 @@ (print-text (_type_) none 14) (dummy-15 (_type_) symbol 15) ) + (:states + (level-hint-ambient-sound string) + (level-hint-error string string) + level-hint-exit + level-hint-normal + (level-hint-sidekick string) + ) ) (deftype ambient-list (structure) - ((num-items int32 :offset-assert 0) - (items drawable-ambient 2048 :offset-assert 4) + ((num-items int32 :offset-assert 0) + (items drawable-ambient 2048 :offset-assert 4) ) :method-count-assert 9 :size-assert #x2004 diff --git a/goal_src/engine/draw/process-drawable-h.gc b/goal_src/engine/draw/process-drawable-h.gc index ca4cbed664..dca21307da 100644 --- a/goal_src/engine/draw/process-drawable-h.gc +++ b/goal_src/engine/draw/process-drawable-h.gc @@ -7,7 +7,7 @@ (define-extern cspace-index-by-name (function process-drawable string int)) (define-extern cspace-by-name (function process-drawable string cspace)) -(define-extern joint-control-reset! (function joint-control joint-control-channel none)) +(define-extern joint-control-reset! (function joint-control joint-control-channel none :behavior process-drawable)) (defun cspace-by-name-no-fail ((arg0 process-drawable) (arg1 string)) "Get a cspace by name from the given process-drawable. If it fails, print an error and return the first one" diff --git a/goal_src/engine/game/game-h.gc b/goal_src/engine/game/game-h.gc index d22d2aec9f..11e0208b76 100644 --- a/goal_src/engine/game/game-h.gc +++ b/goal_src/engine/game/game-h.gc @@ -103,15 +103,15 @@ (vector vector :inline :offset-assert 16) (intersection vector :inline :offset-assert 32) (attacker handle :offset-assert 48) - (invinc-time uint64 :offset-assert 56) ;; likely useconds? + (invinc-time seconds :offset-assert 56) (mask uint32 :offset-assert 64) - (mode symbol :offset-assert 68) + (mode symbol :offset-assert 68) (shove-back meters :offset-assert 72) (shove-up meters :offset-assert 76) (speed meters :offset-assert 80) (dist meters :offset-assert 84) (control float :offset-assert 88) - (angle symbol :offset-assert 92) + (angle symbol :offset-assert 92) (rotate-to degrees :offset-assert 96) (prev-state state :offset-assert 100) ) diff --git a/goal_src/engine/game/generic-obs-h.gc b/goal_src/engine/game/generic-obs-h.gc index 6fc0e04cc5..898f32aae1 100644 --- a/goal_src/engine/game/generic-obs-h.gc +++ b/goal_src/engine/game/generic-obs-h.gc @@ -62,19 +62,19 @@ ) (deftype part-tracker (process) - ((root trsqv :offset-assert 112) - (part sparticle-launch-control :offset-assert 116) - (target uint64 :offset-assert 120) - (callback basic :offset-assert 128) - (linger-callback basic :offset-assert 132) - (duration uint64 :offset-assert 136) - (linger-duration uint64 :offset-assert 144) - (start-time uint64 :offset-assert 152) - (offset vector :inline :offset-assert 160) - (userdata uint64 :offset-assert 176) - (user-time uint64 2 :offset-assert 184) - (user-vector vector 2 :inline :offset-assert 208) - (user-handle uint32 2 :offset-assert 240) + ((root trsqv :offset-assert 112) + (part sparticle-launch-control :offset-assert 116) + (target uint64 :offset-assert 120) + (callback basic :offset-assert 128) + (linger-callback basic :offset-assert 132) + (duration int64 :offset-assert 136) + (linger-duration int64 :offset-assert 144) + (start-time int64 :offset-assert 152) + (offset vector :inline :offset-assert 160) + (userdata uint64 :offset-assert 176) + (user-time int64 2 :offset-assert 184) + (user-vector vector 2 :inline :offset-assert 208) + (user-handle uint32 2 :offset-assert 240) ) :heap-base #x90 :method-count-assert 14 @@ -89,11 +89,11 @@ (old-global-mask uint32 :offset-assert 136) (old-self-mask uint32 :offset-assert 140) (old-parent-mask uint32 :offset-assert 144) - (look-at-target uint64 :offset-assert 152) - (pov-target uint64 :offset-assert 160) - (work-process uint64 :offset-assert 168) - (anim-process uint64 :offset-assert 176) - (start-time uint64 :offset-assert 184) + (look-at-target handle :offset-assert 152) + (pov-target handle :offset-assert 160) + (work-process handle :offset-assert 168) + (anim-process handle :offset-assert 176) + (start-time int64 :offset-assert 184) (callback basic :offset-assert 192) (userdata basic :offset-assert 196) (message basic :offset-assert 200) diff --git a/goal_src/engine/game/powerups.gc b/goal_src/engine/game/powerups.gc index 3b64410508..e4757db0f0 100644 --- a/goal_src/engine/game/powerups.gc +++ b/goal_src/engine/game/powerups.gc @@ -6,4 +6,4 @@ ;; dgos: GAME, ENGINE ;; TODO - for projectiles -(define-extern eco-blue-glow (function collide-shape-prim none)) +(define-extern eco-blue-glow (function vector none)) diff --git a/goal_src/engine/game/projectiles.gc b/goal_src/engine/game/projectiles.gc index 429f0caf66..ded08884a4 100644 --- a/goal_src/engine/game/projectiles.gc +++ b/goal_src/engine/game/projectiles.gc @@ -1792,9 +1792,7 @@ (defmethod dummy-24 projectile-blue ((obj projectile-blue)) (if (rand-vu-percent? 0.75) - (eco-blue-glow - (the-as collide-shape-prim (-> obj root-override root-prim prim-core)) - ) + (eco-blue-glow (the-as vector (-> obj root-override root-prim prim-core))) ) 0 (none) diff --git a/goal_src/engine/game/task/hint-control.gc b/goal_src/engine/game/task/hint-control.gc index 6610f513e7..bb70da8e41 100644 --- a/goal_src/engine/game/task/hint-control.gc +++ b/goal_src/engine/game/task/hint-control.gc @@ -360,7 +360,7 @@ ) ;; definition for function find-hint-control-index -(defun find-hint-control-index ((arg0 level-hint-control)) +(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) @@ -376,7 +376,7 @@ ;; definition for function start-hint-timer ;; INFO: Return type mismatch int vs none. -(defun start-hint-timer ((arg0 level-hint-control)) +(defun start-hint-timer ((arg0 game-text-id)) (let ((v1-0 (find-hint-control-index arg0))) (when (and @@ -397,7 +397,7 @@ ;; definition for function increment-success-for-hint ;; INFO: Return type mismatch int vs none. -(defun increment-success-for-hint ((arg0 level-hint-control)) +(defun increment-success-for-hint ((arg0 game-text-id)) (let ((gp-0 (find-hint-control-index arg0))) (when (>= gp-0 0) (set! @@ -413,10 +413,10 @@ ;; definition for function can-hint-be-played? ;; 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 int) (arg1 entity) (arg2 string)) +(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* (the-as game-text-id arg0)))) + (set! v1-0 (not (seen-text? *game-info* arg0))) ) (when v1-0 (when *hint-semaphore* @@ -452,7 +452,7 @@ ) (cond (v1-0 - (let ((v1-16 (find-hint-control-index (the-as level-hint-control arg0)))) + (let ((v1-16 (find-hint-control-index arg0))) (cond ((< v1-16 0) #t diff --git a/goal_src/engine/game/task/process-taskable.gc b/goal_src/engine/game/task/process-taskable.gc index 7eddad0a20..d64948477b 100644 --- a/goal_src/engine/game/task/process-taskable.gc +++ b/goal_src/engine/game/task/process-taskable.gc @@ -1579,7 +1579,14 @@ (when (and (not (string= arg0 (-> obj last-ambient))) - (or arg1 (can-hint-be-played? 1 (the-as entity #f) (the-as string #f))) + (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) ) diff --git a/goal_src/engine/load/loader.gc b/goal_src/engine/load/loader.gc index 0b8221f948..5982d0f994 100644 --- a/goal_src/engine/load/loader.gc +++ b/goal_src/engine/load/loader.gc @@ -865,12 +865,12 @@ 0 ) -(defun-extern level-hint-surpress! none) ;; ? -(defun-extern ja-channel-push! int int int) ;; TODO temp -(defun-extern ja-channel-set! int int) ;; TODO temp -(defun-extern joint-control-channel-group-eval! joint-control-channel art-joint-anim (function joint-control-channel float float float) int) ;; TODO temp -(defun-extern joint-control-channel-group! joint-control-channel art-joint-anim (function joint-control-channel float float float) int) ;; TODO temp -(defun-extern ja-aframe-num int float) ;; TODO temp +(defun-extern level-hint-surpress! none) ;; ? TODO +(define-extern ja-channel-push! (function int int int :behavior process-drawable)) +(define-extern ja-channel-set! (function int int :behavior process-drawable)) +(define-extern joint-control-channel-group-eval! (function joint-control-channel art-joint-anim (function joint-control-channel float float float) int)) +(define-extern joint-control-channel-group! (function joint-control-channel art-joint-anim (function joint-control-channel float float float) int)) +(define-extern ja-aframe-num (function int float :behavior process-drawable)) (define-extern ja-abort-spooled-anim (function spool-anim art-joint-anim int int :behavior process-drawable)) (defbehavior ja-play-spooled-anim process-drawable ((arg0 spool-anim) (arg1 art-joint-anim) (arg2 art-joint-anim) (arg3 (function process-drawable symbol))) diff --git a/goal_src/engine/ui/text-h.gc b/goal_src/engine/ui/text-h.gc index a8595e0d4b..77556fc722 100644 --- a/goal_src/engine/ui/text-h.gc +++ b/goal_src/engine/ui/text-h.gc @@ -13,6 +13,7 @@ :type uint32 :bitfield #f (zero 0) + (one 1) (confirm #x103) (press-to-use #x105) (confirm-play #x106) diff --git a/goal_src/levels/beach/beach-rocks.gc b/goal_src/levels/beach/beach-rocks.gc index 0eed80c7ea..b4b9e3e400 100644 --- a/goal_src/levels/beach/beach-rocks.gc +++ b/goal_src/levels/beach/beach-rocks.gc @@ -641,7 +641,7 @@ (the float (the-as int (-> obj entity extra perm task))) #f obj - #f + (the-as fact-info #f) ) ) (go (method-of-object obj fallen)) @@ -696,7 +696,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *lrocklrg-sg* '()) + (initialize-skeleton obj *lrocklrg-sg* '()) ((method-of-type beach-rock copy-defaults!) obj arg0) (none) ) diff --git a/goal_src/levels/beach/lurkercrab.gc b/goal_src/levels/beach/lurkercrab.gc index 279385875e..40437d21b6 100644 --- a/goal_src/levels/beach/lurkercrab.gc +++ b/goal_src/levels/beach/lurkercrab.gc @@ -1184,7 +1184,7 @@ nav-enemy-default-event-handler (set! (-> obj collide-info) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *lurkercrab-sg* '()) + (initialize-skeleton obj *lurkercrab-sg* '()) (TODO-RENAME-45 obj *lurkercrab-nav-enemy-info*) (set! (-> obj part) diff --git a/goal_src/levels/beach/lurkerpuppy.gc b/goal_src/levels/beach/lurkerpuppy.gc index 5fe527f21a..67c4a9d044 100644 --- a/goal_src/levels/beach/lurkerpuppy.gc +++ b/goal_src/levels/beach/lurkerpuppy.gc @@ -7,7 +7,8 @@ (define-extern *lurkerpuppy-sg* skeleton-group) -;; definition of type lurkerpuppy +;; DECOMP BEGINS + (deftype lurkerpuppy (nav-enemy) () :heap-base #x120 @@ -16,7 +17,7 @@ :flag-assert #x4c01200190 ) -;; failed to figure out what this is: + (let ((v1-1 (new 'static 'skeleton-group @@ -39,10 +40,8 @@ (set! *lurkerpuppy-sg* v1-1) ) -;; failed to figure out what this is: nav-enemy-default-event-handler -;; failed to figure out what this is: (defstate nav-enemy-notice (lurkerpuppy) :virtual #t :event @@ -110,7 +109,6 @@ nav-enemy-default-event-handler ) ) -;; failed to figure out what this is: (defstate nav-enemy-chase (lurkerpuppy) :virtual #t :event @@ -240,7 +238,6 @@ nav-enemy-default-event-handler ) ) -;; failed to figure out what this is: (defstate nav-enemy-stare (lurkerpuppy) :virtual #t :event @@ -331,7 +328,6 @@ nav-enemy-default-event-handler ) ) -;; failed to figure out what this is: (defstate nav-enemy-give-up (lurkerpuppy) :virtual #t :event @@ -443,7 +439,6 @@ nav-enemy-default-event-handler ) ) -;; failed to figure out what this is: (defstate nav-enemy-attack (lurkerpuppy) :virtual #t :event @@ -467,7 +462,6 @@ nav-enemy-default-event-handler ) ) -;; failed to figure out what this is: (defstate nav-enemy-victory (lurkerpuppy) :virtual #t :event @@ -542,7 +536,6 @@ nav-enemy-default-event-handler (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 @@ -561,11 +554,11 @@ nav-enemy-default-event-handler :run-travel-speed (meters 5.0) :run-rotate-speed (degrees 3999.9998) :run-acceleration (meters 1.0) - :run-turn-time #x2d + :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 #x1e + :walk-turn-time (seconds 0.1) :attack-shove-back (meters 3.0) :attack-shove-up (meters 2.0) :shadow-size (meters 2.0) @@ -599,8 +592,6 @@ nav-enemy-default-event-handler ) ) -;; definition for method 47 of type lurkerpuppy -;; INFO: Return type mismatch int vs none. (defmethod initialize-collision lurkerpuppy ((obj lurkerpuppy)) (let ((s5-0 @@ -631,10 +622,8 @@ nav-enemy-default-event-handler (none) ) -;; definition for method 48 of type lurkerpuppy -;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-48 lurkerpuppy ((obj lurkerpuppy)) - (dummy-14 obj *lurkerpuppy-sg* '()) + (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)) @@ -644,3 +633,7 @@ nav-enemy-default-event-handler 0 (none) ) + + + + diff --git a/goal_src/levels/citadel/citb-drop-plat-CIT.gc b/goal_src/levels/citadel/citb-drop-plat-CIT.gc index d6a3425aa2..9f125fac3a 100644 --- a/goal_src/levels/citadel/citb-drop-plat-CIT.gc +++ b/goal_src/levels/citadel/citb-drop-plat-CIT.gc @@ -458,19 +458,19 @@ (defmethod dummy-21 drop-plat ((obj drop-plat)) (case (-> obj color) ((1) - (dummy-14 obj *citb-drop-plat-red-sg* '()) + (initialize-skeleton obj *citb-drop-plat-red-sg* '()) ) ((2) - (dummy-14 obj *citb-drop-plat-green-sg* '()) + (initialize-skeleton obj *citb-drop-plat-green-sg* '()) ) ((3) - (dummy-14 obj *citb-drop-plat-blue-sg* '()) + (initialize-skeleton obj *citb-drop-plat-blue-sg* '()) ) ((4) - (dummy-14 obj *citb-drop-plat-yellow-sg* '()) + (initialize-skeleton obj *citb-drop-plat-yellow-sg* '()) ) (else - (dummy-14 obj *citb-drop-plat-sg* '()) + (initialize-skeleton obj *citb-drop-plat-sg* '()) ) ) (logclear! (-> obj mask) (process-mask actor-pause)) diff --git a/goal_src/levels/common/babak-with-cannon.gc b/goal_src/levels/common/babak-with-cannon.gc index 0396e9620e..f943c046d3 100644 --- a/goal_src/levels/common/babak-with-cannon.gc +++ b/goal_src/levels/common/babak-with-cannon.gc @@ -643,7 +643,7 @@ nav-enemy-default-event-handler (the float (-> self entity extra perm task)) #f self - #f + (the-as fact-info #f) ) ) (while (-> self child) diff --git a/goal_src/levels/common/battlecontroller.gc b/goal_src/levels/common/battlecontroller.gc index b60aacb0ae..eea74c24a4 100644 --- a/goal_src/levels/common/battlecontroller.gc +++ b/goal_src/levels/common/battlecontroller.gc @@ -695,7 +695,7 @@ battlecontroller-default-event-handler (the float (-> self entity extra perm task)) #f self - #f + (the-as fact-info #f) ) (when (not (-> self child)) (suspend) diff --git a/goal_src/levels/flut_common/flutflut.gc b/goal_src/levels/flut_common/flutflut.gc index e41f4a3040..d15b25341a 100644 --- a/goal_src/levels/flut_common/flutflut.gc +++ b/goal_src/levels/flut_common/flutflut.gc @@ -212,7 +212,7 @@ (the float (-> self entity extra perm task)) #f self - (the-as symbol (-> self fact)) + (-> self fact) ) ) ) @@ -513,7 +513,7 @@ (-> obj root-override) (res-lump-float arg0 'rotoffset) ) - (dummy-14 obj *flutflut-sg* '()) + (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))) diff --git a/goal_src/levels/jungleb/aphid.gc b/goal_src/levels/jungleb/aphid.gc index 8e048eba21..aab64498d4 100644 --- a/goal_src/levels/jungleb/aphid.gc +++ b/goal_src/levels/jungleb/aphid.gc @@ -618,7 +618,7 @@ ) (defmethod TODO-RENAME-48 aphid ((obj aphid)) - (dummy-14 obj *aphid-sg* '()) + (initialize-skeleton obj *aphid-sg* '()) (TODO-RENAME-45 obj *aphid-nav-enemy-info*) (set! (-> obj neck up) (the-as uint 0)) (set! (-> obj neck nose) (the-as uint 1)) diff --git a/goal_src/levels/jungleb/plat-flip.gc b/goal_src/levels/jungleb/plat-flip.gc index 3a9e8a0e0e..ed05644794 100644 --- a/goal_src/levels/jungleb/plat-flip.gc +++ b/goal_src/levels/jungleb/plat-flip.gc @@ -250,7 +250,7 @@ ) (process-drawable-from-entity! obj arg0) (set! (-> obj base-pos quad) (-> obj root-override trans quad)) - (dummy-14 obj *plat-flip-sg* '()) + (initialize-skeleton obj *plat-flip-sg* '()) (logior! (-> obj skel status) 1) (let ((f30-0 300.0)) (set! sv-16 (new 'static 'res-tag)) diff --git a/goal_src/levels/maincave/baby-spider.gc b/goal_src/levels/maincave/baby-spider.gc index 3e3c7e96ac..75090af885 100644 --- a/goal_src/levels/maincave/baby-spider.gc +++ b/goal_src/levels/maincave/baby-spider.gc @@ -54,9 +54,9 @@ :size-assert #x200 :flag-assert #x4c01900200 (:states + baby-spider-die-fast baby-spider-hatching baby-spider-resume - baby-spider-die-fast ) ) @@ -1111,7 +1111,7 @@ baby-spider-default-event-handler (defmethod TODO-RENAME-48 baby-spider ((obj baby-spider)) (set! (-> obj last-visible-time) (-> *display* base-frame-counter)) - (dummy-14 obj *baby-spider-sg* '()) + (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*) diff --git a/goal_src/levels/maincave/spiderwebs.gc b/goal_src/levels/maincave/spiderwebs.gc index 6b9ab04844..baed5e3bb6 100644 --- a/goal_src/levels/maincave/spiderwebs.gc +++ b/goal_src/levels/maincave/spiderwebs.gc @@ -48,8 +48,8 @@ :size-assert #xb4 :flag-assert #x14005000b4 (:states - spiderwebs-idle spiderwebs-bounce + spiderwebs-idle ) ) @@ -277,7 +277,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *spiderwebs-sg* '()) + (initialize-skeleton obj *spiderwebs-sg* '()) (set! (-> obj spring-height) (res-lump-float arg0 'spring-height :default 45056.0) diff --git a/goal_src/levels/misty/bonelurker.gc b/goal_src/levels/misty/bonelurker.gc index 9180ca2332..9a99724c1a 100644 --- a/goal_src/levels/misty/bonelurker.gc +++ b/goal_src/levels/misty/bonelurker.gc @@ -181,10 +181,7 @@ (the-as object (when (= v1-0 'attack) (when (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self state-time)) - ) + (- (-> *display* base-frame-counter) (-> self state-time)) 150 ) (nav-enemy-set-hit-from-direction arg0) @@ -1193,7 +1190,7 @@ nav-enemy-default-event-handler ) (defmethod TODO-RENAME-48 bonelurker ((obj bonelurker)) - (dummy-14 obj *bonelurker-sg* '()) + (initialize-skeleton obj *bonelurker-sg* '()) (TODO-RENAME-45 obj *bonelurker-nav-enemy-info*) (set! (-> obj neck up) (the-as uint 0)) (set! (-> obj neck nose) (the-as uint 1)) diff --git a/goal_src/levels/misty/misty-conveyor.gc b/goal_src/levels/misty/misty-conveyor.gc index 232cf576d3..c8048c4983 100644 --- a/goal_src/levels/misty/misty-conveyor.gc +++ b/goal_src/levels/misty/misty-conveyor.gc @@ -688,7 +688,7 @@ (set! (-> self root-override) s4-0) ) (set! (-> self root-override trans quad) (-> arg0 root-override trans quad)) - (dummy-14 self *keg-sg* '()) + (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) @@ -869,9 +869,9 @@ (let ((t9-8 send-event-function) (v1-42 (-> self object-on-paddle)) ) - (t9-8 (the-as process (if v1-42 - (-> v1-42 0 max-value) - ) + (t9-8 (the-as process-tree (if v1-42 + (-> v1-42 0 max-value) + ) ) a1-2 ) @@ -947,7 +947,7 @@ (-> arg0 root-override quat vec quad) ) (set! (-> self root-override scale quad) (-> arg0 root-override scale quad)) - (dummy-14 self *keg-conveyor-paddle-sg* '()) + (initialize-skeleton self *keg-conveyor-paddle-sg* '()) (setup-params! (-> self sync) (the-as uint 4800) 0.0 0.15 0.15) (logclear! (-> self mask) (process-mask actor-pause enemy)) (set! (-> self object-on-paddle) (the-as (pointer bouncing-float) #f)) @@ -976,7 +976,7 @@ (set! (-> obj mask) (logior (process-mask enemy death) (-> obj mask))) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *keg-conveyor-sg* '()) + (initialize-skeleton obj *keg-conveyor-sg* '()) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) (logior! (-> obj path flags) diff --git a/goal_src/levels/misty/misty-teetertotter.gc b/goal_src/levels/misty/misty-teetertotter.gc index 742145ce00..e16cb93cdd 100644 --- a/goal_src/levels/misty/misty-teetertotter.gc +++ b/goal_src/levels/misty/misty-teetertotter.gc @@ -78,7 +78,9 @@ (('flop) (when (target-on-end-of-teetertotter? self) (set! (-> self in-launch-window) #f) - (increment-success-for-hint (the-as level-hint-control 676)) + (increment-success-for-hint + (game-text-id misty-teetertotter-bonk-dax-tutorial) + ) (go teetertotter-launch) ) ) @@ -395,7 +397,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *teetertotter-sg* '()) + (initialize-skeleton obj *teetertotter-sg* '()) (set! (-> obj launched-player) #f) (set! (-> obj in-launch-window) #f) (set! (-> obj rock-is-dangerous) #f) diff --git a/goal_src/levels/misty/misty-warehouse.gc b/goal_src/levels/misty/misty-warehouse.gc index 74f5fcc530..604360e9c9 100644 --- a/goal_src/levels/misty/misty-warehouse.gc +++ b/goal_src/levels/misty/misty-warehouse.gc @@ -245,7 +245,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *silostep-sg* '()) + (initialize-skeleton obj *silostep-sg* '()) (set! (-> obj anim-limit) (* @@ -330,7 +330,7 @@ ) (defmethod TODO-RENAME-25 rounddoor ((obj rounddoor)) - (dummy-14 obj *rounddoor-sg* '()) + (initialize-skeleton obj *rounddoor-sg* '()) (set! (-> obj open-distance) 69632.0) (set! (-> obj close-distance) 81920.0) (set! (-> obj open-sound) (static-sound-name "arenadoor-open")) diff --git a/goal_src/levels/misty/muse.gc b/goal_src/levels/misty/muse.gc index 6b853ffebe..c539c7a478 100644 --- a/goal_src/levels/misty/muse.gc +++ b/goal_src/levels/misty/muse.gc @@ -781,7 +781,7 @@ nav-enemy-default-event-handler (the float (-> self entity extra perm task)) #f self - #f + (the-as fact-info #f) ) ) ) @@ -893,7 +893,7 @@ nav-enemy-default-event-handler (set! (-> obj collide-info) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *muse-sg* '()) + (initialize-skeleton obj *muse-sg* '()) (logclear! (-> obj mask) (process-mask actor-pause)) (TODO-RENAME-45 obj *muse-nav-enemy-info*) (set! @@ -934,10 +934,7 @@ nav-enemy-default-event-handler ) ) ) - (set! - (-> obj victory-anim) - (the-as spool-anim (fuel-cell-pick-anim (the-as process-taskable obj))) - ) + (set! (-> obj victory-anim) (fuel-cell-pick-anim obj)) (go muse-idle) (none) ) diff --git a/goal_src/levels/misty/sidekick-human.gc b/goal_src/levels/misty/sidekick-human.gc index b33ac9ba70..e534986ca6 100644 --- a/goal_src/levels/misty/sidekick-human.gc +++ b/goal_src/levels/misty/sidekick-human.gc @@ -2435,7 +2435,7 @@ (defbehavior sequenceC-can-trans-hook sequenceC () (when (>= (ja-aframe-num 0) 1055.0) - (dummy-11 + (lods-assign! (-> self draw) (the-as lod-set @@ -2550,13 +2550,14 @@ 'eval (lambda :behavior sequenceC () - (let ((a0-0 (&-> (the-as process-taskable (-> self parent 0)) stack 288)) - (t9-0 (method-of-type lod-set dummy-9)) - ) + ((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) - (t9-0 (the-as lod-set a0-0)) ) (let ((v0-1 (create-launch-control (-> *part-group-id-table* 560) self))) (set! (-> self part) v0-1) diff --git a/goal_src/levels/ogre/flying-lurker.gc b/goal_src/levels/ogre/flying-lurker.gc index 0a93b8bfbe..5f51876c03 100644 --- a/goal_src/levels/ogre/flying-lurker.gc +++ b/goal_src/levels/ogre/flying-lurker.gc @@ -608,7 +608,7 @@ (set! (-> obj root) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *plunger-lurker-sg* '()) + (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) @@ -1837,7 +1837,7 @@ (stack-size-set! (-> obj main-thread) 512) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *flying-lurker-sg* '()) + (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! diff --git a/goal_src/levels/snow/yeti.gc b/goal_src/levels/snow/yeti.gc index b8165a6db4..dfeb1f3342 100644 --- a/goal_src/levels/snow/yeti.gc +++ b/goal_src/levels/snow/yeti.gc @@ -1166,7 +1166,7 @@ ) (defmethod TODO-RENAME-48 yeti-slave ((obj yeti-slave)) - (dummy-14 obj *yeti-sg* '()) + (initialize-skeleton obj *yeti-sg* '()) (set! (-> obj draw origin-joint-index) (the-as uint 3)) (TODO-RENAME-45 obj *yeti-nav-enemy-info*) (set! (-> obj neck up) (the-as uint 0)) diff --git a/goal_src/levels/sunken/qbert-plat.gc b/goal_src/levels/sunken/qbert-plat.gc index a7d026f0f0..ac8f7a820a 100644 --- a/goal_src/levels/sunken/qbert-plat.gc +++ b/goal_src/levels/sunken/qbert-plat.gc @@ -182,7 +182,7 @@ (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)) - (dummy-14 self *qbert-plat-on-sg* '()) + (initialize-skeleton self *qbert-plat-on-sg* '()) (logior! (-> self skel status) 1) (ja-channel-set! 1) (let ((gp-1 (-> self skel root-channel 0))) @@ -441,7 +441,7 @@ ) (defmethod TODO-RENAME-31 qbert-plat ((obj qbert-plat)) - (dummy-14 obj *qbert-plat-sg* '()) + (initialize-skeleton obj *qbert-plat-sg* '()) (set! (-> obj anchor-point quad) (-> obj root-overlay trans quad)) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-overlay)) @@ -501,7 +501,7 @@ (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) - (start-hint-timer (the-as level-hint-control 842)) + (start-hint-timer (game-text-id sunken-qbert-hint)) (close-specific-task! (game-task sunken-platforms) (task-status need-hint) diff --git a/goal_src/levels/sunken/square-platform.gc b/goal_src/levels/sunken/square-platform.gc index 2aa2f7997c..48f083bd25 100644 --- a/goal_src/levels/sunken/square-platform.gc +++ b/goal_src/levels/sunken/square-platform.gc @@ -611,7 +611,7 @@ (process-drawable-from-entity! obj arg0) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj plat-id) (actor-count-before (-> obj link))) - (dummy-14 obj *square-platform-sg* '()) + (initialize-skeleton obj *square-platform-sg* '()) (dummy-21 obj) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) diff --git a/goal_src/levels/sunken/sunken-fish.gc b/goal_src/levels/sunken/sunken-fish.gc index e02c743a3c..b18631534d 100644 --- a/goal_src/levels/sunken/sunken-fish.gc +++ b/goal_src/levels/sunken/sunken-fish.gc @@ -377,13 +377,13 @@ (let ((v1-3 (rand-vu-int-count 3))) (cond ((zero? v1-3) - (dummy-14 obj *sunkenfisha-red-yellow-sg* '()) + (initialize-skeleton obj *sunkenfisha-red-yellow-sg* '()) ) ((= v1-3 1) - (dummy-14 obj *sunkenfisha-yellow-blue-sg* '()) + (initialize-skeleton obj *sunkenfisha-yellow-blue-sg* '()) ) ((= v1-3 2) - (dummy-14 obj *sunkenfisha-yellow-eye-sg* '()) + (initialize-skeleton obj *sunkenfisha-yellow-eye-sg* '()) ) ) ) diff --git a/goal_src/levels/sunken/wall-plat.gc b/goal_src/levels/sunken/wall-plat.gc index ae511bf012..3e1d6bd231 100644 --- a/goal_src/levels/sunken/wall-plat.gc +++ b/goal_src/levels/sunken/wall-plat.gc @@ -313,7 +313,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *wall-plat-sg* '()) + (initialize-skeleton obj *wall-plat-sg* '()) (logior! (-> obj skel status) 1) (set! (-> obj use-sync?) diff --git a/goal_src/levels/sunken/wedge-plats.gc b/goal_src/levels/sunken/wedge-plats.gc index c707cc5762..0d8aad3504 100644 --- a/goal_src/levels/sunken/wedge-plats.gc +++ b/goal_src/levels/sunken/wedge-plats.gc @@ -356,7 +356,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *wedge-plat-sg* '()) + (initialize-skeleton obj *wedge-plat-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) @@ -628,7 +628,7 @@ (set! (-> obj root-override) s4-0) ) (process-drawable-from-entity! obj arg0) - (dummy-14 obj *wedge-plat-sg* '()) + (initialize-skeleton obj *wedge-plat-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) diff --git a/goal_src/levels/swamp/swamp-bat.gc b/goal_src/levels/swamp/swamp-bat.gc index e733e35468..322fcd7112 100644 --- a/goal_src/levels/swamp/swamp-bat.gc +++ b/goal_src/levels/swamp/swamp-bat.gc @@ -701,7 +701,7 @@ swamp-bat-slave-event-handler (swamp-bat-slave-get-new-path) (set! (-> self root-override trans quad) (-> self idle-position quad)) (setup-params! (-> self sync) (the-as uint 1200) 0.0 0.15 0.15) - (dummy-14 self *swamp-bat-slave-sg* '()) + (initialize-skeleton self *swamp-bat-slave-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) (go swamp-bat-slave-idle) (none) diff --git a/goal_src/levels/swamp/swamp-rat-nest.gc b/goal_src/levels/swamp/swamp-rat-nest.gc index c360330cd6..5a1d12ae52 100644 --- a/goal_src/levels/swamp/swamp-rat-nest.gc +++ b/goal_src/levels/swamp/swamp-rat-nest.gc @@ -1550,7 +1550,7 @@ swamp-rat-nest-default-event-handler ) ) (if a0-1 - (send-event (the-as process a0-1) 'victory) + (send-event a0-1 'victory) ) ) (set! gp-0 (-> gp-0 0 brother)) @@ -1724,7 +1724,7 @@ swamp-rat-nest-default-event-handler (dummy-50 s5-0) (set! (-> obj root-override) s5-0) ) - (dummy-14 obj *swamp-rat-nest-dummy-a-sg* '()) + (initialize-skeleton obj *swamp-rat-nest-dummy-a-sg* '()) (none) ) @@ -1754,7 +1754,7 @@ swamp-rat-nest-default-event-handler (dummy-50 s5-0) (set! (-> obj root-override) s5-0) ) - (dummy-14 obj *swamp-rat-nest-dummy-b-sg* '()) + (initialize-skeleton obj *swamp-rat-nest-dummy-b-sg* '()) (none) ) @@ -1784,7 +1784,7 @@ swamp-rat-nest-default-event-handler (dummy-50 s5-0) (set! (-> obj root-override) s5-0) ) - (dummy-14 obj *swamp-rat-nest-dummy-c-sg* '()) + (initialize-skeleton obj *swamp-rat-nest-dummy-c-sg* '()) (none) ) diff --git a/goal_src/levels/swamp/swamp-rat.gc b/goal_src/levels/swamp/swamp-rat.gc index 731c9119e4..1acd73a5cc 100644 --- a/goal_src/levels/swamp/swamp-rat.gc +++ b/goal_src/levels/swamp/swamp-rat.gc @@ -76,7 +76,7 @@ ) ) (if a0-4 - (send-event (the-as process a0-4) 'victory) + (send-event (the-as process-tree a0-4) 'victory) (go (method-of-object obj nav-enemy-victory)) ) ) @@ -851,7 +851,7 @@ swamp-rat-default-event-handler ) (defmethod TODO-RENAME-48 swamp-rat ((obj swamp-rat)) - (dummy-14 obj *swamp-rat-sg* '()) + (initialize-skeleton obj *swamp-rat-sg* '()) (TODO-RENAME-45 obj *swamp-rat-nav-enemy-info*) (vector-float*! (-> obj collide-info scale) *identity-vector* 1.5) (set! (-> obj neck up) (the-as uint 1)) diff --git a/test/decompiler/reference/engine/anim/aligner_REF.gc b/test/decompiler/reference/engine/anim/aligner_REF.gc index 62b786948f..5c14e000ed 100644 --- a/test/decompiler/reference/engine/anim/aligner_REF.gc +++ b/test/decompiler/reference/engine/anim/aligner_REF.gc @@ -88,7 +88,7 @@ (set! (-> a2-5 3 quad) a3-1) ) (let ((s5-1 (-> obj process node-list data 1))) - (cspace<-matrix-no-push-joint! s5-1 (the-as matrix (-> obj process skel))) + (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)) diff --git a/test/decompiler/reference/engine/data/art-h_REF.gc b/test/decompiler/reference/engine/data/art-h_REF.gc index e4668f1865..726d94f312 100644 --- a/test/decompiler/reference/engine/data/art-h_REF.gc +++ b/test/decompiler/reference/engine/data/art-h_REF.gc @@ -198,7 +198,7 @@ (fixed-qwc uint32 :offset-assert 4) (frame-qwc uint32 :offset-assert 8) (fixed joint-anim-compressed-fixed :offset-assert 12) - (data uint32 1 :offset-assert 16) + (data joint-anim-compressed-frame 1 :offset-assert 16) ) :method-count-assert 9 :size-assert #x14 @@ -274,15 +274,15 @@ ;; definition of type art-joint-anim (deftype art-joint-anim (art-element) - ((_unknown (pointer int16) :offset 4) - (speed float :offset 20) - (artist-base float :offset 24) - (artist-step float :offset 28) - (master-art-group-name string :offset 32) - (master-art-group-index int32 :offset 36) - (blerc-data (pointer uint8) :offset 40) - (frames pointer :offset 44) - (data joint-anim-compressed :dynamic :offset-assert 48) + ((_unknown (pointer int16) :offset 4) + (speed float :offset 20) + (artist-base float :offset 24) + (artist-step float :offset 28) + (master-art-group-name string :offset 32) + (master-art-group-index int32 :offset 36) + (blerc-data (pointer uint8) :offset 40) + (frames joint-anim-compressed-control :offset 44) + (data joint-anim-compressed :dynamic :offset-assert 48) ) :method-count-assert 13 :size-assert #x30 @@ -298,6 +298,7 @@ :size-assert #x20 :flag-assert #xf00000020 (:methods + (relocate (_type_ kheap (pointer uint8)) none :replace 7) (link-art! (_type_) art-group 13) (unlink-art! (_type_) int 14) ) 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 c4eb2efd17..5f150371eb 100644 --- a/test/decompiler/reference/engine/draw/drawable-ambient-h_REF.gc +++ b/test/decompiler/reference/engine/draw/drawable-ambient-h_REF.gc @@ -78,6 +78,13 @@ (print-text (_type_) none 14) (dummy-15 (_type_) symbol 15) ) + (:states + (level-hint-ambient-sound string) + (level-hint-error string string) + level-hint-exit + level-hint-normal + (level-hint-sidekick string) + ) ) ;; definition for method 3 of type level-hint diff --git a/test/decompiler/reference/engine/game/collectables-part_REF.gc b/test/decompiler/reference/engine/game/collectables-part_REF.gc index d0a11fc775..102c3613a0 100644 --- a/test/decompiler/reference/engine/game/collectables-part_REF.gc +++ b/test/decompiler/reference/engine/game/collectables-part_REF.gc @@ -69,10 +69,7 @@ a2-0 (* 0.006666667 - (the - float - (- (-> *display* base-frame-counter) (the-as int (-> arg0 start-time))) - ) + (the float (- (-> *display* base-frame-counter) (-> arg0 start-time))) ) ) ) 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 5c1dc89d39..9cbb1ab44f 100644 --- a/test/decompiler/reference/engine/game/generic-obs-h_REF.gc +++ b/test/decompiler/reference/engine/game/generic-obs-h_REF.gc @@ -83,12 +83,12 @@ (target uint64 :offset-assert 120) (callback basic :offset-assert 128) (linger-callback basic :offset-assert 132) - (duration uint64 :offset-assert 136) - (linger-duration uint64 :offset-assert 144) - (start-time uint64 :offset-assert 152) + (duration int64 :offset-assert 136) + (linger-duration int64 :offset-assert 144) + (start-time int64 :offset-assert 152) (offset vector :inline :offset-assert 160) (userdata uint64 :offset-assert 176) - (user-time uint64 2 :offset-assert 184) + (user-time int64 2 :offset-assert 184) (user-vector vector 2 :inline :offset-assert 208) (user-handle uint32 2 :offset-assert 240) ) @@ -127,11 +127,11 @@ (old-global-mask uint32 :offset-assert 136) (old-self-mask uint32 :offset-assert 140) (old-parent-mask uint32 :offset-assert 144) - (look-at-target uint64 :offset-assert 152) - (pov-target uint64 :offset-assert 160) - (work-process uint64 :offset-assert 168) - (anim-process uint64 :offset-assert 176) - (start-time uint64 :offset-assert 184) + (look-at-target handle :offset-assert 152) + (pov-target handle :offset-assert 160) + (work-process handle :offset-assert 168) + (anim-process handle :offset-assert 176) + (start-time int64 :offset-assert 184) (callback basic :offset-assert 192) (userdata basic :offset-assert 196) (message basic :offset-assert 200) 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 46bc74c6fd..8d4667f9ba 100644 --- a/test/decompiler/reference/engine/game/task/hint-control_REF.gc +++ b/test/decompiler/reference/engine/game/task/hint-control_REF.gc @@ -356,7 +356,7 @@ ) ;; definition for function find-hint-control-index -(defun find-hint-control-index ((arg0 level-hint-control)) +(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) @@ -372,7 +372,7 @@ ;; definition for function start-hint-timer ;; INFO: Return type mismatch int vs none. -(defun start-hint-timer ((arg0 level-hint-control)) +(defun start-hint-timer ((arg0 game-text-id)) (let ((v1-0 (find-hint-control-index arg0))) (when (and @@ -394,7 +394,7 @@ ;; definition for function increment-success-for-hint ;; INFO: Return type mismatch int vs none. (defun increment-success-for-hint ((arg0 game-text-id)) - (let ((gp-0 (find-hint-control-index (the-as level-hint-control arg0)))) + (let ((gp-0 (find-hint-control-index arg0))) (when (>= gp-0 0) (set! (-> *game-info* hint-control gp-0 num-success) @@ -409,10 +409,10 @@ ;; definition for function can-hint-be-played? ;; 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 int) (arg1 entity) (arg2 string)) +(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* (the-as game-text-id arg0)))) + (set! v1-0 (not (seen-text? *game-info* arg0))) ) (when v1-0 (when *hint-semaphore* @@ -448,7 +448,7 @@ ) (cond (v1-0 - (let ((v1-16 (find-hint-control-index (the-as level-hint-control arg0)))) + (let ((v1-16 (find-hint-control-index arg0))) (cond ((< v1-16 0) #t 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 7dd1c52472..4585f1ac6c 100644 --- a/test/decompiler/reference/engine/game/task/process-taskable_REF.gc +++ b/test/decompiler/reference/engine/game/task/process-taskable_REF.gc @@ -1638,7 +1638,14 @@ (when (and (not (string= arg0 (-> obj last-ambient))) - (or arg1 (can-hint-be-played? 1 (the-as entity #f) (the-as string #f))) + (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) ) diff --git a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc index 10a936e01b..91ce91b1e2 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc @@ -327,7 +327,7 @@ (the-as part-tracker (-> self particles gp-0 tracker process 0)) start-time ) - (the-as uint (-> *display* base-frame-counter)) + (-> *display* base-frame-counter) ) ) ((-> self particles gp-0 kind) diff --git a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc index b3c0d75ebe..85a7927aec 100644 --- a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc @@ -553,7 +553,7 @@ (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 (('trigger) - (start-hint-timer (the-as level-hint-control 842)) + (start-hint-timer (game-text-id sunken-qbert-hint)) (close-specific-task! (game-task sunken-platforms) (task-status need-hint) From 1dc232af40dbce45f44325a4a45f896de5519465 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 04:20:21 +0100 Subject: [PATCH 17/27] reverse TypeConsistency operation --- test/goalc/test_with_game.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/goalc/test_with_game.cpp b/test/goalc/test_with_game.cpp index 28aa16c633..d0e7d45fd7 100644 --- a/test/goalc/test_with_game.cpp +++ b/test/goalc/test_with_game.cpp @@ -926,8 +926,8 @@ TEST_F(WithGameTests, Mips2C_CallGoal) { TEST(TypeConsistency, TypeConsistency) { Compiler compiler; compiler.enable_throw_on_redefines(); - compiler.run_test_no_load("test/goalc/source_templates/with_game/test-build-game.gc"); compiler.run_test_no_load("decompiler/config/all-types.gc"); + compiler.run_test_no_load("test/goalc/source_templates/with_game/test-build-game.gc"); } struct VectorFloatRegister { From a973b091f71cddabd8421c97ede95f0ecfcc2ea6 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 05:04:08 +0100 Subject: [PATCH 18/27] add eye stuff for merc art login --- decompiler/config/all-types.gc | 2 +- goal_src/engine/gfx/eye.gc | 53 ++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 874236cfdc..8d2515c66d 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -21450,7 +21450,7 @@ ;; - Unknowns -;;(define-extern *eye-work* object) ;; unknown type +(define-extern *eye-work* eye-work) ;; ---------------------- diff --git a/goal_src/engine/gfx/eye.gc b/goal_src/engine/gfx/eye.gc index b3973dc213..3aac5c53a5 100644 --- a/goal_src/engine/gfx/eye.gc +++ b/goal_src/engine/gfx/eye.gc @@ -5,3 +5,56 @@ ;; name in dgo: eye ;; dgos: GAME, ENGINE + +(define + *eye-work* + (new 'static 'eye-work + :sprite-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 #x53531) + ) + :sprite-tmpl2 + (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 #x53531) + ) + :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) + ) + :blink-table + (new 'static 'array float 10 0.0 0.667 0.9 1.0 1.0 1.0 1.0 0.333 0.1 0.0) + ) + ) + + +(defun get-eye-block ((arg0 int) (arg1 int)) + (let ((v1-0 arg0) + (a0-4 (-> ct32-24-block-table (* arg1 4))) + ) + (+ *eyes-base-block* (* v1-0 32) a0-4) + ) + ) \ No newline at end of file From 77233938c2b7b38746ddf37112206ab8d5b85ce0 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 05:41:17 +0100 Subject: [PATCH 19/27] add `(:sym-name)` --- docs/markdown/debugging.md | 31 ++++++++++++++++++++++++++++ goalc/compiler/Compiler.h | 1 + goalc/compiler/compilation/Atoms.cpp | 1 + goalc/compiler/compilation/Debug.cpp | 18 ++++++++++++++++ goalc/debugger/Debugger.cpp | 12 +++++++++++ goalc/debugger/Debugger.h | 1 + 6 files changed, 64 insertions(+) diff --git a/docs/markdown/debugging.md b/docs/markdown/debugging.md index c514243b4f..2040a8b1ab 100644 --- a/docs/markdown/debugging.md +++ b/docs/markdown/debugging.md @@ -233,6 +233,37 @@ gc> (:disasm (sym-val basic-type?) 80) For now, the disassembly is pretty basic, but it should eventually support GOAL symbols. +### `(:sym-name)` + +Print the name of a symbol from its offset. The name is fetched from memory. + +```lisp +(:disasm offset) +``` + +Example (after doing a `(lt)`, `(blg)`, `(dbg)`): + +```nasm +gs> (:sym-name 0) +symbol name for symbol 0h is #f +gs> (:sym-name 8) +symbol name for symbol 8h is #t +gs> (:sym-name 16) +symbol name for symbol 10h is function +gs> (:sym-name #x18) +symbol name for symbol 18h is basic +gs> (:sym-name #x20) +symbol name for symbol 20h is string +gs> (:sym-name #x30) +symbol name for symbol 30h is type +gs> (:sym-name #x80) +symbol name for symbol 80h is int64 +gs> (:sym-name #x800) +symbol name for symbol 800h is +``` + +Keep in mind `-#xa8` is not valid syntax for a negative number in hexadecimal. + ## Breakpoints ```lisp diff --git a/goalc/compiler/Compiler.h b/goalc/compiler/Compiler.h index b7b3a7cbf9..2f01aa9b93 100644 --- a/goalc/compiler/Compiler.h +++ b/goalc/compiler/Compiler.h @@ -559,6 +559,7 @@ class Compiler { Val* compile_disasm(const goos::Object& form, const goos::Object& rest, Env* env); Val* compile_bp(const goos::Object& form, const goos::Object& rest, Env* env); Val* compile_ubp(const goos::Object& form, const goos::Object& rest, Env* env); + Val* compile_d_sym_name(const goos::Object& form, const goos::Object& rest, Env* env); u32 parse_address_spec(const goos::Object& form); // Macro diff --git a/goalc/compiler/compilation/Atoms.cpp b/goalc/compiler/compilation/Atoms.cpp index b79c168e7c..ce2c71015e 100644 --- a/goalc/compiler/compilation/Atoms.cpp +++ b/goalc/compiler/compilation/Atoms.cpp @@ -182,6 +182,7 @@ const std::unordered_map< {":disasm", &Compiler::compile_disasm}, {":bp", &Compiler::compile_bp}, {":ubp", &Compiler::compile_ubp}, + {":sym-name", &Compiler::compile_d_sym_name}, // TYPE {"deftype", &Compiler::compile_deftype}, diff --git a/goalc/compiler/compilation/Debug.cpp b/goalc/compiler/compilation/Debug.cpp index 1d611d391b..e2d654da90 100644 --- a/goalc/compiler/compilation/Debug.cpp +++ b/goalc/compiler/compilation/Debug.cpp @@ -390,3 +390,21 @@ Val* Compiler::compile_ubp(const goos::Object& form, const goos::Object& rest, E return get_none(); } + +Val* Compiler::compile_d_sym_name(const goos::Object& form, const goos::Object& rest, Env* env) { + (void)env; + auto args = get_va(form, rest); + va_check(form, args, {goos::ObjectType::INTEGER}, {}); + s32 ofs = args.unnamed.at(0).as_int(); + + if (!m_debugger.is_halted()) { + throw_compiler_error(form, + "Cannot get symbol name from offset, the debugger must be connected and " + "the target must be halted."); + } + + fmt::print("symbol name for symbol {:X}h is {}\n", ofs, + m_debugger.get_symbol_name_from_offset(ofs)); + + return get_none(); +} diff --git a/goalc/debugger/Debugger.cpp b/goalc/debugger/Debugger.cpp index cc6bb24552..4515aadc1e 100644 --- a/goalc/debugger/Debugger.cpp +++ b/goalc/debugger/Debugger.cpp @@ -566,6 +566,18 @@ bool Debugger::get_symbol_value(const std::string& sym_name, u32* output) { return false; } +/*! + * Get the value of a symbol by name. Returns if the symbol exists and populates output if it does. + */ +const char* Debugger::get_symbol_name_from_offset(s32 ofs) { + assert(is_valid()); + auto kv = m_symbol_offset_to_name_map.find(ofs); + if (kv != m_symbol_offset_to_name_map.end()) { + return kv->second.c_str(); + } + return ""; +} + /*! * Attempt to start the debugger watch thread and evaluate attach success. Stops if unsuccessful. */ diff --git a/goalc/debugger/Debugger.h b/goalc/debugger/Debugger.h index a9b816c1b6..b1f909ad9a 100644 --- a/goalc/debugger/Debugger.h +++ b/goalc/debugger/Debugger.h @@ -87,6 +87,7 @@ class Debugger { void read_symbol_table(); u32 get_symbol_address(const std::string& sym_name); bool get_symbol_value(const std::string& sym_name, u32* output); + const char* Debugger::get_symbol_name_from_offset(s32 ofs); void add_addr_breakpoint(u32 addr); void remove_addr_breakpoint(u32 addr); void update_break_info(); From f9780ad06f77157fefa2a940a91b82f36a807531 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 05:48:19 +0100 Subject: [PATCH 20/27] oops --- goalc/debugger/Debugger.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/goalc/debugger/Debugger.h b/goalc/debugger/Debugger.h index b1f909ad9a..7ac2100161 100644 --- a/goalc/debugger/Debugger.h +++ b/goalc/debugger/Debugger.h @@ -87,7 +87,7 @@ class Debugger { void read_symbol_table(); u32 get_symbol_address(const std::string& sym_name); bool get_symbol_value(const std::string& sym_name, u32* output); - const char* Debugger::get_symbol_name_from_offset(s32 ofs); + const char* get_symbol_name_from_offset(s32 ofs); void add_addr_breakpoint(u32 addr); void remove_addr_breakpoint(u32 addr); void update_break_info(); From 284973ef2b0b0ee1474e95b0e1322383aa627a0f Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 06:00:06 +0100 Subject: [PATCH 21/27] add `--auto-dbg` option to gc args --- goalc/compiler/Compiler.cpp | 40 ++++++++++++++++++++++++------------- goalc/compiler/Compiler.h | 2 +- goalc/main.cpp | 6 +++++- scripts/batch/gc.bat | 2 +- 4 files changed, 33 insertions(+), 17 deletions(-) diff --git a/goalc/compiler/Compiler.cpp b/goalc/compiler/Compiler.cpp index ca1dba8b50..b7c3ae1c43 100644 --- a/goalc/compiler/Compiler.cpp +++ b/goalc/compiler/Compiler.cpp @@ -39,7 +39,7 @@ Compiler::Compiler(std::unique_ptr repl) setup_goos_forms(); } -ReplStatus Compiler::execute_repl(bool auto_listen) { +ReplStatus Compiler::execute_repl(bool auto_listen, bool auto_debug) { // init repl m_repl->print_welcome_message(); auto examples = m_repl->examples; @@ -53,24 +53,36 @@ ReplStatus Compiler::execute_repl(bool auto_listen) { m_repl->get_repl().set_highlighter_callback( std::bind(&Compiler::repl_coloring, this, _1, _2, std::cref(regex_colors))); - if (auto_listen) { - m_listener.connect_to_target(); + std::string auto_input; + if (auto_debug || auto_listen) { + auto_input.append("(lt)"); + } + if (auto_debug) { + auto_input.append("(dbg) (:cont)"); } while (!m_want_exit && !m_want_reload) { try { - // 1). get a line from the user (READ) - std::string prompt = fmt::format(fmt::emphasis::bold | fg(fmt::color::cyan), "g > "); - if (m_listener.is_connected()) { - prompt = fmt::format(fmt::emphasis::bold | fg(fmt::color::lime_green), "gc> "); - } - if (m_debugger.is_halted()) { - prompt = fmt::format(fmt::emphasis::bold | fg(fmt::color::magenta), "gs> "); - } else if (m_debugger.is_attached()) { - prompt = fmt::format(fmt::emphasis::bold | fg(fmt::color::red), "gr> "); + std::optional code; + + if (auto_input.empty()) { + // 1). get a line from the user (READ) + std::string prompt = fmt::format(fmt::emphasis::bold | fg(fmt::color::cyan), "g > "); + if (m_listener.is_connected()) { + prompt = fmt::format(fmt::emphasis::bold | fg(fmt::color::lime_green), "gc> "); + } + if (m_debugger.is_halted()) { + prompt = fmt::format(fmt::emphasis::bold | fg(fmt::color::magenta), "gs> "); + } else if (m_debugger.is_attached()) { + prompt = fmt::format(fmt::emphasis::bold | fg(fmt::color::red), "gr> "); + } + + code = m_goos.reader.read_from_stdin(prompt, *m_repl); + } else { + code = m_goos.reader.read_from_string(auto_input); + auto_input.clear(); } - auto code = m_goos.reader.read_from_stdin(prompt, *m_repl); if (!code) { continue; } @@ -496,4 +508,4 @@ void Compiler::setup_goos_forms() { return goos::build_list(enum_vals); }); -} \ No newline at end of file +} diff --git a/goalc/compiler/Compiler.h b/goalc/compiler/Compiler.h index 2f01aa9b93..c42f14f9b1 100644 --- a/goalc/compiler/Compiler.h +++ b/goalc/compiler/Compiler.h @@ -26,7 +26,7 @@ enum class ReplStatus { OK, WANT_EXIT, WANT_RELOAD }; class Compiler { public: Compiler(std::unique_ptr repl = nullptr); - ReplStatus execute_repl(bool auto_listen = false); + ReplStatus execute_repl(bool auto_listen = false, bool auto_debug = false); goos::Interpreter& get_goos() { return m_goos; } FileEnv* compile_object_file(const std::string& name, goos::Object code, bool allow_emit); std::unique_ptr compile_top_level_function(const std::string& name, diff --git a/goalc/main.cpp b/goalc/main.cpp index a0664d20fe..47f85ba25d 100644 --- a/goalc/main.cpp +++ b/goalc/main.cpp @@ -30,6 +30,7 @@ int main(int argc, char** argv) { std::string argument; bool verbose = false; bool auto_listen = false; + bool auto_debug = false; for (int i = 1; i < argc; i++) { if (std::string("-v") == argv[i]) { verbose = true; @@ -40,6 +41,9 @@ int main(int argc, char** argv) { if (std::string("-auto-lt") == argv[i]) { auto_listen = true; } + if (std::string("-auto-dbg") == argv[i]) { + auto_debug = true; + } } setup_logging(verbose); @@ -53,7 +57,7 @@ int main(int argc, char** argv) { ReplStatus status = ReplStatus::WANT_RELOAD; while (status == ReplStatus::WANT_RELOAD) { compiler = std::make_unique(std::make_unique()); - status = compiler->execute_repl(auto_listen); + status = compiler->execute_repl(auto_listen, auto_debug); if (status == ReplStatus::WANT_RELOAD) { fmt::print("Reloading compiler...\n"); } diff --git a/scripts/batch/gc.bat b/scripts/batch/gc.bat index 41c045d531..ddcdb5f666 100644 --- a/scripts/batch/gc.bat +++ b/scripts/batch/gc.bat @@ -1,4 +1,4 @@ @echo off cd ..\.. -out\build\Release\bin\goalc -v -auto-lt +out\build\Release\bin\goalc -v -auto-dbg pause From 5cbafca4629d273bfaeded354f25692b809dc277 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 06:52:05 +0100 Subject: [PATCH 22/27] codacy --- common/cross_os_debug/xdbg.cpp | 6 +++++- decompiler/config/jak1_ntsc_black_label/hacks.jsonc | 1 + game/kernel/kprint.cpp | 5 ++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index 6cbb749929..3d9b23bcdc 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -323,7 +323,11 @@ void win_print_last_error(const std::string& msg) { FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&errorText, 0, NULL); - printf("[Debugger] %s Win Err: %s", msg.c_str(), errorText); + if (errorText == NULL) { + printf("[Debugger] %s Win Err", msg.c_str()); + } else { + printf("[Debugger] %s Win Err: %s", msg.c_str(), errorText); + } } /*! diff --git a/decompiler/config/jak1_ntsc_black_label/hacks.jsonc b/decompiler/config/jak1_ntsc_black_label/hacks.jsonc index 711b98e361..50da450fb3 100644 --- a/decompiler/config/jak1_ntsc_black_label/hacks.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/hacks.jsonc @@ -276,6 +276,7 @@ "(method 35 collide-shape)", // process-drawable BUG + "cspace-inspect-tree", "(method 19 process-drawable)", // ambient diff --git a/game/kernel/kprint.cpp b/game/kernel/kprint.cpp index 93ecb26982..4681a380dd 100644 --- a/game/kernel/kprint.cpp +++ b/game/kernel/kprint.cpp @@ -124,9 +124,8 @@ void reset_output() { // s7.offset); // modified for OpenGOAL: - sprintf(OutputBufArea.cast().c() + sizeof(ListenerMessageHeader), - "reset #x%x #x%llx %s\n", s7.offset, (uintptr_t)g_ee_main_mem, - xdbg::get_current_thread_id().to_string().c_str()); + sprintf(OutputBufArea.cast().c() + sizeof(ListenerMessageHeader), "reset #x%x #x%lx %s\n", + s7.offset, (uintptr_t)g_ee_main_mem, xdbg::get_current_thread_id().to_string().c_str()); OutputPending = OutputBufArea + sizeof(ListenerMessageHeader); } } From c62389fda92923504ca9a2a2ba8650ff577b5f6b Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 21:08:27 +0100 Subject: [PATCH 23/27] improve robustness of dgo unpacker and objectfiledb reading --- decompiler/ObjectFile/ObjectFileDB.cpp | 6 +++++- tools/dgo_unpacker.cpp | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/decompiler/ObjectFile/ObjectFileDB.cpp b/decompiler/ObjectFile/ObjectFileDB.cpp index f99d4f29d2..d5ce325334 100644 --- a/decompiler/ObjectFile/ObjectFileDB.cpp +++ b/decompiler/ObjectFile/ObjectFileDB.cpp @@ -130,7 +130,11 @@ ObjectFileDB::ObjectFileDB(const std::vector& _dgos, lg::info("-Loading {} DGOs...", _dgos.size()); for (auto& dgo : _dgos) { - get_objs_from_dgo(dgo, config); + try { + get_objs_from_dgo(dgo, config); + } catch (std::runtime_error& e) { + lg::warn("Error when reading DGOs: {}", e.what()); + } } lg::info("-Loading {} plain object files...", object_files.size()); diff --git a/tools/dgo_unpacker.cpp b/tools/dgo_unpacker.cpp index 35ee96d6fb..8ff91403e0 100644 --- a/tools/dgo_unpacker.cpp +++ b/tools/dgo_unpacker.cpp @@ -32,6 +32,7 @@ int run(int argc, char** argv) { // read as a DGO auto dgo = DgoReader(base, data); // write dgo description + file_util::create_dir_if_needed(out_path); file_util::write_text_file(file_util::combine_path(out_path, base + ".txt"), dgo.description_as_json()); // write files: From 04a511e26d194f861e9577fda959fb976cad73de Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Wed, 27 Oct 2021 23:28:44 +0100 Subject: [PATCH 24/27] `cavegeyserrock` --- decompiler/config/all-types-demo.gc | 36037 ++++++++++++++++ decompiler/config/all-types.gc | 44 + .../jak1_ntsc_black_label/label_types.jsonc | 7 + .../stack_structures.jsonc | 24 + .../jak1_ntsc_black_label/type_casts.jsonc | 4 + goal_src/old/cavegeyserrock.gc | 1142 + 6 files changed, 37258 insertions(+) create mode 100644 decompiler/config/all-types-demo.gc create mode 100644 goal_src/old/cavegeyserrock.gc diff --git a/decompiler/config/all-types-demo.gc b/decompiler/config/all-types-demo.gc new file mode 100644 index 0000000000..6f4467d458 --- /dev/null +++ b/decompiler/config/all-types-demo.gc @@ -0,0 +1,36037 @@ + +;; ---------------------- +;; File - gcommon +;; Source Path - kernel/gcommon.gc +;; Containing DGOs - ['KERNEL'] +;; Version - 3 + +;; - Types + +(deftype vec4s (uint128) + () + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ;; likely a bitfield type + ) + +(deftype bfloat (basic) + ((data float :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype inline-array-class (basic) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (_data uint8 :dynamic :offset 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; NO FILE +;; Unknowns / Built-Ins / Non-Original Types + +; (deftype ocean-transition-mask (structure) + ; ((mask UNKNOWN 4 :offset-assert 0) + ; (word int32 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x4 + ; :flag-assert #x900000004 + ; ) + + +; (deftype ocean-near-mask (structure) + ; ((mask UNKNOWN 32 :offset-assert 0) + ; (byte UNKNOWN 128 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x80 + ; :flag-assert #x900000080 + ; ) + + +; (deftype ocean-near-masks (basic) + ; ((indices UNKNOWN 2304 :offset-assert 4) + ; (data uint32 :offset-assert 2308) + ; ) + ; :method-count-assert 9 + ; :size-assert #x908 + ; :flag-assert #x900000908 + ; ) + + +; (deftype ocean-near-map (structure) + ; ((indices UNKNOWN 16 :offset-assert 0) + ; (dword UNKNOWN 4 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x20 + ; :flag-assert #x900000020 + ; ) + + +; (deftype ocean-near-colors-array (structure) + ; ((near-colors UNKNOWN 4 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x100 + ; :flag-assert #x900000100 + ; ) + +;; ocean-near-h + +; (declare-type vector structure) +; (deftype ocean-near-color-upload (structure) + ; ((near-colors-array ocean-near-colors-array :inline :offset-assert 0) + ; (locations vector :inline :offset-assert 256) + ; ) + ; :method-count-assert 9 + ; :size-assert #x110 + ; :flag-assert #x900000110 + ; ) + +; (deftype dvdstats (basic) + ; ((lastx UNKNOWN 41 :offset-assert 4) + ; (worstx UNKNOWN 41 :offset-assert 168) + ; ) + ; :method-count-assert 9 + ; :size-assert #x14c + ; :flag-assert #x90000014c + ; ) + + +; (deftype demo-control (process) + ; ((part UNKNOWN 1 :offset-assert 112) + ; (state-time uint64 :offset-assert 120) + ; ) + ; :method-count-assert 15 + ; :size-assert #x80 + ; :flag-assert #xf00100080 + ; ;; inherited inpspect of process + ; (:methods + ; (dummy-9 () none 9) + ; (dummy-10 () none 10) + ; (dummy-11 () none 11) + ; (dummy-12 () none 12) + ; (dummy-13 () none 13) + ; (dummy-14 () none 14) + ; ) + ; ) + + +; (deftype robotplat (UNKNOWN) + ; () + ; :method-count-assert 0 + ; :size-assert #x0 + ; :flag-assert #x0 + ; ;; bad get label + ; ) + + +; (deftype zapper (UNKNOWN) + ; () + ; :method-count-assert 0 + ; :size-assert #x0 + ; :flag-assert #x0 + ; ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ; ) + +;; cavegeyserrock + +(deftype cavegeyserrock-control-pt (structure) + ((trans vector :inline :offset-assert 0) + (transv vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +;; cavegeyserrock +(declare-type process-drawable basic) +(declare-type sync-info structure) +(deftype cavegeyserrock (process-drawable) + ((do-burst? basic :offset-assert 176) + (do-falling-sound? basic :offset-assert 180) + (do-landing-sound? basic :offset-assert 184) + (begin-travel-up float :offset-assert 188) + (begin-travel-down float :offset-assert 192) + (sync sync-info :inline :offset-assert 196) + (part2 basic :offset-assert 204) + (down vector :inline :offset-assert 208) + (up vector :inline :offset-assert 224) + (control-pt cavegeyserrock-control-pt :inline 3 :offset-assert 240) + ) + :method-count-assert 22 + :size-assert #x150 + :flag-assert #x1600e00150 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - gstring-h +;; Source Path - kernel/gstring-h.gc +;; Containing DGOs - ['KERNEL'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - gkernel-h +;; Source Path - kernel/gkernel-h.gc +;; Containing DGOs - ['KERNEL'] +;; Version - 3 + +;; - Types + +(declare-type process process-tree) +(declare-type res-lump basic) +(define-extern process-tree type) ; deftype provided by C Kernel +(deftype process-tree (basic) + ((name basic :offset-assert 4) + (mask process-mask :offset-assert 8) + (parent (pointer process-tree) :offset-assert 12) + (brother (pointer process-tree) :offset-assert 16) + (child (pointer process-tree) :offset-assert 20) + (ppointer (pointer process) :offset-assert 24) + (self process-tree :offset-assert 28) + ) + (:methods + (new (symbol type basic) _type_ 0) + (activate (_type_ process-tree basic pointer) process-tree 9) + (deactivate (_type_) none 10) + (copy-defaults! (_type_ res-lump) none 11) + (run-logic? (_type_) symbol 12) + (dummy-method () none 13) + ) + :size-assert #x20 + :method-count-assert 14 + :no-runtime-type + ) + +(deftype kernel-context (basic) + ((prevent-from-run uint32 :offset-assert 4) + (require-for-run uint32 :offset-assert 8) + (allow-to-run uint32 :offset-assert 12) + (next-pid int32 :offset-assert 16) + (fast-stack-top uint32 :offset-assert 20) + (current-process basic :offset-assert 24) + (relocating-process basic :offset-assert 28) + (relocating-min int32 :offset-assert 32) + (relocating-max int32 :offset-assert 36) + (relocating-offset int32 :offset-assert 40) + (low-memory-message basic :offset-assert 44) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype thread (basic) + ((name basic :offset-assert 4) + (process basic :offset-assert 8) + (previous basic :offset-assert 12) + (suspend-hook basic :offset-assert 16) + (resume-hook basic :offset-assert 20) + (pc uint32 :offset-assert 24) + (sp uint32 :offset-assert 28) + (stack-top uint32 :offset-assert 32) + (stack-size int32 :offset-assert 36) + ) + :method-count-assert 12 + :size-assert #x28 + :flag-assert #xc00000028 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + +(deftype cpu-thread (thread) + ((name basic :offset-assert 4) + (process basic :offset-assert 8) + (previous basic :offset-assert 12) + (suspend-hook basic :offset-assert 16) + (resume-hook basic :offset-assert 20) + (pc uint32 :offset-assert 24) + (sp uint32 :offset-assert 28) + (stack-top uint32 :offset-assert 32) + (stack-size int32 :offset-assert 36) + (rreg uint64 8 :offset-assert 40) + (freg float 6 :offset-assert 104) + (stack uint8 :dynamic :offset-assert 128) + ) + :method-count-assert 12 + :size-assert #x80 + :flag-assert #xc00000080 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + +(deftype dead-pool (process-tree) + ( + ;; nothing new! + ) + (:methods + (new (symbol type int int basic) _type_ 0) + (get-process (_type_ type int) process 14) + (return-process ( _type_ process) none 15) + ) + :size-assert #x20 + :method-count-assert 16 + :flag-assert #x1000000020 + ) + +(deftype dead-pool-heap-rec (structure) + ((process process :offset-assert 0) + (prev dead-pool-heap-rec :offset-assert 4) + (next dead-pool-heap-rec :offset-assert 8) + ) + :pack-me + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype dead-pool-heap (dead-pool) + ((allocated-length int32 :offset-assert 32) + (compact-time uint32 :offset-assert 36) + (compact-count-targ uint32 :offset-assert 40) + (compact-count uint32 :offset-assert 44) + (fill-percent float :offset-assert 48) + (first-gap dead-pool-heap-rec :offset-assert 52) + (first-shrink dead-pool-heap-rec :offset-assert 56) + (heap kheap :inline :offset-assert 64) + (alive-list dead-pool-heap-rec :inline :offset-assert 80) + (last dead-pool-heap-rec :offset #x54 :offset-assert 84) + (dead-list dead-pool-heap-rec :inline :offset-assert 92) + (process-list dead-pool-heap-rec :inline :dynamic :offset-assert 104) + ) + (:methods + (new (symbol type basic int int) _type_ 0) + (compact (dead-pool-heap int) none 16) + (shrink-heap (dead-pool-heap process) dead-pool-heap 17) + (churn (dead-pool-heap int) none 18) + (memory-used (dead-pool-heap) int 19) + (memory-total (dead-pool-heap) int 20) + (gap-size (dead-pool-heap dead-pool-heap-rec) int 21) + (gap-location (dead-pool-heap dead-pool-heap-rec) pointer 22) + (find-gap (dead-pool-heap dead-pool-heap-rec) dead-pool-heap-rec 23) + (find-gap-by-size (dead-pool-heap int) dead-pool-heap-rec 24) + (memory-free (dead-pool-heap) int 25) + (compact-time (dead-pool-heap) uint 26) + ) + :method-count-assert 27 + :size-assert #x68 + :flag-assert #x1b00000068 + ) + +(deftype catch-frame (stack-frame) + ((name basic :offset-assert 4) + (next basic :offset-assert 8) + (sp int32 :offset-assert 12) + (ra int32 :offset-assert 16) + (freg float 6 :offset-assert 20) + (rreg uint64 8 :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #xb0 + :flag-assert #x9000000b0 + ) + +(deftype protect-frame (stack-frame) + ((name basic :offset-assert 4) + (next basic :offset-assert 8) + (exit basic :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype handle (uint64) + ((process (pointer process) :offset 0) + (pid int32 :offset 32) + (u64 uint64 :offset 0) + ) + :flag-assert #x900000008 + ) + +(declare-type event-message-block structure) +(deftype state (protect-frame) + ((code function :offset-assert 16) + (trans (function none) :offset-assert 20) + (post function :offset-assert 24) + (enter function :offset-assert 28) + (event (function process int symbol event-message-block object) :offset-assert 32) + ) + (:methods + (new (symbol type basic function + (function none) + function + (function none) + (function process int symbol event-message-block object)) _type_ 0) + ) + :method-count-assert 9 + :size-assert #x24 + :flag-assert #x900000024 + ) + +(deftype event-message-block (structure) + ((to process :offset-assert 0) + (from process :offset-assert 4) + (num-params int32 :offset-assert 8) + (message symbol :offset-assert 12) + (param uint64 7 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x48 + :flag-assert #x900000048 + ) + + +;; ---------------------- +;; File - gkernel +;; Source Path - kernel/gkernel.gc +;; Containing DGOs - ['KERNEL'] +;; Version - 3 + +;; - Types + +(deftype process (process-tree) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; too many basic blocks + ) + + +;; ---------------------- +;; File - pskernel +;; Source Path - kernel/pskernel.gc +;; Containing DGOs - ['KERNEL'] +;; Version - 3 + +;; - Types + +(deftype lowmemmap (structure) + ((irq-info-stack uint32 :offset-assert 0) + (irq2-info-stack uint32 :offset-assert 4) + (kernel-copy-fn uint32 :offset-assert 8) + (kernel-write-fn uint32 :offset-assert 12) + (r1-save uint128 :offset-assert 16) + (last-time uint32 :offset-assert 32) + (high-time uint32 :offset-assert 36) + (dma-status uint32 :offset-assert 40) + (dma-qnext uint32 :offset-assert 44) + (dma-qwc uint32 :offset-assert 48) + (dma-tnext uint32 :offset-assert 52) + (dma-stack0 uint32 :offset-assert 56) + (dma-stack1 uint32 :offset-assert 60) + (kernel-read-fn uint32 :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x44 + :flag-assert #x900000044 + ) + + +;; ---------------------- +;; File - gstring +;; Source Path - kernel/gstring.gc +;; Containing DGOs - ['KERNEL'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - dgo-h +;; Source Path - kernel/dgo-h.gc +;; Containing DGOs - ['KERNEL'] +;; Version - 3 + +;; - Types + +(deftype dgo-entry (structure) + ((offset uint32 :offset-assert 0) + (length uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +; (deftype dgo-file (basic) + ; ((num-go-files uint32 :offset-assert 4) + ; (total-length uint32 :offset-assert 8) + ; (rsvd uint32 :offset-assert 12) + ; (data UNKNOWN :dynamic :offset-assert 16) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + + +;; ---------------------- +;; File - gstate +;; Source Path - kernel/gstate.gc +;; Containing DGOs - ['KERNEL'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - types-h +;; Source Path - engine/util/types-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - vu1-macros +;; Source Path - engine/ps2/vu1-macros.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - math +;; Source Path - engine/math/math.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype random-generator (basic) + ((seed uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + + +;; ---------------------- +;; File - vector-h +;; Source Path - engine/math/vector-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype bit-array (basic) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + ) + :method-count-assert 13 + :size-assert #xd + :flag-assert #xd0000000d + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +; (deftype vector4ub (structure) + ; ((data UNKNOWN 4 :offset-assert 0) + ; (x uint8 :offset-assert 0) + ; (y uint8 :offset-assert 1) + ; (z uint8 :offset-assert 2) + ; (w uint8 :offset-assert 3) + ; (clr uint32 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x4 + ; :flag-assert #x900000004 + ; ) + +; (deftype vector4b (structure) + ; ((data UNKNOWN 4 :offset-assert 0) + ; (x int8 :offset-assert 0) + ; (y int8 :offset-assert 1) + ; (z int8 :offset-assert 2) + ; (w int8 :offset-assert 3) + ; ) + ; :method-count-assert 9 + ; :size-assert #x4 + ; :flag-assert #x900000004 + ; ) + +; (deftype vector2h (structure) + ; ((data UNKNOWN 2 :offset-assert 0) + ; (x int16 :offset-assert 0) + ; (y int16 :offset-assert 2) + ; ) + ; :method-count-assert 9 + ; :size-assert #x4 + ; :flag-assert #x900000004 + ; ) + +; (deftype vector2uh (structure) + ; ((data UNKNOWN 2 :offset-assert 0) + ; (x uint16 :offset-assert 0) + ; (y uint16 :offset-assert 2) + ; (val uint32 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x4 + ; :flag-assert #x900000004 + ; ) + +; (deftype vector3h (structure) + ; ((data UNKNOWN 2 :offset-assert 0) + ; (x int16 :offset-assert 0) + ; (y int16 :offset-assert 2) + ; (z int16 :offset-assert 4) + ; ) + ; :method-count-assert 9 + ; :size-assert #x6 + ; :flag-assert #x900000006 + ; ) + +; (deftype vector2w (structure) + ; ((data UNKNOWN 2 :offset-assert 0) + ; (x int32 :offset-assert 0) + ; (y int32 :offset-assert 4) + ; ) + ; :method-count-assert 9 + ; :size-assert #x8 + ; :flag-assert #x900000008 + ; ) + +; (deftype vector3w (structure) + ; ((data UNKNOWN 3 :offset-assert 0) + ; (x int32 :offset-assert 0) + ; (y int32 :offset-assert 4) + ; (z int32 :offset-assert 8) + ; ) + ; :method-count-assert 9 + ; :size-assert #xc + ; :flag-assert #x90000000c + ; ) + +; (deftype vector4w (structure) + ; ((data UNKNOWN 4 :offset-assert 0) + ; (x int32 :offset-assert 0) + ; (y int32 :offset-assert 4) + ; (z int32 :offset-assert 8) + ; (w int32 :offset-assert 12) + ; (dword UNKNOWN 2 :offset-assert 0) + ; (quad uint128 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +; (deftype vector4w-2 (structure) + ; ((data UNKNOWN 8 :offset-assert 0) + ; (quad UNKNOWN 2 :offset-assert 0) + ; (vector UNKNOWN 2 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x20 + ; :flag-assert #x900000020 + ; ) + +; (deftype vector4w-3 (structure) + ; ((data UNKNOWN 12 :offset-assert 0) + ; (quad UNKNOWN 3 :offset-assert 0) + ; (vector UNKNOWN 3 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x30 + ; :flag-assert #x900000030 + ; ) + +; (deftype vector4w-4 (structure) + ; ((data UNKNOWN 16 :offset-assert 0) + ; (quad UNKNOWN 4 :offset-assert 0) + ; (vector UNKNOWN 4 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x40 + ; :flag-assert #x900000040 + ; ) + +; (deftype vector4h (structure) + ; ((data UNKNOWN 4 :offset-assert 0) + ; (x int16 :offset-assert 0) + ; (y int16 :offset-assert 2) + ; (z int16 :offset-assert 4) + ; (w int16 :offset-assert 6) + ; (long uint64 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x8 + ; :flag-assert #x900000008 + ; ) + +; (deftype vector8h (structure) + ; ((data UNKNOWN 8 :offset-assert 0) + ; (quad uint128 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +; (deftype vector16b (structure) + ; ((data UNKNOWN 8 :offset-assert 0) + ; (quad uint128 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +(deftype vector (structure) + ((data float 4 :offset-assert 0) + (x float :offset-assert 0) + (y float :offset-assert 4) + (z float :offset-assert 8) + (w float :offset-assert 12) + (quad uint128 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +; (deftype vector4s-3 (structure) + ; ((data UNKNOWN 12 :offset-assert 0) + ; (quad UNKNOWN 3 :offset-assert 0) + ; (vector UNKNOWN 3 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x30 + ; :flag-assert #x900000030 + ; ) + +; (deftype vector-array (inline-array-class) + ; ((length int32 :offset-assert 4) + ; (allocated-length int32 :offset-assert 8) + ; (data UNKNOWN :dynamic :offset-assert 16) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +; (deftype rgbaf (vector) + ; ((data UNKNOWN 4 :offset-assert 0) + ; (x float :offset-assert 0) + ; (y float :offset-assert 4) + ; (z float :offset-assert 8) + ; (w float :offset-assert 12) + ; (quad uint128 :offset-assert 0) + ; (r float :offset-assert 0) + ; (g float :offset-assert 4) + ; (b float :offset-assert 8) + ; (a float :offset-assert 12) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +; (deftype plane (vector) + ; ((data UNKNOWN 4 :offset-assert 0) + ; (x float :offset-assert 0) + ; (y float :offset-assert 4) + ; (z float :offset-assert 8) + ; (w float :offset-assert 12) + ; (quad uint128 :offset-assert 0) + ; (a float :offset-assert 0) + ; (b float :offset-assert 4) + ; (c float :offset-assert 8) + ; (d float :offset-assert 12) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +; (deftype sphere (vector) + ; ((data UNKNOWN 4 :offset-assert 0) + ; (x float :offset-assert 0) + ; (y float :offset-assert 4) + ; (z float :offset-assert 8) + ; (w float :offset-assert 12) + ; (quad uint128 :offset-assert 0) + ; (r float :offset-assert 12) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +; (deftype box8s (structure) + ; ((data UNKNOWN 8 :offset-assert 0) + ; (quad UNKNOWN 2 :offset-assert 0) + ; (vector UNKNOWN 2 :offset-assert 0) + ; (min vector :inline :offset-assert 0) + ; (max vector :inline :offset-assert 16) + ; ) + ; :method-count-assert 9 + ; :size-assert #x20 + ; :flag-assert #x900000020 + ; ) + +; (deftype box8s-array (inline-array-class) + ; ((length int32 :offset-assert 4) + ; (allocated-length int32 :offset-assert 8) + ; (data UNKNOWN :dynamic :offset-assert 16) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +(deftype cylinder (structure) + ((origin vector :inline :offset-assert 0) + (axis vector :inline :offset-assert 16) + (radius float :offset-assert 32) + (length float :offset-assert 36) + ) + :method-count-assert 11 + :size-assert #x28 + :flag-assert #xb00000028 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype cylinder-flat (structure) + ((origin vector :inline :offset-assert 0) + (axis vector :inline :offset-assert 16) + (radius float :offset-assert 32) + (length float :offset-assert 36) + ) + :method-count-assert 11 + :size-assert #x28 + :flag-assert #xb00000028 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +; (deftype vertical-planes (structure) + ; ((data UNKNOWN 4 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x40 + ; :flag-assert #x900000040 + ; ) + +; (deftype vertical-planes-array (basic) + ; ((length uint32 :offset-assert 4) + ; (data UNKNOWN :dynamic :offset-assert 16) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +; (deftype qword (structure) + ; ((data UNKNOWN 4 :offset-assert 0) + ; (byte UNKNOWN 16 :offset-assert 0) + ; (hword UNKNOWN 8 :offset-assert 0) + ; (word UNKNOWN 4 :offset-assert 0) + ; (dword UNKNOWN 2 :offset-assert 0) + ; (quad uint128 :offset-assert 0) + ; (vector vector :inline :offset-assert 0) + ; (vector4w vector4w :inline :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x10 + ; :flag-assert #x900000010 + ; ) + +; (deftype vector3s (structure) + ; ((data UNKNOWN 3 :offset-assert 0) + ; (x float :offset-assert 0) + ; (y float :offset-assert 4) + ; (z float :offset-assert 8) + ; ) + ; :method-count-assert 9 + ; :size-assert #xc + ; :flag-assert #x90000000c + ; ) + + +;; ---------------------- +;; File - gravity-h +;; Source Path - engine/physics/gravity-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - bounding-box-h +;; Source Path - engine/geometry/bounding-box-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype bounding-box (structure) + ((min vector :inline :offset-assert 0) + (max vector :inline :offset-assert 16) + ) + :method-count-assert 15 + :size-assert #x20 + :flag-assert #xf00000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype bounding-box4w (structure) + ((min vector4w :inline :offset-assert 0) + (max vector4w :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype bounding-box-both (structure) + ((box bounding-box :inline :offset-assert 0) + (box4w bounding-box4w :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + + +;; ---------------------- +;; File - matrix-h +;; Source Path - engine/math/matrix-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype matrix (structure) + ((data float 16 :offset-assert 0) + (vector vector 4 :offset-assert 0) + (quad uint128 4 :offset-assert 0) + ) + :method-count-assert 10 + :size-assert #x40 + :flag-assert #xa00000040 + (:methods + (dummy-9 () none 9) + ) + ) + +; (deftype matrix3 (structure) + ; ((data UNKNOWN 12 :offset-assert 0) + ; (vector UNKNOWN 3 :offset-assert 0) + ; (quad UNKNOWN 3 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x30 + ; :flag-assert #x900000030 + ; ) + +; (deftype matrix4h (structure) + ; ((data UNKNOWN 16 :offset-assert 0) + ; (vector4h UNKNOWN 4 :offset-assert 0) + ; (long UNKNOWN 4 :offset-assert 0) + ; ) + ; :method-count-assert 9 + ; :size-assert #x20 + ; :flag-assert #x900000020 + ; ) + + +;; ---------------------- +;; File - quaternion-h +;; Source Path - engine/math/quaternion-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype quaternion (structure) + ((data float 4 :offset-assert 0) + (x float :offset-assert 0) + (y float :offset-assert 4) + (z float :offset-assert 8) + (w float :offset-assert 12) + (vec vector :inline :offset-assert 0) + (quad uint128 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - euler-h +;; Source Path - engine/math/euler-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype euler-angles (vector) + ((data float 4 :offset-assert 0) + (x float :offset-assert 0) + (y float :offset-assert 4) + (z float :offset-assert 8) + (w float :offset-assert 12) + (quad uint128 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - transform-h +;; Source Path - engine/math/transform-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype transform (structure) + ((trans vector :inline :offset-assert 0) + (rot vector :inline :offset-assert 16) + (scale vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype trs (basic) + ((trans vector :inline :offset-assert 16) + (rot vector :inline :offset-assert 32) + (scale vector :inline :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + + +;; ---------------------- +;; File - geometry-h +;; Source Path - engine/geometry/geometry-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype curve (structure) + ((cverts uint32 :offset-assert 0) + (num-cverts int32 :offset-assert 4) + (knots uint32 :offset-assert 8) + (num-knots int32 :offset-assert 12) + (length float :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype border-plane (basic) + ((name basic :offset-assert 4) + (action basic :offset-assert 8) + (slot int8 :offset-assert 12) + (trans vector :inline :offset-assert 16) + (normal vector :inline :offset-assert 32) + ) + :method-count-assert 11 + :size-assert #x30 + :flag-assert #xb00000030 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + + +;; ---------------------- +;; File - trigonometry-h +;; Source Path - engine/math/trigonometry-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - transformq-h +;; Source Path - engine/math/transformq-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype transformq (transform) + ((trans vector :inline :offset-assert 0) + (rot vector :inline :offset-assert 16) + (scale vector :inline :offset-assert 32) + (quat quaternion :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype trsq (trs) + ((trans vector :inline :offset-assert 16) + (rot vector :inline :offset-assert 32) + (scale vector :inline :offset-assert 48) + (quat quaternion :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype trsqv (trsq) + ((trans vector :inline :offset-assert 16) + (rot vector :inline :offset-assert 32) + (scale vector :inline :offset-assert 48) + (quat quaternion :inline :offset-assert 32) + (pause-adjust-distance meters :offset-assert 4) + (nav-radius meters :offset-assert 8) + (transv vector :inline :offset-assert 64) + (rotv vector :inline :offset-assert 80) + (scalev vector :inline :offset-assert 96) + (dir-targ quaternion :inline :offset-assert 112) + (angle-change-time uint64 :offset-assert 128) + (old-y-angle-diff float :offset-assert 136) + ) + :method-count-assert 28 + :size-assert #x8c + :flag-assert #x1c0000008c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + + +;; ---------------------- +;; File - bounding-box +;; Source Path - engine/geometry/bounding-box.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - matrix +;; Source Path - engine/math/matrix.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - transform +;; Source Path - engine/math/transform.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - quaternion +;; Source Path - engine/math/quaternion.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - euler +;; Source Path - engine/math/euler.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - geometry +;; Source Path - engine/geometry/geometry.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - trigonometry +;; Source Path - engine/math/trigonometry.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - gsound-h +;; Source Path - engine/sound/gsound-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sound-rpc-cmd (structure) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype sound-play-parms (structure) + ((mask uint16 :offset-assert 0) + (pitch-mod int16 :offset-assert 2) + (bend int16 :offset-assert 4) + (fo-min int16 :offset-assert 6) + (fo-max int16 :offset-assert 8) + (fo-curve int8 :offset-assert 10) + (priority int8 :offset-assert 11) + (volume int32 :offset-assert 12) + (trans float 3 :offset-assert 16) + (group uint8 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x1d + :flag-assert #x90000001d + ) + +(deftype sound-rpc-bank-cmd (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (bank-name uint128 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype sound-rpc-sound-cmd (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (id uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype sound-rpc-group-cmd (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (group uint8 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x5 + :flag-assert #x900000005 + ) + +(deftype sound-rpc-load-bank (sound-rpc-bank-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (bank-name uint128 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype sound-rpc-load-music (sound-rpc-bank-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (bank-name uint128 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype sound-rpc-unload-bank (sound-rpc-bank-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (bank-name uint128 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype sound-rpc-play (sound-rpc-sound-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (id uint32 :offset-assert 4) + (name uint128 :offset-assert 16) + (parms sound-play-parms :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x3d + :flag-assert #x90000003d + ) + +(deftype sound-rpc-pause-sound (sound-rpc-sound-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (id uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype sound-rpc-stop-sound (sound-rpc-sound-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (id uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype sound-rpc-continue-sound (sound-rpc-sound-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (id uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype sound-rpc-set-param (sound-rpc-sound-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (id uint32 :offset-assert 4) + (parms sound-play-parms :inline :offset-assert 8) + (auto-time int32 :offset-assert 40) + (auto-from int32 :offset-assert 44) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype sound-rpc-set-master-volume (sound-rpc-group-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (group uint8 :offset-assert 4) + (volume int32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype sound-rpc-pause-group (sound-rpc-group-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (group uint8 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x5 + :flag-assert #x900000005 + ) + +(deftype sound-rpc-stop-group (sound-rpc-group-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (group uint8 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x5 + :flag-assert #x900000005 + ) + +(deftype sound-rpc-continue-group (sound-rpc-group-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (group uint8 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x5 + :flag-assert #x900000005 + ) + +(deftype sound-rpc-get-irx-version (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (major uint32 :offset-assert 4) + (minor uint32 :offset-assert 8) + (ee-addr uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype sound-rpc-set-language (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (lang uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype sound-rpc-set-falloff-curve (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (curve int32 :offset-assert 4) + (falloff int32 :offset-assert 8) + (ease int32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype sound-rpc-set-sound-falloff (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (name uint128 :offset-assert 16) + (curve int32 :offset-assert 32) + (min int32 :offset-assert 36) + (max int32 :offset-assert 40) + ) + :method-count-assert 9 + :size-assert #x2c + :flag-assert #x90000002c + ) + +(deftype sound-rpc-reload-info (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype sound-rpc-set-reverb (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (core uint8 :offset-assert 4) + (reverb int32 :offset-assert 8) + (left uint32 :offset-assert 12) + (right uint32 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype sound-rpc-set-ear-trans (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (ear-trans float 3 :offset-assert 4) + (cam-trans float 3 :offset-assert 16) + (cam-angle int32 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype sound-rpc-set-flava (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + (flava uint8 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x5 + :flag-assert #x900000005 + ) + +(deftype sound-rpc-shutdown (sound-rpc-cmd) + ((rsvd1 uint16 :offset-assert 0) + (command uint16 :offset-assert 2) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype sound-rpc-union (structure) + ((data uint32 20 :offset-assert 0) + (load-bank sound-rpc-load-bank :offset-assert 0) + (unload-bank sound-rpc-unload-bank :offset-assert 0) + (play sound-rpc-play :offset-assert 0) + (pause-sound sound-rpc-pause-sound :offset-assert 0) + (stop-sound sound-rpc-stop-sound :offset-assert 0) + (continue-sound sound-rpc-continue-sound :offset-assert 0) + (set-param sound-rpc-set-param :offset-assert 0) + (set-master-volume sound-rpc-set-master-volume :offset-assert 0) + (pause-group sound-rpc-pause-group :offset-assert 0) + (stop-group sound-rpc-stop-group :offset-assert 0) + (continue-group sound-rpc-continue-group :offset-assert 0) + (get-irx-version sound-rpc-get-irx-version :offset-assert 0) + (set-falloff-curve sound-rpc-set-falloff-curve :offset-assert 0) + (set-sound-falloff sound-rpc-set-sound-falloff :offset-assert 0) + (reload-info sound-rpc-reload-info :offset-assert 0) + (set-language sound-rpc-set-language :offset-assert 0) + (set-reverb sound-rpc-set-reverb :offset-assert 0) + (set-ear-trans sound-rpc-set-ear-trans :offset-assert 0) + (set-flava sound-rpc-set-flava :offset-assert 0) + (shutdown sound-rpc-shutdown :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype sound-spec (basic) + ((mask uint16 :offset-assert 4) + (num float :offset-assert 8) + (group uint8 :offset-assert 12) + (sound-name-char int8 16 :offset-assert 16) + (sound-name uint128 :offset-assert 16) + (trans float 4 :offset-assert 32) + (volume int32 :offset-assert 48) + (pitch-mod int32 :offset-assert 52) + (bend int32 :offset-assert 56) + (fo-min int16 :offset-assert 60) + (fo-max int16 :offset-assert 62) + (fo-curve int8 :offset-assert 64) + (priority int8 :offset-assert 65) + (auto-time int32 :offset-assert 68) + (auto-from int32 :offset-assert 72) + ) + :method-count-assert 9 + :size-assert #x4c + :flag-assert #x90000004c + ) + +(deftype ambient-sound (basic) + ((spec basic :offset-assert 4) + (playing-id uint32 :offset-assert 8) + (trans vector :inline :offset-assert 16) + (name uint128 :offset-assert 32) + (play-time uint64 :offset-assert 48) + (time-base uint64 :offset-assert 56) + (time-random uint64 :offset-assert 64) + (volume int32 :offset-assert 72) + (pitch int32 :offset-assert 76) + (falloff-near int32 :offset-assert 80) + (falloff-far int32 :offset-assert 84) + (falloff-mode int32 :offset-assert 88) + (params uint32 :offset-assert 92) + (param-count int32 :offset-assert 96) + (entity basic :offset-assert 100) + (sound-count int32 :offset-assert 104) + ) + :method-count-assert 14 + :size-assert #x6c + :flag-assert #xe0000006c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + + +;; ---------------------- +;; File - timer-h +;; Source Path - engine/ps2/timer-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype timer-bank (structure) + ((count uint32 :offset-assert 0) + (mode uint32 :offset-assert 16) + (comp uint32 :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x24 + :flag-assert #x900000024 + ) + +(deftype timer-hold-bank (timer-bank) + ((count uint32 :offset-assert 0) + (mode uint32 :offset-assert 16) + (comp uint32 :offset-assert 32) + (hold uint32 :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x34 + :flag-assert #x900000034 + ) + +(deftype stopwatch (basic) + ((prev-time-elapsed uint64 :offset-assert 8) + (start-time uint64 :offset-assert 16) + (begin-level int32 :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x1c + :flag-assert #x90000001c + ) + +(deftype profile-frame (structure) + ((name basic :offset-assert 0) + (time-stamp uint32 :offset-assert 4) + (color uint32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype profile-bar (basic) + ((profile-frame-count int32 :offset-assert 4) + (cache-time uint64 :offset-assert 8) + (data uint32 1024 :offset-assert 16) + ) + :method-count-assert 14 + :size-assert #x4010 + :flag-assert #xe00004010 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + + +;; ---------------------- +;; File - timer +;; Source Path - engine/ps2/timer.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - vif-h +;; Source Path - engine/ps2/vif-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype vif-stat (uint32) + () + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ;; likely a bitfield type + ) + +(deftype vif-bank (structure) + ((stat uint32 :offset-assert 0) + (fbrst uint32 :offset-assert 16) + (err uint32 :offset-assert 32) + (mark uint32 :offset-assert 48) + (cycle uint32 :offset-assert 64) + (mode uint32 :offset-assert 80) + (num uint32 :offset-assert 96) + (mask uint32 :offset-assert 112) + (code uint32 :offset-assert 128) + (itops uint32 :offset-assert 144) + (base uint32 :offset-assert 160) + (offset uint32 :offset-assert 176) + (tops uint32 :offset-assert 192) + (itop uint32 :offset-assert 208) + (top uint32 :offset-assert 224) + (r0 uint32 :offset-assert 256) + (r1 uint32 :offset-assert 272) + (r2 uint32 :offset-assert 288) + (r3 uint32 :offset-assert 304) + (c0 uint32 :offset-assert 320) + (c1 uint32 :offset-assert 336) + (c2 uint32 :offset-assert 352) + (c3 uint32 :offset-assert 368) + ) + :method-count-assert 9 + :size-assert #x174 + :flag-assert #x900000174 + ) + + +;; ---------------------- +;; File - dma-h +;; Source Path - engine/dma/dma-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype dma-chcr (uint32) + () + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ;; likely a bitfield type + ) + +(deftype dma-bank (structure) + ((chcr uint32 :offset-assert 0) + (madr uint32 :offset-assert 16) + (qwc uint32 :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x24 + :flag-assert #x900000024 + ) + +(deftype dma-bank-source (dma-bank) + ((chcr uint32 :offset-assert 0) + (madr uint32 :offset-assert 16) + (qwc uint32 :offset-assert 32) + (tadr uint32 :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x34 + :flag-assert #x900000034 + ) + +(deftype dma-bank-vif (dma-bank-source) + ((chcr uint32 :offset-assert 0) + (madr uint32 :offset-assert 16) + (qwc uint32 :offset-assert 32) + (tadr uint32 :offset-assert 48) + (as0 uint32 :offset-assert 64) + (as1 uint32 :offset-assert 80) + ) + :method-count-assert 9 + :size-assert #x54 + :flag-assert #x900000054 + ) + +(deftype dma-bank-spr (dma-bank-source) + ((chcr uint32 :offset-assert 0) + (madr uint32 :offset-assert 16) + (qwc uint32 :offset-assert 32) + (tadr uint32 :offset-assert 48) + (sadr uint32 :offset-assert 128) + ) + :method-count-assert 9 + :size-assert #x84 + :flag-assert #x900000084 + ) + +(deftype dma-bank-control (structure) + ((ctrl uint32 :offset-assert 0) + (stat uint32 :offset-assert 16) + (pcr uint32 :offset-assert 32) + (sqwc uint32 :offset-assert 48) + (rbsr uint32 :offset-assert 64) + (rbor uint32 :offset-assert 80) + (stadr uint32 :offset-assert 96) + (enabler uint32 :offset-assert 5408) + (enablew uint32 :offset-assert 5520) + ) + :method-count-assert 9 + :size-assert #x1594 + :flag-assert #x900001594 + ) + +(deftype vu-code-block (basic) + ((name basic :offset-assert 4) + (code uint32 :offset-assert 8) + (size int32 :offset-assert 12) + (dest-address uint32 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype dma-tag (uint64) + () + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ;; likely a bitfield type + ) + +(deftype dma-bucket (structure) + ((tag uint64 :offset-assert 0) + (last uint32 :offset-assert 8) + (dummy uint32 :offset-assert 12) + (next uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype vif-tag (uint32) + () + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ;; likely a bitfield type + ) + + +;; ---------------------- +;; File - video-h +;; Source Path - engine/gfx/hw/video-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype video-parms (structure) + ((set-video-mode basic :offset-assert 0) + (reset-video-mode basic :offset-assert 4) + (screen-sy int32 :offset-assert 8) + (screen-hy int32 :offset-assert 12) + (screen-miny int32 :offset-assert 16) + (screen-maxy int32 :offset-assert 20) + (screen-masky int32 :offset-assert 24) + (display-dx int32 :offset-assert 28) + (display-dy int32 :offset-assert 32) + (screen-pages-high int32 :offset-assert 36) + (relative-x-scale float :offset-assert 48) + (relative-y-scale float :offset-assert 52) + (relative-x-scale-reciprical float :offset-assert 64) + (relative-y-scale-reciprical float :offset-assert 68) + ) + :method-count-assert 9 + :size-assert #x48 + :flag-assert #x900000048 + ) + + +;; ---------------------- +;; File - vu1-user-h +;; Source Path - engine/gfx/hw/vu1-user-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype dma-foreground-sink (basic) + ((bucket int32 :offset-assert 4) + (foreground-texture-page int8 :offset-assert 8) + (foreground-texture-level int8 :offset-assert 9) + (foreground-output-bucket int8 :offset-assert 10) + ) + :method-count-assert 9 + :size-assert #xb + :flag-assert #x90000000b + ) + +(deftype generic-bucket-state (structure) + ((gifbuf-adr uint32 :offset-assert 0) + (inbuf-adr uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype generic-dma-foreground-sink (dma-foreground-sink) + ((bucket int32 :offset-assert 4) + (foreground-texture-page int8 :offset-assert 8) + (foreground-texture-level int8 :offset-assert 9) + (foreground-output-bucket int8 :offset-assert 10) + (state generic-bucket-state :inline :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype dma-foreground-sink-group (basic) + ((sink UNKNOWN 3 :offset-assert 4) + (merc-sink basic :offset-assert 4) + (generic-sink basic :offset-assert 8) + (level basic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + + +;; ---------------------- +;; File - dma +;; Source Path - engine/dma/dma.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - dma-buffer +;; Source Path - engine/dma/dma-buffer.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype dma-packet (structure) + ((dma uint64 :offset-assert 0) + (vif0 uint32 :offset-assert 8) + (vif1 uint32 :offset-assert 12) + (quad uint128 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype dma-packet-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype dma-gif-packet (structure) + ((dma-vif dma-packet :inline :offset-assert 0) + (gif UNKNOWN 2 :offset-assert 16) + (quad UNKNOWN 2 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype dma-buffer (basic) + ((allocated-length int32 :offset-assert 4) + (base uint32 :offset-assert 8) + (end uint32 :offset-assert 12) + (data UNKNOWN 1 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + + +;; ---------------------- +;; File - dma-bucket +;; Source Path - engine/dma/dma-bucket.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - dma-disasm +;; Source Path - engine/dma/dma-disasm.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype vif-disasm-element (structure) + ((mask uint32 :offset-assert 0) + (tag uint32 :offset-assert 4) + (val uint32 :offset-assert 8) + (print uint32 :offset-assert 12) + (string1 basic :offset-assert 16) + (string2 basic :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + + +;; ---------------------- +;; File - pad +;; Source Path - engine/ps2/pad.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype hw-cpad (basic) + ((valid uint8 :offset-assert 4) + (status uint8 :offset-assert 5) + (button0 uint16 :offset-assert 6) + (rightx uint8 :offset-assert 8) + (righty uint8 :offset-assert 9) + (leftx uint8 :offset-assert 10) + (lefty uint8 :offset-assert 11) + (abutton UNKNOWN 12 :offset-assert 12) + (dummy UNKNOWN 12 :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x24 + :flag-assert #x900000024 + ) + +(deftype cpad-info (hw-cpad) + ((valid uint8 :offset-assert 4) + (status uint8 :offset-assert 5) + (button0 uint16 :offset-assert 6) + (rightx uint8 :offset-assert 8) + (righty uint8 :offset-assert 9) + (leftx uint8 :offset-assert 10) + (lefty uint8 :offset-assert 11) + (abutton UNKNOWN 12 :offset-assert 12) + (dummy UNKNOWN 12 :offset-assert 24) + (number int32 :offset-assert 36) + (cpad-file int32 :offset-assert 40) + (button0-abs UNKNOWN 3 :offset-assert 44) + (button0-shadow-abs UNKNOWN 1 :offset-assert 56) + (button0-rel UNKNOWN 3 :offset-assert 60) + (stick0-dir float :offset-assert 72) + (stick0-speed float :offset-assert 76) + (new-pad int32 :offset-assert 80) + (state int32 :offset-assert 84) + (align UNKNOWN 6 :offset-assert 88) + (direct UNKNOWN 6 :offset-assert 94) + (buzz-val UNKNOWN 2 :offset-assert 100) + (buzz-time UNKNOWN 2 :offset-assert 104) + (buzz basic :offset-assert 120) + (change-time uint64 :offset-assert 128) + ) + :method-count-assert 9 + :size-assert #x88 + :flag-assert #x900000088 + ) + +(deftype cpad-list (basic) + ((num-cpads int32 :offset-assert 4) + (cpads UNKNOWN 2 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - gs +;; Source Path - engine/gfx/hw/gs.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype gs-bank (structure) + ((pmode uint64 :offset-assert 0) + (smode2 uint64 :offset-assert 32) + (dspfb1 uint64 :offset-assert 112) + (display1 uint64 :offset-assert 128) + (dspfb2 uint64 :offset-assert 144) + (display2 uint64 :offset-assert 160) + (extbuf uint64 :offset-assert 176) + (extdata uint64 :offset-assert 192) + (extwrite uint64 :offset-assert 208) + (bgcolor uint64 :offset-assert 224) + (csr uint64 :offset-assert 4096) + (imr uint64 :offset-assert 4112) + (busdir uint64 :offset-assert 4160) + ) + :method-count-assert 9 + :size-assert #x1048 + :flag-assert #x900001048 + ) + +(deftype gs-alpha (uint64) + () + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ;; likely a bitfield type + ) + +(deftype gs-fog (uint64) + () + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ;; likely a bitfield type + ) + +(deftype gs-fogcol (uint64) + () + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ;; likely a bitfield type + ) + +(deftype gif-bank (structure) + ((ctrl uint32 :offset-assert 0) + (mode uint32 :offset-assert 16) + (stat uint32 :offset-assert 32) + (tag0 uint32 :offset-assert 64) + (tag1 uint32 :offset-assert 80) + (tag2 uint32 :offset-assert 96) + (tag3 uint32 :offset-assert 112) + (cnt uint32 :offset-assert 128) + (p3cnt uint32 :offset-assert 144) + (p3tag uint32 :offset-assert 160) + ) + :method-count-assert 9 + :size-assert #xa4 + :flag-assert #x9000000a4 + ) + +(deftype gif-tag (uint128) + () + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ;; bad type dec string: [~8x] gif-tag~% + ) + +(deftype gs-gif-tag (structure) + ((qword qword :inline :offset-assert 0) + (dword UNKNOWN 2 :offset-assert 0) + (word UNKNOWN 4 :offset-assert 0) + (tag uint64 :offset-assert 0) + (regs uint64 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype gif-packet (basic) + ((reg-count int32 :offset-assert 4) + (gif-tag0 uint128 :offset-assert 16) + (args UNKNOWN 1 :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x28 + :flag-assert #x900000028 + ) + +(deftype draw-context (basic) + ((orgx int32 :offset-assert 4) + (orgy int32 :offset-assert 8) + (orgz int32 :offset-assert 12) + (width int32 :offset-assert 16) + (height int32 :offset-assert 20) + (color UNKNOWN 4 :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x28 + :flag-assert #x900000028 + ) + + +;; ---------------------- +;; File - display-h +;; Source Path - engine/gfx/hw/display-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype display-env (structure) + ((pmode uint64 :offset-assert 0) + (smode2 uint64 :offset-assert 8) + (dspfb uint64 :offset-assert 16) + (display uint64 :offset-assert 24) + (bgcolor uint64 :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x28 + :flag-assert #x900000028 + ) + +(deftype draw-env (structure) + ((frame1 uint64 :offset-assert 0) + (frame1addr uint64 :offset-assert 8) + (zbuf1 uint64 :offset-assert 16) + (zbuf1addr uint64 :offset-assert 24) + (xyoffset1 uint64 :offset-assert 32) + (xyoffset1addr uint64 :offset-assert 40) + (scissor1 uint64 :offset-assert 48) + (scissor1addr uint64 :offset-assert 56) + (prmodecont uint64 :offset-assert 64) + (prmodecontaddr uint64 :offset-assert 72) + (colclamp uint64 :offset-assert 80) + (colclampaddr uint64 :offset-assert 88) + (dthe uint64 :offset-assert 96) + (dtheaddr uint64 :offset-assert 104) + (test1 uint64 :offset-assert 112) + (test1addr uint64 :offset-assert 120) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + +(deftype display-frame (basic) + ((buffer UNKNOWN 11 :offset-assert 4) + (calc-buf basic :offset-assert 8) + (vu1-buf basic :offset-assert 8) + (debug-buf basic :offset-assert 36) + (global-buf basic :offset-assert 40) + (bucket-group dma-bucket :offset-assert 44) + (profile-bar UNKNOWN 2 :offset-assert 48) + (run-time uint64 :offset-assert 56) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype virtual-frame (structure) + ((display display-env :offset-assert 0) + (display-last display-env :offset-assert 4) + (gif uint32 :offset-assert 8) + (draw draw-env :offset-assert 12) + (frame basic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype display (basic) + ((display-env0 display-env :inline :offset-assert 8) + (display-env1 display-env :inline :offset-assert 48) + (display-env2 display-env :inline :offset-assert 88) + (gif-tag0 uint128 :offset-assert 128) + (draw0 draw-env :inline :offset-assert 144) + (gif-tag1 uint128 :offset-assert 272) + (draw1 draw-env :inline :offset-assert 288) + (gif-tag2 uint128 :offset-assert 416) + (draw2 draw-env :inline :offset-assert 432) + (on-screen int32 :offset-assert 560) + (last-screen int32 :offset-assert 564) + (frames virtual-frame 6 :inline :offset-assert 568) + (bg-clear-color uint32 4 :offset-assert 760) + (real-frame-counter int64 :offset-assert 776) + (base-frame-counter int64 :offset-assert 784) + (game-frame-counter int64 :offset-assert 792) + (time-ratio float :offset-assert 800) + (seconds-per-frame float :offset-assert 804) + (frames-per-second float :offset-assert 808) + ) + :method-count-assert 10 + :size-assert #x32c + :flag-assert #xa0000032c + (:methods + (dummy-9 () none 9) + ) + ) + + +;; ---------------------- +;; File - vector +;; Source Path - engine/math/vector.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - file-io +;; Source Path - engine/load/file-io.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype file-stream (basic) + ((flags uint32 :offset-assert 4) + (mode basic :offset-assert 8) + (name basic :offset-assert 12) + (file uint32 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype file-info (basic) + ((file-type basic :offset-assert 4) + (file-name basic :offset-assert 8) + (major-version uint32 :offset-assert 12) + (minor-version uint32 :offset-assert 16) + (maya-file-name basic :offset-assert 20) + (tool-debug basic :offset-assert 24) + (mdb-file-name basic :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + + +;; ---------------------- +;; File - loader-h +;; Source Path - engine/load/loader-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype load-dir (basic) + () + :method-count-assert 11 + :size-assert #x10 + :flag-assert #xb00000010 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype external-art-buffer (basic) + ((index int32 :offset-assert 4) + (other basic :offset-assert 8) + (status basic :offset-assert 12) + (locked? basic :offset-assert 16) + (frame-lock basic :offset-assert 20) + (heap kheap :inline :offset-assert 32) + (pending-load-file basic :offset-assert 48) + (pending-load-file-part int32 :offset-assert 52) + (pending-load-file-owner uint64 :offset-assert 56) + (load-file basic :offset-assert 64) + (load-file-part int32 :offset-assert 68) + (load-file-owner uint64 :offset-assert 72) + (buf uint32 :offset-assert 80) + (len int32 :offset-assert 84) + (art-group basic :offset-assert 88) + ) + :method-count-assert 16 + :size-assert #x5c + :flag-assert #x100000005c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + ) + ) + +(deftype spool-anim (basic) + ((name basic :offset-assert 16) + (index int32 :offset-assert 20) + (parts int32 :offset-assert 24) + (priority float :offset-assert 28) + (owner uint64 :offset-assert 32) + (command-list basic :offset-assert 40) + ) + :method-count-assert 9 + :size-assert #x2c + :flag-assert #x90000002c + ) + +(deftype external-art-control (basic) + ((buffer UNKNOWN 2 :offset-assert 4) + (rec UNKNOWN 3 :offset-assert 20) + (spool-lock uint64 :offset-assert 160) + (reserve-buffer basic :offset-assert 168) + (reserve-buffer-count int32 :offset-assert 172) + ) + :method-count-assert 16 + :size-assert #xb0 + :flag-assert #x10000000b0 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + ) + ) + + +;; ---------------------- +;; File - texture-h +;; Source Path - engine/gfx/texture-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype texture-id (uint32) + () + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ;; likely a bitfield type + ) + +(deftype texture-pool-segment (structure) + ((dest uint32 :offset-assert 0) + (size uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype texture-pool (basic) + ((top int32 :offset-assert 4) + (cur int32 :offset-assert 8) + (allocate-func basic :offset-assert 12) + (font-palette int32 :offset-assert 16) + (segment UNKNOWN 4 :offset-assert 20) + (segment-near texture-pool-segment :inline :offset-assert 20) + (segment-common texture-pool-segment :inline :offset-assert 28) + (common-page UNKNOWN 16 :offset-assert 52) + (common-page-mask int32 :offset-assert 116) + (ids UNKNOWN 126 :offset-assert 120) + ) + :method-count-assert 23 + :size-assert #x270 + :flag-assert #x1700000270 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + ) + ) + +(deftype texture (basic) + ((w int16 :offset-assert 4) + (h int16 :offset-assert 6) + (num-mips uint8 :offset-assert 8) + (tex1-control uint8 :offset-assert 9) + (psm uint8 :offset-assert 10) + (mip-shift uint8 :offset-assert 11) + (clutpsm uint16 :offset-assert 12) + (dest UNKNOWN 7 :offset-assert 14) + (clutdest uint16 :offset-assert 28) + (width UNKNOWN 7 :offset-assert 30) + (name basic :offset-assert 40) + (size uint32 :offset-assert 44) + (uv-dist float :offset-assert 48) + (masks UNKNOWN 3 :offset-assert 52) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype texture-page-segment (structure) + ((block-data uint32 :offset-assert 0) + (size uint32 :offset-assert 4) + (dest uint32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype texture-page (basic) + ((info basic :offset-assert 4) + (name basic :offset-assert 8) + (id uint32 :offset-assert 12) + (length int32 :offset-assert 16) + (mip0-size uint32 :offset-assert 20) + (size uint32 :offset-assert 24) + (segment UNKNOWN 3 :offset-assert 28) + (pad UNKNOWN 16 :offset-assert 64) + (data UNKNOWN :dynamic :offset-assert 128) + ) + :method-count-assert 15 + :size-assert #x80 + :flag-assert #xf00000080 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype texture-link (structure) + ((next uint32 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype texture-page-dir-entry (structure) + ((length int16 :offset-assert 0) + (status uint16 :offset-assert 2) + (page basic :offset-assert 4) + (link uint32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype texture-page-dir (basic) + () + :method-count-assert 10 + :size-assert #x14 + :flag-assert #xa00000014 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype texture-relocate-later (basic) + ((memcpy basic :offset-assert 4) + (dest uint32 :offset-assert 8) + (source uint32 :offset-assert 12) + (move uint32 :offset-assert 16) + (entry texture-page-dir-entry :offset-assert 20) + (page basic :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x1c + :flag-assert #x90000001c + ) + +(deftype adgif-shader (structure) + ((quad UNKNOWN 5 :offset-assert 0) + (prims UNKNOWN 10 :offset-assert 0) + (tex0 uint64 :offset-assert 0) + (tex1 uint64 :offset-assert 16) + (miptbp1 uint64 :offset-assert 32) + (clamp uint64 :offset-assert 48) + (clamp-reg uint64 :offset-assert 56) + (alpha uint64 :offset-assert 64) + (link-test uint32 :offset-assert 8) + (texture-id uint32 :offset-assert 24) + (next uint32 :offset-assert 40) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype adgif-shader-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - level-h +;; Source Path - engine/level/level-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype level-vis-info (basic) + ((level basic :offset-assert 4) + (from-level basic :offset-assert 8) + (from-bsp basic :offset-assert 12) + (flags uint32 :offset-assert 16) + (length uint32 :offset-assert 20) + (allocated-length uint32 :offset-assert 24) + (dictionary-length uint32 :offset-assert 28) + (dictionary uint32 :offset-assert 32) + (string-block uint32 :offset-assert 36) + (ramdisk uint32 :offset-assert 40) + (vis-bits uint32 :offset-assert 44) + (current-vis-string uint32 :offset-assert 48) + (vis-string UNKNOWN :dynamic :offset-assert 52) + ) + :method-count-assert 9 + :size-assert #x34 + :flag-assert #x900000034 + ) + +(deftype level-load-info (basic) + ((name-list UNKNOWN 3 :offset-assert 4) + (index int32 :offset-assert 16) + (name basic :offset-assert 4) + (visname basic :offset-assert 8) + (nickname basic :offset-assert 12) + (packages basic :offset-assert 20) + (sound-banks basic :offset-assert 24) + (music-bank basic :offset-assert 28) + (ambient-sounds basic :offset-assert 32) + (mood basic :offset-assert 36) + (mood-func basic :offset-assert 40) + (ocean basic :offset-assert 44) + (sky basic :offset-assert 48) + (sun-fade float :offset-assert 52) + (continues basic :offset-assert 56) + (tasks basic :offset-assert 60) + (priority int32 :offset-assert 64) + (load-commands basic :offset-assert 68) + (alt-load-commands basic :offset-assert 72) + (bsp-mask uint64 :offset-assert 80) + (bsphere sphere :offset-assert 88) + (buzzer int32 :offset-assert 92) + (bottom-height meters :offset-assert 96) + (run-packages basic :offset-assert 100) + (prev-level basic :offset-assert 104) + (next-level basic :offset-assert 108) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype login-state (basic) + ((state int32 :offset-assert 4) + (pos uint32 :offset-assert 8) + (elts uint32 :offset-assert 12) + (elt UNKNOWN 16 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype level (basic) + ((name basic :offset-assert 4) + (load-name basic :offset-assert 8) + (nickname basic :offset-assert 12) + (index int32 :offset-assert 16) + (status basic :offset-assert 20) + (other basic :offset-assert 24) + (heap kheap :inline :offset-assert 32) + (bsp basic :offset-assert 48) + (art-group basic :offset-assert 52) + (info basic :offset-assert 56) + (texture-page UNKNOWN 9 :offset-assert 60) + (loaded-texture-page UNKNOWN 16 :offset-assert 96) + (loaded-texture-page-count int32 :offset-assert 160) + (foreground-sink-group UNKNOWN 3 :offset-assert 180) + (foreground-draw-engine UNKNOWN 3 :offset-assert 272) + (entity basic :offset-assert 284) + (ambient basic :offset-assert 288) + (closest-object UNKNOWN 9 :offset-assert 292) + (upload-size UNKNOWN 9 :offset-assert 328) + (level-distance meters :offset-assert 364) + (inside-sphere? basic :offset-assert 368) + (inside-boxes? basic :offset-assert 372) + (display? basic :offset-assert 376) + (meta-inside? basic :offset-assert 380) + (mood basic :offset-assert 384) + (mood-func basic :offset-assert 388) + (vis-bits uint32 :offset-assert 392) + (all-visible? basic :offset-assert 396) + (force-all-visible? basic :offset-assert 400) + (linking basic :offset-assert 404) + (vis-info UNKNOWN 8 :offset-assert 408) + (vis-self-index int32 :offset-assert 440) + (vis-adj-index int32 :offset-assert 444) + (vis-buffer UNKNOWN 2048 :offset-assert 448) + (mem-usage-block basic :offset-assert 2496) + (mem-usage int32 :offset-assert 2500) + (code-memory-start uint32 :offset-assert 2504) + (code-memory-end uint32 :offset-assert 2508) + (texture-mask UNKNOWN 9 :offset-assert 2512) + ) + :method-count-assert 28 + :size-assert #xa30 + :flag-assert #x1c00000a30 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + +(declare-type entity-links structure) +(deftype level-group (basic) + ((length int32 :offset-assert 4) + (entity-link entity-links :offset-assert 16) + (border? basic :offset-assert 20) + (vis? basic :offset-assert 24) + (want-level basic :offset-assert 28) + (receiving-level basic :offset-assert 32) + (load-commands basic :offset-assert 36) + (play? basic :offset-assert 40) + (level UNKNOWN 3 :offset-assert 100) + (data UNKNOWN 3 :offset-assert 100) + (level0 level :inline :offset-assert 100) + (level1 level :inline :offset-assert 2708) + (level-default level :inline :offset-assert 5316) + ) + :method-count-assert 27 + :size-assert #x1ef4 + :flag-assert #x1b00001ef4 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + ) + ) + + +;; ---------------------- +;; File - math-camera-h +;; Source Path - engine/camera/math-camera-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype vis-gif-tag (structure) + ((fog0 uint32 :offset-assert 0) + (strip uint32 :offset-assert 4) + (regs uint32 :offset-assert 8) + (fan uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype math-camera (basic) + ((d meters :offset-assert 4) + (f meters :offset-assert 8) + (fov deg :offset-assert 12) + (x-ratio float :offset-assert 16) + (y-ratio float :offset-assert 20) + (x-pix float :offset-assert 24) + (x-clip float :offset-assert 28) + (x-clip-ratio-in float :offset-assert 32) + (x-clip-ratio-over float :offset-assert 36) + (y-pix float :offset-assert 40) + (y-clip float :offset-assert 44) + (y-clip-ratio-in float :offset-assert 48) + (y-clip-ratio-over float :offset-assert 52) + (fog-start meters :offset-assert 56) + (fog-end meters :offset-assert 60) + (fog-max float :offset-assert 64) + (fog-min float :offset-assert 68) + (reset int32 :offset-assert 72) + (smooth-step float :offset-assert 76) + (smooth-t float :offset-assert 80) + (perspective matrix :inline :offset-assert 96) + (isometric matrix :inline :offset-assert 160) + (sprite-2d matrix :inline :offset-assert 224) + (sprite-2d-hvdf vector :inline :offset-assert 288) + (camera-rot matrix :inline :offset-assert 304) + (inv-camera-rot matrix :inline :offset-assert 368) + (inv-camera-rot-smooth matrix :inline :offset-assert 432) + (inv-camera-rot-smooth-from quaternion :inline :offset-assert 496) + (camera-temp matrix :inline :offset-assert 512) + (prev-camera-temp matrix :inline :offset-assert 576) + (hmge-scale vector :inline :offset-assert 640) + (inv-hmge-scale vector :inline :offset-assert 656) + (hvdf-off vector :inline :offset-assert 672) + (guard vector :inline :offset-assert 688) + (vis-gifs UNKNOWN 4 :offset-assert 704) + (giftex uint128 :offset-assert 704) + (gifgr uint128 :offset-assert 720) + (giftex-trans uint128 :offset-assert 736) + (gifgr-trans uint128 :offset-assert 752) + (pfog0 float :offset-assert 768) + (pfog1 float :offset-assert 772) + (trans vector :inline :offset-assert 784) + (plane UNKNOWN 4 :offset-assert 800) + (guard-plane UNKNOWN 4 :offset-assert 864) + (shrub-mat matrix :inline :offset-assert 928) + (fov-correction-factor float :offset-assert 992) + ) + :method-count-assert 9 + :size-assert #x3e4 + :flag-assert #x9000003e4 + ) + + +;; ---------------------- +;; File - math-camera +;; Source Path - engine/camera/math-camera.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype fog-corrector (structure) + ((fog-end float :offset-assert 0) + (fog-start float :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + + +;; ---------------------- +;; File - font-h +;; Source Path - engine/gfx/font-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype char-verts (structure) + ((pos UNKNOWN 4 :offset-assert 0) + (color UNKNOWN 4 :offset-assert 64) + (tex-st UNKNOWN 4 :offset-assert 128) + ) + :method-count-assert 9 + :size-assert #xc0 + :flag-assert #x9000000c0 + ) + +(deftype char-color (structure) + ((color UNKNOWN 4 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype font-context (basic) + ((origin vector :inline :offset-assert 16) + (strip-gif vector :inline :offset-assert 32) + (width float :offset-assert 48) + (height float :offset-assert 52) + (projection float :offset-assert 56) + (color uint64 :offset-assert 64) + (flags uint32 :offset-assert 72) + (mat matrix :offset-assert 76) + (start-line uint32 :offset-assert 80) + (scale float :offset-assert 84) + ) + :method-count-assert 20 + :size-assert #x58 + :flag-assert #x1400000058 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype font-work (structure) + ((font-tmpl dma-gif-packet :inline :offset-assert 0) + (char-tmpl dma-gif-packet :inline :offset-assert 32) + (tex1-tmpl UNKNOWN 2 :offset-assert 64) + (small-font-lo-tmpl UNKNOWN 2 :offset-assert 80) + (small-font-hi-tmpl UNKNOWN 2 :offset-assert 96) + (large-font-lo-tmpl UNKNOWN 2 :offset-assert 112) + (large-font-hi-tmpl UNKNOWN 2 :offset-assert 128) + (size1-small vector :inline :offset-assert 144) + (size2-small vector :inline :offset-assert 160) + (size3-small vector :inline :offset-assert 176) + (size1-large vector :inline :offset-assert 192) + (size2-large vector :inline :offset-assert 208) + (size3-large vector :inline :offset-assert 224) + (size-st1 vector :inline :offset-assert 240) + (size-st2 vector :inline :offset-assert 256) + (size-st3 vector :inline :offset-assert 272) + (save vector :inline :offset-assert 288) + (save-color UNKNOWN 4 :offset-assert 304) + (current-verts char-verts :inline :offset-assert 368) + (src-verts char-verts :inline :offset-assert 560) + (dest-verts char-verts :inline :offset-assert 752) + (justify UNKNOWN 64 :offset-assert 944) + (color-shadow vector4w :inline :offset-assert 1968) + (color-table UNKNOWN 64 :offset-assert 1984) + (buf basic :offset-assert 3008) + (str-ptr uint32 :offset-assert 3012) + (flags uint32 :offset-assert 3016) + (reg-save UNKNOWN 5 :offset-assert 3020) + ) + :method-count-assert 9 + :size-assert #xbe0 + :flag-assert #x900000be0 + ) + + +;; ---------------------- +;; File - decomp-h +;; Source Path - engine/gfx/decomp-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype decomp-work (structure) + ((buffer0 UNKNOWN 2048 :offset-assert 0) + (buffer1 UNKNOWN 2048 :offset-assert 2048) + (indices UNKNOWN 2048 :offset-assert 4096) + (temp-indices UNKNOWN 2048 :offset-assert 8192) + ) + :method-count-assert 9 + :size-assert #x3000 + :flag-assert #x900003000 + ) + + +;; ---------------------- +;; File - display +;; Source Path - engine/gfx/hw/display.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - connect +;; Source Path - engine/engine/connect.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype connectable (structure) + ((next0 connectable :offset-assert 0) + (prev0 connectable :offset-assert 4) + (next1 connectable :offset-assert 8) + (prev1 connectable :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype connection (connectable) + ((next0 connectable :offset-assert 0) + (prev0 connectable :offset-assert 4) + (next1 connectable :offset-assert 8) + (prev1 connectable :offset-assert 12) + (param0 basic :offset-assert 16) + (param1 basic :offset-assert 20) + (param2 basic :offset-assert 24) + (param3 basic :offset-assert 28) + (quad UNKNOWN 2 :offset-assert 0) + ) + :method-count-assert 14 + :size-assert #x20 + :flag-assert #xe00000020 + ;; field param1 is a basic loaded with a signed load field param2 is a basic loaded with a signed load field param3 is a basic loaded with a signed load + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype engine (basic) + () + :method-count-assert 24 + :size-assert #x80 + :flag-assert #x1800000080 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + ) + ) + + +;; ---------------------- +;; File - text-h +;; Source Path - engine/ui/text-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype game-text (structure) + ((id uint32 :offset-assert 0) + (text basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype game-text-info (basic) + ((length int32 :offset-assert 4) + (language-id int32 :offset-assert 8) + (group-name basic :offset-assert 12) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 10 + :size-assert #x10 + :flag-assert #xa00000010 + (:methods + (dummy-9 () none 9) + ) + ) + + +;; ---------------------- +;; File - settings-h +;; Source Path - engine/game/settings-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype setting-data (structure) + () + :method-count-assert 10 + :size-assert #xc4 + :flag-assert #xa000000c4 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype setting-control (basic) + ((current setting-data :inline :offset-assert 16) + (target setting-data :inline :offset-assert 224) + (default setting-data :inline :offset-assert 432) + (engine basic :offset-assert 628) + ) + :method-count-assert 13 + :size-assert #x278 + :flag-assert #xd00000278 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype scf-time (structure) + ((stat uint8 :offset-assert 0) + (second uint8 :offset-assert 1) + (minute uint8 :offset-assert 2) + (hour uint8 :offset-assert 3) + (week uint8 :offset-assert 4) + (day uint8 :offset-assert 5) + (month uint8 :offset-assert 6) + (year uint8 :offset-assert 7) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + + +;; ---------------------- +;; File - capture +;; Source Path - engine/gfx/capture.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype gs-store-image-packet (structure) + ((vifcode UNKNOWN 4 :offset-assert 0) + (giftag uint128 :offset-assert 16) + (bitbltbuf uint64 :offset-assert 32) + (bitbltbuf-addr uint64 :offset-assert 40) + (trxpos uint64 :offset-assert 48) + (trxpos-addr uint64 :offset-assert 56) + (trxreg uint64 :offset-assert 64) + (trxreg-addr uint64 :offset-assert 72) + (finish uint64 :offset-assert 80) + (finish-addr uint64 :offset-assert 88) + (trxdir uint64 :offset-assert 96) + (trxdir-addr uint64 :offset-assert 104) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + + +;; ---------------------- +;; File - memory-usage-h +;; Source Path - engine/debug/memory-usage-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype memory-usage-info (structure) + ((name basic :offset-assert 0) + (count int32 :offset-assert 4) + (used int32 :offset-assert 8) + (total int32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype memory-usage-block (basic) + ((work-bsp basic :offset-assert 4) + (length int32 :offset-assert 8) + (data UNKNOWN 108 :offset-assert 16) + ) + :method-count-assert 12 + :size-assert #x6d0 + :flag-assert #xc000006d0 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + + +;; ---------------------- +;; File - texture +;; Source Path - engine/gfx/texture.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - main-h +;; Source Path - engine/game/main-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype frame-stats (structure) + ((field-time UNKNOWN 2 :offset-assert 0) + (field int32 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype screen-filter (basic) + ((draw? basic :offset-assert 4) + (color uint32 :offset-assert 8) + ) + :method-count-assert 10 + :size-assert #xc + :flag-assert #xa0000000c + (:methods + (dummy-9 () none 9) + ) + ) + + +;; ---------------------- +;; File - mspace-h +;; Source Path - engine/anim/mspace-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype joint (basic) + ((name basic :offset-assert 4) + (number int32 :offset-assert 8) + (parent basic :offset-assert 12) + (bind-pose matrix :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype bone-cache (structure) + ((bone-matrix uint32 :offset-assert 0) + (parent-matrix uint32 :offset-assert 4) + (dummy uint32 :offset-assert 8) + (frame uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype bone (structure) + ((transform matrix :inline :offset-assert 0) + (position vector :inline :offset-assert 48) + (scale vector :inline :offset-assert 64) + (cache bone-cache :inline :offset-assert 80) + ) + :method-count-assert 9 + :size-assert #x60 + :flag-assert #x900000060 + ) + +(deftype skeleton (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype cspace (structure) + ((parent cspace :offset-assert 0) + (joint basic :offset-assert 4) + (joint-num int16 :offset-assert 8) + (geo basic :offset-assert 12) + (bone bone :offset-assert 16) + (param0 basic :offset-assert 20) + (param1 basic :offset-assert 24) + (param2 basic :offset-assert 28) + ) + :method-count-assert 10 + :size-assert #x20 + :flag-assert #xa00000020 + ;; field param1 is a basic loaded with a signed load field param2 is a basic loaded with a signed load + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype cspace-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - drawable-h +;; Source Path - engine/draw/drawable-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype drawable (basic) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + ) + :method-count-assert 18 + :size-assert #x20 + :flag-assert #x1200000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype drawable-error (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (name basic :offset-assert 32) + ) + :method-count-assert 18 + :size-assert #x24 + :flag-assert #x1200000024 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + + +;; ---------------------- +;; File - drawable-group-h +;; Source Path - engine/draw/drawable-group-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype drawable-group (drawable) + () + :method-count-assert 18 + :size-assert #x24 + :flag-assert #x1200000024 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + + +;; ---------------------- +;; File - drawable-inline-array-h +;; Source Path - engine/draw/drawable-inline-array-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype drawable-inline-array (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (length int16 :offset-assert 6) + ) + :method-count-assert 18 + :size-assert #x20 + :flag-assert #x1200000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + + +;; ---------------------- +;; File - draw-node-h +;; Source Path - engine/draw/draw-node-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype draw-node (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (child-count uint8 :offset-assert 6) + (flags uint8 :offset-assert 7) + (child uint32 :offset-assert 8) + (distance float :offset-assert 12) + ) + :method-count-assert 18 + :size-assert #x20 + :flag-assert #x1200000020 + ;; field distance is a float printed as hex? + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype drawable-inline-array-node (drawable-inline-array) + () + :method-count-assert 18 + :size-assert #x44 + :flag-assert #x1200000044 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype draw-node-dma (structure) + ((banka UNKNOWN 32 :offset-assert 4) + (bankb UNKNOWN 32 :offset-assert 1028) + ) + :method-count-assert 9 + :size-assert #x800 + :flag-assert #x900000800 + ) + + +;; ---------------------- +;; File - drawable-tree-h +;; Source Path - engine/draw/drawable-tree-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - drawable-actor-h +;; Source Path - engine/draw/drawable-actor-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype drawable-actor (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (actor basic :offset-assert 8) + ) + :method-count-assert 18 + :size-assert #x20 + :flag-assert #x1200000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + + +;; ---------------------- +;; File - drawable-ambient-h +;; Source Path - engine/draw/drawable-ambient-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype drawable-ambient (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (ambient basic :offset-assert 8) + ) + :method-count-assert 19 + :size-assert #x20 + :flag-assert #x1300000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + ) + ) + +(deftype level-hint (process) + ((text-id-to-display uint32 :offset-assert 112) + (sound-to-play basic :offset-assert 116) + (sound-id uint32 :offset-assert 120) + (mode basic :offset-assert 124) + (total-time uint64 :offset-assert 128) + (total-off-time uint64 :offset-assert 136) + (last-time uint64 :offset-assert 144) + (voicebox uint64 :offset-assert 152) + ) + :method-count-assert 16 + :size-assert #xa0 + :flag-assert #x10003000a0 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + ) + ) + +;; ambient-h +(deftype ambient-list (structure) + ((num-items int32 :offset-assert 0) + (items UNKNOWN 2048 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x2004 + :flag-assert #x900002004 + ) + + +;; ---------------------- +;; File - game-task-h +;; Source Path - engine/game/task/game-task-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - hint-control-h +;; Source Path - engine/game/task/hint-control-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype level-hint-control (structure) + ((delay-before-playing uint64 :offset-assert 0) + (id uint32 :offset-assert 8) + (num-attempts-before-playing int8 :offset-assert 12) + (num-success-before-killing int8 :offset-assert 13) + (num-attempts int8 :offset-assert 14) + (num-success int8 :offset-assert 15) + (start-time uint64 :offset-assert 16) + (last-time-called uint64 :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + + +;; ---------------------- +;; File - generic-h +;; Source Path - engine/gfx/generic/generic-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype gsf-vertex-array (UNKNOWN) + ((vtx UNKNOWN :dynamic :offset-assert 0) + ) + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ) + +(deftype gsf-fx-vertex-array (UNKNOWN) + ((data UNKNOWN :dynamic :offset-assert 0) + ) + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ) + +(deftype gsf-vertex (structure) + ((data UNKNOWN 8 :offset-assert 0) + (byte UNKNOWN 32 :offset-assert 0) + (quad UNKNOWN 2 :offset-assert 0) + (vt qword :inline :offset-assert 0) + (pos vector3s :inline :offset-assert 0) + (tex vector2uh :inline :offset-assert 12) + (nrm vector3s :inline :offset-assert 16) + (nc qword :inline :offset-assert 16) + (clr vector4ub :inline :offset-assert 28) + (dtex vector2uh :inline :offset-assert 16) + (dclr vector4ub :inline :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype gsf-fx-vertex (structure) + ((clr vector4ub :inline :offset-assert 0) + (tex vector2uh :inline :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype gsf-header (structure) + ((num-strips uint8 :offset-assert 0) + (expanded uint8 :offset-assert 1) + (num-dps uint16 :offset-assert 2) + (num-vtxs uint16 :offset-assert 4) + (strip-table UNKNOWN 10 :offset-assert 6) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype gsf-ik (structure) + ((index uint8 :offset-assert 0) + (no-kick uint8 :offset-assert 1) + ) + :method-count-assert 9 + :size-assert #x2 + :flag-assert #x900000002 + ) + +(deftype gsf-info (structure) + ((ptr-iks uint32 :offset-assert 0) + (ptr-verts uint32 :offset-assert 4) + (ptr-fx uint32 :offset-assert 8) + (dummy2 uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype gsf-buffer (structure) + ((data UNKNOWN 8192 :offset-assert 0) + (info gsf-info :inline :offset-assert 0) + (header gsf-header :inline :offset-assert 16) + (work-area UNKNOWN :dynamic :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x2000 + :flag-assert #x900002000 + ) + +(deftype generic-frag (structure) + ((start-pos uint16 :offset-assert 0) + (end-pos uint16 :offset-assert 2) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype generic-strip (structure) + ((pos uint16 :offset-assert 0) + (len uint16 :offset-assert 2) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype generic-envmap-saves (structure) + ((index-mask vector4w :inline :offset-assert 0) + (verts UNKNOWN 12 :offset-assert 16) + (kicks UNKNOWN 4 :offset-assert 208) + ) + :method-count-assert 9 + :size-assert #x110 + :flag-assert #x900000110 + ) + +(deftype generic-interp-job (structure) + ((job-type uint16 :offset-assert 0) + (num uint16 :offset-assert 2) + (first uint16 :offset-assert 4) + (pad uint16 :offset-assert 6) + (ptr-data uint32 :offset-assert 8) + (morph-z uint16 :offset-assert 12) + (morph-w uint16 :offset-assert 14) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype generic-saves (structure) + ((ptr-dma uint32 :offset-assert 0) + (ptr-vtxs uint32 :offset-assert 4) + (ptr-clrs uint32 :offset-assert 8) + (ptr-texs uint32 :offset-assert 12) + (ptr-env-clrs uint32 :offset-assert 16) + (ptr-env-texs uint32 :offset-assert 20) + (cur-outbuf uint32 :offset-assert 24) + (ptr-fx-buf uint32 :offset-assert 28) + (xor-outbufs uint32 :offset-assert 32) + (num-dps uint32 :offset-assert 36) + (qwc uint32 :offset-assert 40) + (gsf-buf gsf-buffer :offset-assert 44) + (ptr-shaders uint32 :offset-assert 48) + (ptr-env-shader uint32 :offset-assert 52) + (is-envmap uint32 :offset-assert 56) + (basep uint32 :offset-assert 60) + (ptr-interp-job generic-interp-job :offset-assert 64) + (gifbuf-adr uint32 :offset-assert 68) + (inbuf-adr uint32 :offset-assert 72) + (fade-val uint32 :offset-assert 76) + (time-of-day-color uint32 :offset-assert 80) + (to-vu0-waits uint32 :offset-assert 84) + (to-spr-waits uint32 :offset-assert 88) + (from-spr-waits uint32 :offset-assert 92) + (envmap generic-envmap-saves :inline :offset-assert 96) + ) + :method-count-assert 9 + :size-assert #x170 + :flag-assert #x900000170 + ) + +(deftype generic-gif-tag (structure) + ((data UNKNOWN 4 :offset-assert 0) + (qword qword :inline :offset-assert 0) + (fan-prim uint32 :offset-assert 0) + (str-prim uint32 :offset-assert 4) + (regs uint32 :offset-assert 8) + (num-strips uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype ad-cmd (structure) + ((word UNKNOWN 4 :offset-assert 0) + (quad uint128 :offset-assert 0) + (data uint64 :offset-assert 0) + (cmds uint64 :offset-assert 8) + (cmd uint8 :offset-assert 8) + (x uint32 :offset-assert 0) + (y uint32 :offset-assert 4) + (z uint32 :offset-assert 8) + (w uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype generic-envmap-consts (structure) + ((consts vector :inline :offset-assert 0) + (strgif generic-gif-tag :inline :offset-assert 16) + (colors vector4w :inline :offset-assert 32) + (shader adgif-shader :inline :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + +(deftype generic-consts (structure) + ((dma-header dma-packet :inline :offset-assert 0) + (vif-header UNKNOWN 4 :offset-assert 16) + (dma-ref-vtxs dma-packet :inline :offset-assert 32) + (dma-cnt-call dma-packet :inline :offset-assert 48) + (matrix matrix :inline :offset-assert 64) + (base-strgif generic-gif-tag :inline :offset-assert 128) + (alpha-opaque ad-cmd :inline :offset-assert 144) + (alpha-translucent ad-cmd :inline :offset-assert 160) + (ztest-normal ad-cmd :inline :offset-assert 176) + (ztest-opaque ad-cmd :inline :offset-assert 192) + (adcmd-offsets UNKNOWN 16 :offset-assert 208) + (adcmds UNKNOWN 4 :offset-assert 144) + (stcycle-tag uint32 :offset-assert 224) + (unpack-vtx-tag uint32 :offset-assert 228) + (unpack-clr-tag uint32 :offset-assert 232) + (unpack-tex-tag uint32 :offset-assert 236) + (mscal-tag uint32 :offset-assert 240) + (flush-tag uint32 :offset-assert 244) + (reset-cycle-tag uint32 :offset-assert 248) + (dummy0 uint32 :offset-assert 252) + (dma-tag-cnt uint64 :offset-assert 256) + (envmap generic-envmap-consts :inline :offset-assert 272) + (light-consts vector :inline :offset-assert 400) + (texture-offset UNKNOWN 8 :offset-assert 416) + ) + :method-count-assert 9 + :size-assert #x1b0 + :flag-assert #x9000001b0 + ) + +(deftype generic-storage (structure) + ((data UNKNOWN 16 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x100 + :flag-assert #x900000100 + ) + + +;; ---------------------- +;; File - lights-h +;; Source Path - engine/gfx/lights-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype vu-lights (structure) + ((direction UNKNOWN 3 :offset-assert 0) + (color UNKNOWN 3 :offset-assert 48) + (ambient vector :inline :offset-assert 96) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype light (structure) + ((direction vector :inline :offset-assert 0) + (color rgbaf :inline :offset-assert 16) + (levels vector :inline :offset-assert 32) + (level float :offset-assert 32) + (sort-level float :offset-assert 36) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype light-ellipse (structure) + ((matrix matrix :inline :offset-assert 0) + (color rgbaf :inline :offset-assert 64) + (name basic :offset-assert 12) + (decay-start float :offset-assert 28) + (ambient-point-ratio float :offset-assert 44) + (level float :offset-assert 60) + (func-symbol basic :offset-assert 76) + (func basic :offset-assert 76) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype light-array (array) + ((type basic :offset-assert 0) + (length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (content-type basic :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype light-volume (basic) + ((light-array basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype light-volume-sphere (light-volume) + ((light-array basic :offset-assert 4) + (bsphere sphere :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype light-volume-planes (light-volume) + ((light-array basic :offset-assert 4) + (planes vertical-planes :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype light-volume-array (array) + ((type basic :offset-assert 0) + (length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (content-type basic :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype light-group (structure) + ((dir0 light :inline :offset-assert 0) + (dir1 light :inline :offset-assert 48) + (dir2 light :inline :offset-assert 96) + (ambi light :inline :offset-assert 144) + ) + :method-count-assert 9 + :size-assert #xc0 + :flag-assert #x9000000c0 + ) + + +;; ---------------------- +;; File - ocean-h +;; Source Path - engine/gfx/ocean/ocean-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype ocean-corner (structure) + ((bsphere sphere :inline :offset-assert 0) + (start-corner vector :inline :offset-assert 16) + (y-scales vector :inline :offset-assert 32) + (alphas vector :inline :offset-assert 48) + (colors UNKNOWN 4 :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype ocean-wave-info (structure) + ((frequency float :offset-assert 0) + (amplitude float :offset-assert 4) + (wave-speed float :offset-assert 8) + (angle float :offset-assert 12) + (kx float :offset-assert 16) + (ky float :offset-assert 20) + (w float :offset-assert 24) + (flags int32 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype ocean-vertex (structure) + ((pos vector :inline :offset-assert 0) + (stq vector :inline :offset-assert 16) + (col vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype ocean-spheres (structure) + ((spheres UNKNOWN 36 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x240 + :flag-assert #x900000240 + ) + +(deftype ocean-colors (structure) + ((colors UNKNOWN 2548 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x27d0 + :flag-assert #x9000027d0 + ) + +(deftype ocean-mid-mask (structure) + ((mask UNKNOWN 8 :offset-assert 0) + (dword uint64 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype ocean-mid-masks (basic) + ((indices UNKNOWN 36 :offset-assert 4) + (data uint32 :offset-assert 40) + ) + :method-count-assert 9 + :size-assert #x2c + :flag-assert #x90000002c + ) + +(deftype ocean-near-indices (structure) + ((x uint8 :offset-assert 0) + (z uint8 :offset-assert 1) + ) + :method-count-assert 9 + :size-assert #x2 + :flag-assert #x900000002 + ) + +(deftype ocean-near-colors (structure) + ((color0 vector :inline :offset-assert 0) + (color1 vector :inline :offset-assert 16) + (color2 vector :inline :offset-assert 32) + (color3 vector :inline :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype ocean-map (basic) + ((start-corner vector :inline :offset-assert 16) + (far-color vector :inline :offset-assert 32) + (ocean-spheres ocean-spheres :offset-assert 48) + (ocean-colors ocean-colors :offset-assert 52) + (ocean-mid-masks basic :offset-assert 56) + (ocean-near-masks basic :offset-assert 60) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype ocean-wave-data (structure) + ((data UNKNOWN 1024 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x400 + :flag-assert #x900000400 + ) + +(deftype ocean-wave-frames (structure) + ((frame UNKNOWN 64 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x0 + :flag-assert #x900010000 + ) + +(deftype ocean-work (basic) + ((deltas vector :inline :offset-assert 16) + (map-min vector :inline :offset-assert 32) + (map-max vector :inline :offset-assert 48) + (interp vector :inline :offset-assert 64) + (corner-array UNKNOWN 25 :offset-assert 80) + (corner-count int32 :offset-assert 2080) + (mid-minx uint8 :offset-assert 2084) + (mid-maxx uint8 :offset-assert 2085) + (mid-minz uint8 :offset-assert 2086) + (mid-maxz uint8 :offset-assert 2087) + (mid-mask-ptrs UNKNOWN 36 :offset-assert 2088) + (mid-masks UNKNOWN 36 :offset-assert 2240) + (trans-masks UNKNOWN 16 :offset-assert 2816) + (trans-near-masks UNKNOWN 16 :offset-assert 3072) + (trans-temp-masks UNKNOWN 16 :offset-assert 3328) + (near-minx uint8 :offset-assert 3584) + (near-maxx uint8 :offset-assert 3585) + (near-minz uint8 :offset-assert 3586) + (near-maxz uint8 :offset-assert 3587) + (near-masks UNKNOWN 256 :offset-assert 3592) + (near-colors-ptr int32 :offset-assert 7688) + (near-map ocean-near-map :inline :offset-assert 7696) + (near-colors-array ocean-near-colors-array :offset-assert 7728) + (temp-minx uint8 :offset-assert 7732) + (temp-maxx uint8 :offset-assert 7733) + (temp-minz uint8 :offset-assert 7734) + (temp-maxz uint8 :offset-assert 7735) + ) + :method-count-assert 9 + :size-assert #x1e38 + :flag-assert #x900001e38 + ) + +;; ocean-vu0-h +(deftype ocean-vu0-work (structure) + ((scales vector :inline :offset-assert 0) + (mask-hi vector4w :inline :offset-assert 16) + (mask-lo vector4w :inline :offset-assert 32) + (lights vu-lights :inline :offset-assert 48) + (wait-to-vu0 uint32 :offset-assert 160) + ) + :method-count-assert 9 + :size-assert #xa4 + :flag-assert #x9000000a4 + ) + +;; ocean-texture-h +(deftype ocean-texture-constants (structure) + ((giftag qword :inline :offset-assert 0) + (buffers vector4w :inline :offset-assert 16) + (dests vector4w :inline :offset-assert 32) + (start vector :inline :offset-assert 48) + (offsets vector :inline :offset-assert 64) + (constants vector :inline :offset-assert 80) + (cam-nrm vector :inline :offset-assert 96) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +;; ocean-texture-h +(deftype ocean-texture-work (structure) + ((sprite-tmpl dma-gif-packet :inline :offset-assert 0) + (sprite-tmpl2 dma-gif-packet :inline :offset-assert 32) + (adgif-tmpl dma-gif-packet :inline :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x60 + :flag-assert #x900000060 + ) + +;; ocean-mid-h +(deftype ocean-mid-vertex (structure) + ((stq vector :inline :offset-assert 0) + (col vector :inline :offset-assert 16) + (pos vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +;; ocean-mid-h +(deftype ocean-mid-constants (structure) + ((hmge-scale vector :inline :offset-assert 0) + (inv-hmge-scale vector :inline :offset-assert 16) + (hvdf-offset vector :inline :offset-assert 32) + (fog vector :inline :offset-assert 48) + (constants vector :inline :offset-assert 64) + (constants2 vector :inline :offset-assert 80) + (drw-fan qword :inline :offset-assert 96) + (env-fan qword :inline :offset-assert 112) + (drw-adgif qword :inline :offset-assert 128) + (drw-texture adgif-shader :inline :offset-assert 144) + (drw-strip-0 qword :inline :offset-assert 224) + (drw-strip-1 qword :inline :offset-assert 240) + (env-adgif qword :inline :offset-assert 256) + (env-texture adgif-shader :inline :offset-assert 272) + (env-strip qword :inline :offset-assert 352) + (env-color vector :inline :offset-assert 368) + (index-table UNKNOWN 8 :offset-assert 384) + ) + :method-count-assert 9 + :size-assert #x200 + :flag-assert #x900000200 + ) + +;; ocean-mid-h +(deftype ocean-mid-upload (structure) + ((rot matrix :inline :offset-assert 0) + (matrix matrix :inline :offset-assert 64) + (colors UNKNOWN 108 :offset-assert 128) + (masks UNKNOWN 2 :offset-assert 1856) + ) + :method-count-assert 9 + :size-assert #x760 + :flag-assert #x900000760 + ) + +;; ocean-mid-h +(deftype ocean-mid-upload2 (structure) + ((rot matrix :inline :offset-assert 0) + (matrix matrix :inline :offset-assert 64) + (count vector4w :inline :offset-assert 128) + (verts UNKNOWN 16 :offset-assert 144) + ) + :method-count-assert 9 + :size-assert #x390 + :flag-assert #x900000390 + ) + +;; ocean-mid-h +(deftype ocean-mid-work (structure) + ((env0 vector :inline :offset-assert 0) + (env1 vector :inline :offset-assert 16) + (env2 vector :inline :offset-assert 32) + (hmg0 vector :inline :offset-assert 48) + (hmg1 vector :inline :offset-assert 64) + (hmg2 vector :inline :offset-assert 80) + (indices UNKNOWN 16 :offset-assert 96) + ) + :method-count-assert 9 + :size-assert #x160 + :flag-assert #x900000160 + ) + +;; ocean-near-h +(deftype ocean-near-constants (structure) + ((hmge-scale vector :inline :offset-assert 0) + (inv-hmge-scale vector :inline :offset-assert 16) + (hvdf-offset vector :inline :offset-assert 32) + (fog vector :inline :offset-assert 48) + (constants vector :inline :offset-assert 64) + (constants2 vector :inline :offset-assert 80) + (constants3 vector :inline :offset-assert 96) + (constants4 vector :inline :offset-assert 112) + (drw-fan qword :inline :offset-assert 128) + (drw2-fan qword :inline :offset-assert 144) + (env-fan qword :inline :offset-assert 160) + (drw-adgif qword :inline :offset-assert 176) + (drw-texture adgif-shader :inline :offset-assert 192) + (drw-strip qword :inline :offset-assert 272) + (env-adgif qword :inline :offset-assert 288) + (env-texture adgif-shader :inline :offset-assert 304) + (env-strip qword :inline :offset-assert 384) + (env-color vector :inline :offset-assert 400) + (drw2-adgif qword :inline :offset-assert 416) + (drw2-tex0 qword :inline :offset-assert 432) + (drw2-frame qword :inline :offset-assert 448) + (drw2-strip qword :inline :offset-assert 464) + (drw3-adgif qword :inline :offset-assert 480) + (drw3-frame qword :inline :offset-assert 496) + ) + :method-count-assert 9 + :size-assert #x200 + :flag-assert #x900000200 + ) + +;; ocean-near-h +(deftype ocean-near-upload (structure) + ((rot matrix :inline :offset-assert 0) + (matrix matrix :inline :offset-assert 64) + (masks vector4w :inline :offset-assert 128) + (index-table UNKNOWN 2 :offset-assert 144) + (start-st vector :inline :offset-assert 176) + (near-colors ocean-near-colors :inline :offset-assert 192) + ) + :method-count-assert 9 + :size-assert #x100 + :flag-assert #x900000100 + ) + +;; ocean-near-h +(deftype ocean-near-work (structure) + ((verts-ptr vector :inline :offset-assert 0) + (indices UNKNOWN 16 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x110 + :flag-assert #x900000110 + ) + + +;; ---------------------- +;; File - ocean-trans-tables +;; Source Path - engine/gfx/ocean/ocean-trans-tables.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ocean-tables +;; Source Path - engine/gfx/ocean/ocean-tables.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ocean-frames +;; Source Path - engine/gfx/ocean/ocean-frames.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sky-h +;; Source Path - engine/gfx/sky/sky-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sky-color-hour (structure) + ((snapshot1 int32 :offset-assert 0) + (snapshot2 int32 :offset-assert 4) + (morph-start float :offset-assert 8) + (morph-end float :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype sky-color-day (structure) + ((hour UNKNOWN 24 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x180 + :flag-assert #x900000180 + ) + +(deftype sky-circle-data (structure) + ((data UNKNOWN 17 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x110 + :flag-assert #x900000110 + ) + +(deftype sky-sun-data (structure) + ((data UNKNOWN 4 :offset-assert 0) + (pos vector :inline :offset-assert 0) + (r-sun float :offset-assert 16) + (r-halo float :offset-assert 20) + (r-aurora float :offset-assert 24) + (c-sun-start uint32 :offset-assert 32) + (c-sun-end uint32 :offset-assert 48) + (c-halo-start uint32 :offset-assert 36) + (c-halo-end uint32 :offset-assert 52) + (c-aurora-start uint32 :offset-assert 40) + (c-aurora-end uint32 :offset-assert 56) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype sky-moon-data (structure) + ((data UNKNOWN 2 :offset-assert 0) + (pos vector :inline :offset-assert 0) + (scale vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype sky-orbit (structure) + ((high-noon float :offset-assert 0) + (tilt float :offset-assert 4) + (rise float :offset-assert 8) + (dist float :offset-assert 12) + (min-halo float :offset-assert 16) + (max-halo float :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype sky-upload-data (basic) + ((data UNKNOWN 27 :offset-assert 16) + (circle sky-circle-data :inline :offset-assert 16) + (sun UNKNOWN 2 :offset-assert 288) + (moon sky-moon-data :inline :offset-assert 416) + ) + :method-count-assert 9 + :size-assert #x1c0 + :flag-assert #x9000001c0 + ) + +(deftype sky-parms (basic) + ((orbit UNKNOWN 3 :offset-assert 4) + (upload-data sky-upload-data :inline :offset-assert 116) + (sun-lights light-group :inline :offset-assert 560) + (moon-lights light-group :inline :offset-assert 752) + (default-lights light-group :inline :offset-assert 944) + (default-vu-lights vu-lights :inline :offset-assert 1136) + ) + :method-count-assert 9 + :size-assert #x4e0 + :flag-assert #x9000004e0 + ) + +(deftype sky-tng-data (basic) + ((giftag-base qword :inline :offset-assert 16) + (giftag-roof qword :inline :offset-assert 32) + (giftag-ocean qword :inline :offset-assert 48) + (fog vector :inline :offset-assert 64) + (sky UNKNOWN 8 :offset-assert 80) + (time float :offset-assert 112) + (off-s-0 uint16 :offset-assert 116) + (off-t-0 uint16 :offset-assert 118) + (off-s-1 uint16 :offset-assert 120) + (off-t-1 uint16 :offset-assert 122) + ) + :method-count-assert 9 + :size-assert #x7c + :flag-assert #x90000007c + ) + +(deftype sky-work (structure) + ((adgif-tmpl dma-gif-packet :inline :offset-assert 0) + (draw-tmpl dma-gif-packet :inline :offset-assert 32) + (blend-tmpl dma-gif-packet :inline :offset-assert 64) + (sky-data UNKNOWN 5 :offset-assert 96) + (cloud-data UNKNOWN 5 :offset-assert 176) + ) + :method-count-assert 9 + :size-assert #x100 + :flag-assert #x900000100 + ) + +(deftype sky-vertex (structure) + ((pos vector :inline :offset-assert 0) + (stq vector :inline :offset-assert 16) + (col vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + + +;; ---------------------- +;; File - mood-h +;; Source Path - engine/gfx/mood-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype mood-fog (structure) + ((fog-color vector :inline :offset-assert 0) + (fog-dists vector :inline :offset-assert 16) + (fog-start meters :offset-assert 16) + (fog-end meters :offset-assert 20) + (fog-max float :offset-assert 24) + (fog-min float :offset-assert 28) + (erase-color vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype mood-fog-table (structure) + ((data UNKNOWN 8 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x180 + :flag-assert #x900000180 + ) + +(deftype mood-lights (structure) + ((direction vector :inline :offset-assert 0) + (lgt-color vector :inline :offset-assert 16) + (prt-color vector :inline :offset-assert 32) + (amb-color vector :inline :offset-assert 48) + (shadow vector :inline :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype mood-lights-table (structure) + ((data UNKNOWN 8 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x280 + :flag-assert #x900000280 + ) + +(deftype mood-sun (structure) + ((sun-color vector :inline :offset-assert 0) + (env-color vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype mood-sun-table (structure) + ((data UNKNOWN 8 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x100 + :flag-assert #x900000100 + ) + +(deftype mood-context (basic) + ((mood-fog-table mood-fog-table :offset-assert 4) + (mood-lights-table mood-lights-table :offset-assert 8) + (mood-sun-table mood-sun-table :offset-assert 12) + (fog-interp sky-color-day :offset-assert 16) + (palette-interp sky-color-day :offset-assert 20) + (sky-texture-interp sky-color-day :offset-assert 24) + (current-fog mood-fog :inline :offset-assert 32) + (current-sun mood-sun :inline :offset-assert 80) + (current-prt-color vector :inline :offset-assert 112) + (current-shadow vector :inline :offset-assert 128) + (light-group light-group :inline :offset-assert 144) + (times UNKNOWN 8 :offset-assert 336) + (sky-times UNKNOWN 8 :offset-assert 464) + (itimes UNKNOWN 4 :offset-assert 496) + (state UNKNOWN 16 :offset-assert 560) + (num-stars float :offset-assert 576) + ) + :method-count-assert 9 + :size-assert #x244 + :flag-assert #x900000244 + ) + + +;; ---------------------- +;; File - time-of-day-h +;; Source Path - engine/gfx/time-of-day-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype palette-fade-control (structure) + ((fade float :offset-assert 0) + (actor-dist float :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype palette-fade-controls (basic) + ((control UNKNOWN 8 :offset-assert 4) + ) + :method-count-assert 11 + :size-assert #x84 + :flag-assert #xb00000084 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype time-of-day-proc (process) + ((year int32 :offset-assert 112) + (month int32 :offset-assert 116) + (week int32 :offset-assert 120) + (day int32 :offset-assert 124) + (hour int32 :offset-assert 128) + (minute int32 :offset-assert 132) + (second int32 :offset-assert 136) + (frame int32 :offset-assert 140) + (time-of-day float :offset-assert 144) + (time-ratio float :offset-assert 148) + (star-count int32 :offset-assert 152) + (stars basic :offset-assert 156) + (sun-count int32 :offset-assert 160) + (sun basic :offset-assert 164) + (green-sun-count int32 :offset-assert 168) + (green-sun basic :offset-assert 172) + (moon-count int32 :offset-assert 176) + (moon basic :offset-assert 180) + ) + :method-count-assert 14 + :size-assert #xb8 + :flag-assert #xe005000b8 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype time-of-day-palette (basic) + ((width int32 :offset-assert 4) + (height int32 :offset-assert 8) + (pad int32 :offset-assert 12) + (data UNKNOWN 1 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype time-of-day-context (basic) + ((active-count uint32 :offset-assert 4) + (interp float :offset-assert 8) + (current-interp float :offset-assert 12) + (moods UNKNOWN 2 :offset-assert 16) + (current-fog mood-fog :inline :offset-assert 32) + (current-sun mood-sun :inline :offset-assert 80) + (current-prt-color vector :inline :offset-assert 112) + (current-shadow vector :inline :offset-assert 128) + (light-group light-group :inline :offset-assert 144) + (temp-light-group light-group :inline :offset-assert 336) + (time float :offset-assert 528) + (erase-color uint32 :offset-assert 532) + (num-stars float :offset-assert 536) + (light-masks-0 UNKNOWN 2 :offset-assert 540) + (light-masks-1 UNKNOWN 2 :offset-assert 542) + (light-interp UNKNOWN 2 :offset-assert 544) + (sky basic :offset-assert 552) + (sun-fade float :offset-assert 556) + ) + :method-count-assert 9 + :size-assert #x230 + :flag-assert #x900000230 + ) + +(deftype time-of-day-dma (structure) + ((outa UNKNOWN 256 :offset-assert 0) + (outb UNKNOWN 256 :offset-assert 1024) + (banka UNKNOWN 256 :offset-assert 2048) + (bankb UNKNOWN 256 :offset-assert 3072) + ) + :method-count-assert 9 + :size-assert #x1000 + :flag-assert #x900001000 + ) + + +;; ---------------------- +;; File - art-h +;; Source Path - engine/data/art-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype joint-anim (basic) + ((name basic :offset-assert 4) + (number int16 :offset-assert 8) + (length int16 :offset-assert 10) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype joint-anim-matrix (joint-anim) + () + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype joint-anim-transformq (joint-anim) + () + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ;; too many basic blocks + ) + +(deftype joint-anim-drawable (joint-anim) + ((name basic :offset-assert 4) + (number int16 :offset-assert 8) + (length int16 :offset-assert 10) + (data UNKNOWN :dynamic :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype joint-anim-compressed (joint-anim) + ((name basic :offset-assert 4) + (number int16 :offset-assert 8) + (length int16 :offset-assert 10) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype joint-anim-frame (structure) + ((matrices UNKNOWN 2 :offset-assert 0) + (data UNKNOWN :dynamic :offset-assert 128) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + +(deftype joint-anim-compressed-hdr (structure) + ((control-bits UNKNOWN 14 :offset-assert 0) + (num-joints uint32 :offset-assert 56) + (matrix-bits uint32 :offset-assert 60) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype joint-anim-compressed-fixed (structure) + ((hdr joint-anim-compressed-hdr :inline :offset-assert 0) + (offset-64 uint32 :offset-assert 64) + (offset-32 uint32 :offset-assert 68) + (offset-16 uint32 :offset-assert 72) + (reserved uint32 :offset-assert 76) + (data UNKNOWN 133 :offset-assert 80) + ) + :method-count-assert 9 + :size-assert #x8a0 + :flag-assert #x9000008a0 + ) + +(deftype joint-anim-compressed-frame (structure) + ((offset-64 uint32 :offset-assert 0) + (offset-32 uint32 :offset-assert 4) + (offset-16 uint32 :offset-assert 8) + (reserved uint32 :offset-assert 12) + (data UNKNOWN 133 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x860 + :flag-assert #x900000860 + ) + +(deftype joint-anim-compressed-control (structure) + ((num-frames uint32 :offset-assert 0) + (fixed-qwc uint32 :offset-assert 4) + (frame-qwc uint32 :offset-assert 8) + (fixed joint-anim-compressed-fixed :offset-assert 12) + (data UNKNOWN 1 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype art (basic) + ((name basic :offset-assert 8) + (length int32 :offset-assert 12) + (extra basic :offset-assert 16) + ) + :method-count-assert 13 + :size-assert #x14 + :flag-assert #xd00000014 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype art-element (art) + ((name basic :offset-assert 8) + (length int32 :offset-assert 12) + (extra basic :offset-assert 16) + ) + :method-count-assert 13 + :size-assert #x20 + :flag-assert #xd00000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype art-joint-anim (art-element) + () + :method-count-assert 13 + :size-assert #x30 + :flag-assert #xd00000030 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype art-group (art) + () + :method-count-assert 15 + :size-assert #x20 + :flag-assert #xf00000020 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype skeleton-group (basic) + ((art-group-name basic :offset-assert 4) + (jgeo int32 :offset-assert 8) + (janim int32 :offset-assert 12) + (bounds vector :inline :offset-assert 16) + (radius meters :offset-assert 28) + (mgeo int32 4 :offset-assert 32) + (max-lod int32 :offset-assert 48) + (lod-dist float 4 :offset-assert 52) + (texture-level int8 :offset-assert 68) + (version int8 :offset-assert 69) + (shadow int8 :offset-assert 70) + (sort int8 :offset-assert 71) + ) + :method-count-assert 9 + :size-assert #x48 + :flag-assert #x900000048 + ) + +(deftype lod-group (structure) + ((geo basic :offset-assert 0) + (dist meters :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype lod-set (structure) + ((lod UNKNOWN 4 :offset-assert 0) + (max-lod int8 :offset-assert 32) + ) + :method-count-assert 10 + :size-assert #x21 + :flag-assert #xa00000021 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype draw-control (basic) + ((status uint8 :offset-assert 4) + (matrix-type uint8 :offset-assert 5) + (data-format uint8 :offset-assert 6) + (global-effect uint8 :offset-assert 7) + (art-group basic :offset-assert 8) + (jgeo basic :offset-assert 12) + (mgeo basic :offset-assert 16) + (dma-add-func basic :offset-assert 20) + (skeleton basic :offset-assert 24) + (lod-set lod-set :inline :offset-assert 28) + (lod UNKNOWN 4 :offset-assert 28) + (max-lod int8 :offset-assert 60) + (force-lod int8 :offset-assert 61) + (cur-lod int8 :offset-assert 62) + (desired-lod int8 :offset-assert 63) + (ripple basic :offset-assert 64) + (dummy UNKNOWN 2 :offset-assert 68) + (death-timer uint8 :offset-assert 76) + (death-timer-org uint8 :offset-assert 77) + (death-vertex-skip uint16 :offset-assert 78) + (death-effect uint32 :offset-assert 80) + (sink-group basic :offset-assert 84) + (process basic :offset-assert 88) + (shadow basic :offset-assert 92) + (shadow-ctrl basic :offset-assert 96) + (origin vector :inline :offset-assert 112) + (bounds vector :inline :offset-assert 128) + (radius meters :offset-assert 140) + (color-mult rgbaf :inline :offset-assert 144) + (color-emissive rgbaf :inline :offset-assert 160) + (secondary-interp float :offset-assert 176) + (current-secondary-interp float :offset-assert 180) + (shadow-mask uint8 :offset-assert 184) + (level-index uint8 :offset-assert 185) + (origin-joint-index uint8 :offset-assert 186) + ) + :method-count-assert 12 + :size-assert #xbb + :flag-assert #xc000000bb + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + + +;; ---------------------- +;; File - generic-vu1-h +;; Source Path - engine/gfx/generic/generic-vu1-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype pris-mtx (structure) + ((data UNKNOWN 32 :offset-assert 0) + (vector UNKNOWN 8 :offset-assert 0) + (t-mtx matrix :inline :offset-assert 0) + (n-mtx matrix3 :inline :offset-assert 64) + (scale vector :inline :offset-assert 112) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + +(deftype generic-pris-mtx-save (structure) + ((loc-mtx pris-mtx :inline :offset-assert 0) + (par-mtx pris-mtx :inline :offset-assert 128) + (dif-mtx pris-mtx :inline :offset-assert 256) + ) + :method-count-assert 9 + :size-assert #x180 + :flag-assert #x900000180 + ) + +(deftype generic-constants (structure) + ((fog vector :inline :offset-assert 0) + (adgif qword :inline :offset-assert 16) + (giftag qword :inline :offset-assert 32) + (hvdf-offset vector :inline :offset-assert 48) + (hmge-scale vector :inline :offset-assert 64) + (invh-scale vector :inline :offset-assert 80) + (guard vector :inline :offset-assert 96) + (adnop qword :inline :offset-assert 112) + (flush qword :inline :offset-assert 128) + (stores qword :inline :offset-assert 144) + ) + :method-count-assert 9 + :size-assert #xa0 + :flag-assert #x9000000a0 + ) + + +;; ---------------------- +;; File - merc-h +;; Source Path - engine/gfx/merc/merc-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype merc-blend-data (UNKNOWN) + ((int8-data UNKNOWN :dynamic :offset-assert 0) + ) + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ) + +(deftype ripple-merc-query (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (start-vertex int32 :offset-assert 16) + (vertex-skip int32 :offset-assert 20) + (vertex-count int32 :offset-assert 24) + (current-loc int32 :offset-assert 28) + (data UNKNOWN :dynamic :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype merc-byte-header (structure) + ((srcdest-off uint8 :offset-assert 0) + (rgba-off uint8 :offset-assert 1) + (lump-off uint8 :offset-assert 2) + (fp-off uint8 :offset-assert 3) + (mat1-cnt uint8 :offset-assert 4) + (mat2-cnt uint8 :offset-assert 5) + (mat3-cnt uint8 :offset-assert 6) + (samecopy-cnt uint8 :offset-assert 7) + (crosscopy-cnt uint8 :offset-assert 8) + (strip-len uint8 :offset-assert 9) + (mm-quadword-fp-off uint8 :offset-assert 10) + (mm-quadword-size uint8 :offset-assert 11) + (perc-off uint8 :offset-assert 12) + (mat-slot UNKNOWN 10 :offset-assert 13) + ) + :method-count-assert 9 + :size-assert #x17 + :flag-assert #x900000017 + ) + +(deftype merc-fragment (structure) + ((header merc-byte-header :inline :offset-assert 0) + (rest UNKNOWN 1 :offset-assert 23) + ) + :method-count-assert 10 + :size-assert #x18 + :flag-assert #xa00000018 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype merc-vtx (structure) + ((mat-0 uint8 :offset-assert 0) + (mat-1 uint8 :offset-assert 1) + (nrm-x uint8 :offset-assert 2) + (pos-x uint8 :offset-assert 3) + (dst-0 uint8 :offset-assert 4) + (dst-1 uint8 :offset-assert 5) + (nrm-y uint8 :offset-assert 6) + (pos-y uint8 :offset-assert 7) + (tex-s uint8 :offset-assert 8) + (tex-t uint8 :offset-assert 9) + (nrm-z uint8 :offset-assert 10) + (pos-z uint8 :offset-assert 11) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype merc-fp-header (structure) + ((x-add float :offset-assert 0) + (y-add float :offset-assert 4) + (z-add float :offset-assert 8) + (shader-cnt uint8 :offset-assert 12) + (kick-info-offset uint8 :offset-assert 13) + (kick-info-step uint8 :offset-assert 14) + (hword-cnt uint8 :offset-assert 15) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype merc-mat-dest (structure) + ((matrix-number uint8 :offset-assert 0) + (matrix-dest uint8 :offset-assert 1) + ) + :method-count-assert 9 + :size-assert #x2 + :flag-assert #x900000002 + ) + +(deftype merc-fragment-control (structure) + ((unsigned-four-count uint8 :offset-assert 0) + (lump-four-count uint8 :offset-assert 1) + (fp-qwc uint8 :offset-assert 2) + (mat-xfer-count uint8 :offset-assert 3) + (mat-dest-data UNKNOWN :dynamic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype merc-blend-ctrl (structure) + ((blend-vtx-count uint8 :offset-assert 0) + (nonzero-index-count uint8 :offset-assert 1) + (bt-index UNKNOWN :dynamic :offset-assert 2) + ) + :method-count-assert 9 + :size-assert #x2 + :flag-assert #x900000002 + ) + +(deftype mei-envmap-tint (structure) + ((fade0 float :offset-assert 0) + (fade1 float :offset-assert 4) + (tint uint32 :offset-assert 8) + (dummy int32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype mei-texture-scroll (structure) + ((max-dist float :offset-assert 0) + (st-int-scale uint8 :offset-assert 4) + (time-factor uint8 :offset-assert 5) + (scroll-dir uint8 :offset-assert 6) + (cached-time uint8 :offset-assert 7) + (time-delta uint8 :offset-assert 8) + (dummy UNKNOWN 7 :offset-assert 9) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype mei-ripple (structure) + ((x-base float :offset-assert 0) + (z-base float :offset-assert 4) + (grid-size float :offset-assert 8) + (angle float :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype merc-extra-info (structure) + ((envmap-tint-offset uint8 :offset-assert 0) + (shader-offset uint8 :offset-assert 1) + (texture-scroll-offset uint8 :offset-assert 2) + (ripple-offset uint8 :offset-assert 3) + (dummy UNKNOWN 12 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype merc-effect (structure) + ((frag-geo merc-fragment :offset-assert 0) + (frag-ctrl merc-fragment-control :offset-assert 4) + (blend-data merc-blend-data :offset-assert 8) + (blend-ctrl merc-blend-ctrl :offset-assert 12) + (dummy0 uint8 :offset-assert 16) + (effect-bits uint8 :offset-assert 17) + (frag-count uint16 :offset-assert 18) + (blend-frag-count uint16 :offset-assert 20) + (tri-count uint16 :offset-assert 22) + (dvert-count uint16 :offset-assert 24) + (dummy1 uint8 :offset-assert 26) + (envmap-usage uint8 :offset-assert 27) + (extra-info merc-extra-info :offset-assert 28) + ) + :method-count-assert 10 + :size-assert #x20 + :flag-assert #xa00000020 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype merc-ctrl-header (structure) + ((xyz-scale float :offset-assert 0) + (st-magic uint32 :offset-assert 4) + (st-out-a uint32 :offset-assert 8) + (st-out-b uint32 :offset-assert 12) + (st-vif-add uint32 :offset-assert 16) + (st-int-off uint16 :offset-assert 20) + (st-int-scale uint16 :offset-assert 22) + (effect-count uint32 :offset-assert 24) + (blend-target-count uint32 :offset-assert 28) + (fragment-count uint16 :offset-assert 32) + (tri-count uint16 :offset-assert 34) + (matrix-count uint16 :offset-assert 36) + (shader-count uint16 :offset-assert 38) + (transform-vertex-count uint16 :offset-assert 40) + (dvert-count uint16 :offset-assert 42) + (one-mat-count uint16 :offset-assert 44) + (two-mat-count uint16 :offset-assert 46) + (two-mat-reuse-count uint16 :offset-assert 48) + (three-mat-count uint16 :offset-assert 50) + (three-mat-reuse-count uint16 :offset-assert 52) + (shader-upload-count uint16 :offset-assert 54) + (matrix-upload-count uint16 :offset-assert 56) + (same-copy-count uint16 :offset-assert 58) + (cross-copy-count uint16 :offset-assert 60) + (num-verts uint16 :offset-assert 62) + (dummy-vertex-count uint16 :offset-assert 64) + (dummy0 UNKNOWN 1 :offset-assert 66) + (masks UNKNOWN 3 :offset-assert 68) + (dummy-bytes UNKNOWN 48 :offset-assert 32) + (envmap-tint uint32 :offset-assert 32) + (query basic :offset-assert 36) + (needs-clip uint8 :offset-assert 40) + (use-isometric uint8 :offset-assert 41) + (use-attached-shader uint8 :offset-assert 42) + (display-triangles uint8 :offset-assert 43) + (death-vertex-skip uint16 :offset-assert 44) + (death-start-vertex uint16 :offset-assert 46) + (death-effect uint32 :offset-assert 48) + (use-translucent uint8 :offset-assert 52) + (display-this-fragment uint8 :offset-assert 53) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ;; field xyz-scale is a float printed as hex? + ) + +(deftype merc-ctrl (art-element) + ((name basic :offset-assert 8) + (length int32 :offset-assert 12) + (extra basic :offset-assert 16) + (num-joints int32 :offset-assert 20) + (header merc-ctrl-header :inline :offset-assert 32) + (effect UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 13 + :size-assert #x70 + :flag-assert #xd00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype merc-vu1-low-mem (structure) + ((tri-strip-gif qword :inline :offset-assert 0) + (ad-gif qword :inline :offset-assert 16) + (hvdf-offset vector :inline :offset-assert 32) + (perspective UNKNOWN 4 :offset-assert 48) + (fog vector :inline :offset-assert 112) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + +(deftype ripple-wave (structure) + ((scale float :offset-assert 0) + (offs float :offset-assert 4) + (xdiv int16 :offset-assert 8) + (zdiv int16 :offset-assert 10) + (speed float :offset-assert 12) + (xmul float :offset-assert 16) + (zmul float :offset-assert 20) + (delta float :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x1c + :flag-assert #x90000001c + ) + +(deftype ripple-wave-set (basic) + ((count int32 :offset-assert 4) + (converted basic :offset-assert 8) + (frame-save uint32 :offset-assert 12) + (normal-scale float :offset-assert 16) + (wave UNKNOWN 4 :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x84 + :flag-assert #x900000084 + ) + +(deftype ripple-control (basic) + ((global-scale float :offset-assert 4) + (last-frame-scale float :offset-assert 8) + (close-fade-dist float :offset-assert 12) + (far-fade-dist float :offset-assert 16) + (faded-scale float :offset-assert 20) + (individual-normal-scale float :offset-assert 24) + (waveform basic :offset-assert 28) + (send-query basic :offset-assert 32) + (query basic :offset-assert 36) + ) + :method-count-assert 9 + :size-assert #x28 + :flag-assert #x900000028 + ) + + +;; ---------------------- +;; File - generic-merc-h +;; Source Path - engine/gfx/merc/generic-merc-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype merc-matrix (structure) + ((quad UNKNOWN 8 :offset-assert 0) + (vector UNKNOWN 8 :offset-assert 0) + (tag uint64 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + +(deftype generic-merc-tag (dma-packet) + ((dma uint64 :offset-assert 0) + (vif0 uint32 :offset-assert 8) + (vif1 uint32 :offset-assert 12) + (quad uint128 :offset-assert 0) + (next-ptr uint32 :offset-assert 12) + (size uint32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype generic-merc-ctrl (structure) + ((tag generic-merc-tag :inline :offset-assert 0) + (lights vu-lights :inline :offset-assert 16) + (header merc-ctrl-header :inline :offset-assert 128) + (effect merc-effect :inline :offset-assert 208) + ) + :method-count-assert 9 + :size-assert #xf0 + :flag-assert #x9000000f0 + ) + +(deftype generic-merc-ctrl-with-sfx (generic-merc-ctrl) + ((tag generic-merc-tag :inline :offset-assert 0) + (lights vu-lights :inline :offset-assert 16) + (header merc-ctrl-header :inline :offset-assert 128) + (effect merc-effect :inline :offset-assert 208) + (sfx-data UNKNOWN 11 :offset-assert 240) + ) + :method-count-assert 9 + :size-assert #x1a0 + :flag-assert #x9000001a0 + ) + +(deftype generic-merc-input (structure) + ((geo-tag generic-merc-tag :inline :offset-assert 0) + (geo-block UNKNOWN 1296 :offset-assert 16) + (byte-header merc-byte-header :inline :offset-assert 16) + (matrix UNKNOWN 9 :offset-assert 1312) + (control generic-merc-ctrl-with-sfx :inline :offset-assert 2464) + (end-tag generic-merc-tag :inline :offset-assert 2880) + (shader adgif-shader :inline :offset-assert 2896) + ) + :method-count-assert 9 + :size-assert #xba0 + :flag-assert #x900000ba0 + ) + +(deftype generic-merc-output (structure) + ((info gsf-info :inline :offset-assert 0) + (header gsf-header :inline :offset-assert 16) + (index-kick-table UNKNOWN 80 :offset-assert 32) + (index-table UNKNOWN 160 :offset-assert 32) + (inverse-table UNKNOWN 256 :offset-assert 192) + (vertex-table UNKNOWN 72 :offset-assert 448) + ) + :method-count-assert 9 + :size-assert #xac0 + :flag-assert #x900000ac0 + ) + +(deftype generic-merc-dcache (structure) + ((output-a generic-merc-output :inline :offset-assert 0) + (output-b generic-merc-output :inline :offset-assert 2752) + (inv-table-1 UNKNOWN 544 :offset-assert 5504) + (inv-table-7 UNKNOWN 544 :offset-assert 6048) + (inv-safety UNKNOWN 16 :offset-assert 6592) + (effect-data UNKNOWN 1584 :offset-assert 6608) + ) + :method-count-assert 9 + :size-assert #x2000 + :flag-assert #x900002000 + ) + +(deftype gm-shadow (structure) + ((perspective matrix :inline :offset-assert 0) + (isometric matrix :inline :offset-assert 64) + (inv-camera-rot matrix :inline :offset-assert 128) + (envmap-shader adgif-shader :inline :offset-assert 192) + (current-chain uint32 :offset-assert 272) + (next-chain uint32 :offset-assert 276) + (buf-index uint32 :offset-assert 280) + (fragment-count uint32 :offset-assert 284) + (indexed-input-base generic-merc-input :offset-assert 288) + (other-input-base generic-merc-input :offset-assert 292) + (indexed-output-base generic-merc-output :offset-assert 296) + (other-output-base generic-merc-output :offset-assert 300) + (p-input uint32 :offset-assert 304) + (gsf-buf generic-merc-dcache :offset-assert 308) + (p-fheader merc-fp-header :offset-assert 312) + (mercneric-convert basic :offset-assert 316) + (generic-prepare-dma-single basic :offset-assert 320) + (generic-prepare-dma-double basic :offset-assert 324) + (generic-light-proc basic :offset-assert 328) + (generic-envmap-proc basic :offset-assert 332) + (high-speed-reject basic :offset-assert 336) + (hsr-xmult vector :inline :offset-assert 352) + (hsr-ymult vector :inline :offset-assert 368) + ) + :method-count-assert 9 + :size-assert #x180 + :flag-assert #x900000180 + ) + +(deftype generic-merc-work (structure) + ((input-a generic-merc-input :inline :offset-assert 0) + (input-b generic-merc-input :inline :offset-assert 2976) + (ctrl generic-merc-ctrl-with-sfx :inline :offset-assert 5952) + (shadow gm-shadow :inline :offset-assert 6368) + (stack UNKNOWN 16 :offset-assert 6752) + ) + :method-count-assert 9 + :size-assert #x1b60 + :flag-assert #x900001b60 + ) + + +;; ---------------------- +;; File - generic-tie-h +;; Source Path - engine/gfx/tie/generic-tie-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype generic-tie-instance (structure) + ((matrix-tag dma-packet :inline :offset-assert 0) + (matrix-data UNKNOWN 6 :offset-assert 16) + (index-tag dma-packet :inline :offset-assert 112) + (indices UNKNOWN 224 :offset-assert 128) + (end-tag dma-packet :inline :offset-assert 352) + ) + :method-count-assert 9 + :size-assert #x170 + :flag-assert #x900000170 + ) + +(deftype generic-tie-input (structure) + ((palette-tag dma-packet :inline :offset-assert 0) + (palette UNKNOWN 128 :offset-assert 16) + (model-tag dma-packet :inline :offset-assert 528) + (model UNKNOWN 146 :offset-assert 544) + (matrix-tag dma-packet :inline :offset-assert 2880) + (matrix-data UNKNOWN 6 :offset-assert 2896) + (index-tag dma-packet :inline :offset-assert 2992) + (indices UNKNOWN 224 :offset-assert 3008) + (end-tag dma-packet :inline :offset-assert 3232) + ) + :method-count-assert 9 + :size-assert #xcb0 + :flag-assert #x900000cb0 + ) + +(deftype generic-tie-run-control (structure) + ((skip-bp2 uint8 :offset-assert 0) + (skip-ips uint8 :offset-assert 1) + (gifbuf-skip uint8 :offset-assert 2) + (strips uint8 :offset-assert 3) + (target-bp1 uint8 :offset-assert 4) + (target-bp2 uint8 :offset-assert 5) + (target-ip1 uint8 :offset-assert 6) + (target-ip2 uint8 :offset-assert 7) + (target-bps uint8 :offset-assert 8) + (target-ips uint8 :offset-assert 9) + (is-generic uint8 :offset-assert 10) + (reserved uint8 :offset-assert 11) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype generic-tie-base-point (structure) + ((data UNKNOWN 8 :offset-assert 0) + (quad uint128 :offset-assert 0) + (x int16 :offset-assert 0) + (y int16 :offset-assert 2) + (z int16 :offset-assert 4) + (d0 int16 :offset-assert 6) + (vtx uint64 :offset-assert 0) + (u int16 :offset-assert 8) + (v int16 :offset-assert 10) + (tex uint32 :offset-assert 8) + (w int16 :offset-assert 12) + (d1 int16 :offset-assert 14) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype generic-tie-bps (structure) + ((bp UNKNOWN 4 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype generic-tie-interp-point (structure) + ((data UNKNOWN 12 :offset-assert 0) + (quad uint128 :offset-assert 0) + (x int16 :offset-assert 0) + (y int16 :offset-assert 2) + (z int16 :offset-assert 4) + (d0 int16 :offset-assert 6) + (vtx0 uint64 :offset-assert 0) + (dx int16 :offset-assert 8) + (dy int16 :offset-assert 10) + (dz int16 :offset-assert 12) + (unused int16 :offset-assert 14) + (vtx1 uint64 :offset-assert 8) + (u int16 :offset-assert 16) + (v int16 :offset-assert 18) + (tex uint32 :offset-assert 16) + (w int16 :offset-assert 20) + (d1 int16 :offset-assert 22) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype generic-tie-ips (structure) + ((ip UNKNOWN 2 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype generic-tie-header (structure) + ((effect uint8 :offset-assert 0) + (interp-table-size uint8 :offset-assert 1) + (num-bps uint8 :offset-assert 2) + (num-ips uint8 :offset-assert 3) + (tint-color uint32 :offset-assert 4) + (index-table-offset uint16 :offset-assert 8) + (kick-table-offset uint16 :offset-assert 10) + (normal-table-offset uint16 :offset-assert 12) + (interp-table-offset uint16 :offset-assert 14) + (gsf-header gsf-header :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype generic-tie-matrix (structure) + ((matrix matrix :inline :offset-assert 0) + (morph vector :inline :offset-assert 64) + (fog qword :inline :offset-assert 80) + ) + :method-count-assert 9 + :size-assert #x60 + :flag-assert #x900000060 + ) + +(deftype generic-tie-normal (structure) + ((x int8 :offset-assert 0) + (y int8 :offset-assert 1) + (z int8 :offset-assert 2) + (dummy int8 :offset-assert 3) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype generic-tie-control (structure) + ((ptr-palette uint32 :offset-assert 0) + (ptr-shaders uint32 :offset-assert 4) + (ptr-runctrl generic-tie-run-control :offset-assert 8) + (ptr-verts uint32 :offset-assert 12) + (ptr-generic generic-tie-header :offset-assert 16) + (ptr-dps uint32 :offset-assert 20) + (ptr-kicks uint32 :offset-assert 24) + (ptr-normals uint32 :offset-assert 28) + (ptr-interp uint32 :offset-assert 32) + (ptr-mtxs generic-tie-matrix :offset-assert 36) + (ptr-cinds uint32 :offset-assert 40) + (next-instance uint32 :offset-assert 44) + (next-model uint32 :offset-assert 48) + (next-is-model uint32 :offset-assert 52) + (tie-type uint32 :offset-assert 56) + ) + :method-count-assert 9 + :size-assert #x3c + :flag-assert #x90000003c + ) + +(deftype generic-tie-stats (structure) + ((num-bps uint32 :offset-assert 0) + (num-ips uint32 :offset-assert 4) + (num-dps uint32 :offset-assert 8) + (num-shaders uint32 :offset-assert 12) + (num-models uint32 :offset-assert 16) + (num-instances uint32 :offset-assert 20) + (num-waits uint32 :offset-assert 24) + (num-qwc uint32 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype generic-tie-calls (structure) + ((generic-prepare-dma-double basic :offset-assert 0) + (generic-envmap-dproc basic :offset-assert 4) + (generic-interp-dproc basic :offset-assert 8) + (generic-no-light-dproc basic :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype generic-tie-shadow (structure) + ((out-buf gsf-buffer :offset-assert 0) + (cur-buf uint32 :offset-assert 4) + (tie-type int32 :offset-assert 8) + (ptr-inst uint32 :offset-assert 12) + (ptr-buf uint32 :offset-assert 16) + (inst-xor int32 :offset-assert 20) + (end-of-chain uint32 :offset-assert 24) + (dummy1 uint32 :offset-assert 28) + (calls generic-tie-calls :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype generic-tie-work (structure) + ((control generic-tie-control :inline :offset-assert 0) + (interp-job generic-interp-job :inline :offset-assert 60) + (shadow generic-tie-shadow :inline :offset-assert 76) + (input-a generic-tie-input :inline :offset-assert 128) + (input-b generic-tie-input :inline :offset-assert 3376) + (inst-buf generic-tie-instance :inline :offset-assert 6624) + (palette-buf UNKNOWN 128 :offset-assert 6992) + ) + :method-count-assert 9 + :size-assert #x1d50 + :flag-assert #x900001d50 + ) + + +;; ---------------------- +;; File - generic-work-h +;; Source Path - engine/gfx/generic/generic-work-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype generic-input-buffer (structure) + ((data UNKNOWN 472 :offset-assert 0) + (merc generic-merc-work :inline :offset-assert 0) + (tie generic-tie-work :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x1d80 + :flag-assert #x900001d80 + ) + +(deftype generic-debug (structure) + ((locks UNKNOWN 4 :offset-assert 0) + (timer UNKNOWN 32 :offset-assert 16) + (count UNKNOWN 32 :offset-assert 144) + (vps UNKNOWN 32 :offset-assert 272) + (buffer int32 :offset-assert 400) + (start-addr int32 :offset-assert 404) + (lock int32 :offset-assert 408) + ) + :method-count-assert 9 + :size-assert #x19c + :flag-assert #x90000019c + ) + +(deftype generic-vu1-header (structure) + ((matrix matrix :inline :offset-assert 0) + (strgif generic-gif-tag :inline :offset-assert 64) + (adcmds UNKNOWN 2 :offset-assert 80) + (adnop1 ad-cmd :inline :offset-assert 80) + (adnop2 ad-cmd :inline :offset-assert 96) + (dps uint16 :offset-assert 92) + (kickoff uint16 :offset-assert 108) + (strips uint16 :offset-assert 76) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype generic-vu1-texbuf (structure) + ((header generic-vu1-header :inline :offset-assert 0) + (shader UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype generic-texbuf (structure) + ((tag dma-packet :inline :offset-assert 0) + (header generic-vu1-header :inline :offset-assert 16) + (shader UNKNOWN :dynamic :offset-assert 128) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + +(deftype generic-effect-work (structure) + ((consts generic-consts :inline :offset-assert 0) + (storage generic-storage :inline :offset-assert 432) + (storage2 generic-storage :inline :offset-assert 688) + (lights vu-lights :inline :offset-assert 944) + ) + :method-count-assert 9 + :size-assert #x420 + :flag-assert #x900000420 + ) + +(deftype generic-effect-buffer (structure) + ((outbuf-0 UNKNOWN 3552 :offset-assert 0) + (work generic-effect-work :inline :offset-assert 3552) + (outbuf-1 UNKNOWN 3552 :offset-assert 4608) + ) + :method-count-assert 9 + :size-assert #x1fe0 + :flag-assert #x900001fe0 + ) + +(deftype generic-work (structure) + ((saves generic-saves :inline :offset-assert 0) + (storage generic-storage :inline :offset-assert 368) + (in-buf generic-input-buffer :inline :offset-assert 624) + (fx-buf generic-effect-buffer :inline :offset-assert 8176) + ) + :method-count-assert 9 + :size-assert #x3fd0 + :flag-assert #x900003fd0 + ) + + +;; ---------------------- +;; File - shadow-cpu-h +;; Source Path - engine/gfx/shadow/shadow-cpu-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype shadow-settings (structure) + ((orig vector :inline :offset-assert 0) + (flags int32 :offset-assert 12) + (shadow-dir vector :inline :offset-assert 16) + (dist-to-locus float :offset-assert 28) + (bot-plane plane :inline :offset-assert 32) + (top-plane plane :inline :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype shadow-control (basic) + ((settings shadow-settings :inline :offset-assert 16) + ) + :method-count-assert 14 + :size-assert #x50 + :flag-assert #xe00000050 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype shadow-data (structure) + ((texoffset vector :inline :offset-assert 0) + (texscale vector :inline :offset-assert 16) + (clrs UNKNOWN 2 :offset-assert 32) + (dma-unpack-template dma-packet :inline :offset-assert 64) + (dma-cnt uint64 :offset-assert 80) + (vif-nop uint32 :offset-assert 88) + (vif-unpack-v4-8 uint32 :offset-assert 92) + (pdc basic :offset-assert 96) + (dist float :offset-assert 100) + (oddeven uint8 :offset-assert 104) + (waits uint32 :offset-assert 108) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype shadow-work (structure) + ((data shadow-data :inline :offset-assert 0) + (inbuf UNKNOWN 600 :offset-assert 112) + ) + :method-count-assert 9 + :size-assert #x25f0 + :flag-assert #x9000025f0 + ) + +(deftype shadow-run (structure) + ((first uint32 :offset-assert 0) + (next uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype shadow-queue (structure) + ((num-runs uint32 :offset-assert 0) + (cur-run uint32 :offset-assert 4) + (run UNKNOWN 15 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xf8 + :flag-assert #x9000000f8 + ) + +(deftype shadow-vertex (structure) + ((x float :offset-assert 0) + (y float :offset-assert 4) + (z float :offset-assert 8) + (weight float :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype shadow-matrix-ref (structure) + ((joint-0 uint8 :offset-assert 0) + (joint-1 uint8 :offset-assert 1) + ) + :method-count-assert 9 + :size-assert #x2 + :flag-assert #x900000002 + ) + +(deftype shadow-edge (structure) + ((ind-0 uint16 :offset-assert 0) + (ind-1 uint16 :offset-assert 2) + (tri-0 uint16 :offset-assert 4) + (tri-1 uint16 :offset-assert 6) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype shadow-tri (structure) + ((ind-0 uint8 :offset-assert 0) + (ind-1 uint8 :offset-assert 1) + (ind-2 uint8 :offset-assert 2) + (faces uint8 :offset-assert 3) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype shadow-header (structure) + ((qwc-data uint32 :offset-assert 0) + (num-joints uint32 :offset-assert 4) + (num-verts uint16 :offset-assert 8) + (num-twos uint16 :offset-assert 10) + (num-single-tris uint16 :offset-assert 12) + (num-single-edges uint16 :offset-assert 14) + (num-double-tris uint16 :offset-assert 16) + (num-double-edges uint16 :offset-assert 18) + (ofs-verts uint32 :offset-assert 20) + (ofs-refs uint32 :offset-assert 24) + (ofs-single-tris uint32 :offset-assert 28) + (ofs-single-edges uint32 :offset-assert 32) + (ofs-double-tris uint32 :offset-assert 36) + (ofs-double-edges uint32 :offset-assert 40) + ) + :method-count-assert 9 + :size-assert #x2c + :flag-assert #x90000002c + ) + +(deftype shadow-geo (art-element) + ((name basic :offset-assert 8) + (length int32 :offset-assert 12) + (extra basic :offset-assert 16) + (total-size uint32 :offset-assert 32) + (header shadow-header :inline :offset-assert 32) + (rest UNKNOWN :dynamic :offset-assert 80) + ) + :method-count-assert 13 + :size-assert #x50 + :flag-assert #xd00000050 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + + +;; ---------------------- +;; File - shadow-vu1-h +;; Source Path - engine/gfx/shadow/shadow-vu1-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - memcard-h +;; Source Path - engine/ps2/memcard-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype mc-file-info (structure) + ((present int32 :offset-assert 0) + (blind-data UNKNOWN 16 :offset-assert 4) + (blind-data-int8 UNKNOWN 64 :offset-assert 4) + (level-index int32 :offset-assert 4) + (fuel-cell-count float :offset-assert 8) + (money-count float :offset-assert 12) + (buzzer-count float :offset-assert 16) + (completion-percentage float :offset-assert 20) + (minute uint8 :offset-assert 24) + (hour uint8 :offset-assert 25) + (week uint8 :offset-assert 26) + (day uint8 :offset-assert 27) + (month uint8 :offset-assert 28) + (year uint8 :offset-assert 29) + ) + :method-count-assert 9 + :size-assert #x44 + :flag-assert #x900000044 + ) + +(deftype mc-slot-info (structure) + ((handle int32 :offset-assert 0) + (formatted int32 :offset-assert 4) + (inited int32 :offset-assert 8) + (last-file int32 :offset-assert 12) + (mem-required int32 :offset-assert 16) + (mem-actual int32 :offset-assert 20) + (file UNKNOWN 4 :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x128 + :flag-assert #x900000128 + ) + + +;; ---------------------- +;; File - game-info-h +;; Source Path - engine/game/game-info-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype game-bank (basic) + ((life-max-default float :offset-assert 4) + (life-start-default float :offset-assert 8) + (life-single-inc float :offset-assert 12) + (money-task-inc float :offset-assert 16) + (money-oracle-inc float :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype level-buffer-state (structure) + ((name basic :offset-assert 0) + (display? basic :offset-assert 4) + (force-vis? basic :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype load-state (basic) + ((want UNKNOWN 2 :offset-assert 4) + (vis-nick basic :offset-assert 36) + (command-list basic :offset-assert 40) + (object-name UNKNOWN 16 :offset-assert 44) + (object-status UNKNOWN 16 :offset-assert 108) + ) + :method-count-assert 20 + :size-assert #xac + :flag-assert #x14000000ac + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype continue-point (basic) + ((name basic :offset-assert 4) + (level basic :offset-assert 8) + (flags uint32 :offset-assert 12) + (trans vector :inline :offset-assert 16) + (quat vector :inline :offset-assert 32) + (camera-trans vector :inline :offset-assert 48) + (camera-rot UNKNOWN 9 :offset-assert 64) + (load-commands basic :offset-assert 100) + (vis-nick basic :offset-assert 104) + (lev0 basic :offset-assert 108) + (disp0 basic :offset-assert 112) + (lev1 basic :offset-assert 116) + (disp1 basic :offset-assert 120) + ) + :method-count-assert 10 + :size-assert #x7c + :flag-assert #xa0000007c + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype game-info (basic) + ((mode basic :offset-assert 4) + (save-name basic :offset-assert 8) + (life float :offset-assert 12) + (life-max float :offset-assert 16) + (money float :offset-assert 20) + (money-total float :offset-assert 24) + (money-per-level UNKNOWN 32 :offset-assert 28) + (deaths-per-level UNKNOWN 32 :offset-assert 60) + (buzzer-total float :offset-assert 92) + (fuel float :offset-assert 96) + (perm-list basic :offset-assert 100) + (task-perm-list basic :offset-assert 104) + (current-continue basic :offset-assert 108) + (text-ids-seen basic :offset-assert 112) + (hint-control basic :offset-assert 116) + (total-deaths int32 :offset-assert 120) + (continue-deaths int32 :offset-assert 124) + (fuel-cell-deaths int32 :offset-assert 128) + (game-start-time uint64 :offset-assert 136) + (continue-time uint64 :offset-assert 144) + (death-time uint64 :offset-assert 152) + (hit-time uint64 :offset-assert 160) + (fuel-cell-pickup-time uint64 :offset-assert 168) + (fuel-cell-time basic :offset-assert 176) + (enter-level-time basic :offset-assert 180) + (blackout-time uint64 :offset-assert 184) + (letterbox-time uint64 :offset-assert 192) + (hint-play-time uint64 :offset-assert 200) + (display-text-time uint64 :offset-assert 208) + (display-text-handle uint64 :offset-assert 216) + (death-movie-tick int32 :offset-assert 224) + (want-auto-save basic :offset-assert 228) + (auto-save-proc uint64 :offset-assert 232) + (auto-save-status uint32 :offset-assert 240) + (auto-save-card int32 :offset-assert 244) + (auto-save-which int32 :offset-assert 248) + (pov-camera-handle uint64 :offset-assert 256) + (other-camera-handle uint64 :offset-assert 264) + (death-pos basic :offset-assert 272) + (allow-progress basic :offset-assert 276) + ) + :method-count-assert 29 + :size-assert #x118 + :flag-assert #x1d00000118 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + + +;; ---------------------- +;; File - wind-h +;; Source Path - engine/gfx/wind-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype wind-vector (structure) + ((wind-pos vector2w :inline :offset-assert 0) + (wind-vel vector2w :inline :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype wind-work (basic) + ((wind-array UNKNOWN 256 :offset-assert 16) + (wind-normal vector :inline :offset-assert 4112) + (wind-temp vector :inline :offset-assert 4128) + (wind-force UNKNOWN 256 :offset-assert 4144) + (wind-time uint32 :offset-assert 5168) + ) + :method-count-assert 9 + :size-assert #x1434 + :flag-assert #x900001434 + ) + + +;; ---------------------- +;; File - prototype-h +;; Source Path - engine/gfx/tie/prototype-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype prototype-bucket (basic) + ((name basic :offset-assert 4) + (flags uint32 :offset-assert 8) + (in-level uint16 :offset-assert 12) + (utextures uint16 :offset-assert 14) + (geometry UNKNOWN 4 :offset-assert 16) + (dists vector :inline :offset-assert 32) + (rdists vector :inline :offset-assert 48) + (next UNKNOWN 4 :offset-assert 64) + (count UNKNOWN 4 :offset-assert 80) + (near-plane meters :offset-assert 32) + (near-stiff meters :offset-assert 36) + (mid-plane meters :offset-assert 40) + (far-plane meters :offset-assert 44) + (rlength-near float :offset-assert 48) + (rlength-stiff float :offset-assert 52) + (rlength-mid float :offset-assert 56) + (stiffness float :offset-assert 60) + (next-clear uint128 :offset-assert 64) + (count-clear uint64 :offset-assert 80) + ) + :method-count-assert 9 + :size-assert #x58 + :flag-assert #x900000058 + ) + +(deftype prototype-bucket-shrub (prototype-bucket) + ((name basic :offset-assert 4) + (flags uint32 :offset-assert 8) + (in-level uint16 :offset-assert 12) + (utextures uint16 :offset-assert 14) + (geometry UNKNOWN 4 :offset-assert 16) + (dists vector :inline :offset-assert 32) + (rdists vector :inline :offset-assert 48) + (next UNKNOWN 4 :offset-assert 64) + (count UNKNOWN 4 :offset-assert 80) + (near-plane meters :offset-assert 32) + (near-stiff meters :offset-assert 36) + (mid-plane meters :offset-assert 40) + (far-plane meters :offset-assert 44) + (rlength-near float :offset-assert 48) + (rlength-stiff float :offset-assert 52) + (rlength-mid float :offset-assert 56) + (stiffness float :offset-assert 60) + (next-clear uint128 :offset-assert 64) + (count-clear uint64 :offset-assert 80) + (mod-count UNKNOWN 4 :offset-assert 88) + (last UNKNOWN 4 :offset-assert 96) + (last-clear uint128 :offset-assert 96) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype prototype-inline-array-shrub (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (length int16 :offset-assert 6) + (data UNKNOWN 1 :offset-assert 36) + ) + :method-count-assert 18 + :size-assert #x94 + :flag-assert #x1200000094 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype prototype-array-shrub-info (basic) + ((prototype-inline-array-shrub basic :offset-assert 4) + (wind-vectors uint32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype prototype-bucket-tie (prototype-bucket) + ((name basic :offset-assert 4) + (flags uint32 :offset-assert 8) + (in-level uint16 :offset-assert 12) + (utextures uint16 :offset-assert 14) + (geometry UNKNOWN 4 :offset-assert 16) + (dists vector :inline :offset-assert 32) + (rdists vector :inline :offset-assert 48) + (next UNKNOWN 4 :offset-assert 64) + (count UNKNOWN 4 :offset-assert 80) + (near-plane meters :offset-assert 32) + (near-stiff meters :offset-assert 36) + (mid-plane meters :offset-assert 40) + (far-plane meters :offset-assert 44) + (rlength-near float :offset-assert 48) + (rlength-stiff float :offset-assert 52) + (rlength-mid float :offset-assert 56) + (stiffness float :offset-assert 60) + (next-clear uint128 :offset-assert 64) + (count-clear uint64 :offset-assert 80) + (generic-count UNKNOWN 4 :offset-assert 88) + (generic-next UNKNOWN 4 :offset-assert 96) + (frag-count UNKNOWN 4 :offset-assert 112) + (index-start UNKNOWN 4 :offset-assert 116) + (base-qw UNKNOWN 4 :offset-assert 120) + (envmap-rfade float :offset-assert 128) + (envmap-fade-far float :offset-assert 132) + (envmap-shader adgif-shader :offset-assert 136) + (collide-frag basic :offset-assert 140) + (tie-colors basic :offset-assert 144) + (data UNKNOWN :dynamic :offset-assert 148) + (color-index-qwc UNKNOWN :dynamic :offset-assert 148) + (generic-next-clear uint128 :offset-assert 96) + (generic-count-clear uint128 :offset-assert 80) + ) + :method-count-assert 9 + :size-assert #x94 + :flag-assert #x900000094 + ) + +(deftype prototype-array-tie (array) + ((type basic :offset-assert 0) + (length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (content-type basic :offset-assert 12) + ) + :method-count-assert 10 + :size-assert #x10 + :flag-assert #xa00000010 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype proxy-prototype-array-tie (basic) + ((prototype-array-tie basic :offset-assert 4) + (wind-vectors uint32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype instance (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (bucket-index uint16 :offset-assert 6) + (origin matrix4h :inline :offset-assert 32) + (wind-index uint16 :offset-assert 62) + ) + :method-count-assert 18 + :size-assert #x40 + :flag-assert #x1200000040 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + + +;; ---------------------- +;; File - joint-h +;; Source Path - engine/anim/joint-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype joint-control-channel (structure) + ((parent basic :offset-assert 0) + (command basic :offset-assert 4) + (frame-interp float :offset-assert 8) + (frame-group basic :offset-assert 12) + (frame-num float :offset-assert 16) + (num-func basic :offset-assert 20) + (param UNKNOWN 2 :offset-assert 24) + (group-sub-index int16 :offset-assert 32) + (group-size int16 :offset-assert 34) + (dist meters :offset-assert 36) + (eval-time uint32 :offset-assert 40) + (inspector-amount float :offset-assert 44) + ) + :method-count-assert 10 + :size-assert #x30 + :flag-assert #xa00000030 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype joint-control (basic) + ((status uint16 :offset-assert 4) + (allocated-length int16 :offset-assert 6) + (root-channel uint32 :offset-assert 16) + (blend-index int32 :offset-assert 20) + (active-channels int32 :offset-assert 24) + (generate-frame-function basic :offset-assert 28) + (prebind-function basic :offset-assert 32) + (postbind-function basic :offset-assert 36) + (effect basic :offset-assert 40) + (channel UNKNOWN :dynamic :offset-assert 48) + (frame-group0 basic :offset-assert 60) + (frame-num0 float :offset-assert 64) + (frame-interp0 float :offset-assert 56) + (frame-group1 basic :offset-assert 108) + (frame-num1 float :offset-assert 112) + (frame-interp1 float :offset-assert 104) + (frame-group2 basic :offset-assert 156) + (frame-num2 float :offset-assert 160) + (frame-interp2 float :offset-assert 152) + ) + :method-count-assert 11 + :size-assert #xc0 + :flag-assert #xb000000c0 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype matrix-stack (structure) + ((top matrix :offset-assert 0) + (data UNKNOWN 24 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x610 + :flag-assert #x900000610 + ) + +(deftype channel-upload-info (structure) + ((fixed joint-anim-compressed-fixed :offset-assert 0) + (fixed-qwc int32 :offset-assert 4) + (frame joint-anim-compressed-frame :offset-assert 8) + (frame-qwc int32 :offset-assert 12) + (amount float :offset-assert 16) + (interp float :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype joint-work (structure) + ((temp-mtx matrix :inline :offset-assert 0) + (joint-stack matrix-stack :inline :offset-assert 64) + (fix-jmp-table UNKNOWN 16 :offset-assert 1616) + (frm-jmp-table UNKNOWN 16 :offset-assert 1680) + (pair-jmp-table UNKNOWN 16 :offset-assert 1744) + (uploads UNKNOWN 24 :offset-assert 1808) + (num-uploads int32 :offset-assert 2384) + (mtx-acc UNKNOWN 2 :offset-assert 2400) + (tq-acc UNKNOWN 100 :offset-assert 2528) + (jacp-hdr joint-anim-compressed-hdr :inline :offset-assert 7328) + (fixed-data joint-anim-compressed-fixed :inline :offset-assert 7392) + (frame-data UNKNOWN 2 :offset-assert 9600) + (flatten-array UNKNOWN 576 :offset-assert 2400) + (flattened UNKNOWN 24 :offset-assert 2400) + ) + :method-count-assert 9 + :size-assert #x3640 + :flag-assert #x900003640 + ) + + +;; ---------------------- +;; File - bones-h +;; Source Path - engine/anim/bones-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype bone-buffer (structure) + ((joint UNKNOWN 16 :offset-assert 0) + (bone UNKNOWN 16 :offset-assert 1024) + (next-tag dma-packet :inline :offset-assert 2560) + (output UNKNOWN 16 :offset-assert 2576) + (cache UNKNOWN 90 :offset-assert 4624) + ) + :method-count-assert 9 + :size-assert #x17b0 + :flag-assert #x9000017b0 + ) + +(deftype bone-layout (structure) + ((data UNKNOWN 8 :offset-assert 0) + (joint UNKNOWN 2 :offset-assert 0) + (bone UNKNOWN 2 :offset-assert 8) + (output UNKNOWN 2 :offset-assert 16) + (cache UNKNOWN 2 :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype bone-work (structure) + ((layout bone-layout :inline :offset-assert 0) + (bounds sphere :inline :offset-assert 32) + (lights vu-lights :inline :offset-assert 48) + (tempvec vector :inline :offset-assert 160) + (joint-ref dma-packet :inline :offset-assert 176) + (parent-ref dma-packet :inline :offset-assert 192) + (next-tag dma-packet :inline :offset-assert 208) + (lights-tag dma-packet :inline :offset-assert 224) + (lights-call dma-packet :inline :offset-assert 240) + (dma-buf basic :offset-assert 256) + (sink-group basic :offset-assert 260) + (next-pris dma-packet :offset-assert 264) + (next-merc dma-packet :offset-assert 268) + ) + :method-count-assert 9 + :size-assert #x110 + :flag-assert #x900000110 + ) + +(deftype bone-debug (structure) + ((time-ctr uint32 :offset-assert 0) + (timing UNKNOWN 360 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x5a4 + :flag-assert #x9000005a4 + ) + +(deftype bone-memory (structure) + ((work bone-work :inline :offset-assert 0) + (buffer UNKNOWN 2 :offset-assert 272) + (dma-list dma-packet :inline :offset-assert 272) + ) + :method-count-assert 9 + :size-assert #x3070 + :flag-assert #x900003070 + ) + +(deftype merc-globals (structure) + ((first uint32 :offset-assert 0) + (next uint32 :offset-assert 4) + (sink basic :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype merc-global-array (structure) + ((count uint32 :offset-assert 0) + (globals UNKNOWN 8 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x84 + :flag-assert #x900000084 + ) + +(deftype shadow-dma-packet (structure) + ((tag generic-merc-tag :inline :offset-assert 0) + (settings shadow-settings :inline :offset-assert 16) + (geo-ref dma-packet :inline :offset-assert 80) + (mtx-ref dma-packet :inline :offset-assert 96) + (end-tag dma-packet :inline :offset-assert 112) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + + +;; ---------------------- +;; File - engines +;; Source Path - engine/engine/engines.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - res-h +;; Source Path - engine/data/res-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype res-lump (basic) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data-base uint32 :offset-assert 12) + (data-top uint32 :offset-assert 16) + (data-size int32 :offset-assert 20) + (extra basic :offset-assert 24) + (tag uint32 :offset-assert 28) + ) + :method-count-assert 22 + :size-assert #x20 + :flag-assert #x1600000020 + ;; field extra is a basic loaded with a signed load + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - res +;; Source Path - engine/data/res.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lights +;; Source Path - engine/gfx/lights.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - dynamics-h +;; Source Path - engine/physics/dynamics-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype dynamics (basic) + ((name basic :offset-assert 4) + (gravity-max meters :offset-assert 8) + (gravity-length meters :offset-assert 12) + (gravity vector :inline :offset-assert 16) + (gravity-normal vector :inline :offset-assert 32) + (walk-distance meters :offset-assert 48) + (run-distance meters :offset-assert 52) + ) + :method-count-assert 9 + :size-assert #x38 + :flag-assert #x900000038 + ) + + +;; ---------------------- +;; File - surface-h +;; Source Path - engine/target/surface-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype surface (basic) + ((name basic :offset-assert 4) + (data UNKNOWN 30 :offset-assert 8) + (turnv float :offset-assert 8) + (turnvv float :offset-assert 12) + (tiltv float :offset-assert 16) + (tiltvv float :offset-assert 20) + (transv-max float :offset-assert 24) + (target-speed float :offset-assert 28) + (seek0 float :offset-assert 32) + (seek90 float :offset-assert 36) + (seek180 float :offset-assert 40) + (fric float :offset-assert 44) + (nonlin-fric-dist float :offset-assert 48) + (slip-factor float :offset-assert 52) + (slide-factor float :offset-assert 56) + (slope-up-factor float :offset-assert 60) + (slope-down-factor float :offset-assert 64) + (slope-slip-angle float :offset-assert 68) + (impact-fric float :offset-assert 72) + (bend-factor float :offset-assert 76) + (bend-speed float :offset-assert 80) + (alignv float :offset-assert 84) + (slope-up-traction float :offset-assert 88) + (align-speed float :offset-assert 92) + (hook UNKNOWN 4 :offset-assert 128) + (active-hook basic :offset-assert 128) + (touch-hook basic :offset-assert 132) + (impact-hook basic :offset-assert 136) + (mult-hook basic :offset-assert 140) + (dataw UNKNOWN 2 :offset-assert 144) + (mode basic :offset-assert 144) + (flags uint32 :offset-assert 148) + ) + :method-count-assert 9 + :size-assert #x98 + :flag-assert #x900000098 + ) + + +;; ---------------------- +;; File - pat-h +;; Source Path - engine/target/pat-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype pat-surface (uint32) + () + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ;; likely a bitfield type + ) + +(deftype pat-mode-info (structure) + ((name basic :offset-assert 0) + (wall-angle float :offset-assert 4) + (color uint32 :offset-assert 8) + (hilite-color uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - fact-h +;; Source Path - engine/game/fact-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype fact-bank (basic) + ((eco-level-max float :offset-assert 4) + (eco-single-inc float :offset-assert 8) + (eco-full-inc float :offset-assert 12) + (eco-single-timeout useconds :offset-assert 16) + (eco-full-timeout useconds :offset-assert 24) + (dummy useconds :offset-assert 32) + (health-max-default float :offset-assert 40) + (health-single-inc float :offset-assert 44) + (eco-pill-max-default float :offset-assert 48) + (health-small-inc float :offset-assert 52) + (buzzer-max-default float :offset-assert 56) + (buzzer-single-inc float :offset-assert 60) + (suck-bounce-dist meters :offset-assert 64) + (suck-suck-dist meters :offset-assert 68) + (default-pill-inc float :offset-assert 72) + ) + :method-count-assert 9 + :size-assert #x4c + :flag-assert #x90000004c + ) + +(deftype fact-info (basic) + ((process basic :offset-assert 4) + (pickup-type int32 :offset-assert 8) + (pickup-amount float :offset-assert 12) + (pickup-spawn-amount float :offset-assert 16) + (options uint64 :offset-assert 24) + (fade-time uint64 :offset-assert 32) + ) + :method-count-assert 12 + :size-assert #x28 + :flag-assert #xc00000028 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + +(deftype fact-info-target (fact-info) + ((process basic :offset-assert 4) + (pickup-type int32 :offset-assert 8) + (pickup-amount float :offset-assert 12) + (pickup-spawn-amount float :offset-assert 16) + (options uint64 :offset-assert 24) + (fade-time uint64 :offset-assert 32) + (eco-type int32 :offset-assert 40) + (eco-level float :offset-assert 44) + (eco-pickup-time uint64 :offset-assert 48) + (eco-timeout useconds :offset-assert 56) + (health float :offset-assert 64) + (health-max float :offset-assert 68) + (buzzer float :offset-assert 72) + (buzzer-max float :offset-assert 76) + (eco-pill float :offset-assert 80) + (eco-pill-max float :offset-assert 84) + (health-pickup-time uint64 :offset-assert 88) + (eco-source uint64 :offset-assert 96) + (eco-source-time uint64 :offset-assert 104) + ) + :method-count-assert 12 + :size-assert #x70 + :flag-assert #xc00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + +(deftype fact-info-enemy (fact-info) + ((process basic :offset-assert 4) + (pickup-type int32 :offset-assert 8) + (pickup-amount float :offset-assert 12) + (pickup-spawn-amount float :offset-assert 16) + (options uint64 :offset-assert 24) + (fade-time uint64 :offset-assert 32) + (speed float :offset-assert 40) + (idle-distance meters :offset-assert 44) + (notice-top meters :offset-assert 48) + (notice-bottom meters :offset-assert 52) + (cam-horz meters :offset-assert 56) + (cam-vert meters :offset-assert 60) + (cam-notice-dist meters :offset-assert 64) + ) + :method-count-assert 12 + :size-assert #x44 + :flag-assert #xc00000044 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + + +;; ---------------------- +;; File - aligner-h +;; Source Path - engine/anim/aligner-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype align-control (basic) + ((flags uint32 :offset-assert 4) + (process basic :offset-assert 8) + (frame-group basic :offset-assert 12) + (frame-num float :offset-assert 16) + (matrix UNKNOWN 2 :offset-assert 32) + (transform UNKNOWN 2 :offset-assert 160) + (delta transformq :inline :offset-assert 256) + (last-speed meters :offset-assert 304) + (align transformq :inline :offset-assert 160) + ) + :method-count-assert 14 + :size-assert #x134 + :flag-assert #xe00000134 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + + +;; ---------------------- +;; File - game-h +;; Source Path - engine/game/game-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype process-drawable (process) + ((root basic :offset-assert 112) + (node-list basic :offset-assert 116) + (draw basic :offset-assert 120) + (skel basic :offset-assert 124) + (nav basic :offset-assert 128) + (align basic :offset-assert 132) + (path basic :offset-assert 136) + (vol basic :offset-assert 140) + (fact basic :offset-assert 144) + (link basic :offset-assert 148) + (part basic :offset-assert 152) + (water basic :offset-assert 156) + (sound basic :offset-assert 160) + (state-flags uint32 :offset-assert 164) + (state-time uint64 :offset-assert 168) + ) + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype process-drawable-reserved (process-drawable) + () + :method-count-assert 63 + :size-assert #xb0 + :flag-assert #x3f004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + (dummy-60 () none 60) + (dummy-61 () none 61) + (dummy-62 () none 62) + ) + ) + +(deftype attack-info (structure) + ((trans vector :inline :offset-assert 0) + (vector vector :inline :offset-assert 16) + (intersection vector :inline :offset-assert 32) + (attacker handle :offset-assert 48) + (invinc-time uint64 :offset-assert 56) + (mask uint32 :offset-assert 64) + (mode basic :offset-assert 68) + (shove-back meters :offset-assert 72) + (shove-up meters :offset-assert 76) + (speed meters :offset-assert 80) + (dist meters :offset-assert 84) + (control float :offset-assert 88) + (angle basic :offset-assert 92) + (rotate-to deg :offset-assert 96) + (prev-state basic :offset-assert 100) + ) + :method-count-assert 10 + :size-assert #x68 + :flag-assert #xa00000068 + ;; field handle is likely a value type + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype ground-tween-info (structure) + ((chan UNKNOWN 3 :offset-assert 0) + (blend UNKNOWN 3 :offset-assert 4) + (group UNKNOWN 5 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x24 + :flag-assert #x900000024 + ) + + +;; ---------------------- +;; File - generic-obs-h +;; Source Path - engine/game/generic-obs-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype manipy (process-drawable) + ((new-trans-hook basic :offset-assert 176) + (cur-trans-hook basic :offset-assert 180) + (cur-event-hook basic :offset-assert 184) + (new-joint-anim basic :offset-assert 188) + (new-joint-anim-blend uint64 :offset-assert 192) + (anim-mode basic :offset-assert 200) + (center-joint int32 :offset-assert 204) + (cur-grab-handle uint64 :offset-assert 208) + (cur-target-handle uint64 :offset-assert 216) + (old-grab-pos vector :inline :offset-assert 224) + (joint UNKNOWN 4 :offset-assert 240) + (new-post-hook basic :offset-assert 256) + (cur-post-hook basic :offset-assert 260) + (clone-copy-trans basic :offset-assert 264) + ) + :method-count-assert 20 + :size-assert #x10c + :flag-assert #x1400a0010c + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype part-spawner (process-drawable) + ((mode uint32 :offset-assert 176) + (enable basic :offset-assert 180) + (radius meters :offset-assert 184) + (world-sphere sphere :inline :offset-assert 192) + ) + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype part-tracker (process) + () + :method-count-assert 14 + :size-assert #xf8 + :flag-assert #xe009000f8 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype camera-tracker (process) + ((name basic :offset-assert 4) + (grab-target uint64 :offset-assert 120) + (grab-event basic :offset-assert 128) + (release-event basic :offset-assert 132) + (old-global-mask uint32 :offset-assert 136) + (old-self-mask uint32 :offset-assert 140) + (old-parent-mask uint32 :offset-assert 144) + (look-at-target uint64 :offset-assert 152) + (pov-target uint64 :offset-assert 160) + (work-process uint64 :offset-assert 168) + (anim-process uint64 :offset-assert 176) + (start-time uint64 :offset-assert 184) + (callback basic :offset-assert 192) + (userdata basic :offset-assert 196) + (message basic :offset-assert 200) + (border-value basic :offset-assert 204) + (mask-to-clear uint32 :offset-assert 208) + (script basic :offset-assert 212) + (script-line basic :offset-assert 216) + (script-func basic :offset-assert 220) + ) + :method-count-assert 15 + :size-assert #xe0 + :flag-assert #xf007000e0 + ;; inherited inpspect of processfield userdata is a basic loaded with a signed load + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype touch-tracker (process-drawable) + ((duration uint64 :offset-assert 176) + (target uint64 :offset-assert 184) + (event basic :offset-assert 192) + (run-function basic :offset-assert 196) + (callback basic :offset-assert 200) + (event-mode basic :offset-assert 204) + ) + :method-count-assert 20 + :size-assert #xd0 + :flag-assert #x14006000d0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype swingpole (process) + ((root basic :offset-assert 112) + (dir vector :inline :offset-assert 128) + (range meters :offset-assert 144) + (edge-length meters :offset-assert 148) + ) + :method-count-assert 14 + :size-assert #x98 + :flag-assert #xe00300098 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype gui-query (structure) + ((x-position int32 :offset-assert 0) + (y-position int32 :offset-assert 4) + (message basic :offset-assert 8) + (decision basic :offset-assert 12) + (only-allow-cancel basic :offset-assert 16) + (no-msg basic :offset-assert 20) + (message-space int32 :offset-assert 24) + ) + :method-count-assert 11 + :size-assert #x1c + :flag-assert #xb0000001c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype othercam (process) + ((hand uint64 :offset-assert 112) + (old-global-mask uint32 :offset-assert 120) + (cam-joint-index int32 :offset-assert 124) + (old-pos vector :inline :offset-assert 128) + (old-mat-z vector :inline :offset-assert 144) + (had-valid-frame basic :offset-assert 160) + (border-value basic :offset-assert 164) + (die? basic :offset-assert 168) + (survive-anim-end? basic :offset-assert 172) + (spooling? basic :offset-assert 176) + ) + :method-count-assert 14 + :size-assert #xb4 + :flag-assert #xe005000b4 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype process-hidden (process) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + + +;; ---------------------- +;; File - pov-camera-h +;; Source Path - engine/camera/pov-camera-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype pov-camera (process-drawable) + ((flags int32 :offset-assert 176) + (debounce-start-time uint64 :offset-assert 184) + (notify-handle uint64 :offset-assert 192) + (anim-name basic :offset-assert 200) + (command-list basic :offset-assert 204) + ) + :method-count-assert 30 + :size-assert #xd0 + :flag-assert #x1e006000d0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - sync-info-h +;; Source Path - engine/util/sync-info-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sync-info (structure) + ((offset float :offset-assert 0) + (period float :offset-assert 4) + ) + :method-count-assert 18 + :size-assert #x8 + :flag-assert #x1200000008 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype sync-info-eased (sync-info) + ((offset float :offset-assert 0) + (period float :offset-assert 4) + (tlo float :offset-assert 8) + (thi float :offset-assert 12) + (ylo float :offset-assert 16) + (m2 float :offset-assert 20) + (yend float :offset-assert 24) + ) + :method-count-assert 18 + :size-assert #x1c + :flag-assert #x120000001c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype sync-info-paused (sync-info) + ((offset float :offset-assert 0) + (period float :offset-assert 4) + (pause-after-out float :offset-assert 8) + (pause-after-in float :offset-assert 12) + ) + :method-count-assert 18 + :size-assert #x10 + :flag-assert #x1200000010 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype delayed-rand-float (structure) + ((min-time int32 :offset-assert 0) + (max-time int32 :offset-assert 4) + (max-val float :offset-assert 8) + (timer int32 :offset-assert 12) + (start-time uint64 :offset-assert 16) + (value float :offset-assert 24) + ) + :method-count-assert 11 + :size-assert #x1c + :flag-assert #xb0000001c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype oscillating-float (structure) + ((value float :offset-assert 0) + (target float :offset-assert 4) + (vel float :offset-assert 8) + (max-vel float :offset-assert 12) + (damping float :offset-assert 16) + (accel float :offset-assert 20) + ) + :method-count-assert 11 + :size-assert #x18 + :flag-assert #xb00000018 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype bouncing-float (structure) + ((osc oscillating-float :inline :offset-assert 0) + (max-value float :offset-assert 24) + (min-value float :offset-assert 28) + (elasticity float :offset-assert 32) + (state int32 :offset-assert 36) + ) + :method-count-assert 13 + :size-assert #x28 + :flag-assert #xd00000028 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype delayed-rand-vector (structure) + ((min-time int32 :offset-assert 0) + (max-time int32 :offset-assert 4) + (xz-max float :offset-assert 8) + (y-max float :offset-assert 12) + (timer int32 :offset-assert 16) + (start-time uint64 :offset-assert 24) + (value vector :inline :offset-assert 32) + ) + :method-count-assert 13 + :size-assert #x30 + :flag-assert #xd00000030 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype oscillating-vector (structure) + ((value vector :inline :offset-assert 0) + (target vector :inline :offset-assert 16) + (vel vector :inline :offset-assert 32) + (max-vel float :offset-assert 48) + (damping float :offset-assert 52) + (accel float :offset-assert 56) + ) + :method-count-assert 11 + :size-assert #x3c + :flag-assert #xb0000003c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + + +;; ---------------------- +;; File - smush-control-h +;; Source Path - engine/util/smush-control-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype smush-control (structure) + ((start-time uint64 :offset-assert 0) + (period float :offset-assert 8) + (duration float :offset-assert 12) + (amp float :offset-assert 16) + (damp-amp float :offset-assert 20) + (damp-period float :offset-assert 24) + (ticks float :offset-assert 28) + ) + :method-count-assert 15 + :size-assert #x20 + :flag-assert #xf00000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + + +;; ---------------------- +;; File - trajectory-h +;; Source Path - engine/physics/trajectory-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype trajectory (structure) + ((initial-position vector :inline :offset-assert 0) + (initial-velocity vector :inline :offset-assert 16) + (time float :offset-assert 32) + (gravity meters :offset-assert 36) + ) + :method-count-assert 16 + :size-assert #x28 + :flag-assert #x1000000028 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + ) + ) + + +;; ---------------------- +;; File - debug-h +;; Source Path - engine/debug/debug-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype pos-history (structure) + ((points uint32 :offset-assert 0) + (num-points int32 :offset-assert 4) + (h-first int32 :offset-assert 8) + (h-last int32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype debug-vertex (structure) + ((trans vector4w :inline :offset-assert 0) + (normal vector3h :inline :offset-assert 16) + (st vector2h :inline :offset-assert 22) + (color uint32 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype debug-vertex-stats (basic) + ((length int32 :offset-assert 4) + (pos-count int32 :offset-assert 8) + (vertex UNKNOWN 600 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x4b10 + :flag-assert #x900004b10 + ) + + +;; ---------------------- +;; File - joint-mod-h +;; Source Path - engine/target/joint-mod-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype joint-mod (basic) + ((mode uint32 :offset-assert 4) + (process basic :offset-assert 8) + (joint cspace :offset-assert 12) + (target vector :inline :offset-assert 16) + (twist vector :inline :offset-assert 32) + (twist-max vector :inline :offset-assert 48) + (trans vector :inline :offset-assert 64) + (quat quaternion :inline :offset-assert 80) + (scale vector :inline :offset-assert 96) + (notice-time uint64 :offset-assert 112) + (flex-blend float :offset-assert 120) + (blend float :offset-assert 124) + (max-dist meters :offset-assert 128) + (ignore-angle deg :offset-assert 132) + (up uint8 :offset-assert 136) + (nose uint8 :offset-assert 137) + (ear uint8 :offset-assert 138) + (shutting-down? basic :offset-assert 140) + ) + :method-count-assert 16 + :size-assert #x90 + :flag-assert #x1000000090 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + ) + ) + +(deftype try-to-look-at-info (basic) + ((who uint64 :offset-assert 8) + (horz float :offset-assert 16) + (vert float :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype joint-mod-wheel (basic) + ((last-position vector :inline :offset-assert 16) + (angle float :offset-assert 32) + (process basic :offset-assert 36) + (wheel-radius float :offset-assert 40) + (wheel-axis int8 :offset-assert 44) + ) + :method-count-assert 9 + :size-assert #x2d + :flag-assert #x90000002d + ) + +(deftype joint-mod-set-local (basic) + ((transform transformq :inline :offset-assert 16) + (set-rotation basic :offset-assert 64) + (set-scale basic :offset-assert 68) + (set-translation basic :offset-assert 72) + (enable basic :offset-assert 76) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype joint-mod-set-world (basic) + ((transform transformq :inline :offset-assert 16) + (node-index int32 :offset-assert 64) + (enable basic :offset-assert 68) + ) + :method-count-assert 9 + :size-assert #x48 + :flag-assert #x900000048 + ) + +(deftype joint-mod-blend-local (basic) + ((transform transformq :inline :offset-assert 16) + (blend-transform transformq :inline :offset-assert 64) + (node-index int32 :offset-assert 112) + (blend float :offset-assert 116) + (enable basic :offset-assert 120) + ) + :method-count-assert 9 + :size-assert #x7c + :flag-assert #x90000007c + ) + +(deftype joint-mod-spinner (basic) + ((spin-axis vector :inline :offset-assert 16) + (angle float :offset-assert 32) + (spin-rate float :offset-assert 36) + (enable basic :offset-assert 40) + ) + :method-count-assert 9 + :size-assert #x2c + :flag-assert #x90000002c + ) + + +;; ---------------------- +;; File - collide-func-h +;; Source Path - engine/collide/collide-func-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide-mesh-h +;; Source Path - engine/collide/collide-mesh-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype collide-tri-result (structure) + ((vertex UNKNOWN 3 :offset-assert 0) + (intersect vector :inline :offset-assert 48) + (normal vector :inline :offset-assert 64) + (pat uint32 :offset-assert 80) + ) + :method-count-assert 9 + :size-assert #x54 + :flag-assert #x900000054 + ) + +(deftype collide-mesh-tri (structure) + ((vertex-index UNKNOWN 3 :offset-assert 0) + (unused uint8 :offset-assert 3) + (pat uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype collide-mesh (basic) + ((joint-id int32 :offset-assert 4) + (num-tris uint32 :offset-assert 8) + (num-verts uint32 :offset-assert 12) + (vertex-data uint32 :offset-assert 16) + (tris UNKNOWN 1 :offset-assert 32) + ) + :method-count-assert 16 + :size-assert #x28 + :flag-assert #x1000000028 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + ) + ) + +(deftype collide-mesh-cache (basic) + ((used-size uint32 :offset-assert 4) + (max-size uint32 :offset-assert 8) + (id uint64 :offset-assert 16) + (data UNKNOWN 40960 :offset-assert 32) + ) + :method-count-assert 12 + :size-assert #xa020 + :flag-assert #xc0000a020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + +(deftype collide-mesh-cache-tri (structure) + ((vertex UNKNOWN 3 :offset-assert 0) + (normal vector :inline :offset-assert 48) + (bbox4w bounding-box4w :inline :offset-assert 64) + (pat uint32 :offset-assert 60) + ) + :method-count-assert 9 + :size-assert #x60 + :flag-assert #x900000060 + ) + + +;; ---------------------- +;; File - collide-shape-h +;; Source Path - engine/collide/collide-shape-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype collide-sticky-rider (structure) + ((rider-handle uint64 :offset-assert 0) + (sticky-prim basic :offset-assert 8) + (prim-ry float :offset-assert 12) + (rider-local-pos vector :inline :offset-assert 16) + ) + :method-count-assert 10 + :size-assert #x20 + :flag-assert #xa00000020 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype collide-sticky-rider-group (basic) + ((num-riders int32 :offset-assert 4) + (allocated-riders int32 :offset-assert 8) + (rider UNKNOWN 1 :offset-assert 16) + ) + :method-count-assert 11 + :size-assert #x30 + :flag-assert #xb00000030 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype pull-rider-info (structure) + ((rider collide-sticky-rider :offset-assert 0) + (rider-cshape basic :offset-assert 4) + (rider-delta-ry float :offset-assert 8) + (rider-dest vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype collide-shape-intersect (basic) + ((move-vec vector :inline :offset-assert 16) + (best-u float :offset-assert 32) + (best-tri collide-tri-result :inline :offset-assert 48) + (best-from-prim basic :offset-assert 132) + (best-to-prim basic :offset-assert 136) + ) + :method-count-assert 10 + :size-assert #x8c + :flag-assert #xa0000008c + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype collide-overlap-result (structure) + ((best-dist float :offset-assert 0) + (best-from-prim basic :offset-assert 4) + (best-to-prim basic :offset-assert 8) + (best-from-tri collide-tri-result :inline :offset-assert 16) + ) + :method-count-assert 10 + :size-assert #x64 + :flag-assert #xa00000064 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype overlaps-others-params (structure) + ((options uint32 :offset-assert 0) + (tlist basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype collide-prim-core (structure) + ((world-sphere vector :inline :offset-assert 0) + (collide-as uint64 :offset-assert 16) + (action uint32 :offset-assert 24) + (offense int8 :offset-assert 28) + (prim-type int8 :offset-assert 29) + (extra UNKNOWN 2 :offset-assert 30) + (quad UNKNOWN 2 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype collide-shape-prim (basic) + ((cshape basic :offset-assert 4) + (prim-id uint32 :offset-assert 8) + (transform-index int8 :offset-assert 12) + (prim-core collide-prim-core :inline :offset-assert 16) + (local-sphere vector :inline :offset-assert 48) + (collide-with uint64 :offset-assert 64) + (world-sphere vector :inline :offset-assert 16) + (collide-as uint64 :offset-assert 32) + (action uint32 :offset-assert 40) + (offense int8 :offset-assert 44) + (prim-type int8 :offset-assert 45) + (radius meters :offset-assert 60) + ) + :method-count-assert 28 + :size-assert #x48 + :flag-assert #x1c00000048 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + +(deftype collide-shape-prim-sphere (collide-shape-prim) + ((cshape basic :offset-assert 4) + (prim-id uint32 :offset-assert 8) + (transform-index int8 :offset-assert 12) + (prim-core collide-prim-core :inline :offset-assert 16) + (local-sphere vector :inline :offset-assert 48) + (collide-with uint64 :offset-assert 64) + (world-sphere vector :inline :offset-assert 16) + (collide-as uint64 :offset-assert 32) + (action uint32 :offset-assert 40) + (offense int8 :offset-assert 44) + (prim-type int8 :offset-assert 45) + (radius meters :offset-assert 60) + (pat uint32 :offset-assert 72) + ) + :method-count-assert 28 + :size-assert #x4c + :flag-assert #x1c0000004c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + +(deftype collide-shape-prim-mesh (collide-shape-prim) + ((cshape basic :offset-assert 4) + (prim-id uint32 :offset-assert 8) + (transform-index int8 :offset-assert 12) + (prim-core collide-prim-core :inline :offset-assert 16) + (local-sphere vector :inline :offset-assert 48) + (collide-with uint64 :offset-assert 64) + (world-sphere vector :inline :offset-assert 16) + (collide-as uint64 :offset-assert 32) + (action uint32 :offset-assert 40) + (offense int8 :offset-assert 44) + (prim-type int8 :offset-assert 45) + (radius meters :offset-assert 60) + (mesh basic :offset-assert 72) + (mesh-id int32 :offset-assert 76) + (mesh-cache-id uint64 :offset-assert 80) + (mesh-cache-tris uint32 :offset-assert 88) + ) + :method-count-assert 29 + :size-assert #x5c + :flag-assert #x1d0000005c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + +(deftype collide-shape-prim-group (collide-shape-prim) + ((cshape basic :offset-assert 4) + (prim-id uint32 :offset-assert 8) + (transform-index int8 :offset-assert 12) + (prim-core collide-prim-core :inline :offset-assert 16) + (local-sphere vector :inline :offset-assert 48) + (collide-with uint64 :offset-assert 64) + (world-sphere vector :inline :offset-assert 16) + (collide-as uint64 :offset-assert 32) + (action uint32 :offset-assert 40) + (offense int8 :offset-assert 44) + (prim-type int8 :offset-assert 45) + (radius meters :offset-assert 60) + (num-prims int32 :offset-assert 72) + (allocated-prims int32 :offset-assert 76) + (prim UNKNOWN 1 :offset-assert 80) + ) + :method-count-assert 30 + :size-assert #x54 + :flag-assert #x1e00000054 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype collide-shape (trsqv) + ((trans vector :inline :offset-assert 16) + (rot vector :inline :offset-assert 32) + (scale vector :inline :offset-assert 48) + (quat quaternion :inline :offset-assert 32) + (pause-adjust-distance meters :offset-assert 4) + (nav-radius meters :offset-assert 8) + (transv vector :inline :offset-assert 64) + (rotv vector :inline :offset-assert 80) + (scalev vector :inline :offset-assert 96) + (dir-targ quaternion :inline :offset-assert 112) + (angle-change-time uint64 :offset-assert 128) + (old-y-angle-diff float :offset-assert 136) + (process basic :offset-assert 140) + (max-iteration-count uint8 :offset-assert 144) + (nav-flags uint8 :offset-assert 145) + (pad-byte UNKNOWN 2 :offset-assert 146) + (pat-ignore-mask uint32 :offset-assert 148) + (event-self basic :offset-assert 152) + (event-other basic :offset-assert 156) + (root-prim basic :offset-assert 160) + (riders basic :offset-assert 164) + (backup-collide-as uint64 :offset-assert 168) + (backup-collide-with uint64 :offset-assert 176) + ) + :method-count-assert 56 + :size-assert #xb8 + :flag-assert #x38000000b8 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + ) + ) + +(deftype collide-shape-moving (collide-shape) + ((trans vector :inline :offset-assert 16) + (rot vector :inline :offset-assert 32) + (scale vector :inline :offset-assert 48) + (quat quaternion :inline :offset-assert 32) + (pause-adjust-distance meters :offset-assert 4) + (nav-radius meters :offset-assert 8) + (transv vector :inline :offset-assert 64) + (rotv vector :inline :offset-assert 80) + (scalev vector :inline :offset-assert 96) + (dir-targ quaternion :inline :offset-assert 112) + (angle-change-time uint64 :offset-assert 128) + (old-y-angle-diff float :offset-assert 136) + (process basic :offset-assert 140) + (max-iteration-count uint8 :offset-assert 144) + (nav-flags uint8 :offset-assert 145) + (pad-byte UNKNOWN 2 :offset-assert 146) + (pat-ignore-mask uint32 :offset-assert 148) + (event-self basic :offset-assert 152) + (event-other basic :offset-assert 156) + (root-prim basic :offset-assert 160) + (riders basic :offset-assert 164) + (backup-collide-as uint64 :offset-assert 168) + (backup-collide-with uint64 :offset-assert 176) + (rider-time uint64 :offset-assert 184) + (rider-last-move vector :inline :offset-assert 192) + (trans-old UNKNOWN 3 :offset-assert 208) + (poly-pat uint32 :offset-assert 256) + (cur-pat uint32 :offset-assert 260) + (ground-pat uint32 :offset-assert 264) + (status uint64 :offset-assert 272) + (old-status uint64 :offset-assert 280) + (prev-status uint64 :offset-assert 288) + (reaction-flag uint32 :offset-assert 296) + (reaction basic :offset-assert 300) + (no-reaction basic :offset-assert 304) + (local-normal vector :inline :offset-assert 320) + (surface-normal vector :inline :offset-assert 336) + (poly-normal vector :inline :offset-assert 352) + (ground-poly-normal vector :inline :offset-assert 368) + (ground-touch-point vector :inline :offset-assert 384) + (shadow-pos vector :inline :offset-assert 400) + (ground-impact-vel meters :offset-assert 416) + (surface-angle float :offset-assert 420) + (poly-angle float :offset-assert 424) + (touch-angle float :offset-assert 428) + (coverage float :offset-assert 432) + (dynam basic :offset-assert 436) + (surf basic :offset-assert 440) + ) + :method-count-assert 65 + :size-assert #x1bc + :flag-assert #x41000001bc + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + (dummy-60 () none 60) + (dummy-61 () none 61) + (dummy-62 () none 62) + (dummy-63 () none 63) + (dummy-64 () none 64) + ) + ) + + +;; ---------------------- +;; File - collide-target-h +;; Source Path - engine/collide/collide-target-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype collide-history (structure) + ((intersect vector :inline :offset-assert 0) + (trans vector :inline :offset-assert 16) + (transv vector :inline :offset-assert 32) + (transv-out vector :inline :offset-assert 48) + (local-normal vector :inline :offset-assert 64) + (surface-normal vector :inline :offset-assert 80) + (time uint64 :offset-assert 96) + (status uint64 :offset-assert 104) + (pat uint32 :offset-assert 112) + (reaction-flag uint32 :offset-assert 116) + ) + :method-count-assert 10 + :size-assert #x78 + :flag-assert #xa00000078 + (:methods + (dummy-9 () none 9) + ) + ) + + +;; ---------------------- +;; File - collide-touch-h +;; Source Path - engine/collide/collide-touch-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype touching-prim (structure) + ((cprim basic :offset-assert 0) + (has-tri? basic :offset-assert 4) + (tri collide-tri-result :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x64 + :flag-assert #x900000064 + ) + +(deftype touching-prims-entry (structure) + ((next touching-prims-entry :offset-assert 0) + (prev touching-prims-entry :offset-assert 4) + (allocated? basic :offset-assert 8) + (u float :offset-assert 12) + (prim1 touching-prim :inline :offset-assert 16) + (prim2 touching-prim :inline :offset-assert 128) + ) + :method-count-assert 13 + :size-assert #xe4 + :flag-assert #xd000000e4 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype touching-prims-entry-pool (structure) + ((head touching-prims-entry :offset-assert 0) + (nodes UNKNOWN 64 :offset-assert 16) + ) + :method-count-assert 13 + :size-assert #x3c10 + :flag-assert #xd00003c10 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype touching-shapes-entry (structure) + ((cshape1 basic :offset-assert 0) + (cshape2 basic :offset-assert 4) + (resolve-u int8 :offset-assert 8) + (head touching-prims-entry :offset-assert 12) + ) + :method-count-assert 18 + :size-assert #x10 + :flag-assert #x1200000010 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype touching-list (structure) + ((num-touching-shapes int32 :offset-assert 0) + (resolve-u int8 :offset-assert 4) + (touching-shapes UNKNOWN 32 :offset-assert 8) + ) + :method-count-assert 15 + :size-assert #x208 + :flag-assert #xf00000208 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + + +;; ---------------------- +;; File - collide-edge-grab-h +;; Source Path - engine/collide/collide-edge-grab-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype edge-grab-info (structure) + ((world-vertex UNKNOWN 6 :offset-assert 0) + (local-vertex UNKNOWN 6 :offset-assert 96) + (actor-cshape-prim-offset int32 :offset-assert 192) + (actor-handle uint64 :offset-assert 200) + (hanging-matrix matrix :inline :offset-assert 208) + (edge-vertex UNKNOWN 2 :offset-assert 0) + (center-hold vector :inline :offset-assert 32) + (tri-vertex UNKNOWN 3 :offset-assert 48) + (left-hand-hold vector :inline :offset-assert 272) + (right-hand-hold vector :inline :offset-assert 288) + (center-hold-old vector :inline :offset-assert 304) + ) + :method-count-assert 11 + :size-assert #x140 + :flag-assert #xb00000140 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype collide-edge-tri (structure) + ((ctri basic :offset-assert 0) + (normal vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype collide-edge-edge (structure) + ((ignore basic :offset-assert 0) + (etri collide-edge-tri :offset-assert 4) + (vertex-ptr UNKNOWN 2 :offset-assert 8) + (outward vector :inline :offset-assert 16) + (edge-vec-norm vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype collide-edge-hold-item (structure) + ((next collide-edge-hold-item :offset-assert 0) + (rating float :offset-assert 4) + (split int8 :offset-assert 8) + (edge collide-edge-edge :offset-assert 12) + (center-pt vector :inline :offset-assert 16) + (outward-pt vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype collide-edge-hold-list (structure) + ((num-allocs uint32 :offset-assert 0) + (num-attempts uint32 :offset-assert 4) + (head collide-edge-hold-item :offset-assert 8) + (items UNKNOWN 32 :offset-assert 16) + (attempts UNKNOWN 32 :offset-assert 1552) + ) + :method-count-assert 11 + :size-assert #x810 + :flag-assert #xb00000810 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype collide-edge-work (structure) + ((ccache basic :offset-assert 0) + (cshape basic :offset-assert 4) + (num-verts uint32 :offset-assert 8) + (num-edges uint32 :offset-assert 12) + (num-tris uint32 :offset-assert 16) + (cache-fill-box bounding-box :inline :offset-assert 32) + (within-reach-box bounding-box :inline :offset-assert 64) + (within-reach-box4w bounding-box4w :inline :offset-assert 96) + (search-pt vector :inline :offset-assert 128) + (search-dir-vec vector :inline :offset-assert 144) + (max-dist-sqrd-to-outward-pt float :offset-assert 160) + (max-dir-cosa-delta float :offset-assert 164) + (split-dists UNKNOWN 2 :offset-assert 168) + (outward-offset vector :inline :offset-assert 176) + (local-cache-fill-box bounding-box :inline :offset-assert 192) + (local-within-reach-box bounding-box :inline :offset-assert 224) + (local-player-spheres UNKNOWN 12 :offset-assert 256) + (world-player-spheres UNKNOWN 12 :offset-assert 448) + (local-player-hanging-spheres UNKNOWN 6 :offset-assert 256) + (world-player-hanging-spheres UNKNOWN 6 :offset-assert 448) + (local-player-leap-up-spheres UNKNOWN 6 :offset-assert 352) + (world-player-leap-up-spheres UNKNOWN 6 :offset-assert 544) + (verts UNKNOWN 64 :offset-assert 640) + (edges UNKNOWN 96 :offset-assert 1664) + (tris UNKNOWN 48 :offset-assert 6272) + (hold-list collide-edge-hold-list :inline :offset-assert 7808) + ) + :method-count-assert 20 + :size-assert #x2690 + :flag-assert #x1400002690 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - process-drawable-h +;; Source Path - engine/draw/process-drawable-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - effect-control-h +;; Source Path - engine/game/effect-control-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype effect-control (basic) + ((process basic :offset-assert 4) + (flags uint32 :offset-assert 8) + (last-frame-group basic :offset-assert 12) + (last-frame-num float :offset-assert 16) + (channel-offset int32 :offset-assert 20) + (res basic :offset-assert 24) + (name uint32 :offset-assert 28) + (param uint32 :offset-assert 32) + ) + :method-count-assert 15 + :size-assert #x24 + :flag-assert #xf00000024 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + + +;; ---------------------- +;; File - collide-frag-h +;; Source Path - engine/collide/collide-frag-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype collide-frag-vertex (vector) + ((data UNKNOWN 4 :offset-assert 0) + (x float :offset-assert 0) + (y float :offset-assert 4) + (z float :offset-assert 8) + (w float :offset-assert 12) + (quad uint128 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype collide-frag-mesh (basic) + ((packed-data uint32 :offset-assert 4) + (pat-array uint32 :offset-assert 8) + (strip-data-len uint16 :offset-assert 12) + (poly-count uint16 :offset-assert 14) + (base-trans vector :inline :offset-assert 16) + (vertex-count uint8 :offset-assert 28) + (vertex-data-qwc uint8 :offset-assert 29) + (total-qwc uint8 :offset-assert 30) + (unused uint8 :offset-assert 31) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype collide-fragment (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (mesh basic :offset-assert 8) + ) + :method-count-assert 18 + :size-assert #x20 + :flag-assert #x1200000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype drawable-inline-array-collide-fragment (drawable-inline-array) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (length int16 :offset-assert 6) + (data UNKNOWN 1 :offset-assert 36) + ) + :method-count-assert 18 + :size-assert #x44 + :flag-assert #x1200000044 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + + +;; ---------------------- +;; File - projectiles-h +;; Source Path - engine/game/projectiles-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype projectile (process-drawable) + ((base-trans vector :inline :offset-assert 176) + (target vector :inline :offset-assert 192) + (target-base vector :inline :offset-assert 208) + (parent-base vector :inline :offset-assert 224) + (parent-quat vector :inline :offset-assert 240) + (base-vector vector :inline :offset-assert 256) + (timeout uint64 :offset-assert 272) + (options uint64 :offset-assert 280) + (last-target uint64 :offset-assert 288) + (notify-handle uint64 :offset-assert 296) + (max-speed float :offset-assert 304) + (max-turn float :offset-assert 308) + (old-dist UNKNOWN 16 :offset-assert 312) + (old-dist-count int32 :offset-assert 376) + (hits int32 :offset-assert 380) + (max-hits int32 :offset-assert 384) + (tween float :offset-assert 388) + (attack-mode basic :offset-assert 392) + (update-velocity basic :offset-assert 396) + (counter int32 :offset-assert 400) + (target-count int32 :offset-assert 404) + (sound-id uint32 :offset-assert 408) + ) + :method-count-assert 29 + :size-assert #x19c + :flag-assert #x1d0130019c + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + +(deftype projectile-yellow (projectile) + ((mode int32 :offset-assert 412) + (angle float :offset-assert 416) + ) + :method-count-assert 29 + :size-assert #x1a4 + :flag-assert #x1d014001a4 + ;; inherited inpspect of projectile + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + +(deftype projectile-blue (projectile) + ((mode int32 :offset-assert 412) + (joint-num int32 :offset-assert 416) + ) + :method-count-assert 29 + :size-assert #x1a4 + :flag-assert #x1d014001a4 + ;; inherited inpspect of projectile + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + + +;; ---------------------- +;; File - target-h +;; Source Path - engine/target/target-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype target (process-drawable) + ((control basic :offset-assert 112) + (skel2 basic :offset-assert 176) + (racer basic :offset-assert 180) + (game basic :offset-assert 184) + (neck basic :offset-assert 188) + (state-hook-time uint64 :offset-assert 192) + (state-hook basic :offset-assert 200) + (cam-user-mode basic :offset-assert 204) + (sidekick uint32 :offset-assert 208) + (manipy uint32 :offset-assert 212) + (attack-info attack-info :inline :offset-assert 224) + (attack-info-rec attack-info :inline :offset-assert 336) + (anim-seed uint64 :offset-assert 440) + (alt-cam-pos vector :inline :offset-assert 448) + (snowball basic :offset-assert 464) + (tube basic :offset-assert 468) + (flut basic :offset-assert 472) + (current-level basic :offset-assert 476) + (saved-pos transformq :inline :offset-assert 480) + (saved-owner uint64 :offset-assert 528) + (alt-neck-pos vector :inline :offset-assert 544) + ) + :method-count-assert 21 + :size-assert #x230 + :flag-assert #x1501c00230 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype sidekick (process-drawable) + ((control basic :offset-assert 112) + (state-time uint64 :offset-assert 168) + (state-flags uint32 :offset-assert 164) + (anim-seed uint64 :offset-assert 192) + ) + :method-count-assert 20 + :size-assert #xc8 + :flag-assert #x14006000c8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - depth-cue-h +;; Source Path - engine/gfx/depth-cue-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype depth-cue-data (structure) + ((data vector :inline :offset-assert 0) + (sharpness float :offset-assert 0) + (alpha float :offset-assert 4) + (distance float :offset-assert 8) + (w float :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype depth-cue-work (structure) + ((texture-strip-tmpl dma-gif-packet :inline :offset-assert 0) + (temp-strip-tmpl dma-gif-packet :inline :offset-assert 32) + (stencil-tmpl dma-gif-packet :inline :offset-assert 64) + (clear-color vector4w :inline :offset-assert 96) + (set-color vector4w :inline :offset-assert 112) + (draw-color vector4w :inline :offset-assert 128) + (depth depth-cue-data :offset-assert 144) + (front depth-cue-data :offset-assert 148) + ) + :method-count-assert 9 + :size-assert #x98 + :flag-assert #x900000098 + ) + + +;; ---------------------- +;; File - stats-h +;; Source Path - engine/debug/stats-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype tr-stat (structure) + ((groups uint16 :offset-assert 0) + (fragments uint16 :offset-assert 2) + (tris uint32 :offset-assert 4) + (dverts uint32 :offset-assert 8) + (instances uint16 :offset-assert 12) + (pad uint16 :offset-assert 14) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype merc-global-stats (structure) + ((merc tr-stat :inline :offset-assert 0) + (mercneric tr-stat :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype perf-stat (structure) + ((frame-number uint32 :offset-assert 0) + (count uint32 :offset-assert 4) + (cycles uint32 :offset-assert 8) + (instructions uint32 :offset-assert 12) + (icache uint32 :offset-assert 16) + (dcache uint32 :offset-assert 20) + (select uint32 :offset-assert 24) + (ctrl uint32 :offset-assert 28) + (accum0 uint32 :offset-assert 32) + (accum1 uint32 :offset-assert 36) + (to-vu0-waits uint32 :offset-assert 40) + (to-spr-waits uint32 :offset-assert 44) + (from-spr-waits uint32 :offset-assert 48) + ) + :method-count-assert 14 + :size-assert #x34 + :flag-assert #xe00000034 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype perf-stat-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - bsp-h +;; Source Path - engine/gfx/vis/bsp-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype bsp-node (structure) + ((front int32 :offset-assert 0) + (back int32 :offset-assert 4) + (front-flags uint32 :offset-assert 8) + (back-flags uint32 :offset-assert 12) + (plane vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype bsp-header (drawable) + () + :method-count-assert 20 + :size-assert #x190 + :flag-assert #x1400000190 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype game-level (basic) + ((master-bsp basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype view-frustum (structure) + ((hither-top-left vector :inline :offset-assert 0) + (hither-top-right vector :inline :offset-assert 16) + (hither-bottom-left vector :inline :offset-assert 32) + (hither-bottom-right vector :inline :offset-assert 48) + (yon-top-left vector :inline :offset-assert 64) + (yon-top-right vector :inline :offset-assert 80) + (yon-bottom-left vector :inline :offset-assert 96) + (yon-bottom-right vector :inline :offset-assert 112) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + +(deftype cl-stat (structure) + ((fragments uint32 :offset-assert 0) + (tris uint32 :offset-assert 4) + (output uint32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype collide-stats (structure) + ((other cl-stat :inline :offset-assert 0) + (total cl-stat :inline :offset-assert 12) + (nodes uint32 :offset-assert 24) + (calls uint32 :offset-assert 28) + (total-target stopwatch :inline :offset-assert 36) + (target-cache-fill stopwatch :inline :offset-assert 68) + (target-ray-poly stopwatch :inline :offset-assert 100) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + + +;; ---------------------- +;; File - collide-cache-h +;; Source Path - engine/collide/collide-cache-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype collide-using-spheres-params (structure) + ((spheres uint32 :offset-assert 0) + (num-spheres uint32 :offset-assert 4) + (collide-with uint64 :offset-assert 8) + (proc basic :offset-assert 16) + (ignore-pat uint32 :offset-assert 20) + (solid-only basic :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x1c + :flag-assert #x90000001c + ) + +(deftype collide-puss-sphere (structure) + ((bsphere sphere :inline :offset-assert 0) + (bbox4w bounding-box4w :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype collide-puss-work (structure) + ((closest-pt vector :inline :offset-assert 0) + (tri-normal vector :inline :offset-assert 16) + (tri-bbox4w bounding-box4w :inline :offset-assert 32) + (spheres-bbox4w bounding-box4w :inline :offset-assert 64) + (spheres UNKNOWN 64 :offset-assert 96) + ) + :method-count-assert 11 + :size-assert #xc60 + :flag-assert #xb00000c60 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype collide-puyp-work (structure) + ((best-u float :offset-assert 0) + (ignore-pat uint32 :offset-assert 4) + (tri-out collide-tri-result :offset-assert 8) + (start-pos vector :inline :offset-assert 16) + (move-dist vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype collide-cache-tri (structure) + ((vertex UNKNOWN 3 :offset-assert 0) + (extra-quad UNKNOWN 16 :offset-assert 48) + (pat uint32 :offset-assert 48) + (prim-index uint16 :offset-assert 52) + (user16 uint16 :offset-assert 54) + (user32 UNKNOWN 2 :offset-assert 56) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype collide-cache-prim (structure) + ((prim-core collide-prim-core :inline :offset-assert 0) + (extra-quad UNKNOWN 16 :offset-assert 32) + (ccache basic :offset-assert 32) + (prim basic :offset-assert 36) + (first-tri uint16 :offset-assert 40) + (num-tris uint16 :offset-assert 42) + (unused UNKNOWN 4 :offset-assert 44) + (world-sphere vector :inline :offset-assert 0) + (collide-as uint64 :offset-assert 16) + (action uint32 :offset-assert 24) + (offense int8 :offset-assert 28) + (prim-type int8 :offset-assert 29) + ) + :method-count-assert 11 + :size-assert #x30 + :flag-assert #xb00000030 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype collide-cache (basic) + ((num-tris int32 :offset-assert 4) + (num-prims int32 :offset-assert 8) + (ignore-mask uint32 :offset-assert 12) + (proc basic :offset-assert 16) + (collide-box bounding-box :inline :offset-assert 32) + (collide-box4w bounding-box4w :inline :offset-assert 64) + (collide-with uint64 :offset-assert 96) + (prims UNKNOWN 100 :offset-assert 112) + (tris UNKNOWN 301 :offset-assert 4912) + ) + :method-count-assert 33 + :size-assert #x5e70 + :flag-assert #x2100005e70 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype collide-list-item (structure) + ((mesh basic :offset-assert 0) + (inst basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype collide-list (structure) + ((num-items int32 :offset-assert 0) + (items UNKNOWN 256 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x1010 + :flag-assert #x900001010 + ) + +(deftype collide-work (structure) + ((collide-sphere-neg-r sphere :inline :offset-assert 0) + (collide-box4w bounding-box4w :inline :offset-assert 16) + (inv-mat matrix :inline :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + + +;; ---------------------- +;; File - collide-h +;; Source Path - engine/collide/collide-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - shrubbery-h +;; Source Path - engine/gfx/shrub/shrubbery-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype billboard (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (flat adgif-shader :inline :offset-assert 32) + ) + :method-count-assert 18 + :size-assert #x70 + :flag-assert #x1200000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype shrub-view-data (structure) + ((data UNKNOWN 3 :offset-assert 0) + (texture-giftag qword :inline :offset-assert 0) + (consts vector :inline :offset-assert 16) + (fog-clamp vector :inline :offset-assert 32) + (tex-start-ptr int32 :offset-assert 16) + (gifbufsum float :offset-assert 16) + (mtx-buf-ptr int32 :offset-assert 20) + (exp23 float :offset-assert 20) + (fog-0 float :offset-assert 24) + (fog-1 float :offset-assert 28) + (fog-min float :offset-assert 32) + (fog-max float :offset-assert 36) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype shrubbery (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (textures uint32 :offset-assert 4) + (header qword :offset-assert 8) + (obj-qwc uint8 :offset-assert 12) + (vtx-qwc uint8 :offset-assert 13) + (col-qwc uint8 :offset-assert 14) + (stq-qwc uint8 :offset-assert 15) + (obj uint32 :offset-assert 16) + (vtx uint32 :offset-assert 20) + (col uint32 :offset-assert 24) + (stq uint32 :offset-assert 28) + ) + :method-count-assert 18 + :size-assert #x20 + :flag-assert #x1200000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype instance-shrubbery (instance) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (bucket-index uint16 :offset-assert 6) + (origin matrix4h :inline :offset-assert 32) + (wind-index uint16 :offset-assert 62) + (flat-normal vector :inline :offset-assert 64) + (flat-hwidth float :offset-assert 76) + (color uint32 :offset-assert 8) + ) + :method-count-assert 18 + :size-assert #x50 + :flag-assert #x1200000050 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype generic-shrub-fragment (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (textures uint32 :offset-assert 4) + (vtx-cnt uint32 :offset-assert 8) + (cnt-qwc uint8 :offset-assert 12) + (vtx-qwc uint8 :offset-assert 13) + (col-qwc uint8 :offset-assert 14) + (stq-qwc uint8 :offset-assert 15) + (cnt uint32 :offset-assert 16) + (vtx uint32 :offset-assert 20) + (col uint32 :offset-assert 24) + (stq uint32 :offset-assert 28) + ) + :method-count-assert 18 + :size-assert #x20 + :flag-assert #x1200000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype prototype-shrubbery (drawable-inline-array) + () + :method-count-assert 18 + :size-assert #x44 + :flag-assert #x1200000044 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype shrubbery-matrix (structure) + ((mat matrix :inline :offset-assert 0) + (color qword :inline :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype shrub-near-packet (structure) + ((matrix-tmpl dma-packet :inline :offset-assert 0) + (header-tmpl dma-packet :inline :offset-assert 16) + (stq-tmpl dma-packet :inline :offset-assert 32) + (color-tmpl dma-packet :inline :offset-assert 48) + (vertex-tmpl dma-packet :inline :offset-assert 64) + (mscal-tmpl dma-packet :inline :offset-assert 80) + (init-tmpl dma-packet :inline :offset-assert 96) + (init-data UNKNOWN 8 :offset-assert 112) + ) + :method-count-assert 9 + :size-assert #x90 + :flag-assert #x900000090 + ) + +(deftype instance-shrub-work (structure) + ((dummy UNKNOWN 3 :offset-assert 0) + (chaina UNKNOWN 8 :offset-assert 48) + (chainb UNKNOWN 8 :offset-assert 176) + (colors UNKNOWN 1024 :offset-assert 304) + (matrix-tmpl UNKNOWN 20 :offset-assert 4400) + (count-tmpl UNKNOWN 20 :offset-assert 4720) + (mscalf-tmpl dma-packet :inline :offset-assert 5040) + (mscalf-ret-tmpl dma-packet :inline :offset-assert 5056) + (adgif-tmpl dma-gif-packet :inline :offset-assert 5072) + (billboard-tmpl dma-gif-packet :inline :offset-assert 5104) + (billboard-const vector :inline :offset-assert 5136) + (shrub-near-packets UNKNOWN 6 :offset-assert 5152) + (dma-ref dma-packet :inline :offset-assert 6016) + (dma-end dma-packet :inline :offset-assert 6032) + (wind-const vector :inline :offset-assert 6048) + (constants vector :inline :offset-assert 6064) + (color-constant vector4w :inline :offset-assert 6080) + (hmge-d vector :inline :offset-assert 6096) + (hvdf-offset vector :inline :offset-assert 6112) + (wind-force vector :inline :offset-assert 6128) + (color vector :inline :offset-assert 6144) + (bb-color vector :inline :offset-assert 6160) + (min-dist vector :inline :offset-assert 6176) + (temp-vec vector :inline :offset-assert 6192) + (guard-plane UNKNOWN 4 :offset-assert 6208) + (plane UNKNOWN 4 :offset-assert 6272) + (last UNKNOWN 4 :offset-assert 6336) + (next UNKNOWN 4 :offset-assert 6352) + (count UNKNOWN 4 :offset-assert 6368) + (mod-count UNKNOWN 4 :offset-assert 6376) + (wind-vectors uint32 :offset-assert 6384) + (instance-ptr uint32 :offset-assert 6388) + (chain-ptr uint32 :offset-assert 6392) + (chain-ptr-next uint32 :offset-assert 6396) + (stack-ptr uint32 :offset-assert 6400) + (bucket-ptr uint32 :offset-assert 6404) + (src-ptr uint32 :offset-assert 6408) + (to-spr uint32 :offset-assert 6412) + (from-spr uint32 :offset-assert 6416) + (shrub-count uint32 :offset-assert 6420) + (stack-ptr uint32 :offset-assert 6400) + (node UNKNOWN 6 :offset-assert 6428) + (length UNKNOWN 6 :offset-assert 6452) + (prototypes uint32 :offset-assert 6476) + (bucket-ptr uint32 :offset-assert 6404) + (start-bank UNKNOWN 20 :offset-assert 6484) + (buffer-index uint32 :offset-assert 6504) + (current-spr uint32 :offset-assert 6508) + (current-mem uint32 :offset-assert 6512) + (current-shrub-near-packet uint32 :offset-assert 6516) + (to-spr uint32 :offset-assert 6412) + (dma-buffer basic :offset-assert 6524) + (near-last uint32 :offset-assert 6528) + (near-next uint32 :offset-assert 6532) + (near-count uint32 :offset-assert 6536) + (last-shrubs uint32 :offset-assert 6540) + (chains uint32 :offset-assert 6544) + (flags uint32 :offset-assert 6548) + (node-count uint32 :offset-assert 6552) + (inst-count uint32 :offset-assert 6556) + (wait-from-spr uint32 :offset-assert 6560) + (wait-to-spr uint32 :offset-assert 6564) + ) + :method-count-assert 9 + :size-assert #x19a8 + :flag-assert #x9000019a8 + ) + +(deftype instance-shrub-dma (structure) + ((instancea UNKNOWN 325 :offset-assert 0) + (instanceb UNKNOWN 325 :offset-assert 5200) + (outa UNKNOWN 128 :offset-assert 10400) + (outb UNKNOWN 128 :offset-assert 12448) + ) + :method-count-assert 9 + :size-assert #x38a0 + :flag-assert #x9000038a0 + ) + + +;; ---------------------- +;; File - tie-h +;; Source Path - engine/gfx/tie/tie-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype tie-fragment (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (gif-ref uint32 :offset-assert 4) + (point-ref uint32 :offset-assert 8) + (color-index uint16 :offset-assert 12) + (base-colors uint8 :offset-assert 14) + (tex-count uint16 :offset-assert 32) + (gif-count uint16 :offset-assert 34) + (vertex-count uint16 :offset-assert 36) + (color-count uint16 :offset-assert 38) + (num-tris uint16 :offset-assert 40) + (num-dverts uint16 :offset-assert 42) + (dp-ref uint32 :offset-assert 44) + (dp-qwc uint32 :offset-assert 48) + (generic-ref uint32 :offset-assert 52) + (generic-count uint32 :offset-assert 56) + (debug-lines basic :offset-assert 60) + ) + :method-count-assert 18 + :size-assert #x40 + :flag-assert #x1200000040 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype instance-tie (instance) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (bucket-index uint16 :offset-assert 6) + (origin matrix4h :inline :offset-assert 32) + (wind-index uint16 :offset-assert 62) + (color-indices uint32 :offset-assert 8) + (bucket-ptr basic :offset-assert 12) + (max-scale uint16 :offset-assert 38) + (id-copy uint16 :offset-assert 46) + ) + :method-count-assert 18 + :size-assert #x40 + :flag-assert #x1200000040 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype drawable-inline-array-instance-tie (drawable-inline-array) + () + :method-count-assert 18 + :size-assert #x64 + :flag-assert #x1200000064 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype drawable-tree-instance-tie (drawable-tree) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (length int16 :offset-assert 6) + (data UNKNOWN 1 :offset-assert 32) + (prototypes basic :offset-assert 8) + ) + :method-count-assert 18 + :size-assert #x24 + :flag-assert #x1200000024 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype prototype-tie (drawable-inline-array) + () + :method-count-assert 18 + :size-assert #x64 + :flag-assert #x1200000064 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype tie-matrix (structure) + ((mat matrix :inline :offset-assert 0) + (morph qword :inline :offset-assert 64) + (fog qword :inline :offset-assert 80) + ) + :method-count-assert 9 + :size-assert #x60 + :flag-assert #x900000060 + ) + +(deftype instance-tie-work (structure) + ((wind-const vector :inline :offset-assert 0) + (hmge-d vector :inline :offset-assert 16) + (hvdf-offset vector :inline :offset-assert 32) + (wind-force vector :inline :offset-assert 48) + (constant vector :inline :offset-assert 64) + (far-morph vector :inline :offset-assert 80) + (dist-test vector :inline :offset-assert 96) + (min-dist vector :inline :offset-assert 112) + (guard-plane UNKNOWN 4 :offset-assert 128) + (upload-color-0 dma-packet :inline :offset-assert 192) + (upload-color-1 dma-packet :inline :offset-assert 208) + (upload-color-2 dma-packet :inline :offset-assert 224) + (upload-color-ret dma-packet :inline :offset-assert 240) + (upload-color-temp dma-packet :inline :offset-assert 256) + (generic-color-0 dma-packet :inline :offset-assert 272) + (generic-color-1 dma-packet :inline :offset-assert 288) + (generic-color-end dma-packet :inline :offset-assert 304) + (tie-near-perspective-matrix matrix :inline :offset-assert 320) + (wind-vectors uint32 :offset-assert 384) + (test-id uint32 :offset-assert 388) + (test-id2 uint32 :offset-assert 392) + (dma-buffer basic :offset-assert 396) + (to-spr uint32 :offset-assert 400) + (from-spr uint32 :offset-assert 404) + (wind-work uint32 :offset-assert 408) + (cur-vis-bits uint32 :offset-assert 412) + (end-vis-bits uint32 :offset-assert 416) + (first-generic-prototype uint32 :offset-assert 420) + (refl-fade-fac float :offset-assert 424) + (refl-fade-end float :offset-assert 428) + (flags uint32 :offset-assert 432) + (wait-from-spr uint32 :offset-assert 436) + (wait-to-spr uint32 :offset-assert 440) + ) + :method-count-assert 9 + :size-assert #x1bc + :flag-assert #x9000001bc + ) + +(deftype instance-tie-dma (structure) + ((banka UNKNOWN 32 :offset-assert 4) + (bankb UNKNOWN 32 :offset-assert 2052) + (outa UNKNOWN 256 :offset-assert 4096) + (outb UNKNOWN 256 :offset-assert 8192) + (work instance-tie-work :offset-assert 12288) + ) + :method-count-assert 9 + :size-assert #x3000 + :flag-assert #x900003000 + ) + +(deftype prototype-tie-work (structure) + ((upload-palette-0 dma-packet :inline :offset-assert 0) + (upload-palette-1 dma-packet :inline :offset-assert 16) + (upload-model-0 dma-packet :inline :offset-assert 32) + (upload-model-1 dma-packet :inline :offset-assert 48) + (upload-model-2 dma-packet :inline :offset-assert 64) + (upload-model-3 dma-packet :inline :offset-assert 80) + (upload-model-near-0 dma-packet :inline :offset-assert 96) + (upload-model-near-1 dma-packet :inline :offset-assert 112) + (upload-model-near-2 dma-packet :inline :offset-assert 128) + (upload-model-near-3 dma-packet :inline :offset-assert 144) + (upload-model-near-4 dma-packet :inline :offset-assert 160) + (generic-envmap-shader dma-packet :inline :offset-assert 176) + (generic-palette dma-packet :inline :offset-assert 192) + (generic-model-0 dma-packet :inline :offset-assert 208) + (generic-model-1 dma-packet :inline :offset-assert 224) + (generic-model-2 dma-packet :inline :offset-assert 240) + (generic-model-next dma-packet :inline :offset-assert 256) + (clamp uint64 :offset-assert 272) + (prototype-array basic :offset-assert 280) + (generic-wait-from-spr uint32 :offset-assert 284) + (generic-wait-to-spr uint32 :offset-assert 288) + (wait-from-spr uint32 :offset-assert 292) + (wait-to-spr uint32 :offset-assert 296) + (near-wait-from-spr uint32 :offset-assert 300) + (near-wait-to-spr uint32 :offset-assert 304) + ) + :method-count-assert 9 + :size-assert #x134 + :flag-assert #x900000134 + ) + +(deftype prototype-tie-dma (structure) + ((colora UNKNOWN 256 :offset-assert 0) + (colorb UNKNOWN 256 :offset-assert 1024) + (outa UNKNOWN 256 :offset-assert 2048) + (outb UNKNOWN 256 :offset-assert 6144) + (length uint32 :offset-assert 10240) + (dma-buffer basic :offset-assert 10244) + (this-frag-count uint32 :offset-assert 10248) + (next UNKNOWN 4 :offset-assert 10256) + (geometry UNKNOWN 4 :offset-assert 10272) + (frag-count UNKNOWN 4 :offset-assert 10288) + ) + :method-count-assert 9 + :size-assert #x2834 + :flag-assert #x900002834 + ) + + +;; ---------------------- +;; File - tfrag-h +;; Source Path - engine/gfx/tfrag/tfrag-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype tfragment-stats (structure) + ((num-tris UNKNOWN 4 :offset-assert 0) + (num-dverts UNKNOWN 4 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype tfragment-debug-data (structure) + ((stats tfragment-stats :inline :offset-assert 0) + (debug-lines basic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype generic-tfragment (structure) + ((dummy int32 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype tfragment (drawable) + ((id int16 :offset-assert 4) + (bsphere vector :inline :offset-assert 16) + (color-index uint16 :offset-assert 6) + (debug-data tfragment-debug-data :offset-assert 8) + (color-indices uint32 :offset-assert 12) + (colors uint32 :offset-assert 12) + (dma-chain UNKNOWN 3 :offset-assert 32) + (dma-common uint32 :offset-assert 32) + (dma-level-0 uint32 :offset-assert 32) + (dma-base uint32 :offset-assert 36) + (dma-level-1 uint32 :offset-assert 40) + (dma-qwc UNKNOWN 4 :offset-assert 44) + (shader uint32 :offset-assert 48) + (num-shaders uint8 :offset-assert 52) + (num-base-colors uint8 :offset-assert 53) + (num-level0-colors uint8 :offset-assert 54) + (num-level1-colors uint8 :offset-assert 55) + (color-offset uint8 :offset-assert 56) + (color-count uint8 :offset-assert 57) + (pad0 uint8 :offset-assert 58) + (pad1 uint8 :offset-assert 59) + (generic generic-tfragment :offset-assert 60) + ) + :method-count-assert 18 + :size-assert #x40 + :flag-assert #x1200000040 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype drawable-inline-array-tfrag (drawable-inline-array) + () + :method-count-assert 18 + :size-assert #x64 + :flag-assert #x1200000064 + ;; too many basic blocks + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + ) + ) + +(deftype tfrag-dists (structure) + ((data UNKNOWN 16 :offset-assert 0) + (vector UNKNOWN 4 :offset-assert 0) + (k0s UNKNOWN 2 :offset-assert 0) + (k1s UNKNOWN 2 :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype tfrag-data (structure) + ((data UNKNOWN 56 :offset-assert 0) + (vector UNKNOWN 14 :offset-assert 0) + (fog vector :inline :offset-assert 0) + (val vector :inline :offset-assert 16) + (strgif qword :inline :offset-assert 32) + (fangif qword :inline :offset-assert 48) + (adgif qword :inline :offset-assert 64) + (hvdf-offset vector :inline :offset-assert 80) + (hmge-scale vector :inline :offset-assert 96) + (invh-scale vector :inline :offset-assert 112) + (ambient vector :inline :offset-assert 128) + (guard vector :inline :offset-assert 144) + (dists tfrag-dists :inline :offset-assert 160) + (k0s UNKNOWN 2 :offset-assert 160) + (k1s UNKNOWN 2 :offset-assert 192) + ) + :method-count-assert 9 + :size-assert #xe0 + :flag-assert #x9000000e0 + ) + +(deftype tfrag-control (structure) + ((num-base-points uint32 :offset-assert 0) + (num-shared-base-points uint32 :offset-assert 4) + (num-level0-points uint32 :offset-assert 8) + (num-shared-level0-points uint32 :offset-assert 12) + (num-level1-points uint32 :offset-assert 16) + (num-shared-level1-points uint32 :offset-assert 20) + (ptr-vtxdata uint32 :offset-assert 24) + (ptr-base-points uint32 :offset-assert 28) + (ptr-shared-base-points uint32 :offset-assert 32) + (ptr-level0-points uint32 :offset-assert 36) + (ptr-shared-level0-points uint32 :offset-assert 40) + (ptr-level1-points uint32 :offset-assert 44) + (ptr-shared-level1-points uint32 :offset-assert 48) + (ptr-draw-points uint32 :offset-assert 52) + (ptr-interpolated-0 uint32 :offset-assert 56) + (ptr-shared-interpolated-0 uint32 :offset-assert 60) + (ptr-interpolated1 uint32 :offset-assert 64) + (ptr-shared-interpolated1 uint32 :offset-assert 68) + (ptr-strip-data uint32 :offset-assert 72) + (ptr-texture-data uint32 :offset-assert 76) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype tfrag-stats (structure) + ((from int32 :offset-assert 0) + (to int32 :offset-assert 4) + (cnt int32 :offset-assert 8) + (tris int32 :offset-assert 12) + (tfaces int32 :offset-assert 16) + (tfrags int32 :offset-assert 20) + (dtris int32 :offset-assert 24) + (base-verts int32 :offset-assert 28) + (level0-verts int32 :offset-assert 32) + (level1-verts int32 :offset-assert 36) + (dma-cnt int32 :offset-assert 40) + (dma-dta int32 :offset-assert 44) + (dma-tex int32 :offset-assert 48) + (strips int32 :offset-assert 52) + (drawpoints int32 :offset-assert 56) + (vif int32 :offset-assert 60) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype tfrag-packet (structure) + ((tag UNKNOWN 2 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype tfrag-work (structure) + ((base-tmpl dma-packet :inline :offset-assert 0) + (level-0-tmpl dma-packet :inline :offset-assert 16) + (common-tmpl dma-packet :inline :offset-assert 32) + (level-1-tmpl dma-packet :inline :offset-assert 48) + (color-tmpl dma-packet :inline :offset-assert 64) + (frag-dists vector :inline :offset-assert 80) + (max-dist vector :inline :offset-assert 96) + (min-dist vector :inline :offset-assert 112) + (color-ptr vector4w :inline :offset-assert 128) + (tr-stat-tfrag tr-stat :offset-assert 144) + (tr-stat-tfrag-near tr-stat :offset-assert 148) + (vu1-enable-tfrag int32 :offset-assert 152) + (vu1-enable-tfrag-near int32 :offset-assert 156) + (cur-vis-bits uint32 :offset-assert 160) + (end-vis-bits uint32 :offset-assert 164) + (src-ptr uint32 :offset-assert 168) + (last-call uint32 :offset-assert 172) + (dma-buffer basic :offset-assert 176) + (test-id uint32 :offset-assert 180) + (wait-from-spr uint32 :offset-assert 184) + (wait-to-spr uint32 :offset-assert 188) + (near-wait-from-spr uint32 :offset-assert 192) + (near-wait-to-spr uint32 :offset-assert 196) + ) + :method-count-assert 9 + :size-assert #xc8 + :flag-assert #x9000000c8 + ) + +(deftype tfrag-dma (structure) + ((banka UNKNOWN 16 :offset-assert 4) + (bankb UNKNOWN 16 :offset-assert 1028) + (outa UNKNOWN 128 :offset-assert 2048) + (outb UNKNOWN 128 :offset-assert 4096) + (colors UNKNOWN 2048 :offset-assert 6144) + ) + :method-count-assert 9 + :size-assert #x37fc + :flag-assert #x9000037fc + ) + + +;; ---------------------- +;; File - background-h +;; Source Path - engine/gfx/background-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype background-work (basic) + ((tfrag-tree-count int32 :offset-assert 4) + (tfrag-trees UNKNOWN 8 :offset-assert 8) + (tfrag-levels UNKNOWN 8 :offset-assert 40) + (trans-tfrag-tree-count int32 :offset-assert 72) + (trans-tfrag-trees UNKNOWN 8 :offset-assert 76) + (trans-tfrag-levels UNKNOWN 8 :offset-assert 108) + (dirt-tfrag-tree-count int32 :offset-assert 140) + (dirt-tfrag-trees UNKNOWN 8 :offset-assert 144) + (dirt-tfrag-levels UNKNOWN 8 :offset-assert 176) + (lowres-tfrag-tree-count int32 :offset-assert 208) + (lowres-tfrag-trees UNKNOWN 8 :offset-assert 212) + (lowres-tfrag-levels UNKNOWN 8 :offset-assert 244) + (lowres-trans-tfrag-tree-count int32 :offset-assert 276) + (lowres-trans-tfrag-trees UNKNOWN 8 :offset-assert 280) + (lowres-trans-tfrag-levels UNKNOWN 8 :offset-assert 312) + (shrub-tree-count int32 :offset-assert 344) + (shrub-trees UNKNOWN 8 :offset-assert 348) + (shrub-levels UNKNOWN 8 :offset-assert 380) + (tie-tree-count int32 :offset-assert 412) + (tie-trees UNKNOWN 8 :offset-assert 416) + (tie-levels UNKNOWN 8 :offset-assert 448) + (tie-generic UNKNOWN 8 :offset-assert 480) + (wait-to-vu0 uint32 :offset-assert 512) + ) + :method-count-assert 9 + :size-assert #x204 + :flag-assert #x900000204 + ) + + +;; ---------------------- +;; File - subdivide-h +;; Source Path - engine/gfx/tfrag/subdivide-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype subdivide-settings (basic) + ((dist UNKNOWN 5 :offset-assert 4) + (meters UNKNOWN 5 :offset-assert 24) + (close UNKNOWN 4 :offset-assert 44) + (far UNKNOWN 4 :offset-assert 60) + ) + :method-count-assert 9 + :size-assert #x4c + :flag-assert #x90000004c + ) + +(deftype subdivide-dists (structure) + ((data UNKNOWN 32 :offset-assert 0) + (vector UNKNOWN 8 :offset-assert 0) + (k0s UNKNOWN 4 :offset-assert 0) + (k1s UNKNOWN 4 :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x80 + :flag-assert #x900000080 + ) + +(deftype gs-packed-rgba (structure) + ((data UNKNOWN 4 :offset-assert 0) + (red int32 :offset-assert 0) + (green int32 :offset-assert 4) + (blue int32 :offset-assert 8) + (alpha int32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype gs-packed-xyzw (structure) + ((data UNKNOWN 4 :offset-assert 0) + (x int32 :offset-assert 0) + (y int32 :offset-assert 4) + (z int32 :offset-assert 8) + (w int32 :offset-assert 12) + (quad uint128 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype gs-packed-stq (structure) + ((data UNKNOWN 4 :offset-assert 0) + (tex-s float :offset-assert 0) + (tex-t float :offset-assert 4) + (tex-q float :offset-assert 8) + (quad uint128 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype gs-packed-gt (structure) + ((stq gs-packed-stq :inline :offset-assert 0) + (rgba gs-packed-rgba :inline :offset-assert 16) + (xyzw gs-packed-xyzw :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype gs-packed-gt4 (structure) + ((data UNKNOWN 4 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #xc0 + :flag-assert #x9000000c0 + ) + +(deftype terrain-bsp (structure) + ((lev-index int32 :offset-assert 0) + (mood basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype terrain-stats (structure) + ((pris tr-stat :inline :offset-assert 0) + (tie-generic tr-stat :inline :offset-assert 16) + (tie tr-stat :inline :offset-assert 32) + (tie-near tr-stat :inline :offset-assert 48) + (shrub-near tr-stat :inline :offset-assert 64) + (shrub tr-stat :inline :offset-assert 80) + (tfrag-near tr-stat :inline :offset-assert 96) + (tfrag tr-stat :inline :offset-assert 112) + (billboard tr-stat :inline :offset-assert 128) + (trans-tfrag tr-stat :inline :offset-assert 144) + (trans-tfrag-near tr-stat :inline :offset-assert 160) + (trans-pris tr-stat :inline :offset-assert 176) + (trans-shrub tr-stat :inline :offset-assert 192) + (ocean-mid tr-stat :inline :offset-assert 208) + (ocean-near tr-stat :inline :offset-assert 224) + (total tr-stat :inline :offset-assert 240) + ) + :method-count-assert 9 + :size-assert #x100 + :flag-assert #x900000100 + ) + +(deftype dma-area (structure) + ((draw-node-dma draw-node-dma :inline :offset-assert 0) + (tfrag-dma tfrag-dma :inline :offset-assert 0) + (instance-shrub-dma instance-shrub-dma :inline :offset-assert 0) + (instance-tie-dma instance-tie-dma :inline :offset-assert 0) + (prototype-tie-dma prototype-tie-dma :inline :offset-assert 0) + (time-of-day-dma time-of-day-dma :inline :offset-assert 0) + (decomp-work decomp-work :inline :offset-assert 0) + (ocean-vertex UNKNOWN 4 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x38a0 + :flag-assert #x9000038a0 + ) + +(deftype background-area (structure) + ((dma-area dma-area :inline :offset-assert 0) + (vis-list UNKNOWN 2048 :offset-assert 14496) + ) + :method-count-assert 9 + :size-assert #x40a0 + :flag-assert #x9000040a0 + ) + +(deftype foreground-area (structure) + ((joint-work joint-work :inline :offset-assert 0) + (generic-work generic-work :inline :offset-assert 0) + (bone-mem bone-memory :inline :offset-assert 0) + (shadow-work shadow-work :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x3fd0 + :flag-assert #x900003fd0 + ) + +(deftype ambient-area (structure) + ((ambient-list ambient-list :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x2004 + :flag-assert #x900002004 + ) + +(deftype work-area (structure) + ((background background-area :inline :offset-assert 0) + (foreground foreground-area :inline :offset-assert 0) + (ambient ambient-area :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x40a0 + :flag-assert #x9000040a0 + ) + +(deftype terrain-context (structure) + ((bsp terrain-bsp :inline :offset-assert 0) + (work work-area :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x40b0 + :flag-assert #x9000040b0 + ) + + +;; ---------------------- +;; File - entity-h +;; Source Path - engine/entity/entity-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype entity-perm (structure) + ((user-object UNKNOWN 2 :offset-assert 0) + (user-uint64 uint64 :offset-assert 0) + (user-float UNKNOWN 2 :offset-assert 0) + (user-int32 UNKNOWN 2 :offset-assert 0) + (user-uint32 UNKNOWN 2 :offset-assert 0) + (user-int16 UNKNOWN 4 :offset-assert 0) + (user-uint16 UNKNOWN 4 :offset-assert 0) + (user-int8 UNKNOWN 8 :offset-assert 0) + (user-uint8 UNKNOWN 8 :offset-assert 0) + (status uint16 :offset-assert 8) + (dummy UNKNOWN 1 :offset-assert 10) + (task uint8 :offset-assert 11) + (aid uint32 :offset-assert 12) + (quad uint128 :offset-assert 0) + ) + :method-count-assert 10 + :size-assert #x10 + :flag-assert #xa00000010 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype entity-links (structure) + ((prev-link entity-links :offset-assert 0) + (next-link entity-links :offset-assert 4) + (entity basic :offset-assert 8) + (process basic :offset-assert 12) + (level basic :offset-assert 16) + (vis-id int32 :offset-assert 20) + (trans vector :inline :offset-assert 32) + (perm entity-perm :inline :offset-assert 48) + (status uint16 :offset-assert 56) + (aid uint32 :offset-assert 60) + (task uint8 :offset-assert 59) + ) + :method-count-assert 10 + :size-assert #x40 + :flag-assert #xa00000040 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype entity-perm-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype entity-links-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype entity (res-lump) + () + :method-count-assert 27 + :size-assert #x34 + :flag-assert #x1b00000034 + ;; unrecognized get op: (set! t9 find-parent-method) parent was res-lump + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + ) + ) + +(deftype entity-ambient-data (structure) + ((user-object UNKNOWN 3 :offset-assert 0) + (function basic :offset-assert 12) + (quad uint128 :offset-assert 0) + (user-uint64 UNKNOWN 1 :offset-assert 0) + (user-float UNKNOWN 3 :offset-assert 0) + (user-int32 UNKNOWN 3 :offset-assert 0) + (user-uint32 UNKNOWN 3 :offset-assert 0) + (user-int16 UNKNOWN 6 :offset-assert 0) + (user-uint16 UNKNOWN 6 :offset-assert 0) + (user-int8 UNKNOWN 12 :offset-assert 0) + (user-uint8 UNKNOWN 12 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype entity-ambient-data-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype entity-actor (entity) + () + :method-count-assert 31 + :size-assert #x50 + :flag-assert #x1f00000050 + ;; unrecognized get op: (set! t9 find-parent-method) parent was entity + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + ) + ) + +(deftype entity-info (basic) + ((ptype basic :offset-assert 4) + (package basic :offset-assert 8) + (art-group basic :offset-assert 12) + (pool basic :offset-assert 16) + (heap-size int32 :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype actor-bank (basic) + ((pause-dist float :offset-assert 4) + (birth-dist float :offset-assert 8) + (birth-max int32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - sprite-h +;; Source Path - engine/gfx/sprite/sprite-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sprite-vec-data-2d (structure) + ((x-y-z-sx vector :inline :offset-assert 0) + (flag-rot-sy vector :inline :offset-assert 16) + (r-g-b-a vector :inline :offset-assert 32) + (x float :offset-assert 0) + (y float :offset-assert 4) + (z float :offset-assert 8) + (sx float :offset-assert 12) + (sy float :offset-assert 28) + (rot float :offset-assert 24) + (flag int32 :offset-assert 16) + (matrix int32 :offset-assert 20) + (warp-turns int32 :offset-assert 16) + (r float :offset-assert 32) + (g float :offset-assert 36) + (b float :offset-assert 40) + (a float :offset-assert 44) + (trans vector3s :inline :offset-assert 0) + (color rgbaf :inline :offset-assert 32) + (data UNKNOWN 1 :offset-assert 0) + (data64 UNKNOWN 6 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype sprite-array-2d (basic) + ((num-sprites UNKNOWN 2 :offset-assert 4) + (num-valid UNKNOWN 2 :offset-assert 12) + (vec-data uint32 :offset-assert 20) + (adgif-data uint32 :offset-assert 24) + (pad UNKNOWN 4 :offset-assert 32) + (data UNKNOWN 1 :offset-assert 96) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype sprite-vec-data-3d (structure) + ((x-y-z-sx vector :inline :offset-assert 0) + (qx-qy-qz-sy vector :inline :offset-assert 16) + (r-g-b-a vector :inline :offset-assert 32) + (x float :offset-assert 0) + (y float :offset-assert 4) + (z float :offset-assert 8) + (sx float :offset-assert 12) + (sy float :offset-assert 28) + (qx float :offset-assert 16) + (qy float :offset-assert 20) + (qz float :offset-assert 24) + (r float :offset-assert 32) + (g float :offset-assert 36) + (b float :offset-assert 40) + (a float :offset-assert 44) + (trans vector3s :inline :offset-assert 0) + (rot vector3s :inline :offset-assert 16) + (color rgbaf :inline :offset-assert 32) + (data UNKNOWN 1 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype sprite-array-3d (basic) + ((num-sprites UNKNOWN 2 :offset-assert 4) + (num-valid UNKNOWN 2 :offset-assert 12) + (vec-data uint32 :offset-assert 20) + (adgif-data uint32 :offset-assert 24) + (data UNKNOWN 1 :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + + +;; ---------------------- +;; File - shadow-h +;; Source Path - engine/gfx/shadow/shadow-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype fake-shadow (structure) + ((px float :offset-assert 0) + (py float :offset-assert 4) + (pz float :offset-assert 8) + (scale float :offset-assert 12) + (qx float :offset-assert 16) + (qy float :offset-assert 20) + (qz float :offset-assert 24) + (flags int32 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype fake-shadow-buffer (basic) + ((num-shadows int32 :offset-assert 4) + (data UNKNOWN 32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #x408 + :flag-assert #x900000408 + ) + + +;; ---------------------- +;; File - eye-h +;; Source Path - engine/gfx/eye-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sparticle-launcher-h +;; Source Path - engine/sparticle/sparticle-launcher-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sp-field-init-spec (structure) + ((field uint16 :offset-assert 0) + (flags uint16 :offset-assert 2) + (initial-valuef float :offset-assert 4) + (random-rangef float :offset-assert 8) + (random-multf float :offset-assert 12) + (initial-value int32 :offset-assert 4) + (random-range int32 :offset-assert 8) + (random-mult int32 :offset-assert 12) + (func basic :offset-assert 4) + (tex uint32 :offset-assert 4) + (pntr uint32 :offset-assert 4) + (sym basic :offset-assert 4) + (sound basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype sparticle-launcher (basic) + ((birthaccum float :offset-assert 4) + (soundaccum float :offset-assert 8) + (init-specs uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype sparticle-group-item (structure) + ((launcher uint32 :offset-assert 0) + (fade-after meters :offset-assert 4) + (falloff-to meters :offset-assert 8) + (flags uint16 :offset-assert 12) + (period uint16 :offset-assert 14) + (length uint16 :offset-assert 16) + (offset uint16 :offset-assert 18) + (hour-mask uint32 :offset-assert 20) + (binding uint32 :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x1c + :flag-assert #x90000001c + ) + +(deftype sparticle-launch-state (structure) + ((group-item sparticle-group-item :offset-assert 0) + (flags uint16 :offset-assert 4) + (randomize uint16 :offset-assert 6) + (origin vector :offset-assert 8) + (sprite3d sprite-vec-data-3d :offset-assert 12) + (sprite basic :offset-assert 16) + (offset uint32 :offset-assert 20) + (accum float :offset-assert 24) + (spawn-time uint32 :offset-assert 28) + (swarm basic :offset-assert 20) + (seed uint32 :offset-assert 24) + (time uint32 :offset-assert 28) + (spec basic :offset-assert 16) + (id uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype sparticle-launch-group (basic) + ((length int16 :offset-assert 4) + (duration uint16 :offset-assert 6) + (linger-duration uint16 :offset-assert 8) + (flags uint16 :offset-assert 10) + (name basic :offset-assert 12) + (launcher uint32 :offset-assert 16) + (bounds sphere :inline :offset-assert 32) + ) + :method-count-assert 10 + :size-assert #x30 + :flag-assert #xa00000030 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype sparticle-launch-control (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (group basic :offset-assert 16) + (proc basic :offset-assert 20) + (local-clock int32 :offset-assert 24) + (fade float :offset-assert 28) + (matrix int32 :offset-assert 32) + (process-time uint64 :offset-assert 40) + (center vector :inline :offset-assert 48) + (data UNKNOWN :dynamic :offset-assert 64) + ) + :method-count-assert 14 + :size-assert #x40 + :flag-assert #xe00000040 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + + +;; ---------------------- +;; File - sparticle-h +;; Source Path - engine/sparticle/sparticle-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sparticle-cpuinfo (structure) + ((sprite sprite-vec-data-2d :offset-assert 0) + (adgif adgif-shader :offset-assert 4) + (radius float :offset-assert 8) + (omega float :offset-assert 12) + (vel-sxvel vector :inline :offset-assert 16) + (rot-syvel vector :inline :offset-assert 32) + (fade rgbaf :inline :offset-assert 48) + (acc vector :inline :offset-assert 64) + (rotvel3d quaternion :inline :offset-assert 80) + (vel vector3s :inline :offset-assert 16) + (accel vector3s :inline :offset-assert 64) + (scalevelx float :offset-assert 28) + (scalevely float :offset-assert 44) + (friction float :offset-assert 96) + (timer int32 :offset-assert 100) + (flags uint32 :offset-assert 104) + (user-int32 int32 :offset-assert 108) + (user-uint32 uint32 :offset-assert 108) + (user-float float :offset-assert 108) + (user-pntr uint32 :offset-assert 108) + (user-sprite sprite-vec-data-2d :offset-assert 108) + (func basic :offset-assert 112) + (next-time uint32 :offset-assert 116) + (next-launcher basic :offset-assert 120) + (cache-alpha float :offset-assert 124) + (valid basic :offset-assert 128) + (key basic :offset-assert 132) + (binding sparticle-launch-state :offset-assert 136) + (data UNKNOWN 1 :offset-assert 12) + (dataf UNKNOWN 1 :offset-assert 12) + (datac UNKNOWN 1 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x8c + :flag-assert #x90000008c + ;; field key is a basic loaded with a signed load + ) + +(deftype sparticle-launchinfo (structure) + ((launchrot vector :inline :offset-assert 0) + (conerot vector :inline :offset-assert 16) + (coneradius float :offset-assert 32) + (rotate-y float :offset-assert 36) + (data UNKNOWN 1 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x28 + :flag-assert #x900000028 + ) + +(deftype sparticle-system (basic) + ((blocks UNKNOWN 2 :offset-assert 4) + (length UNKNOWN 2 :offset-assert 12) + (num-alloc UNKNOWN 2 :offset-assert 20) + (is-3d basic :offset-assert 28) + (flags uint32 :offset-assert 32) + (alloc-table uint32 :offset-assert 36) + (cpuinfo-table uint32 :offset-assert 40) + (vecdata-table uint32 :offset-assert 44) + (adgifdata-table uint32 :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x34 + :flag-assert #x900000034 + ) + + +;; ---------------------- +;; File - actor-link-h +;; Source Path - engine/entity/actor-link-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype actor-link-info (basic) + ((process basic :offset-assert 4) + (next basic :offset-assert 8) + (prev basic :offset-assert 12) + ) + :method-count-assert 26 + :size-assert #x10 + :flag-assert #x1a00000010 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + ) + ) + + +;; ---------------------- +;; File - camera-h +;; Source Path - engine/camera/camera-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype camera-bank (basic) + ((collide-move-rad float :offset-assert 4) + (joypad uint32 :offset-assert 8) + (min-detectable-velocity float :offset-assert 12) + (attack-timeout uint64 :offset-assert 16) + (default-string-max-y meters :offset-assert 24) + (default-string-min-y meters :offset-assert 28) + (default-string-max-z meters :offset-assert 32) + (default-string-min-z meters :offset-assert 36) + (default-string-push-z meters :offset-assert 40) + (default-tilt-adjust deg :offset-assert 44) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype cam-index (structure) + ((flags uint32 :offset-assert 0) + (vec UNKNOWN 2 :offset-assert 16) + ) + :method-count-assert 11 + :size-assert #x30 + :flag-assert #xb00000030 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype tracking-point (structure) + ((position vector :inline :offset-assert 0) + (direction vector :inline :offset-assert 16) + (tp-length float :offset-assert 32) + (next int32 :offset-assert 36) + (incarnation int32 :offset-assert 40) + ) + :method-count-assert 9 + :size-assert #x2c + :flag-assert #x90000002c + ) + +(deftype tracking-spline-sampler (structure) + ((cur-pt int32 :offset-assert 0) + (partial-pt float :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype tracking-spline (structure) + ((point UNKNOWN 32 :offset-assert 0) + (summed-len float :offset-assert 1536) + (free-point int32 :offset-assert 1540) + (used-point int32 :offset-assert 1544) + (partial-point float :offset-assert 1548) + (end-point int32 :offset-assert 1552) + (next-to-last-point int32 :offset-assert 1556) + (max-move float :offset-assert 1560) + (sample-len float :offset-assert 1564) + (used-count int32 :offset-assert 1568) + (old-position vector :inline :offset-assert 1584) + (debug-old-position vector :inline :offset-assert 1600) + (debug-out-position vector :inline :offset-assert 1616) + (debug-last-point int32 :offset-assert 1632) + ) + :method-count-assert 24 + :size-assert #x664 + :flag-assert #x1800000664 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + ) + ) + +(deftype cam-float-seeker (structure) + ((target float :offset-assert 0) + (value float :offset-assert 4) + (vel float :offset-assert 8) + (accel float :offset-assert 12) + (max-vel float :offset-assert 16) + (max-partial float :offset-assert 20) + ) + :method-count-assert 13 + :size-assert #x18 + :flag-assert #xd00000018 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + +(deftype cam-vector-seeker (structure) + ((target vector :inline :offset-assert 0) + (value vector :inline :offset-assert 16) + (vel vector :inline :offset-assert 32) + (accel float :offset-assert 48) + (max-vel float :offset-assert 52) + (max-partial float :offset-assert 56) + ) + :method-count-assert 11 + :size-assert #x3c + :flag-assert #xb0000003c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype cam-rotation-tracker (structure) + ((inv-mat matrix :inline :offset-assert 0) + (no-follow basic :offset-assert 64) + (follow-pt vector :inline :offset-assert 80) + (follow-off vector :inline :offset-assert 96) + (follow-blend float :offset-assert 112) + (tilt-adjust cam-float-seeker :inline :offset-assert 116) + (use-point-of-interest basic :offset-assert 140) + (point-of-interest vector :inline :offset-assert 144) + (point-of-interest-blend cam-float-seeker :inline :offset-assert 160) + (underwater-blend cam-float-seeker :inline :offset-assert 184) + ) + :method-count-assert 9 + :size-assert #xd0 + :flag-assert #x9000000d0 + ) + +(deftype camera-combiner (process) + ((trans vector :inline :offset-assert 112) + (inv-camera-rot matrix :inline :offset-assert 128) + (fov float :offset-assert 192) + (interp-val float :offset-assert 196) + (interp-step float :offset-assert 200) + (flip-control-axis vector :inline :offset-assert 208) + (velocity vector :inline :offset-assert 224) + (tracking-status uint64 :offset-assert 240) + (tracking-options int32 :offset-assert 248) + (tracking cam-rotation-tracker :inline :offset-assert 256) + ) + :method-count-assert 14 + :size-assert #x1d0 + :flag-assert #xe016001d0 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype camera-slave (process) + ((trans vector :inline :offset-assert 112) + (fov float :offset-assert 128) + (fov0 float :offset-assert 132) + (fov1 float :offset-assert 136) + (fov-index cam-index :inline :offset-assert 144) + (tracking cam-rotation-tracker :inline :offset-assert 192) + (view-off-param float :offset-assert 400) + (view-off vector :inline :offset-assert 416) + (min-z-override float :offset-assert 432) + (view-flat vector :inline :offset-assert 448) + (string-vel-dir uint32 :offset-assert 464) + (string-trans vector :inline :offset-assert 480) + (position-spline tracking-spline :inline :offset-assert 496) + (pivot-pt vector :inline :offset-assert 2144) + (pivot-rad float :offset-assert 2160) + (circular-follow vector :inline :offset-assert 2176) + (max-angle-offset float :offset-assert 2192) + (max-angle-curr float :offset-assert 2196) + (options uint32 :offset-assert 2200) + (cam-entity basic :offset-assert 2204) + (velocity vector :inline :offset-assert 2208) + (desired-pos vector :inline :offset-assert 2224) + (time-dist-too-far uint32 :offset-assert 2240) + (los-state uint32 :offset-assert 2244) + (good-point vector :inline :offset-assert 2256) + (los-tgt-spline-pt int32 :offset-assert 2272) + (los-tgt-spline-pt-incarnation int32 :offset-assert 2276) + (los-last-pos vector :inline :offset-assert 2288) + (intro-curve curve :inline :offset-assert 2304) + (intro-offset vector :inline :offset-assert 2336) + (intro-t float :offset-assert 2352) + (intro-t-step float :offset-assert 2356) + (outro-exit-value float :offset-assert 2360) + (spline-exists basic :offset-assert 2364) + (spline-curve curve :inline :offset-assert 2368) + (spline-offset vector :inline :offset-assert 2400) + (index cam-index :inline :offset-assert 2416) + (saved-pt vector :inline :offset-assert 2464) + (spline-tt float :offset-assert 2480) + (spline-follow-dist float :offset-assert 2484) + (change-event-from uint32 :offset-assert 2488) + (enter-has-run basic :offset-assert 2492) + (blend-from-type uint64 :offset-assert 2496) + (blend-to-type uint64 :offset-assert 2504) + (have-phony-joystick basic :offset-assert 2512) + (phony-joystick-x float :offset-assert 2516) + (phony-joystick-y float :offset-assert 2520) + (string-min-val vector :inline :offset-assert 2528) + (string-max-val vector :inline :offset-assert 2544) + (string-val-locked basic :offset-assert 2560) + ) + :method-count-assert 14 + :size-assert #xa04 + :flag-assert #xe09a00a04 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype camera-master (process) + ((master-options uint32 :offset-assert 112) + (num-slaves int32 :offset-assert 116) + (slave UNKNOWN 2 :offset-assert 120) + (slave-options uint32 :offset-assert 128) + (view-off-param-save float :offset-assert 132) + (changer uint32 :offset-assert 136) + (cam-entity basic :offset-assert 140) + (stringMinLength float :offset-assert 144) + (stringMaxLength float :offset-assert 148) + (stringMinHeight float :offset-assert 152) + (stringMaxHeight float :offset-assert 156) + (string-min cam-vector-seeker :inline :offset-assert 160) + (string-max cam-vector-seeker :inline :offset-assert 224) + (string-push-z float :offset-assert 284) + (stringCliffHeight float :offset-assert 288) + (no-intro uint32 :offset-assert 292) + (force-blend uint32 :offset-assert 296) + (force-blend-time uint32 :offset-assert 300) + (local-down vector :inline :offset-assert 304) + (drawable-target uint64 :offset-assert 320) + (which-bone int32 :offset-assert 328) + (pov-handle uint64 :offset-assert 336) + (pov-bone int32 :offset-assert 344) + (being-attacked basic :offset-assert 348) + (attack-start uint64 :offset-assert 352) + (on-ground basic :offset-assert 360) + (under-water int32 :offset-assert 364) + (on-pole basic :offset-assert 368) + (tgt-rot-mat matrix :inline :offset-assert 384) + (tgt-face-mat matrix :inline :offset-assert 448) + (tpos-old vector :inline :offset-assert 512) + (tpos-curr vector :inline :offset-assert 528) + (target-height float :offset-assert 544) + (tpos-old-adj vector :inline :offset-assert 560) + (tpos-curr-adj vector :inline :offset-assert 576) + (tpos-tgt vector :inline :offset-assert 592) + (upspeed float :offset-assert 608) + (pitch-off vector :inline :offset-assert 624) + (foot-offset float :offset-assert 640) + (head-offset float :offset-assert 644) + (target-spline tracking-spline :inline :offset-assert 656) + (ease-from vector :inline :offset-assert 2304) + (ease-t float :offset-assert 2320) + (ease-step float :offset-assert 2324) + (ease-to vector :inline :offset-assert 2336) + (outro-curve curve :inline :offset-assert 2352) + (outro-t float :offset-assert 2372) + (outro-t-step float :offset-assert 2376) + (outro-exit-value float :offset-assert 2380) + (water-drip-time uint64 :offset-assert 2384) + (water-drip basic :offset-assert 2392) + (water-drip-mult float :offset-assert 2396) + (water-drip-speed float :offset-assert 2400) + ) + :method-count-assert 14 + :size-assert #x964 + :flag-assert #xe09000964 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + + +;; ---------------------- +;; File - cam-debug-h +;; Source Path - engine/camera/cam-debug-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cam-interface-h +;; Source Path - engine/camera/cam-interface-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cam-update-h +;; Source Path - engine/camera/cam-update-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - assert-h +;; Source Path - engine/debug/assert-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype __assert-info-private-struct (structure) + ((filename basic :offset-assert 0) + (line-num uint16 :offset-assert 4) + (column-num uint16 :offset-assert 6) + ) + :method-count-assert 11 + :size-assert #x8 + :flag-assert #xb00000008 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + + +;; ---------------------- +;; File - hud-h +;; Source Path - engine/ui/hud-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype hud-icon (basic) + ((icon uint32 :offset-assert 4) + (icon-y int32 :offset-assert 8) + (icon-x int32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype hud-particle (basic) + ((part basic :offset-assert 4) + (init-pos vector :inline :offset-assert 16) + (pos vector :inline :offset-assert 32) + (prev-pos vector :inline :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype hud (process) + ((value int32 :offset-assert 112) + (value2 int32 :offset-assert 116) + (target-value int32 :offset-assert 120) + (last-increment-time uint64 :offset-assert 128) + (last-target-equal-time uint64 :offset-assert 136) + (offset int32 :offset-assert 144) + (y-offset int32 :offset-assert 148) + (next-y-offset int32 :offset-assert 152) + (x-sgn int32 :offset-assert 156) + (y-sgn int32 :offset-assert 160) + (text-x int32 :offset-assert 164) + (text-y int32 :offset-assert 168) + (friend int32 :offset-assert 172) + (first-init basic :offset-assert 176) + (increment-on-event basic :offset-assert 180) + (skip-particle int32 :offset-assert 184) + (disable basic :offset-assert 188) + (force-on-screen basic :offset-assert 192) + (deactivate-when-hidden basic :offset-assert 196) + (trigger-time uint64 :offset-assert 200) + (last-hide-time uint64 :offset-assert 208) + (nb-of-icons int32 :offset-assert 216) + (icons UNKNOWN 6 :offset-assert 220) + (max-nb-of-particles int32 :offset-assert 244) + (nb-of-particles int32 :offset-assert 248) + (particles UNKNOWN 7 :offset-assert 252) + ) + :method-count-assert 25 + :size-assert #x118 + :flag-assert #x1900b00118 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype hud-parts (structure) + ((data UNKNOWN 8 :offset-assert 0) + (pickups uint32 :offset-assert 0) + (money uint32 :offset-assert 4) + (fuel-cell uint32 :offset-assert 8) + (health uint32 :offset-assert 12) + (buzzers uint32 :offset-assert 16) + (power uint32 :offset-assert 20) + (bike-speed uint32 :offset-assert 24) + (bike-heat uint32 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + + +;; ---------------------- +;; File - progress-h +;; Source Path - engine/ui/progress-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype count-info (structure) + ((money-count int32 :offset-assert 0) + (buzzer-count int32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype game-count-info (basic) + ((length int32 :offset-assert 4) + (data UNKNOWN :dynamic :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype task-info-data (basic) + ((task-id uint8 :offset-assert 4) + (task-name UNKNOWN 4 :offset-assert 8) + (text-index-when-resolved int32 :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x1c + :flag-assert #x90000001c + ) + +(deftype level-tasks-info (basic) + ((level-name-id uint32 :offset-assert 4) + (text-group-index int32 :offset-assert 8) + (allow-to-display basic :offset-assert 12) + (nb-of-tasks int32 :offset-assert 16) + (buzzer-task-index int32 :offset-assert 20) + (task-info UNKNOWN 8 :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x38 + :flag-assert #x900000038 + ) + +(deftype game-option (basic) + ((option-type uint64 :offset-assert 8) + (name uint32 :offset-assert 16) + (param1 float :offset-assert 20) + (param2 float :offset-assert 24) + (param3 int32 :offset-assert 28) + (value-to-modify uint32 :offset-assert 32) + (value-to-read uint32 :offset-assert 36) + ) + :method-count-assert 9 + :size-assert #x28 + :flag-assert #x900000028 + ) + +(deftype progress (process) + ((current-debug-string int32 :offset-assert 112) + (current-debug-language int32 :offset-assert 116) + (current-debug-group int32 :offset-assert 120) + (in-out-position int32 :offset-assert 124) + (display-state uint64 :offset-assert 128) + (next-display-state uint64 :offset-assert 136) + (option-index int32 :offset-assert 144) + (next-option-index int32 :offset-assert 148) + (selected-option basic :offset-assert 152) + (completion-percentage float :offset-assert 156) + (ready-to-run basic :offset-assert 160) + (display-level-index int32 :offset-assert 164) + (next-level-index int32 :offset-assert 168) + (task-index int32 :offset-assert 172) + (init-task-index basic :offset-assert 176) + (in-transition basic :offset-assert 180) + (last-in-transition basic :offset-assert 184) + (sides-x-scale float :offset-assert 188) + (sides-y-scale float :offset-assert 192) + (left-x-offset int32 :offset-assert 196) + (right-x-offset int32 :offset-assert 200) + (side-options-offset int32 :offset-assert 204) + (total-nb-of-power-cells int32 :offset-assert 208) + (total-nb-of-orbs int32 :offset-assert 212) + (total-nb-of-buzzers int32 :offset-assert 216) + (card-info mc-slot-info :offset-assert 220) + (last-option-index-change uint64 :offset-assert 224) + (display-state-stack UNKNOWN 5 :offset-assert 232) + (option-index-stack UNKNOWN 5 :offset-assert 272) + (display-state-pos int32 :offset-assert 292) + (nb-of-icons int32 :offset-assert 296) + (icons UNKNOWN 6 :offset-assert 300) + (max-nb-of-particles int32 :offset-assert 324) + (nb-of-particles int32 :offset-assert 328) + (particles UNKNOWN 40 :offset-assert 332) + (particle-state UNKNOWN 40 :offset-assert 492) + ) + :method-count-assert 49 + :size-assert #x28c + :flag-assert #x310220028c + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + ) + ) + + +;; ---------------------- +;; File - rpc-h +;; Source Path - engine/ps2/rpc-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype rpc-buffer (basic) + ((elt-size uint32 :offset-assert 4) + (elt-count uint32 :offset-assert 8) + (elt-used uint32 :offset-assert 12) + (busy basic :offset-assert 16) + (base uint32 :offset-assert 20) + (data UNKNOWN :dynamic :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype rpc-buffer-pair (basic) + ((buffer UNKNOWN 2 :offset-assert 4) + (current basic :offset-assert 12) + (last-recv-buffer uint32 :offset-assert 16) + (rpc-port int32 :offset-assert 20) + ) + :method-count-assert 15 + :size-assert #x18 + :flag-assert #xf00000018 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + + +;; ---------------------- +;; File - path-h +;; Source Path - engine/nav/path-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype path-control (basic) + ((flags uint32 :offset-assert 4) + (name basic :offset-assert 8) + (process basic :offset-assert 12) + (curve curve :inline :offset-assert 16) + (num-cverts int32 :offset-assert 20) + (cverts uint32 :offset-assert 16) + ) + :method-count-assert 21 + :size-assert #x24 + :flag-assert #x1500000024 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype curve-control (path-control) + ((flags uint32 :offset-assert 4) + (name basic :offset-assert 8) + (process basic :offset-assert 12) + (curve curve :inline :offset-assert 16) + (num-cverts int32 :offset-assert 20) + (cverts uint32 :offset-assert 16) + ) + :method-count-assert 21 + :size-assert #x24 + :flag-assert #x1500000024 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - navigate-h +;; Source Path - engine/nav/navigate-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype nav-poly (structure) + ((id uint8 :offset-assert 0) + (vertex UNKNOWN 3 :offset-assert 1) + (adj-poly UNKNOWN 3 :offset-assert 4) + (pat uint8 :offset-assert 7) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype nav-vertex (vector) + ((data UNKNOWN 4 :offset-assert 0) + (x float :offset-assert 0) + (y float :offset-assert 4) + (z float :offset-assert 8) + (w float :offset-assert 12) + (quad uint128 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype nav-sphere (structure) + ((trans sphere :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype nav-ray (structure) + ((current-pos vector :inline :offset-assert 0) + (dir vector :inline :offset-assert 16) + (dest-pos vector :inline :offset-assert 32) + (current-poly nav-poly :offset-assert 48) + (next-poly nav-poly :offset-assert 52) + (len meters :offset-assert 56) + (last-edge int8 :offset-assert 60) + (terminated basic :offset-assert 64) + (reached-dest basic :offset-assert 68) + (hit-boundary basic :offset-assert 72) + (hit-gap basic :offset-assert 76) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype nav-route-portal (structure) + ((next-poly nav-poly :offset-assert 0) + (vertex UNKNOWN 2 :offset-assert 4) + (edge-index int8 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #xd + :flag-assert #x90000000d + ) + +(deftype clip-travel-vector-to-mesh-return-info (structure) + ((found-boundary basic :offset-assert 0) + (intersection vector :inline :offset-assert 16) + (boundary-normal vector :inline :offset-assert 32) + (prev-normal vector :inline :offset-assert 48) + (next-normal vector :inline :offset-assert 64) + (poly nav-poly :offset-assert 80) + (gap-poly nav-poly :offset-assert 84) + (edge int32 :offset-assert 88) + (vert-prev vector :inline :offset-assert 96) + (vert-0 vector :inline :offset-assert 112) + (vert-1 vector :inline :offset-assert 128) + (vert-next vector :inline :offset-assert 144) + ) + :method-count-assert 9 + :size-assert #xa0 + :flag-assert #x9000000a0 + ) + +(deftype nav-node (structure) + ((center-x float :offset-assert 0) + (center-y float :offset-assert 4) + (center-z float :offset-assert 8) + (type uint16 :offset-assert 12) + (parent-offset uint16 :offset-assert 14) + (center vector :inline :offset-assert 0) + (radius-x float :offset-assert 16) + (radius-y float :offset-assert 20) + (radius-z float :offset-assert 24) + (left-offset uint16 :offset-assert 28) + (right-offset uint16 :offset-assert 30) + (num-tris uint32 :offset-assert 28) + (radius vector :inline :offset-assert 16) + (scale-x float :offset-assert 32) + (first-tris UNKNOWN 4 :offset-assert 36) + (scale-z float :offset-assert 40) + (last-tris UNKNOWN 4 :offset-assert 44) + (scale vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype nav-lookup-elem (structure) + ((vec vector :inline :offset-assert 0) + (y-thresh float :offset-assert 12) + (time uint32 :offset-assert 16) + (node-offset uint32 :offset-assert 20) + (lookup-type uint8 :offset-assert 24) + (poly-ind uint8 :offset-assert 25) + (dummy0 uint16 :offset-assert 26) + (dummy uint32 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype nav-mesh (basic) + ((user-list basic :offset-assert 4) + (poly-lookup-history UNKNOWN 2 :offset-assert 8) + (debug-time uint8 :offset-assert 10) + (static-sphere-count uint8 :offset-assert 11) + (static-sphere uint32 :offset-assert 12) + (bounds sphere :inline :offset-assert 16) + (origin vector :inline :offset-assert 32) + (cache UNKNOWN 4 :offset-assert 48) + (node-count int32 :offset-assert 176) + (nodes uint32 :offset-assert 180) + (vertex-count int32 :offset-assert 184) + (vertex uint32 :offset-assert 188) + (poly-count int32 :offset-assert 192) + (poly uint32 :offset-assert 196) + (route uint32 :offset-assert 200) + ) + :method-count-assert 30 + :size-assert #xcc + :flag-assert #x1e000000cc + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype check-vector-collision-with-nav-spheres-info (structure) + ((u float :offset-assert 0) + (intersect vector :inline :offset-assert 16) + (normal vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype nav-gap-info (structure) + ((dest vector :inline :offset-assert 0) + (poly nav-poly :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype nav-control (basic) + ((flags uint32 :offset-assert 4) + (process basic :offset-assert 8) + (shape basic :offset-assert 12) + (mesh basic :offset-assert 16) + (gap-event basic :offset-assert 20) + (block-event basic :offset-assert 24) + (current-poly nav-poly :offset-assert 28) + (next-poly nav-poly :offset-assert 32) + (target-poly nav-poly :offset-assert 36) + (portal UNKNOWN 2 :offset-assert 40) + (nearest-y-threshold meters :offset-assert 48) + (event-temp vector :inline :offset-assert 64) + (old-travel vector :inline :offset-assert 80) + (blocked-travel vector :inline :offset-assert 96) + (prev-pos vector :inline :offset-assert 112) + (extra-nav-sphere vector :inline :offset-assert 128) + (travel vector :inline :offset-assert 144) + (target-pos vector :inline :offset-assert 160) + (destination-pos vector :inline :offset-assert 176) + (block-time uint64 :offset-assert 192) + (block-count float :offset-assert 200) + (user-poly nav-poly :offset-assert 204) + (nav-cull-radius float :offset-assert 208) + (num-spheres int16 :offset-assert 212) + (max-spheres int16 :offset-assert 214) + (sphere UNKNOWN :dynamic :offset-assert 224) + ) + :method-count-assert 36 + :size-assert #xe0 + :flag-assert #x24000000e0 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + ) + ) + + +;; ---------------------- +;; File - load-dgo +;; Source Path - engine/load/load-dgo.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype load-dgo-msg (structure) + ((rsvd uint16 :offset-assert 0) + (result uint16 :offset-assert 2) + (b1 uint32 :offset-assert 4) + (b2 uint32 :offset-assert 8) + (bt uint32 :offset-assert 12) + (name uint128 :offset-assert 16) + (address uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype load-chunk-msg (structure) + ((rsvd uint16 :offset-assert 0) + (result uint16 :offset-assert 2) + (address uint32 :offset-assert 4) + (section uint32 :offset-assert 8) + (maxlen uint32 :offset-assert 12) + (basename UNKNOWN 48 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype dgo-header (structure) + ((length uint32 :offset-assert 0) + (rootname UNKNOWN 60 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + + +;; ---------------------- +;; File - ramdisk +;; Source Path - engine/load/ramdisk.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype ramdisk-rpc-fill (structure) + ((rsvd1 int32 :offset-assert 0) + (ee-id int32 :offset-assert 4) + (rsvd2 UNKNOWN 2 :offset-assert 8) + (filename uint128 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype ramdisk-rpc-load (structure) + ((rsvd int32 :offset-assert 0) + (ee-id int32 :offset-assert 4) + (offset uint32 :offset-assert 8) + (length uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype ramdisk-rpc-load-to-ee (structure) + ((rsvd int32 :offset-assert 0) + (addr int32 :offset-assert 4) + (offset int32 :offset-assert 8) + (length int32 :offset-assert 12) + (filename uint128 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + + +;; ---------------------- +;; File - gsound +;; Source Path - engine/sound/gsound.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sound-iop-info (basic) + ((frame uint32 :offset-assert 16) + (strpos int32 :offset-assert 20) + (str-id uint32 :offset-assert 24) + (str-id-sign int32 :offset-assert 24) + (freemem uint32 :offset-assert 28) + (chinfo UNKNOWN 48 :offset-assert 32) + (freemem2 uint32 :offset-assert 80) + (times UNKNOWN 41 :offset-assert 84) + (times-seq uint32 :offset-assert 248) + ) + :method-count-assert 9 + :size-assert #xfc + :flag-assert #x9000000fc + ) + + +;; ---------------------- +;; File - transformq +;; Source Path - engine/math/transformq.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide-func +;; Source Path - engine/collide/collide-func.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - joint +;; Source Path - engine/anim/joint.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cylinder +;; Source Path - engine/geometry/cylinder.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype cylinder-verts (structure) + ((vert UNKNOWN 24 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x180 + :flag-assert #x900000180 + ) + +(deftype cylinder-flat-verts (structure) + ((vert UNKNOWN 10 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #xa0 + :flag-assert #x9000000a0 + ) + + +;; ---------------------- +;; File - wind +;; Source Path - engine/gfx/wind.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - bsp +;; Source Path - engine/gfx/vis/bsp.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - subdivide +;; Source Path - engine/gfx/tfrag/subdivide.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sprite +;; Source Path - engine/gfx/sprite/sprite.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sprite-header (structure) + ((header UNKNOWN 1 :offset-assert 0) + (num-sprites int32 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype sprite-hvdf-data (structure) + ((data UNKNOWN 76 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x4c0 + :flag-assert #x9000004c0 + ) + +(deftype sprite-hvdf-control (structure) + ((alloc UNKNOWN 76 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x4c + :flag-assert #x90000004c + ) + +(deftype sprite-aux-list (basic) + ((num-entries int32 :offset-assert 4) + (entry int32 :offset-assert 8) + (data UNKNOWN 1 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype sprite-frame-data (structure) + ((data UNKNOWN 41 :offset-assert 0) + (cdata UNKNOWN 16 :offset-assert 0) + (fdata UNKNOWN 25 :offset-assert 256) + (xy-array UNKNOWN 8 :offset-assert 0) + (st-array UNKNOWN 4 :offset-assert 128) + (xyz-array UNKNOWN 4 :offset-assert 192) + (hmge-scale vector :inline :offset-assert 256) + (consts vector :inline :offset-assert 272) + (pfog0 float :offset-assert 272) + (deg-to-rad float :offset-assert 276) + (min-scale float :offset-assert 280) + (inv-area float :offset-assert 284) + (adgif-giftag qword :inline :offset-assert 288) + (sprite-2d-giftag qword :inline :offset-assert 304) + (sprite-2d-giftag-2 qword :inline :offset-assert 320) + (sincos-01 vector :inline :offset-assert 336) + (sincos-23 vector :inline :offset-assert 352) + (sincos-45 vector :inline :offset-assert 368) + (sincos-67 vector :inline :offset-assert 384) + (sincos-89 vector :inline :offset-assert 400) + (basis-x vector :inline :offset-assert 416) + (basis-y vector :inline :offset-assert 432) + (sprite-3d-giftag qword :inline :offset-assert 448) + (screen-shader adgif-shader :inline :offset-assert 464) + (clipped-giftag qword :inline :offset-assert 544) + (inv-hmge-scale vector :inline :offset-assert 560) + (stq-offset vector :inline :offset-assert 576) + (stq-scale vector :inline :offset-assert 592) + (rgba-plain qword :inline :offset-assert 608) + (warp-giftag qword :inline :offset-assert 624) + (fog-clamp vector :inline :offset-assert 640) + (fog-min float :offset-assert 640) + (fog-max float :offset-assert 644) + (max-scale float :offset-assert 648) + ) + :method-count-assert 9 + :size-assert #x290 + :flag-assert #x900000290 + ) + + +;; ---------------------- +;; File - sprite-distort +;; Source Path - engine/gfx/sprite/sprite-distort.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sprite-distorter-sine-tables (basic) + ((aspx float :offset-assert 4) + (aspy float :offset-assert 8) + (entry UNKNOWN 128 :offset-assert 16) + (ientry UNKNOWN 9 :offset-assert 2064) + (giftag qword :inline :offset-assert 2208) + (color qword :inline :offset-assert 2224) + ) + :method-count-assert 9 + :size-assert #x8c0 + :flag-assert #x9000008c0 + ) + + +;; ---------------------- +;; File - debug-sphere +;; Source Path - engine/debug/debug-sphere.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype debug-sphere-table (basic) + ((point UNKNOWN 300 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x12d0 + :flag-assert #x9000012d0 + ) + + +;; ---------------------- +;; File - debug +;; Source Path - engine/debug/debug.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype debug-line (structure) + ((flags int32 :offset-assert 0) + (bucket int32 :offset-assert 4) + (v1 vector :inline :offset-assert 16) + (v2 vector :inline :offset-assert 32) + (color uint32 :offset-assert 48) + (mode basic :offset-assert 52) + (color2 uint32 :offset-assert 56) + ) + :method-count-assert 9 + :size-assert #x3c + :flag-assert #x90000003c + ) + +(deftype debug-text-3d (structure) + ((flags int32 :offset-assert 0) + (bucket int32 :offset-assert 4) + (pos vector :inline :offset-assert 16) + (color uint64 :offset-assert 32) + (offset vector2h :inline :offset-assert 40) + (str basic :offset-assert 44) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype debug-tracking-thang (basic) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + + +;; ---------------------- +;; File - merc-vu1 +;; Source Path - engine/gfx/merc/merc-vu1.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - merc-blend-shape +;; Source Path - engine/gfx/merc/merc-blend-shape.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype blerc-block-header (structure) + ((tag generic-merc-tag :inline :offset-assert 0) + (vtx-count uint32 :offset-assert 16) + (overlap uint32 :offset-assert 20) + (lump-dest uint32 :offset-assert 24) + (lump-qwc uint32 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype blerc-block (structure) + ((output UNKNOWN 848 :offset-assert 0) + (header blerc-block-header :inline :offset-assert 848) + ) + :method-count-assert 9 + :size-assert #x370 + :flag-assert #x900000370 + ) + +(deftype blerc-dcache (structure) + ((repl-mult UNKNOWN 40 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x280 + :flag-assert #x900000280 + ) + +(deftype blerc-globals (structure) + ((first uint32 :offset-assert 0) + (next uint32 :offset-assert 4) + (min-val int16 :offset-assert 8) + (max-val int16 :offset-assert 10) + (fragment-count int32 :offset-assert 12) + (vtx-count int32 :offset-assert 16) + (target-vtx-count int32 :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype blerc-context (structure) + ((block-a blerc-block :inline :offset-assert 0) + (dummy UNKNOWN 7312 :offset-assert 880) + (block-b blerc-block :inline :offset-assert 8192) + ) + :method-count-assert 9 + :size-assert #x2370 + :flag-assert #x900002370 + ) + + +;; ---------------------- +;; File - merc +;; Source Path - engine/gfx/merc/merc.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ripple +;; Source Path - engine/gfx/ripple.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype ripple-request (structure) + ((waveform basic :offset-assert 0) + (effect merc-effect :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype ripple-globals (structure) + ((count int32 :offset-assert 0) + (requests UNKNOWN 16 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x84 + :flag-assert #x900000084 + ) + + +;; ---------------------- +;; File - bones +;; Source Path - engine/anim/bones.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype texscroll-globals (structure) + ((requests int32 :offset-assert 0) + (effects UNKNOWN 32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x84 + :flag-assert #x900000084 + ) + +(deftype merc-effect-bucket-info (structure) + ((color-fade uint32 :offset-assert 0) + (use-mercneric uint8 :offset-assert 4) + (ignore-alpha uint8 :offset-assert 5) + (pad0 uint8 :offset-assert 6) + (pad1 uint8 :offset-assert 7) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype merc-bucket-info (structure) + ((light vu-lights :inline :offset-assert 0) + (needs-clip int32 :offset-assert 112) + (effect UNKNOWN 16 :offset-assert 116) + ) + :method-count-assert 9 + :size-assert #xf4 + :flag-assert #x9000000f4 + ) + + +;; ---------------------- +;; File - generic-vu0 +;; Source Path - engine/gfx/generic/generic-vu0.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - generic +;; Source Path - engine/gfx/generic/generic.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - generic-vu1 +;; Source Path - engine/gfx/generic/generic-vu1.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - generic-effect +;; Source Path - engine/gfx/generic/generic-effect.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - generic-merc +;; Source Path - engine/gfx/generic/generic-merc.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype invinitdata (structure) + ((count uint8 :offset-assert 0) + (init-data uint8 :offset-assert 1) + (init-addr uint16 :offset-assert 2) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + + +;; ---------------------- +;; File - generic-tie +;; Source Path - engine/gfx/generic/generic-tie.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - shadow-cpu +;; Source Path - engine/gfx/shadow/shadow-cpu.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype shadow-stats (structure) + ((num-single-tris uint32 :offset-assert 0) + (num-double-tris uint32 :offset-assert 4) + (num-single-edges uint32 :offset-assert 8) + (num-double-edges uint32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype shadow-dcache (structure) + ((vtx-table uint32 :offset-assert 0) + (single-edge-table uint32 :offset-assert 4) + (double-edge-table uint32 :offset-assert 8) + (double-tri-table uint32 :offset-assert 12) + (dcache-top uint32 :offset-assert 16) + (num-facing-single-tris uint32 :offset-assert 20) + (num-single-edges uint32 :offset-assert 24) + (num-double-edges uint32 :offset-assert 28) + (single-tri-list uint32 :offset-assert 32) + (single-edge-list uint32 :offset-assert 36) + (double-edge-list uint32 :offset-assert 40) + (ptr-dual-verts uint32 :offset-assert 44) + (stats shadow-stats :inline :offset-assert 48) + (center vector :inline :offset-assert 64) + (plane vector :inline :offset-assert 80) + (top-plane vector :inline :offset-assert 96) + (near-plane vector :inline :offset-assert 112) + (light-dir vector :inline :offset-assert 128) + (vtx-min vector :inline :offset-assert 144) + (data UNKNOWN :dynamic :offset-assert 160) + ) + :method-count-assert 9 + :size-assert #xa0 + :flag-assert #x9000000a0 + ) + + +;; ---------------------- +;; File - shadow-vu1 +;; Source Path - engine/gfx/shadow/shadow-vu1.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype shadow-vu1-constants (structure) + ((hmgescale vector :inline :offset-assert 0) + (invhscale vector :inline :offset-assert 16) + (texoffset vector :inline :offset-assert 32) + (texscale vector :inline :offset-assert 48) + (hvdfoff vector :inline :offset-assert 64) + (fog vector :inline :offset-assert 80) + (clrs UNKNOWN 2 :offset-assert 96) + (adgif gs-gif-tag :inline :offset-assert 128) + (texflush ad-cmd :inline :offset-assert 144) + (flush ad-cmd :inline :offset-assert 160) + (trigif gs-gif-tag :inline :offset-assert 176) + (quadgif gs-gif-tag :inline :offset-assert 192) + ) + :method-count-assert 9 + :size-assert #xd0 + :flag-assert #x9000000d0 + ) + +(deftype shadow-vu1-gifbuf-template (structure) + ((adgif gs-gif-tag :inline :offset-assert 0) + (ad ad-cmd :inline :offset-assert 16) + (flush ad-cmd :inline :offset-assert 32) + (trigif gs-gif-tag :inline :offset-assert 48) + (quadgif gs-gif-tag :inline :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + + +;; ---------------------- +;; File - depth-cue +;; Source Path - engine/gfx/depth-cue.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - font +;; Source Path - engine/gfx/font.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - decomp +;; Source Path - engine/load/decomp.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype huf-dictionary-node (structure) + ((zero uint16 :offset-assert 0) + (one uint16 :offset-assert 2) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + + +;; ---------------------- +;; File - background +;; Source Path - engine/gfx/background.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - draw-node +;; Source Path - engine/draw/draw-node.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - shrubbery +;; Source Path - engine/gfx/shrub/shrubbery.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - shrub-work +;; Source Path - engine/gfx/shrub/shrub-work.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tfrag-near +;; Source Path - engine/gfx/tfrag/tfrag-near.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tfrag +;; Source Path - engine/gfx/tfrag/tfrag.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tfrag-methods +;; Source Path - engine/gfx/tfrag/tfrag-methods.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tfrag-work +;; Source Path - engine/gfx/tfrag/tfrag-work.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tie +;; Source Path - engine/gfx/tie/tie.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype tie-consts (structure) + ((data UNKNOWN 24 :offset-assert 0) + (vector UNKNOWN 6 :offset-assert 0) + (quads UNKNOWN 6 :offset-assert 0) + (adgif qword :inline :offset-assert 0) + (strgif qword :inline :offset-assert 16) + (extra qword :inline :offset-assert 32) + (gifbufs qword :inline :offset-assert 48) + (clrbufs qword :inline :offset-assert 64) + (misc qword :inline :offset-assert 80) + (atestgif qword :inline :offset-assert 96) + (atest UNKNOWN 2 :offset-assert 112) + (atest-tra ad-cmd :inline :offset-assert 112) + (atest-def ad-cmd :inline :offset-assert 128) + ) + :method-count-assert 9 + :size-assert #x90 + :flag-assert #x900000090 + ) + + +;; ---------------------- +;; File - tie-near +;; Source Path - engine/gfx/tie/tie-near.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype tie-near-consts (structure) + ((extra qword :inline :offset-assert 0) + (gifbufs qword :inline :offset-assert 16) + (clrbufs qword :inline :offset-assert 32) + (adgif qword :inline :offset-assert 48) + (strgif qword :inline :offset-assert 64) + (fangif qword :inline :offset-assert 80) + (hvdfoffs vector :inline :offset-assert 96) + (invhscale vector :inline :offset-assert 112) + (guard vector :inline :offset-assert 128) + (atest UNKNOWN 2 :offset-assert 144) + (atest-tra ad-cmd :inline :offset-assert 144) + (atest-def ad-cmd :inline :offset-assert 160) + ) + :method-count-assert 9 + :size-assert #xb0 + :flag-assert #x9000000b0 + ) + + +;; ---------------------- +;; File - tie-work +;; Source Path - engine/gfx/tie/tie-work.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tie-methods +;; Source Path - engine/gfx/tie/tie-methods.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype tie-instance-debug (structure) + ((max-instance uint32 :offset-assert 0) + (min-instance uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + + +;; ---------------------- +;; File - sync-info +;; Source Path - engine/util/sync-info.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - trajectory +;; Source Path - engine/physics/trajectory.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sparticle-launcher +;; Source Path - engine/sparticle/sparticle-launcher.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sparticle-birthinfo (structure) + ((sprite uint32 :offset-assert 0) + (anim int32 :offset-assert 4) + (anim-speed float :offset-assert 8) + (birth-func basic :offset-assert 12) + (joint-ppoint int32 :offset-assert 16) + (num-to-birth float :offset-assert 20) + (sound basic :offset-assert 24) + (dataf UNKNOWN 1 :offset-assert 0) + (data UNKNOWN 1 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x1c + :flag-assert #x90000001c + ) + +(deftype sp-queued-launch-particles (structure) + ((sp-system basic :offset-assert 0) + (sp-launcher basic :offset-assert 4) + (pos vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype sp-launch-queue (basic) + ((in-use int32 :offset-assert 4) + (queue UNKNOWN 32 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x410 + :flag-assert #x900000410 + ) + +(deftype particle-adgif-cache (basic) + ((used int32 :offset-assert 4) + (tid UNKNOWN 64 :offset-assert 8) + (spadgif UNKNOWN 64 :offset-assert 272) + ) + :method-count-assert 9 + :size-assert #x1510 + :flag-assert #x900001510 + ) + + +;; ---------------------- +;; File - sparticle +;; Source Path - engine/sparticle/sparticle.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - entity-table +;; Source Path - engine/entity/entity-table.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - loader +;; Source Path - engine/load/loader.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - task-control-h +;; Source Path - engine/game/task/task-control-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype task-cstage (structure) + ((game-task uint8 :offset-assert 0) + (status uint64 :offset-assert 8) + (flags uint8 :offset-assert 16) + (condition basic :offset-assert 20) + ) + :method-count-assert 16 + :size-assert #x18 + :flag-assert #x1000000018 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + ) + ) + +(deftype task-control (basic) + ((current-stage int16 :offset-assert 4) + (stage basic :offset-assert 8) + ) + :method-count-assert 19 + :size-assert #xc + :flag-assert #x130000000c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + ) + ) + +(deftype ambient-control (structure) + ((last-ambient-time uint64 :offset-assert 0) + (last-ambient basic :offset-assert 8) + (last-ambient-id uint32 :offset-assert 12) + ) + :method-count-assert 12 + :size-assert #x10 + :flag-assert #xc00000010 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + +(deftype process-taskable (process-drawable) + ((tasks basic :offset-assert 176) + (query gui-query :inline :offset-assert 180) + (old-target-pos transformq :inline :offset-assert 208) + (cell-for-task uint8 :offset-assert 256) + (cell-x uint64 :offset-assert 264) + (cam-joint-index int32 :offset-assert 272) + (skippable basic :offset-assert 276) + (blend-on-exit basic :offset-assert 280) + (camera uint64 :offset-assert 288) + (will-talk basic :offset-assert 296) + (talk-message uint32 :offset-assert 300) + (last-talk uint64 :offset-assert 304) + (bounce-away basic :offset-assert 312) + (ambient ambient-control :inline :offset-assert 320) + (center-joint-index int32 :offset-assert 336) + (draw-bounds-y-offset float :offset-assert 340) + (neck-joint-index int32 :offset-assert 344) + (fuel-cell-anim basic :offset-assert 348) + (sound-flava uint8 :offset-assert 352) + (have-flava basic :offset-assert 356) + (been-kicked basic :offset-assert 360) + (cur-trans-hook basic :offset-assert 364) + ) + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - game-info +;; Source Path - engine/game/game-info.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - game-save +;; Source Path - engine/game/game-save.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype game-save-tag (structure) + ((user-object UNKNOWN 2 :offset-assert 0) + (user-uint64 uint64 :offset-assert 0) + (user-float0 float :offset-assert 0) + (user-float UNKNOWN 2 :offset-assert 0) + (user-int32 UNKNOWN 2 :offset-assert 0) + (user-uint32 UNKNOWN 2 :offset-assert 0) + (user-int16 UNKNOWN 4 :offset-assert 0) + (user-uint16 UNKNOWN 4 :offset-assert 0) + (user-int8 UNKNOWN 8 :offset-assert 0) + (user-int80 int8 :offset-assert 0) + (user-int81 int8 :offset-assert 1) + (user-uint8 UNKNOWN 8 :offset-assert 0) + (elt-count int32 :offset-assert 8) + (elt-size uint16 :offset-assert 12) + (elt-type uint16 :offset-assert 14) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype game-save (basic) + ((version int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (length int32 :offset-assert 12) + (info-int32 UNKNOWN 16 :offset-assert 16) + (info-int8 UNKNOWN 64 :offset-assert 16) + (level-index int32 :offset-assert 16) + (fuel-cell-count float :offset-assert 20) + (money-count float :offset-assert 24) + (buzzer-count float :offset-assert 28) + (completion-percentage float :offset-assert 32) + (minute uint8 :offset-assert 36) + (hour uint8 :offset-assert 37) + (week uint8 :offset-assert 38) + (day uint8 :offset-assert 39) + (month uint8 :offset-assert 40) + (year uint8 :offset-assert 41) + (tag UNKNOWN :dynamic :offset-assert 80) + ) + :method-count-assert 12 + :size-assert #x50 + :flag-assert #xc00000050 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + +(deftype auto-save (process) + ((card int32 :offset-assert 112) + (slot int32 :offset-assert 116) + (which int32 :offset-assert 120) + (buffer kheap :offset-assert 124) + (mode basic :offset-assert 128) + (result uint32 :offset-assert 132) + (save basic :offset-assert 136) + (info mc-slot-info :inline :offset-assert 140) + (notify uint64 :offset-assert 440) + (state-time uint64 :offset-assert 448) + ) + :method-count-assert 23 + :size-assert #x1c8 + :flag-assert #x17016001c8 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + ) + ) + + +;; ---------------------- +;; File - settings +;; Source Path - engine/game/settings.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - mood-tables +;; Source Path - engine/ambient/mood-tables.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - mood +;; Source Path - engine/ambient/mood.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype flames-state (structure) + ((index uint8 :offset-assert 0) + (time uint8 :offset-assert 1) + (length uint8 :offset-assert 2) + (height uint8 :offset-assert 3) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype lightning-state (structure) + ((val uint8 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x1 + :flag-assert #x900000001 + ) + +(deftype light-time-state (structure) + ((time uint8 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x1 + :flag-assert #x900000001 + ) + +(deftype light-state (structure) + ((fade uint8 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x1 + :flag-assert #x900000001 + ) + +(deftype lava-state (structure) + ((scale UNKNOWN 4 :offset-assert 0) + (time uint8 :offset-assert 16) + (last-index uint8 :offset-assert 17) + ) + :method-count-assert 9 + :size-assert #x12 + :flag-assert #x900000012 + ) + +(deftype misty-states (structure) + ((flames0 flames-state :inline :offset-assert 0) + (flames1 flames-state :inline :offset-assert 4) + (light0 light-state :inline :offset-assert 8) + (light1 light-state :inline :offset-assert 9) + (time0 light-time-state :inline :offset-assert 10) + (time1 light-time-state :inline :offset-assert 11) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype swamp-village2-states (structure) + ((flames0 flames-state :inline :offset-assert 0) + (flames1 flames-state :inline :offset-assert 4) + (lightning lightning-state :inline :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #x9 + :flag-assert #x900000009 + ) + +(deftype village1-states (structure) + ((flames flames-state :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype jungle-states (structure) + ((light light-state :inline :offset-assert 0) + (time light-time-state :inline :offset-assert 1) + (one-shot uint8 :offset-assert 2) + ) + :method-count-assert 9 + :size-assert #x3 + :flag-assert #x900000003 + ) + +(deftype sunken-states (structure) + ((light light-state :inline :offset-assert 0) + (time light-time-state :inline :offset-assert 1) + ) + :method-count-assert 9 + :size-assert #x2 + :flag-assert #x900000002 + ) + +(deftype rolling-states (structure) + ((light0 light-state :inline :offset-assert 0) + (light1 light-state :inline :offset-assert 1) + (light2 light-state :inline :offset-assert 2) + (light3 light-state :inline :offset-assert 3) + (time light-time-state :inline :offset-assert 4) + (lightning lightning-state :inline :offset-assert 5) + ) + :method-count-assert 9 + :size-assert #x6 + :flag-assert #x900000006 + ) + +(deftype firecanyon-states (structure) + ((lava lava-state :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x12 + :flag-assert #x900000012 + ) + +(deftype training-states (structure) + ((light light-state :inline :offset-assert 0) + (time light-time-state :inline :offset-assert 1) + ) + :method-count-assert 9 + :size-assert #x2 + :flag-assert #x900000002 + ) + +(deftype maincave-states (structure) + ((flames0 flames-state :inline :offset-assert 0) + (flames1 flames-state :inline :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype robocave-states (structure) + ((flames0 flames-state :inline :offset-assert 0) + (flames1 flames-state :inline :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype snow-states (structure) + ((flames flames-state :inline :offset-assert 0) + (light light-state :inline :offset-assert 4) + (time light-time-state :inline :offset-assert 5) + (one-shot uint8 :offset-assert 6) + ) + :method-count-assert 9 + :size-assert #x7 + :flag-assert #x900000007 + ) + + +;; ---------------------- +;; File - weather-part +;; Source Path - engine/ambient/weather-part.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - time-of-day +;; Source Path - engine/gfx/time-of-day.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sky-utils +;; Source Path - engine/gfx/sky/sky-utils.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sky +;; Source Path - engine/gfx/sky/sky.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sky-frame-data (structure) + ((data UNKNOWN 18 :offset-assert 0) + (world-homo-matrix matrix :inline :offset-assert 0) + (hmge-scale vector :inline :offset-assert 64) + (hvdf-offset vector :inline :offset-assert 80) + (consts vector :inline :offset-assert 96) + (pfog0 float :offset-assert 96) + (radius float :offset-assert 100) + (nokick float :offset-assert 108) + (strip-giftag qword :inline :offset-assert 112) + (col-adgif qword :inline :offset-assert 128) + (save UNKNOWN 5 :offset-assert 144) + (sun-fan-giftag qword :inline :offset-assert 224) + (sun-strip-giftag qword :inline :offset-assert 240) + (sun-alpha qword :inline :offset-assert 256) + (sun-alpha-giftag qword :inline :offset-assert 272) + ) + :method-count-assert 9 + :size-assert #x120 + :flag-assert #x900000120 + ) + + +;; ---------------------- +;; File - sky-tng +;; Source Path - engine/gfx/sky/sky-tng.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - load-boundary-h +;; Source Path - engine/level/load-boundary-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype lbvtx (structure) + ((x float :offset-assert 0) + (y float :offset-assert 4) + (z float :offset-assert 8) + (v0 uint8 :offset-assert 12) + (v1 uint8 :offset-assert 13) + (v2 uint8 :offset-assert 14) + (ix uint8 :offset-assert 15) + (quad uint128 :offset-assert 0) + (v vector :inline :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype load-boundary-crossing-command (structure) + ((cmd uint8 :offset-assert 0) + (bparm UNKNOWN 3 :offset-assert 1) + (parm UNKNOWN 2 :offset-assert 4) + (lev0 basic :offset-assert 4) + (lev1 basic :offset-assert 8) + (displev basic :offset-assert 4) + (dispcmd basic :offset-assert 8) + (nick basic :offset-assert 4) + (forcelev basic :offset-assert 4) + (forceonoff basic :offset-assert 8) + (checkname basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype load-boundary (basic) + ((num-points uint16 :offset-assert 4) + (flags uint8 :offset-assert 6) + (top-plane float :offset-assert 8) + (bot-plane float :offset-assert 12) + (tri-cnt int32 :offset-assert 16) + (next basic :offset-assert 20) + (cmd-fwd load-boundary-crossing-command :inline :offset-assert 24) + (cmd-bwd load-boundary-crossing-command :inline :offset-assert 36) + (rejector vector :inline :offset-assert 48) + (data UNKNOWN 1 :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + + +;; ---------------------- +;; File - load-boundary +;; Source Path - engine/level/load-boundary.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype lb-editor-parms (basic) + ((boundary basic :offset-assert 4) + (vertex int32 :offset-assert 8) + (x-origin float :offset-assert 12) + (z-origin float :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + + +;; ---------------------- +;; File - load-boundary-data +;; Source Path - engine/level/load-boundary-data.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - level-info +;; Source Path - engine/level/level-info.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - level +;; Source Path - engine/level/level.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - text +;; Source Path - engine/ui/text.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide-probe +;; Source Path - engine/collide/collide-probe.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype collide-probe-stack-elem (structure) + ((child uint32 :offset-assert 0) + (count uint32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype collide-probe-stack (structure) + ((data UNKNOWN 1024 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x4000 + :flag-assert #x900004000 + ) + + +;; ---------------------- +;; File - collide-frag +;; Source Path - engine/collide/collide-frag.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide-mesh +;; Source Path - engine/collide/collide-mesh.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype sopt-work (structure) + ((intersect vector :inline :offset-assert 0) + (sphere-bbox4w bounding-box4w :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype spat-work (structure) + ((intersect vector :inline :offset-assert 0) + (sphere-bbox4w bounding-box4w :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype oot-work (structure) + ((intersect vector :inline :offset-assert 0) + (sphere-bbox4w bounding-box4w :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + + +;; ---------------------- +;; File - collide-touch +;; Source Path - engine/collide/collide-touch.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype add-prims-touching-work (structure) + ((tri1 collide-tri-result :offset-assert 0) + (tri2 collide-tri-result :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + + +;; ---------------------- +;; File - collide-edge-grab +;; Source Path - engine/collide/collide-edge-grab.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype pbhp-stack-vars (structure) + ((edge collide-edge-edge :offset-assert 0) + (allocated basic :offset-assert 4) + (neg-hold-pt vector :inline :offset-assert 16) + (split-vec vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + + +;; ---------------------- +;; File - collide-shape +;; Source Path - engine/collide/collide-shape.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide-shape-rider +;; Source Path - engine/collide/collide-shape-rider.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide +;; Source Path - engine/collide/collide.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide-planes +;; Source Path - engine/collide/collide-planes.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - merc-death +;; Source Path - engine/gfx/merc/merc-death.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype death-info (basic) + ((vertex-skip uint16 :offset-assert 4) + (timer uint8 :offset-assert 6) + (effect uint32 :offset-assert 8) + (sound basic :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - water-h +;; Source Path - engine/gfx/water/water-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype water-control (basic) + ((flags uint32 :offset-assert 4) + (process basic :offset-assert 8) + (joint-index int32 :offset-assert 12) + (top-y-offset float :offset-assert 16) + (ripple-size meters :offset-assert 20) + (enter-water-time uint64 :offset-assert 24) + (wade-time uint64 :offset-assert 32) + (on-water-time uint64 :offset-assert 40) + (enter-swim-time uint64 :offset-assert 48) + (swim-time uint64 :offset-assert 56) + (base-height meters :offset-assert 64) + (wade-height meters :offset-assert 68) + (swim-height meters :offset-assert 72) + (surface-height meters :offset-assert 76) + (bottom-height meters :offset-assert 80) + (height meters :offset-assert 84) + (height-offset UNKNOWN 4 :offset-assert 88) + (real-ocean-offset meters :offset-assert 88) + (ocean-offset meters :offset-assert 92) + (bob-offset meters :offset-assert 96) + (align-offset meters :offset-assert 100) + (swim-depth meters :offset-assert 104) + (bob smush-control :inline :offset-assert 112) + (volume uint64 :offset-assert 144) + (bottom UNKNOWN 2 :offset-assert 160) + (top UNKNOWN 2 :offset-assert 192) + (enter-water-pos vector :inline :offset-assert 224) + (drip-old-pos vector :inline :offset-assert 240) + (drip-joint-index int32 :offset-assert 256) + (drip-wetness float :offset-assert 260) + (drip-time uint64 :offset-assert 264) + (drip-speed float :offset-assert 272) + (drip-height meters :offset-assert 276) + (drip-mult float :offset-assert 280) + ) + :method-count-assert 17 + :size-assert #x11c + :flag-assert #x110000011c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + ) + ) + +(deftype water-vol (process-drawable) + ((water-height meters :offset-assert 176) + (wade-height meters :offset-assert 180) + (swim-height meters :offset-assert 184) + (bottom-height meters :offset-assert 188) + (attack-event basic :offset-assert 192) + (target uint64 :offset-assert 200) + (flags uint32 :offset-assert 208) + ) + :method-count-assert 30 + :size-assert #xd4 + :flag-assert #x1e007000d4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - camera +;; Source Path - engine/camera/camera.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cam-interface +;; Source Path - engine/camera/cam-interface.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cam-master +;; Source Path - engine/camera/cam-master.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype camera-master-bank (basic) + ((onscreen-head-height meters :offset-assert 4) + (onscreen-foot-height meters :offset-assert 8) + (target-height meters :offset-assert 12) + (up-move-to-pitch-ratio-in-air float :offset-assert 16) + (down-move-to-pitch-ratio-in-air float :offset-assert 20) + (up-move-to-pitch-on-ground float :offset-assert 24) + (down-move-to-pitch-on-ground float :offset-assert 28) + (pitch-off-blend float :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x24 + :flag-assert #x900000024 + ) + +(deftype list-keeper (process) + ((dummy float :offset-assert 112) + ) + :method-count-assert 14 + :size-assert #x74 + :flag-assert #xe00100074 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + + +;; ---------------------- +;; File - cam-states +;; Source Path - engine/camera/cam-states.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype cam-eye-bank (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype cam-billy-bank (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype cam-string-bank (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype los-dist (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype collide-los-dist-info (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype collide-los-result (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype cam-stick-bank (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype cam-bike-bank (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + + +;; ---------------------- +;; File - cam-states-dbg +;; Source Path - engine/camera/cam-states-dbg.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype cam-point-watch-bank (basic) + ((speed float :offset-assert 4) + (rot-speed deg :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype cam-free-bank (basic) + ((speed float :offset-assert 4) + (rot-speed deg :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype camera-free-floating-move-info (structure) + ((rv vector :inline :offset-assert 0) + (tv vector :inline :offset-assert 16) + (up vector :inline :offset-assert 32) + (tm matrix :inline :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype camera-orbit-info (structure) + ((radius float :offset-assert 0) + (rot float :offset-assert 4) + (target-off vector :inline :offset-assert 16) + (orbit-off vector :inline :offset-assert 32) + (radius-lerp float :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x34 + :flag-assert #x900000034 + ) + +(deftype CAM_ORBIT-bank (basic) + ((RADIUS_MAX float :offset-assert 4) + (RADIUS_MIN float :offset-assert 8) + (TARGET_OFF_ADJUST float :offset-assert 12) + (ORBIT_OFF_ADJUST float :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + + +;; ---------------------- +;; File - cam-combiner +;; Source Path - engine/camera/cam-combiner.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cam-update +;; Source Path - engine/camera/cam-update.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - vol-h +;; Source Path - engine/geometry/vol-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype plane-volume (structure) + ((volume-type basic :offset-assert 0) + (point-count int16 :offset-assert 4) + (normal-count int16 :offset-assert 6) + (first-point vector :offset-assert 8) + (first-normal vector :offset-assert 12) + (num-planes int32 :offset-assert 16) + (plane uint32 :offset-assert 20) + ) + :method-count-assert 12 + :size-assert #x18 + :flag-assert #xc00000018 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + +(deftype vol-control (basic) + ((flags uint32 :offset-assert 4) + (process basic :offset-assert 8) + (pos-vol-count int32 :offset-assert 12) + (pos-vol UNKNOWN 32 :offset-assert 16) + (neg-vol-count int32 :offset-assert 784) + (neg-vol UNKNOWN 32 :offset-assert 788) + (debug-point basic :offset-assert 1556) + (debug-normal basic :offset-assert 1560) + ) + :method-count-assert 12 + :size-assert #x61c + :flag-assert #xc0000061c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + + +;; ---------------------- +;; File - cam-layout +;; Source Path - engine/camera/cam-layout.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype cam-layout (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process) parent was UNKNOWN + ) + +(deftype clm-list (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype clm (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype clmf-cam-flag-toggle-info (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype interp-test-info (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype cam-layout-bank (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype clm-basic (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype clm-item-action (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype clm-item (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype clm-list-item (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype volume-descriptor-array (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + + +;; ---------------------- +;; File - cam-debug +;; Source Path - engine/camera/cam-debug.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype cam-dbg-scratch (structure) + ((linevec4w UNKNOWN 2 :offset-assert 0) + (color vector :inline :offset-assert 32) + (plotvec UNKNOWN 2 :offset-assert 48) + (linevec UNKNOWN 2 :offset-assert 80) + (rel-vec vector :inline :offset-assert 112) + (sphere-v-start vector :inline :offset-assert 128) + (sphere-v-end vector :inline :offset-assert 144) + (sphere-v-down vector :inline :offset-assert 160) + (sphere-vec vector :inline :offset-assert 176) + (crossvec UNKNOWN 3 :offset-assert 192) + (bboxvec UNKNOWN 6 :offset-assert 240) + (fov-vv UNKNOWN 4 :offset-assert 336) + (fov-src vector :inline :offset-assert 400) + (fov-dest vector :inline :offset-assert 416) + (fov-vert vector :inline :offset-assert 432) + (fov-horz vector :inline :offset-assert 448) + ) + :method-count-assert 9 + :size-assert #x1d0 + :flag-assert #x9000001d0 + ) + +(deftype cam-debug-tri (structure) + ((vertex UNKNOWN 3 :offset-assert 0) + (intersect vector :inline :offset-assert 48) + (color vector4w :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x44 + :flag-assert #x900000044 + ) + +(deftype cam-collision-record (structure) + ((pos vector :inline :offset-assert 0) + (vel vector :inline :offset-assert 16) + (desired-pos vector :inline :offset-assert 32) + (cam-tpos-cur vector :inline :offset-assert 48) + (cam-tpos-old vector :inline :offset-assert 64) + (view-flat vector :inline :offset-assert 80) + (string-min-val vector :inline :offset-assert 96) + (string-max-val vector :inline :offset-assert 112) + (view-off vector :inline :offset-assert 128) + (min-z-override float :offset-assert 144) + (string-push-z float :offset-assert 148) + (view-off-param float :offset-assert 152) + (frame int32 :offset-assert 156) + (iteration int32 :offset-assert 160) + (move-type basic :offset-assert 164) + ) + :method-count-assert 9 + :size-assert #xa8 + :flag-assert #x9000000a8 + ) + +(deftype cam-collision-record-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - cam-start +;; Source Path - engine/camera/cam-start.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - process-drawable +;; Source Path - engine/draw/process-drawable.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - hint-control +;; Source Path - engine/game/task/hint-control.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ambient +;; Source Path - engine/ambient/ambient.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - assert +;; Source Path - engine/debug/assert.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - generic-obs +;; Source Path - engine/game/generic-obs.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype target-start (process-hidden) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype camera-start (process-hidden) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype med-res-level (process-drawable) + ((level basic :offset-assert 176) + (part-mode basic :offset-assert 180) + (index int32 :offset-assert 184) + ) + :method-count-assert 20 + :size-assert #xbc + :flag-assert #x14005000bc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype launcher (process-drawable) + ((spring-height meters :offset-assert 176) + (camera basic :offset-assert 180) + (active-distance float :offset-assert 184) + (seek-time uint64 :offset-assert 192) + (dest vector :inline :offset-assert 208) + (sound-id uint32 :offset-assert 224) + ) + :method-count-assert 20 + :size-assert #xe4 + :flag-assert #x14008000e4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - target-util +;; Source Path - engine/target/target-util.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype target-bank (basic) + ((jump-collide-offset meters :offset-assert 4) + (jump-height-min meters :offset-assert 8) + (jump-height-max meters :offset-assert 12) + (double-jump-height-min meters :offset-assert 16) + (double-jump-height-max meters :offset-assert 20) + (flip-jump-height-min meters :offset-assert 24) + (flip-jump-height-max meters :offset-assert 28) + (duck-jump-height-min meters :offset-assert 32) + (duck-jump-height-max meters :offset-assert 36) + (flop-jump-height-min meters :offset-assert 40) + (flop-jump-height-max meters :offset-assert 44) + (attack-jump-height-min meters :offset-assert 48) + (attack-jump-height-max meters :offset-assert 52) + (edge-grab-jump-height-min meters :offset-assert 56) + (edge-grab-jump-height-max meters :offset-assert 60) + (swim-jump-height-min meters :offset-assert 64) + (swim-jump-height-max meters :offset-assert 68) + (tube-jump-height-min meters :offset-assert 72) + (tube-jump-height-max meters :offset-assert 76) + (wheel-duration uint64 :offset-assert 80) + (wheel-jump-pre-window uint64 :offset-assert 88) + (wheel-jump-post-window uint64 :offset-assert 96) + (wheel-timeout uint64 :offset-assert 104) + (wheel-speed-min meters :offset-assert 112) + (wheel-speed-inc meters :offset-assert 116) + (wheel-flip-duration uint64 :offset-assert 120) + (wheel-flip-height meters :offset-assert 128) + (wheel-flip-dist meters :offset-assert 132) + (wheel-flip-art-height meters :offset-assert 136) + (wheel-flip-art-dist meters :offset-assert 140) + (duck-slide-distance meters :offset-assert 144) + (fall-far meters :offset-assert 148) + (fall-far-inc meters :offset-assert 152) + (attack-timeout uint64 :offset-assert 160) + (ground-timeout uint64 :offset-assert 168) + (slide-down-timeout uint64 :offset-assert 176) + (fall-timeout uint64 :offset-assert 184) + (fall-stumble-threshold meters :offset-assert 192) + (yellow-projectile-speed meters :offset-assert 196) + (hit-invulnerable-timeout uint64 :offset-assert 200) + (run-cycle-length float :offset-assert 208) + (walk-cycle-dist meters :offset-assert 212) + (walk-up-cycle-dist meters :offset-assert 216) + (walk-down-cycle-dist meters :offset-assert 220) + (walk-side-cycle-dist meters :offset-assert 224) + (run-cycle-dist meters :offset-assert 228) + (run-up-cycle-dist meters :offset-assert 232) + (run-down-cycle-dist meters :offset-assert 236) + (run-side-cycle-dist meters :offset-assert 240) + (run-wall-cycle-dist meters :offset-assert 244) + (duck-walk-cycle-dist meters :offset-assert 248) + (wade-shallow-walk-cycle-dist meters :offset-assert 252) + (wade-deep-walk-cycle-dist meters :offset-assert 256) + (smack-surface-dist meters :offset-assert 260) + (smack-surface-height meters :offset-assert 264) + (min-dive-depth meters :offset-assert 268) + (root-radius meters :offset-assert 272) + (root-offset vector :inline :offset-assert 288) + (body-radius meters :offset-assert 304) + (edge-radius meters :offset-assert 308) + (edge-offset vector :inline :offset-assert 320) + (head-radius meters :offset-assert 336) + (head-height meters :offset-assert 340) + (head-offset vector :inline :offset-assert 352) + (spin-radius meters :offset-assert 368) + (spin-offset vector :inline :offset-assert 384) + (duck-spin-radius meters :offset-assert 400) + (duck-spin-offset vector :inline :offset-assert 416) + (punch-radius meters :offset-assert 432) + (punch-offset vector :inline :offset-assert 448) + (uppercut-radius meters :offset-assert 464) + (uppercut0-offset vector :inline :offset-assert 480) + (uppercut1-offset vector :inline :offset-assert 496) + (flop-radius meters :offset-assert 512) + (flop0-offset vector :inline :offset-assert 528) + (flop1-offset vector :inline :offset-assert 544) + (stuck-time useconds :offset-assert 560) + (stuck-timeout useconds :offset-assert 568) + (stuck-distance meters :offset-assert 576) + (tongue-pull-speed-min float :offset-assert 580) + (tongue-pull-speed-max float :offset-assert 584) + (yellow-attack-timeout uint64 :offset-assert 592) + ) + :method-count-assert 9 + :size-assert #x258 + :flag-assert #x900000258 + ) + + +;; ---------------------- +;; File - target-part +;; Source Path - engine/target/target-part.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide-reaction-target +;; Source Path - engine/collide/collide-reaction-target.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - logic-target +;; Source Path - engine/target/logic-target.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sidekick +;; Source Path - engine/target/sidekick.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - voicebox +;; Source Path - engine/game/voicebox.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype camera-voicebox (camera-slave) + () + :method-count-assert 14 + :size-assert #xa04 + :flag-assert #xe09a00a04 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype voicebox (process-drawable) + ((base-trans vector :inline :offset-assert 176) + (seeker cam-float-seeker :inline :offset-assert 192) + (blend float :offset-assert 216) + (twist float :offset-assert 220) + (hint uint64 :offset-assert 224) + ) + :method-count-assert 23 + :size-assert #xe8 + :flag-assert #x17008000e8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + ) + ) + + +;; ---------------------- +;; File - target-handler +;; Source Path - engine/target/target-handler.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - target +;; Source Path - engine/target/target.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - target2 +;; Source Path - engine/target/target2.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - target-death +;; Source Path - engine/target/target-death.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - menu +;; Source Path - engine/debug/menu.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype debug-menu-context (basic) + ((is-active basic :offset-assert 4) + (sel-length int32 :offset-assert 8) + (sel-menu UNKNOWN 8 :offset-assert 12) + (root-menu basic :offset-assert 44) + (joypad-func basic :offset-assert 48) + (joypad-item basic :offset-assert 52) + (font basic :offset-assert 56) + (is-hidden basic :offset-assert 60) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + +(deftype debug-menu-node (basic) + ((name basic :offset-assert 4) + (parent basic :offset-assert 8) + (refresh-delay int32 :offset-assert 12) + (refresh-ctr int32 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype debug-menu (debug-menu-node) + ((name basic :offset-assert 4) + (parent basic :offset-assert 8) + (refresh-delay int32 :offset-assert 12) + (refresh-ctr int32 :offset-assert 16) + (context basic :offset-assert 20) + (selected-item basic :offset-assert 24) + (pix-width int32 :offset-assert 28) + (pix-height int32 :offset-assert 32) + (items basic :offset-assert 36) + ) + :method-count-assert 9 + :size-assert #x28 + :flag-assert #x900000028 + ) + +(deftype debug-menu-item (debug-menu-node) + ((name basic :offset-assert 4) + (parent basic :offset-assert 8) + (refresh-delay int32 :offset-assert 12) + (refresh-ctr int32 :offset-assert 16) + (id int32 :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype debug-menu-item-submenu (debug-menu-item) + ((name basic :offset-assert 4) + (parent basic :offset-assert 8) + (refresh-delay int32 :offset-assert 12) + (refresh-ctr int32 :offset-assert 16) + (id int32 :offset-assert 20) + (submenu basic :offset-assert 24) + ) + :method-count-assert 9 + :size-assert #x1c + :flag-assert #x90000001c + ) + +(deftype debug-menu-item-function (debug-menu-item) + ((name basic :offset-assert 4) + (parent basic :offset-assert 8) + (refresh-delay int32 :offset-assert 12) + (refresh-ctr int32 :offset-assert 16) + (id int32 :offset-assert 20) + (activate-func basic :offset-assert 24) + (hilite-timer int8 :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x1d + :flag-assert #x90000001d + ) + +(deftype debug-menu-item-flag (debug-menu-item) + ((name basic :offset-assert 4) + (parent basic :offset-assert 8) + (refresh-delay int32 :offset-assert 12) + (refresh-ctr int32 :offset-assert 16) + (id int32 :offset-assert 20) + (activate-func basic :offset-assert 24) + (is-on basic :offset-assert 28) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype debug-menu-item-var (debug-menu-item) + ((name basic :offset-assert 4) + (parent basic :offset-assert 8) + (refresh-delay int32 :offset-assert 12) + (refresh-ctr int32 :offset-assert 16) + (id int32 :offset-assert 20) + (display-str basic :offset-assert 24) + (grabbed-joypad-p basic :offset-assert 28) + (float-p basic :offset-assert 32) + (range-p basic :offset-assert 36) + (show-len int32 :offset-assert 40) + (inc-delay int32 :offset-assert 44) + (inc-delay-ctr int32 :offset-assert 48) + (step-delay-ctr int32 :offset-assert 52) + (inc-dir int32 :offset-assert 56) + (fval float :offset-assert 60) + (fundo-val float :offset-assert 64) + (frange-min float :offset-assert 68) + (frange-max float :offset-assert 72) + (fstart-inc float :offset-assert 76) + (fstep float :offset-assert 80) + (fprecision int32 :offset-assert 84) + (factivate-func basic :offset-assert 88) + (ival int32 :offset-assert 60) + (iundo-val int32 :offset-assert 64) + (irange-min int32 :offset-assert 68) + (irange-max int32 :offset-assert 72) + (istart-inc int32 :offset-assert 76) + (istep int32 :offset-assert 80) + (ihex-p basic :offset-assert 92) + (iactivate-func basic :offset-assert 88) + (ifloat-p basic :offset-assert 96) + ) + :method-count-assert 9 + :size-assert #x64 + :flag-assert #x900000064 + ) + + +;; ---------------------- +;; File - drawable +;; Source Path - engine/draw/drawable.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - drawable-group +;; Source Path - engine/draw/drawable-group.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - drawable-inline-array +;; Source Path - engine/draw/drawable-inline-array.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - drawable-tree +;; Source Path - engine/draw/drawable-tree.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - prototype +;; Source Path - engine/gfx/tie/prototype.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - main-collide +;; Source Path - engine/collide/main-collide.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - video +;; Source Path - engine/game/video.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - main +;; Source Path - engine/game/main.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide-cache +;; Source Path - engine/collide/collide-cache.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype collide-puls-work (structure) + ((ignore-pat uint32 :offset-assert 0) + (tri-out collide-tri-result :offset-assert 4) + (bsphere sphere :inline :offset-assert 16) + (move-dist vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype lsmi-work (structure) + ((best-u float :offset-assert 0) + (orig-best-u float :offset-assert 4) + (action uint32 :offset-assert 8) + (tri-out collide-tri-result :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x64 + :flag-assert #x900000064 + ) + + +;; ---------------------- +;; File - relocate +;; Source Path - engine/entity/relocate.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - memory-usage +;; Source Path - engine/debug/memory-usage.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - entity +;; Source Path - engine/entity/entity.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - path +;; Source Path - engine/nav/path.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - vol +;; Source Path - engine/geometry/vol.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - navigate +;; Source Path - engine/nav/navigate.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype cfs-travel-vec (structure) + ((dir vector :inline :offset-assert 0) + (delta-angle float :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype cfs-work (structure) + ((desired-travel-dist float :offset-assert 0) + (desired-angle float :offset-assert 4) + (max-dist float :offset-assert 8) + (old-angle float :offset-assert 12) + (modified int32 :offset-assert 16) + (blocked-mask uint64 :offset-assert 24) + (travel vector :inline :offset-assert 32) + (current vector :inline :offset-assert 48) + (new-travel UNKNOWN 2 :offset-assert 64) + (temp-travel UNKNOWN 2 :offset-assert 128) + (prev-dir vector :inline :offset-assert 192) + (tangent UNKNOWN 2 :offset-assert 208) + ) + :method-count-assert 9 + :size-assert #xf0 + :flag-assert #x9000000f0 + ) + + +;; ---------------------- +;; File - aligner +;; Source Path - engine/anim/aligner.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - effect-control +;; Source Path - engine/game/effect-control.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water +;; Source Path - engine/gfx/water/water.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collectables-part +;; Source Path - engine/game/collectables-part.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collectables +;; Source Path - engine/game/collectables.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype collectable (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype eco-collectable (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 collectable) parent was UNKNOWN + ) + +(deftype eco (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype eco-yellow (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype eco-red (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype eco-blue (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype health (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype eco-pill (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype money (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype fuel-cell (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 eco-collectable) parent was UNKNOWN + ) + +(deftype buzzer (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype ecovalve (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype vent (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype ventyellow (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype ventred (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype ventblue (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype ecovent (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + + +;; ---------------------- +;; File - task-control +;; Source Path - engine/game/task/task-control.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - process-taskable +;; Source Path - engine/game/task/process-taskable.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - pov-camera +;; Source Path - engine/camera/pov-camera.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - powerups +;; Source Path - engine/game/powerups.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - crates +;; Source Path - engine/game/crates.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype crate-bank (basic) + ((COLLIDE_YOFF float :offset-assert 4) + (COLLIDE_RADIUS float :offset-assert 8) + (DARKECO_EXPLODE_RADIUS float :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype crate (process-drawable) + ((smush smush-control :inline :offset-assert 176) + (base vector :inline :offset-assert 208) + (look basic :offset-assert 224) + (defense basic :offset-assert 228) + (incomming-attack-id uint64 :offset-assert 232) + (target uint64 :offset-assert 240) + (child-count int32 :offset-assert 248) + ) + :method-count-assert 30 + :size-assert #xfc + :flag-assert #x1e009000fc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype barrel (crate) + () + :method-count-assert 30 + :size-assert #xfc + :flag-assert #x1e009000fc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype bucket (crate) + () + :method-count-assert 30 + :size-assert #xfc + :flag-assert #x1e009000fc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype crate-buzzer (crate) + () + :method-count-assert 30 + :size-assert #xfc + :flag-assert #x1e009000fc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype pickup-spawner (crate) + ((blocker basic :offset-assert 252) + ) + :method-count-assert 30 + :size-assert #x100 + :flag-assert #x1e00900100 + ;; inherited inpspect of crate + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - hud +;; Source Path - engine/ui/hud.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - hud-classes +;; Source Path - engine/ui/hud-classes.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype hud-pickups (hud) + () + :method-count-assert 25 + :size-assert #x118 + :flag-assert #x1900b00118 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype hud-health (hud) + () + :method-count-assert 25 + :size-assert #x118 + :flag-assert #x1900b00118 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype hud-money (hud) + () + :method-count-assert 25 + :size-assert #x118 + :flag-assert #x1900b00118 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype hud-fuel-cell (hud) + () + :method-count-assert 25 + :size-assert #x118 + :flag-assert #x1900b00118 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype hud-buzzers (hud) + () + :method-count-assert 25 + :size-assert #x118 + :flag-assert #x1900b00118 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype hud-power (hud) + () + :method-count-assert 25 + :size-assert #x118 + :flag-assert #x1900b00118 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + + +;; ---------------------- +;; File - progress-static +;; Source Path - engine/ui/progress/progress-static.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - progress-part +;; Source Path - engine/ui/progress/progress-part.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - progress-draw +;; Source Path - engine/ui/progress/progress-draw.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - progress +;; Source Path - engine/ui/progress/progress.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype progress-global-state (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + + +;; ---------------------- +;; File - credits +;; Source Path - engine/ui/credits.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - projectiles +;; Source Path - engine/game/projectiles.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype search-info (structure) + ((point vector :inline :offset-assert 0) + (best-point vector :inline :offset-assert 16) + (match-handle uint64 :offset-assert 32) + (match basic :offset-assert 40) + (best float :offset-assert 44) + (radius float :offset-assert 48) + (rating uint32 :offset-assert 52) + (require uint32 :offset-assert 56) + (mask uint32 :offset-assert 60) + (rot-base vector :inline :offset-assert 64) + (rot-range float :offset-assert 80) + ) + :method-count-assert 9 + :size-assert #x54 + :flag-assert #x900000054 + ) + + +;; ---------------------- +;; File - ocean +;; Source Path - engine/gfx/ocean/ocean.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ocean-vu0 +;; Source Path - engine/gfx/ocean/ocean-vu0.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ocean-texture +;; Source Path - engine/gfx/ocean/ocean-texture.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ocean-mid +;; Source Path - engine/gfx/ocean/ocean-mid.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ocean-transition +;; Source Path - engine/gfx/ocean/ocean-transition.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ocean-near +;; Source Path - engine/gfx/ocean/ocean-near.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - shadow +;; Source Path - engine/gfx/shadow/shadow.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eye +;; Source Path - engine/gfx/eye.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - glist-h +;; Source Path - engine/util/glist-h.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype glst-node (structure) + ((next glst-node :offset-assert 0) + (prev glst-node :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype glst-named-node (glst-node) + ((next glst-node :offset-assert 0) + (prev glst-node :offset-assert 4) + (privname basic :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype glst-list (structure) + ((head glst-node :offset-assert 0) + (tail glst-node :offset-assert 4) + (tailpred glst-node :offset-assert 8) + (numelem int32 :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + + +;; ---------------------- +;; File - glist +;; Source Path - engine/util/glist.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - anim-tester +;; Source Path - engine/debug/anim-tester.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype anim-test-sequence (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype anim-test-seq-item (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype anim-tester (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype list-control (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype list-field (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype DISP_LIST-bank (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype anim-tester-bank (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype anim-test-obj (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + + +;; ---------------------- +;; File - viewer +;; Source Path - engine/debug/viewer.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype viewer (process-drawable) + ((janim basic :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - part-tester +;; Source Path - engine/debug/part-tester.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Types + +(deftype part-tester (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - default-menu +;; Source Path - engine/debug/default-menu.gc +;; Containing DGOs - ['GAME', 'ENGINE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - dir-tpages +;; Source Path - levels/common/dir-tpages.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-463 +;; Source Path - levels/common/tpage-463.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-2 +;; Source Path - levels/common/tpage-2.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-880 +;; Source Path - levels/common/tpage-880.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-256 +;; Source Path - levels/common/tpage-256.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1278 +;; Source Path - levels/common/tpage-1278.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - texture-upload +;; Source Path - levels/common/texture-upload.gc +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1032 +;; Source Path - levels/common/tpage-1032.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-62 +;; Source Path - levels/common/tpage-62.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1532 +;; Source Path - levels/common/tpage-1532.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - fuel-cell-ag +;; Source Path - levels/common/fuel-cell-ag.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - money-ag +;; Source Path - levels/common/money-ag.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - buzzer-ag +;; Source Path - levels/common/buzzer-ag.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-ART-GAME +;; Source Path - levels/common/ecovalve-ag-ART-GAME.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-BEA +;; Source Path - levels/beach/ecovalve-ag-BEA.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-CIT +;; Source Path - levels/citadel/ecovalve-ag-CIT.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-FIN +;; Source Path - levels/finalboss/ecovalve-ag-FIN.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-JUB-JUN +;; Source Path - levels/jungle_common/ecovalve-ag-JUB-JUN.gd +;; Containing DGOs - ['JUB', 'JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-FIC-OGR +;; Source Path - levels/common/ecovalve-ag-FIC-OGR.gd +;; Containing DGOs - ['FIC', 'OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-LAV +;; Source Path - levels/lavatube/ecovalve-ag-LAV.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-MAI +;; Source Path - levels/maincave/ecovalve-ag-MAI.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-ROB +;; Source Path - levels/robocave/ecovalve-ag-ROB.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-ROL +;; Source Path - levels/rolling/ecovalve-ag-ROL.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-SNO +;; Source Path - levels/snow/ecovalve-ag-SNO.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-SUB +;; Source Path - levels/sunkenb/ecovalve-ag-SUB.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-SWA +;; Source Path - levels/swamp/ecovalve-ag-SWA.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecovalve-ag-TRA +;; Source Path - levels/training/ecovalve-ag-TRA.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - crate-ag +;; Source Path - levels/common/crate-ag.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - speaker-ag +;; Source Path - levels/common/speaker-ag.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - fuelcell-naked-ag +;; Source Path - levels/common/fuelcell-naked-ag.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-ag +;; Source Path - levels/common/eichar-ag.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sidekick-ag +;; Source Path - levels/common/sidekick-ag.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - deathcam-ag +;; Source Path - levels/common/deathcam-ag.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - game-cnt +;; Source Path - levels/common/game-cnt.gd +;; Containing DGOs - ['GAME', 'ART'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - rigid-body-h +;; Source Path - levels/common/rigid-body-h.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype rigid-body (structure) + ((mass float :offset-assert 0) + (inv-mass float :offset-assert 4) + (lin-momentum-damping-factor float :offset-assert 8) + (ang-momentum-damping-factor float :offset-assert 12) + (inertial-tensor matrix :inline :offset-assert 16) + (inv-inertial-tensor matrix :inline :offset-assert 80) + (cm-offset-joint vector :inline :offset-assert 144) + (position vector :inline :offset-assert 160) + (rotation quaternion :inline :offset-assert 176) + (lin-momentum vector :inline :offset-assert 192) + (ang-momentum vector :inline :offset-assert 208) + (lin-velocity vector :inline :offset-assert 224) + (ang-velocity vector :inline :offset-assert 240) + (inv-i-world matrix :inline :offset-assert 256) + (matrix matrix :inline :offset-assert 320) + (force vector :inline :offset-assert 384) + (torque vector :inline :offset-assert 400) + (max-ang-momentum float :offset-assert 416) + (max-ang-velocity float :offset-assert 420) + ) + :method-count-assert 23 + :size-assert #x1a8 + :flag-assert #x17000001a8 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + ) + ) + +(deftype rigid-body-control-point (structure) + ((local-pos vector :inline :offset-assert 0) + (world-pos vector :inline :offset-assert 16) + (velocity vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + + +;; ---------------------- +;; File - water-anim +;; Source Path - levels/common/water-anim.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1', 'WATER-AN'] +;; Version - 3 + +;; - Types + +(deftype water-anim (water-vol) + ((look int32 :offset-assert 212) + ) + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; inherited inpspect of water-vol + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype water-anim-look (structure) + ((skel-group basic :offset-assert 0) + (anim int32 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + + +;; ---------------------- +;; File - dark-eco-pool +;; Source Path - levels/common/dark-eco-pool.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype dark-eco-pool (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - rigid-body +;; Source Path - levels/common/rigid-body.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype rigid-body-platform-constants (structure) + ((drag-factor float :offset-assert 0) + (buoyancy-factor float :offset-assert 4) + (max-buoyancy-depth meters :offset-assert 8) + (gravity-factor float :offset-assert 12) + (gravity meters :offset-assert 16) + (player-weight meters :offset-assert 20) + (player-bonk-factor float :offset-assert 24) + (player-dive-factor float :offset-assert 28) + (player-force-distance meters :offset-assert 32) + (player-force-clamp meters :offset-assert 36) + (player-force-timeout uint64 :offset-assert 40) + (explosion-force meters :offset-assert 48) + (linear-damping float :offset-assert 52) + (angular-damping float :offset-assert 56) + (control-point-count int32 :offset-assert 60) + (mass float :offset-assert 64) + (inertial-tensor-x meters :offset-assert 68) + (inertial-tensor-y meters :offset-assert 72) + (inertial-tensor-z meters :offset-assert 76) + (cm-joint-x meters :offset-assert 80) + (cm-joint-y meters :offset-assert 84) + (cm-joint-z meters :offset-assert 88) + (platform basic :offset-assert 92) + (sound-name basic :offset-assert 96) + ) + :method-count-assert 9 + :size-assert #x64 + :flag-assert #x900000064 + ) + +(deftype rigid-body-control-point-inline-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype rigid-body-platform (process-drawable) + ((info rigid-body-platform-constants :offset-assert 176) + (rbody rigid-body :inline :offset-assert 192) + (control-point-array basic :offset-assert 616) + (player-velocity vector :inline :offset-assert 624) + (player-velocity-prev vector :inline :offset-assert 640) + (player-force-position vector :inline :offset-assert 656) + (player-force vector :inline :offset-assert 672) + (float-height-offset float :offset-assert 688) + (player-attack-id int32 :offset-assert 692) + (player-bonk-timeout uint64 :offset-assert 696) + (water-anim basic :offset-assert 704) + (player-contact basic :offset-assert 708) + (player-impulse basic :offset-assert 712) + ) + :method-count-assert 35 + :size-assert #x2cc + :flag-assert #x23026002cc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + + +;; ---------------------- +;; File - nav-enemy-h +;; Source Path - levels/common/nav-enemy-h.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype nav-enemy-info (basic) + ((idle-anim int32 :offset-assert 4) + (walk-anim int32 :offset-assert 8) + (turn-anim int32 :offset-assert 12) + (notice-anim int32 :offset-assert 16) + (run-anim int32 :offset-assert 20) + (jump-anim int32 :offset-assert 24) + (jump-land-anim int32 :offset-assert 28) + (victory-anim int32 :offset-assert 32) + (taunt-anim int32 :offset-assert 36) + (die-anim int32 :offset-assert 40) + (neck-joint int32 :offset-assert 44) + (player-look-at-joint int32 :offset-assert 48) + (run-travel-speed meters :offset-assert 52) + (run-rotate-speed deg :offset-assert 56) + (run-acceleration meters :offset-assert 60) + (run-turn-time useconds :offset-assert 64) + (walk-travel-speed meters :offset-assert 72) + (walk-rotate-speed deg :offset-assert 76) + (walk-acceleration meters :offset-assert 80) + (walk-turn-time useconds :offset-assert 88) + (attack-shove-back meters :offset-assert 96) + (attack-shove-up meters :offset-assert 100) + (shadow-size meters :offset-assert 104) + (notice-nav-radius meters :offset-assert 108) + (notice-distance meters :offset-assert 112) + (proximity-notice-distance meters :offset-assert 116) + (stop-chase-distance meters :offset-assert 120) + (frustration-distance meters :offset-assert 124) + (frustration-time uint64 :offset-assert 128) + (die-anim-hold-frame float :offset-assert 136) + (jump-anim-start-frame float :offset-assert 140) + (jump-land-anim-end-frame float :offset-assert 144) + (jump-height-min meters :offset-assert 148) + (jump-height-factor float :offset-assert 152) + (jump-start-anim-speed float :offset-assert 156) + (use-align basic :offset-assert 160) + (draw-shadow basic :offset-assert 164) + (move-to-ground basic :offset-assert 168) + (hover-if-no-ground basic :offset-assert 172) + (use-momentum basic :offset-assert 176) + (use-flee basic :offset-assert 180) + (use-proximity-notice basic :offset-assert 184) + (debug-draw-neck basic :offset-assert 188) + (debug-draw-jump basic :offset-assert 192) + ) + :method-count-assert 9 + :size-assert #xc4 + :flag-assert #x9000000c4 + ) + +(deftype nav-enemy (process-drawable) + ((hit-from-dir vector :inline :offset-assert 176) + (event-param-point vector :inline :offset-assert 192) + (frustration-point vector :inline :offset-assert 208) + (jump-dest vector :inline :offset-assert 224) + (jump-trajectory trajectory :inline :offset-assert 240) + (jump-time uint64 :offset-assert 280) + (nav-info basic :offset-assert 288) + (target-speed float :offset-assert 292) + (momentum-speed float :offset-assert 296) + (acceleration float :offset-assert 300) + (rotate-speed float :offset-assert 304) + (turn-time uint64 :offset-assert 312) + (frustration-time uint64 :offset-assert 320) + (speed-scale float :offset-assert 328) + (neck basic :offset-assert 332) + (reaction-time uint64 :offset-assert 336) + (notice-time uint64 :offset-assert 344) + (state-timeout uint64 :offset-assert 352) + (free-time uint64 :offset-assert 360) + (touch-time uint64 :offset-assert 368) + (nav-enemy-flags uint32 :offset-assert 376) + (incomming-attack-id uint64 :offset-assert 384) + (jump-return-state basic :offset-assert 392) + (rand-gen basic :offset-assert 396) + ) + :method-count-assert 60 + :size-assert #x190 + :flag-assert #x3c01200190 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - nav-enemy +;; Source Path - levels/common/nav-enemy.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - baseplat +;; Source Path - levels/common/baseplat.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype baseplat (process-drawable) + ((smush smush-control :inline :offset-assert 176) + (basetrans vector :inline :offset-assert 208) + (bouncing basic :offset-assert 224) + ) + :method-count-assert 27 + :size-assert #xe4 + :flag-assert #x1b008000e4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + ) + ) + +(deftype eco-door (process-drawable) + ((speed float :offset-assert 176) + (open-distance float :offset-assert 180) + (close-distance float :offset-assert 184) + (out-dir vector :inline :offset-assert 192) + (open-sound uint128 :offset-assert 208) + (close-sound uint128 :offset-assert 224) + (locked basic :offset-assert 240) + (auto-close basic :offset-assert 244) + (one-way basic :offset-assert 248) + ) + :method-count-assert 26 + :size-assert #xfc + :flag-assert #x1a009000fc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + ) + ) + + +;; ---------------------- +;; File - basebutton +;; Source Path - levels/common/basebutton.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype basebutton (process-drawable) + ((down? basic :offset-assert 176) + (spawned-by-other? basic :offset-assert 180) + (move-to? basic :offset-assert 184) + (notify-actor basic :offset-assert 188) + (timeout float :offset-assert 192) + (button-id int32 :offset-assert 196) + (event-going-down basic :offset-assert 200) + (event-down basic :offset-assert 204) + (event-going-up basic :offset-assert 208) + (event-up basic :offset-assert 212) + (anim-speed float :offset-assert 216) + (move-to-pos vector :inline :offset-assert 224) + (move-to-quat quaternion :inline :offset-assert 240) + ) + :method-count-assert 32 + :size-assert #x100 + :flag-assert #x2000900100 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + ) + ) + +(deftype warp-gate (process-drawable) + ((level basic :offset-assert 176) + (level-slot int32 :offset-assert 180) + (min-slot int32 :offset-assert 184) + (max-slot int32 :offset-assert 188) + ) + :method-count-assert 24 + :size-assert #xc0 + :flag-assert #x18005000c0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + ) + ) + + +;; ---------------------- +;; File - tippy +;; Source Path - levels/common/tippy.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype tippy (structure) + ((axis vector :inline :offset-assert 0) + (angle float :offset-assert 16) + (orig quaternion :inline :offset-assert 32) + (dist-ratio float :offset-assert 48) + (damping float :offset-assert 52) + (1-damping float :offset-assert 56) + ) + :method-count-assert 11 + :size-assert #x3c + :flag-assert #xb0000003c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + + +;; ---------------------- +;; File - joint-exploder +;; Source Path - levels/common/joint-exploder.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype joint-exploder-joint (structure) + ((dead? basic :offset-assert 0) + (mat matrix :inline :offset-assert 16) + (transv vector :inline :offset-assert 80) + (prev-pos vector :inline :offset-assert 96) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype joint-exploder (process-drawable) + ((joint-index basic :offset-assert 176) + (duration uint64 :offset-assert 184) + (anim basic :offset-assert 192) + (scale-vector vector :inline :offset-assert 208) + (joint UNKNOWN 64 :offset-assert 224) + ) + :method-count-assert 20 + :size-assert #x1ce0 + :flag-assert #x141c701ce0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - babak +;; Source Path - levels/common/babak.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype babak (nav-enemy) + () + :method-count-assert 60 + :size-assert #x190 + :flag-assert #x3c01200190 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - sharkey +;; Source Path - levels/common/sharkey.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype sharkey (nav-enemy) + ((dir vector :inline :offset-assert 400) + (spawn-point vector :inline :offset-assert 416) + (scale float :offset-assert 432) + (anim-speed float :offset-assert 436) + (y-max meters :offset-assert 440) + (y-min meters :offset-assert 444) + (attack-time float :offset-assert 448) + (last-y float :offset-assert 452) + (spawn-distance meters :offset-assert 456) + (chase-speed meters :offset-assert 460) + (y-speed meters :offset-assert 464) + (sound-id uint32 :offset-assert 468) + (enable-patrol basic :offset-assert 472) + ) + :method-count-assert 60 + :size-assert #x1dc + :flag-assert #x3c017001dc + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - orb-cache +;; Source Path - levels/common/orb-cache.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype orb-cache-top (baseplat) + ((active-distance float :offset-assert 228) + (inactive-distance float :offset-assert 232) + (money-list UNKNOWN 60 :offset-assert 240) + (money-pos-list UNKNOWN 60 :offset-assert 720) + (platform-pos float :offset-assert 960) + (root-pos float :offset-assert 964) + (money int32 :offset-assert 968) + (activated basic :offset-assert 972) + ) + :method-count-assert 29 + :size-assert #x3d0 + :flag-assert #x1d036003d0 + ;; inherited inpspect of baseplat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + + +;; ---------------------- +;; File - plat +;; Source Path - levels/common/plat.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype plat (baseplat) + ((path-pos float :offset-assert 228) + (sync sync-info-eased :inline :offset-assert 232) + (sound-id uint32 :offset-assert 260) + ) + :method-count-assert 33 + :size-assert #x108 + :flag-assert #x2100a00108 + ;; inherited inpspect of baseplat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + + +;; ---------------------- +;; File - plat-button +;; Source Path - levels/common/plat-button.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype plat-button (process-drawable) + ((go-back-if-lost-player? basic :offset-assert 176) + (grab-player? basic :offset-assert 180) + (should-grab-player? basic :offset-assert 184) + (path-pos float :offset-assert 188) + (bidirectional? basic :offset-assert 192) + (allow-auto-kill basic :offset-assert 196) + (sound-id uint32 :offset-assert 200) + (trans-off vector :inline :offset-assert 208) + (spawn-pos vector :inline :offset-assert 224) + ) + :method-count-assert 33 + :size-assert #xf0 + :flag-assert #x21008000f0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + + +;; ---------------------- +;; File - plat-eco +;; Source Path - levels/common/plat-eco.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype plat-eco (plat) + ((notice-dist float :offset-assert 264) + (sync-offset-dest float :offset-assert 268) + (sync-linear-val float :offset-assert 272) + (target uint64 :offset-assert 280) + ) + :method-count-assert 33 + :size-assert #x120 + :flag-assert #x2100b00120 + ;; inherited inpspect of plat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + + +;; ---------------------- +;; File - ropebridge +;; Source Path - levels/common/ropebridge.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype ropebridge-tuning (structure) + ((num-springs int32 :offset-assert 0) + (num-spring-points int32 :offset-assert 4) + (col-mesh-indexes uint32 :offset-assert 8) + (view-frustum-radius float :offset-assert 12) + (root-prim-radius float :offset-assert 16) + (desired-spring-len float :offset-assert 20) + (gravity float :offset-assert 24) + (spring-coefficient float :offset-assert 28) + (spring-mass float :offset-assert 32) + (friction float :offset-assert 36) + (max-influence-dist float :offset-assert 40) + (rider-max-gravity float :offset-assert 44) + (max-bonk-influence-dist float :offset-assert 48) + (rider-bonk-force float :offset-assert 52) + (rider-bonk-min float :offset-assert 56) + (rider-bonk-max float :offset-assert 60) + (normal-board-len float :offset-assert 64) + (bridge-end-to-end-len float :offset-assert 68) + ) + :method-count-assert 9 + :size-assert #x48 + :flag-assert #x900000048 + ) + +(deftype ropebridge-spring-point (structure) + ((local-pos vector :inline :offset-assert 0) + (vel vector :inline :offset-assert 16) + (extra-force vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype ropebridge (process-drawable) + ((subtype uint64 :offset-assert 176) + (subtype-name basic :offset-assert 184) + (agitated-time-stamp uint64 :offset-assert 192) + (bonk-time-stamp uint64 :offset-assert 200) + (attack-flop-time-stamp uint64 :offset-assert 208) + (sleep-dist float :offset-assert 216) + (do-physics? basic :offset-assert 220) + (tuning ropebridge-tuning :offset-assert 224) + (world-matrix matrix :inline :offset-assert 240) + (inv-world-matrix matrix :inline :offset-assert 304) + (extra-trans vector :inline :offset-assert 368) + (spring-point UNKNOWN 36 :offset-assert 384) + ) + :method-count-assert 28 + :size-assert #x840 + :flag-assert #x1c07d00840 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + + +;; ---------------------- +;; File - ticky +;; Source Path - levels/common/ticky.gc +;; Containing DGOs - ['GAME', 'COMMON', 'L1'] +;; Version - 3 + +;; - Types + +(deftype ticky (structure) + ((delay-til-ramp uint64 :offset-assert 0) + (delay-til-timeout uint64 :offset-assert 8) + (starting-time uint64 :offset-assert 16) + (last-tick-time uint64 :offset-assert 24) + ) + :method-count-assert 12 + :size-assert #x20 + :flag-assert #xc00000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + ) + ) + + +;; ---------------------- +;; File - mistycannon +;; Source Path - levels/common/mistycannon.gc +;; Containing DGOs - ['BEA', 'L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype angle-tracker (structure) + ((value float :offset-assert 0) + (min float :offset-assert 4) + (range float :offset-assert 8) + (speed float :offset-assert 12) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype mistycannon-missile (process-drawable) + ((muzzle-time float :offset-assert 176) + (scale-increase float :offset-assert 180) + (tumble-quat quaternion :inline :offset-assert 192) + (blast-radius float :offset-assert 208) + (water-height float :offset-assert 212) + (sfx uint32 :offset-assert 216) + (part2 basic :offset-assert 220) + (ground-time uint64 :offset-assert 224) + ) + :method-count-assert 21 + :size-assert #xe8 + :flag-assert #x15008000e8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype mistycannon-init-data (structure) + ((pos vector :offset-assert 0) + (vel vector :offset-assert 4) + (rotate float :offset-assert 8) + (flight-time float :offset-assert 12) + (muzzle-time float :offset-assert 16) + (blast-radius float :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype mistycannon (process-drawable) + ((rotate angle-tracker :inline :offset-assert 176) + (tilt angle-tracker :inline :offset-assert 192) + (front-wheel float :offset-assert 208) + (rear-wheel float :offset-assert 212) + (last-known-rotation float :offset-assert 216) + (part-timer uint64 :offset-assert 224) + (hellmouth vector :inline :offset-assert 240) + (postbindinfo-ok basic :offset-assert 256) + (launch-origin vector :inline :offset-assert 272) + (goggles vector :inline :offset-assert 288) + (avoid-entity basic :offset-assert 304) + (center-point vector :inline :offset-assert 320) + (at-point vector :inline :offset-assert 336) + (accuracy-range float :offset-assert 352) + (target-theta float :offset-assert 356) + (sound-id uint32 :offset-assert 360) + (aim-sound-id uint32 :offset-assert 364) + (player-touching-grips? basic :offset-assert 368) + ) + :method-count-assert 24 + :size-assert #x174 + :flag-assert #x1801100174 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + ) + ) + +(deftype quadratic-solution (structure) + ((s1 float :offset-assert 0) + (s2 float :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype trajectory-params (structure) + ((x float :offset-assert 0) + (y float :offset-assert 4) + (gravity float :offset-assert 8) + (theta float :offset-assert 12) + (speed float :offset-assert 16) + (time float :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + + +;; ---------------------- +;; File - babak-with-cannon +;; Source Path - levels/common/babak-with-cannon.gc +;; Containing DGOs - ['BEA', 'L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype babak-with-cannon (babak) + ((cannon-ent basic :offset-assert 400) + (distance float :offset-assert 404) + ) + :method-count-assert 60 + :size-assert #x198 + :flag-assert #x3c01300198 + ;; inherited inpspect of babak + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - air-h +;; Source Path - levels/beach/air-h.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - air +;; Source Path - levels/beach/air.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - wobbler +;; Source Path - levels/beach/wobbler.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype wobbler (basic) + ((posx float :offset-assert 4) + (posy float :offset-assert 8) + (velx float :offset-assert 12) + (vely float :offset-assert 16) + (spring float :offset-assert 20) + (damping float :offset-assert 24) + (height float :offset-assert 28) + ) + :method-count-assert 13 + :size-assert #x20 + :flag-assert #xd00000020 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + + +;; ---------------------- +;; File - twister +;; Source Path - levels/beach/twister.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype twist-joint (structure) + ((ry float :offset-assert 0) + (max-dry float :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype twister (basic) + ((num-joints int32 :offset-assert 4) + (first-joint int32 :offset-assert 8) + (last-joint int32 :offset-assert 12) + (max-speed float :offset-assert 16) + (smoothing float :offset-assert 20) + (min-dist float :offset-assert 24) + (target float :offset-assert 28) + (ry float :offset-assert 32) + (max-speed-ry float :offset-assert 36) + (data UNKNOWN :dynamic :offset-assert 40) + ) + :method-count-assert 13 + :size-assert #x28 + :flag-assert #xd00000028 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + ) + ) + + +;; ---------------------- +;; File - beach-obs +;; Source Path - levels/beach/beach-obs.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype windmill-one (process-drawable) + ((sound-id uint32 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype grottopole (process-drawable) + ((speed meters :offset-assert 176) + (distance meters :offset-assert 180) + (position int32 :offset-assert 184) + (max-position int32 :offset-assert 188) + (incomming-attack-id uint64 :offset-assert 192) + ) + :method-count-assert 20 + :size-assert #xc8 + :flag-assert #x14006000c8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype ecoventrock (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype flying-rock (process-drawable) + ((tumble quaternion :inline :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xc0 + :flag-assert #x14005000c0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype bladeassm (process-drawable) + ((angle float :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype flutflutegg (process-drawable) + ((fall-dist meters :offset-assert 176) + (start vector :inline :offset-assert 192) + (dir vector :inline :offset-assert 208) + (pos float :offset-assert 224) + (vel float :offset-assert 228) + (wobbler basic :offset-assert 232) + (last-impulse-time int32 :offset-assert 236) + (incomming-attack-id uint64 :offset-assert 240) + (ambients-played int32 :offset-assert 248) + (ambient ambient-control :inline :offset-assert 256) + ) + :method-count-assert 21 + :size-assert #x110 + :flag-assert #x1500a00110 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype harvester (process-drawable) + ((alt-actor basic :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype beachcam (process-hidden) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + + +;; ---------------------- +;; File - bird-lady +;; Source Path - levels/beach/bird-lady.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype bird-lady (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - bird-lady-beach +;; Source Path - levels/beach/bird-lady-beach.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype bird-lady-beach (process-taskable) + ((flutflut uint64 :offset-assert 368) + (egg uint64 :offset-assert 376) + ) + :method-count-assert 48 + :size-assert #x180 + :flag-assert #x3001100180 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - mayor +;; Source Path - levels/beach/mayor.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype mayor (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - sculptor +;; Source Path - levels/beach/sculptor.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype sculptor (process-taskable) + ((muse uint64 :offset-assert 368) + ) + :method-count-assert 48 + :size-assert #x178 + :flag-assert #x3001100178 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - pelican +;; Source Path - levels/beach/pelican.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype pelican-bank (basic) + ((circle-speed meters :offset-assert 4) + (dive-time useconds :offset-assert 8) + (to-nest0-time useconds :offset-assert 16) + (to-nest1-time useconds :offset-assert 24) + (land-time useconds :offset-assert 32) + (from-nest-time useconds :offset-assert 40) + (spit-time useconds :offset-assert 48) + (pre-spit-wait-time useconds :offset-assert 56) + (post-spit-wait-time useconds :offset-assert 64) + (run-away-time useconds :offset-assert 72) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype pelican (process-drawable) + ((query gui-query :inline :offset-assert 176) + (fuel-cell uint64 :offset-assert 208) + (cam-tracker uint64 :offset-assert 216) + (path-data UNKNOWN 8 :offset-assert 224) + (path-circle basic :offset-assert 224) + (path-dive0 basic :offset-assert 228) + (path-to-nest0 basic :offset-assert 232) + (path-from-nest0 basic :offset-assert 236) + (path-spit0 basic :offset-assert 240) + (path-dive1 basic :offset-assert 244) + (path-to-nest1 basic :offset-assert 248) + (path-to-nest2 basic :offset-assert 252) + (path-cache basic :offset-assert 256) + (time-cache uint64 :offset-assert 264) + (path-pos float :offset-assert 272) + (path-speed float :offset-assert 276) + (path-max float :offset-assert 280) + (path-vector vector :inline :offset-assert 288) + (state-vector vector :inline :offset-assert 304) + (state-vector1 vector :inline :offset-assert 320) + (state-float UNKNOWN 2 :offset-assert 336) + (state-object basic :offset-assert 344) + (neck basic :offset-assert 348) + ) + :method-count-assert 20 + :size-assert #x160 + :flag-assert #x1400f00160 + ;; inherited inpspect of process-drawablefield state-object is a basic loaded with a signed load + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - lurkerworm +;; Source Path - levels/beach/lurkerworm.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype lurkerworm (process-drawable) + ((twister basic :offset-assert 176) + (head-tilt float :offset-assert 180) + (strike-count int32 :offset-assert 184) + (angle float :offset-assert 188) + (vulnerable basic :offset-assert 192) + (part2 basic :offset-assert 196) + ) + :method-count-assert 22 + :size-assert #xc8 + :flag-assert #x16006000c8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - lurkercrab +;; Source Path - levels/beach/lurkercrab.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype lurkercrab (nav-enemy) + ((orient basic :offset-assert 400) + ) + :method-count-assert 60 + :size-assert #x194 + :flag-assert #x3c01300194 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - lurkerpuppy +;; Source Path - levels/beach/lurkerpuppy.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype lurkerpuppy (nav-enemy) + () + :method-count-assert 60 + :size-assert #x190 + :flag-assert #x3c01200190 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - beach-rocks +;; Source Path - levels/beach/beach-rocks.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype beach-rock (process-drawable) + ((trigger basic :offset-assert 176) + (movie-start uint64 :offset-assert 184) + (part-falling basic :offset-assert 192) + (part-landing basic :offset-assert 196) + (prev-frame float :offset-assert 200) + ) + :method-count-assert 20 + :size-assert #xcc + :flag-assert #x14006000cc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lrocklrg (beach-rock) + () + :method-count-assert 20 + :size-assert #xcc + :flag-assert #x14006000cc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - seagull +;; Source Path - levels/beach/seagull.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype seagull (process-drawable) + ((index int32 :offset-assert 176) + (flock uint32 :offset-assert 180) + (heading float :offset-assert 184) + (tilt float :offset-assert 188) + (max-tilt float :offset-assert 192) + (angletan float :offset-assert 196) + (target-dist float :offset-assert 200) + (scared int32 :offset-assert 204) + (temp-heading float :offset-assert 208) + (temp-heading-time int32 :offset-assert 212) + (part-time uint64 :offset-assert 216) + (thrust float :offset-assert 224) + (teleport basic :offset-assert 228) + ) + :method-count-assert 27 + :size-assert #xe8 + :flag-assert #x1b008000e8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + ) + ) + +(deftype seagullflock (process) + ((path basic :offset-assert 112) + (trans vector :inline :offset-assert 128) + (bird UNKNOWN 64 :offset-assert 144) + (birds int32 :offset-assert 400) + (link basic :offset-assert 404) + (bird-at-waterfall uint64 :offset-assert 408) + (birds-at-waterfall int32 :offset-assert 416) + (target vector :inline :offset-assert 432) + (targetnum int32 :offset-assert 448) + (alert-time uint64 :offset-assert 456) + (teleport-frames int32 :offset-assert 464) + (cam-tracker uint64 :offset-assert 472) + (state-time uint64 :offset-assert 480) + (squall basic :offset-assert 488) + (max-lift float :offset-assert 492) + ) + :method-count-assert 17 + :size-assert #x1f0 + :flag-assert #x11018001f0 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + ) + ) + + +;; ---------------------- +;; File - beach-part +;; Source Path - levels/beach/beach-part.gc +;; Containing DGOs - ['BEA', 'L1'] +;; Version - 3 + +;; - Types + +(deftype beach-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - tpage-212 +;; Source Path - levels/beach/tpage-212.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-214 +;; Source Path - levels/beach/tpage-214.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-213 +;; Source Path - levels/beach/tpage-213.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-215 +;; Source Path - levels/beach/tpage-215.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - babak-ag +;; Source Path - levels/common/babak-ag.gd +;; Containing DGOs - ['BEA', 'CIT', 'JUN', 'FIC', 'MIS', 'ROB', 'ROL', 'SNO', 'SUB', 'SUN', 'SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - barrel-ag-BEA +;; Source Path - levels/beach/barrel-ag-BEA.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - barrel-ag-VI2 +;; Source Path - levels/village2/barrel-ag-VI2.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - beachcam-ag +;; Source Path - levels/beach/beachcam-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - bird-lady-ag +;; Source Path - levels/beach/bird-lady-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - bird-lady-beach-ag +;; Source Path - levels/beach/bird-lady-beach-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - bladeassm-ag +;; Source Path - levels/beach/bladeassm-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecoventrock-ag +;; Source Path - levels/beach/ecoventrock-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flutflut-ag +;; Source Path - levels/beach/flutflut-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flutflutegg-ag +;; Source Path - levels/beach/flutflutegg-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - grottopole-ag +;; Source Path - levels/beach/grottopole-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - harvester-ag +;; Source Path - levels/beach/harvester-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - kickrock-ag +;; Source Path - levels/beach/kickrock-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lrocklrg-ag +;; Source Path - levels/beach/lrocklrg-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lurkercrab-ag +;; Source Path - levels/beach/lurkercrab-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lurkerpuppy-ag +;; Source Path - levels/beach/lurkerpuppy-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lurkerworm-ag +;; Source Path - levels/beach/lurkerworm-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - mayor-ag +;; Source Path - levels/beach/mayor-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - mistycannon-ag +;; Source Path - levels/common/mistycannon-ag.gd +;; Containing DGOs - ['BEA', 'MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orb-cache-top-ag-BEA +;; Source Path - levels/beach/orb-cache-top-ag-BEA.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orb-cache-top-ag-CIT +;; Source Path - levels/citadel/orb-cache-top-ag-CIT.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orb-cache-top-ag-JUN +;; Source Path - levels/jungle/orb-cache-top-ag-JUN.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orb-cache-top-ag-MIS +;; Source Path - levels/misty/orb-cache-top-ag-MIS.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orb-cache-top-ag-SNO +;; Source Path - levels/snow/orb-cache-top-ag-SNO.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orb-cache-top-ag-SUN +;; Source Path - levels/sunken/orb-cache-top-ag-SUN.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orb-cache-top-ag-VI1 +;; Source Path - levels/village1/orb-cache-top-ag-VI1.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orb-cache-top-ag-VI2 +;; Source Path - levels/village2/orb-cache-top-ag-VI2.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - pelican-ag +;; Source Path - levels/beach/pelican-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sack-ag-BEA +;; Source Path - levels/beach/sack-ag-BEA.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sack-ag-MIS +;; Source Path - levels/misty/sack-ag-MIS.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sculptor-ag +;; Source Path - levels/beach/sculptor-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sculptor-muse-ag +;; Source Path - levels/beach/sculptor-muse-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - seagull-ag +;; Source Path - levels/beach/seagull-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sharkey-ag-BEA-TRA-VI2 +;; Source Path - levels/common/sharkey-ag-BEA-TRA-VI2.gd +;; Containing DGOs - ['BEA', 'TRA', 'VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sharkey-ag-JUN-MIS +;; Source Path - levels/common/sharkey-ag-JUN-MIS.gd +;; Containing DGOs - ['JUN', 'MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sharkey-ag-SWA +;; Source Path - levels/swamp/sharkey-ag-SWA.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sharkey-ag-VI1 +;; Source Path - levels/village1/sharkey-ag-VI1.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - windmill-one-ag +;; Source Path - levels/beach/windmill-one-ag.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - beach-vis +;; Source Path - levels/beach/beach-vis.gd +;; Containing DGOs - ['BEA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - villagep-obs +;; Source Path - levels/village_common/villagep-obs.gc +;; Containing DGOs - ['CIT', 'L1', 'VI1', 'VI2', 'VI3', 'VILLAGEP'] +;; Version - 3 + +;; - Types + +(deftype warpgate (process-hidden) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype warp-gate-switch (basebutton) + ((warp uint64 :offset-assert 256) + ) + :method-count-assert 33 + :size-assert #x108 + :flag-assert #x2100a00108 + ;; inherited inpspect of basebutton + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype village-cam (process) + ((root basic :offset-assert 112) + (range meters :offset-assert 116) + (index int32 :offset-assert 120) + (state-time uint64 :offset-assert 128) + ) + :method-count-assert 15 + :size-assert #x88 + :flag-assert #xf00200088 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + + +;; ---------------------- +;; File - oracle +;; Source Path - levels/village_common/oracle.gc +;; Containing DGOs - ['CIT', 'L1', 'VI1', 'VI2', 'VI3', 'VILLAGEP'] +;; Version - 3 + +;; - Types + +(deftype oracle (process-taskable) + ((first-task uint8 :offset-assert 368) + (second-task uint8 :offset-assert 369) + (left-eye-cell uint64 :offset-assert 376) + (right-eye-cell uint64 :offset-assert 384) + ) + :method-count-assert 48 + :size-assert #x188 + :flag-assert #x3001200188 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - battlecontroller +;; Source Path - levels/common/battlecontroller.gc +;; Containing DGOs - ['CIT', 'L1', 'MIS', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype battlecontroller-spawner (structure) + ((path basic :offset-assert 0) + (creature uint64 :offset-assert 8) + (state int8 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x11 + :flag-assert #x900000011 + ) + +(deftype battlecontroller-creature-type (structure) + ((type2 basic :offset-assert 0) + (percent float :offset-assert 4) + (pickup-percent float :offset-assert 8) + (pickup-type int32 :offset-assert 12) + (max-pickup-count int8 :offset-assert 16) + (pickup-count int8 :offset-assert 17) + ) + :method-count-assert 9 + :size-assert #x12 + :flag-assert #x900000012 + ) + +(deftype battlecontroller (process-drawable) + ((final-pickup-spawn-point vector :inline :offset-assert 176) + (max-spawn-count int16 :offset-assert 192) + (spawn-count int16 :offset-assert 194) + (die-count int16 :offset-assert 196) + (target-count int8 :offset-assert 198) + (spawner-count int8 :offset-assert 199) + (creature-type-count int8 :offset-assert 200) + (spawner-array UNKNOWN 8 :offset-assert 208) + (spawn-period uint64 :offset-assert 464) + (creature-type-array UNKNOWN 4 :offset-assert 472) + (final-pickup-type int32 :offset-assert 600) + (prespawn basic :offset-assert 604) + (noticed-player basic :offset-assert 608) + (camera-on basic :offset-assert 612) + (misty-ambush-collision-hack basic :offset-assert 616) + (disable-ocean basic :offset-assert 620) + (disable-near-ocean basic :offset-assert 624) + (disable-mid-ocean basic :offset-assert 628) + ) + :method-count-assert 29 + :size-assert #x278 + :flag-assert #x1d02100278 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + + +;; ---------------------- +;; File - citadel-part +;; Source Path - levels/citadel/citadel-part.gc +;; Containing DGOs - ['CIT', 'L1'] +;; Version - 3 + +;; - Types + +(deftype citb-part (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + + +;; ---------------------- +;; File - citadel-obs +;; Source Path - levels/citadel/citadel-obs.gc +;; Containing DGOs - ['CIT', 'L1'] +;; Version - 3 + +;; - Types + +(deftype citb-arm-section (process-drawable) + ((sync sync-info :inline :offset-assert 176) + (rot-scale float :offset-assert 184) + ) + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-arm-a (citb-arm-section) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-arm-b (citb-arm-section) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-arm-c (citb-arm-section) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-arm-d (citb-arm-section) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-arm-shoulder-a (citb-arm-section) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-arm-shoulder-b (citb-arm-section) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-disc (process-drawable) + ((sync sync-info :inline :offset-assert 176) + (rot-scale float :offset-assert 184) + ) + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-disc-a (citb-disc) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-disc-b (citb-disc) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-disc-c (citb-disc) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-disc-d (citb-disc) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-iris-door (eco-door) + () + :method-count-assert 26 + :size-assert #xfc + :flag-assert #x1a009000fc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + ) + ) + +(deftype citb-button (basebutton) + () + :method-count-assert 32 + :size-assert #x100 + :flag-assert #x2000900100 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + ) + ) + +(deftype citb-launcher (plat) + ((launcher uint32 :offset-assert 264) + ) + :method-count-assert 33 + :size-assert #x10c + :flag-assert #x2100a0010c + ;; inherited inpspect of plat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype citb-robotboss (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype citb-coil (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype citb-hose (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype citb-generator (process-drawable) + ((normal-look lod-set :inline :offset-assert 176) + (broken-look lod-set :inline :offset-assert 212) + (mushroom-pos vector :inline :offset-assert 256) + (mushroom basic :offset-assert 272) + (birth-fuel-cell basic :offset-assert 276) + (trigger-others basic :offset-assert 280) + (part-broken basic :offset-assert 284) + (part-mushroom basic :offset-assert 288) + ) + :method-count-assert 22 + :size-assert #x124 + :flag-assert #x1600c00124 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype citb-battlecontroller (battlecontroller) + () + :method-count-assert 29 + :size-assert #x278 + :flag-assert #x1d02100278 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + + +;; ---------------------- +;; File - citb-plat +;; Source Path - levels/citadel/citb-plat.gc +;; Containing DGOs - ['CIT', 'L1'] +;; Version - 3 + +;; - Types + +(deftype citb-base-plat (process-drawable) + ((idle-distance float :offset-assert 176) + ) + :method-count-assert 25 + :size-assert #xb4 + :flag-assert #x19005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype citb-plat-eco (plat-eco) + () + :method-count-assert 33 + :size-assert #x120 + :flag-assert #x2100b00120 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype citb-plat (plat) + () + :method-count-assert 33 + :size-assert #x108 + :flag-assert #x2100a00108 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype citb-stair-plat (citb-base-plat) + ((idle-height float :offset-assert 180) + (rise-height float :offset-assert 184) + (delay uint64 :offset-assert 192) + (rise basic :offset-assert 200) + ) + :method-count-assert 25 + :size-assert #xcc + :flag-assert #x19006000cc + ;; inherited inpspect of citb-base-plat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype citb-chain-plat (citb-base-plat) + ((orig-height float :offset-assert 180) + (height-offset float :offset-assert 184) + (float-height float :offset-assert 188) + ) + :method-count-assert 25 + :size-assert #xc0 + :flag-assert #x19005000c0 + ;; inherited inpspect of citb-base-plat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype citb-rotatebox (citb-base-plat) + () + :method-count-assert 25 + :size-assert #xb4 + :flag-assert #x19005000b4 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype citb-donut (citb-base-plat) + ((sync sync-info :inline :offset-assert 180) + ) + :method-count-assert 25 + :size-assert #xbc + :flag-assert #x19005000bc + ;; inherited inpspect of citb-base-plat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype citb-stopbox (plat) + () + :method-count-assert 33 + :size-assert #x108 + :flag-assert #x2100a00108 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype citb-firehose (process-drawable) + ((idle-distance float :offset-assert 176) + (sync sync-info :inline :offset-assert 180) + (last-sync float :offset-assert 188) + (blast-part basic :offset-assert 192) + (blast-pos vector :inline :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xe0 + :flag-assert #x14007000e0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype citb-exit-plat (plat-button) + ((idle-height float :offset-assert 240) + (rise-height float :offset-assert 244) + (activated basic :offset-assert 248) + ) + :method-count-assert 33 + :size-assert #xfc + :flag-assert #x21009000fc + ;; inherited inpspect of plat-button + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + + +;; ---------------------- +;; File - citadel-sages +;; Source Path - levels/citadel/citadel-sages.gc +;; Containing DGOs - ['CIT', 'L1'] +;; Version - 3 + +;; - Types + +(deftype citb-sagecage (process-drawable) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype red-sagecage (citb-sagecage) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype blue-sagecage (citb-sagecage) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype yellow-sagecage (citb-sagecage) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype green-sagecage (process-taskable) + ((cage uint64 :offset-assert 368) + ) + :method-count-assert 48 + :size-assert #x178 + :flag-assert #x3001100178 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - snow-bunny +;; Source Path - levels/common/snow-bunny.gc +;; Containing DGOs - ['CIT', 'L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype snow-bunny (nav-enemy) + ((patrol-rand-distraction int32 :offset-assert 400) + (base-hop-dist float :offset-assert 404) + (halfway-dist float :offset-assert 408) + (retreat-timeout float :offset-assert 412) + (gnd-popup float :offset-assert 416) + (jump-height-min float :offset-assert 420) + (jump-height-factor float :offset-assert 424) + (jump-anim-start-frame float :offset-assert 428) + (defense uint64 :offset-assert 432) + (retreat-timeout-time uint64 :offset-assert 440) + (last-nondangerous-time uint64 :offset-assert 448) + (patrol-hop-failed? basic :offset-assert 456) + (should-retreat? basic :offset-assert 460) + (got-jump-event? basic :offset-assert 464) + (using-jump-event? basic :offset-assert 468) + (jump-anim int8 :offset-assert 472) + (notice-land-anim int8 :offset-assert 473) + (attack-anim int8 :offset-assert 474) + (final-dest vector :inline :offset-assert 480) + (jump-event-dest vector :inline :offset-assert 496) + ) + :method-count-assert 71 + :size-assert #x200 + :flag-assert #x4701900200 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + (dummy-60 () none 60) + (dummy-61 () none 61) + (dummy-62 () none 62) + (dummy-63 () none 63) + (dummy-64 () none 64) + (dummy-65 () none 65) + (dummy-66 () none 66) + (dummy-67 () none 67) + (dummy-68 () none 68) + (dummy-69 () none 69) + (dummy-70 () none 70) + ) + ) + +(deftype snow-bunny-retreat-work (structure) + ((found-best basic :offset-assert 0) + (using-jump-event? basic :offset-assert 4) + (best-travel-dist float :offset-assert 8) + (best-dest vector :inline :offset-assert 16) + (away-vec vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + + +;; ---------------------- +;; File - citb-bunny +;; Source Path - levels/citadel/citb-bunny.gc +;; Containing DGOs - ['CIT', 'L1'] +;; Version - 3 + +;; - Types + +(deftype citb-bunny (snow-bunny) + () + :method-count-assert 71 + :size-assert #x200 + :flag-assert #x4701900200 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + (dummy-60 () none 60) + (dummy-61 () none 61) + (dummy-62 () none 62) + (dummy-63 () none 63) + (dummy-64 () none 64) + (dummy-65 () none 65) + (dummy-66 () none 66) + (dummy-67 () none 67) + (dummy-68 () none 68) + (dummy-69 () none 69) + (dummy-70 () none 70) + ) + ) + + +;; ---------------------- +;; File - citb-drop-plat-CIT +;; Source Path - levels/citadel/citb-drop-plat-CIT.gc +;; Containing DGOs - ['CIT'] +;; Version - 3 + +;; - Types + +;; citb-drop-plat +(deftype drop-plat (process-drawable) + ((spin-axis vector :inline :offset-assert 176) + (spin-angle float :offset-assert 192) + (spin-speed float :offset-assert 196) + (interp float :offset-assert 200) + (duration uint64 :offset-assert 208) + (delay uint64 :offset-assert 216) + (color int8 :offset-assert 224) + ) + :method-count-assert 22 + :size-assert #xe1 + :flag-assert #x16008000e1 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +;; citb-drop-plat +(deftype handle-inline-array (inline-array-class) + ((length int32 :offset-assert 4) + (allocated-length int32 :offset-assert 8) + (data UNKNOWN :dynamic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +;; citb-drop-plat +(deftype citb-drop-plat (process-drawable) + ((x-count int32 :offset-assert 176) + (z-count int32 :offset-assert 180) + (child-count int32 :offset-assert 184) + (child-array basic :offset-assert 188) + (child-color-array uint32 :offset-assert 192) + (x-dir vector :inline :offset-assert 208) + (z-dir vector :inline :offset-assert 224) + (origin vector :inline :offset-assert 240) + (x-spacing float :offset-assert 256) + (z-spacing float :offset-assert 260) + (idle-distance float :offset-assert 264) + (duration uint64 :offset-assert 272) + (drop-time uint64 :offset-assert 280) + ) + :method-count-assert 20 + :size-assert #x120 + :flag-assert #x1400b00120 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - citb-drop-plat-L1 +;; Source Path - levels/l1_only/citb-drop-plat-L1.gc +;; Containing DGOs - ['L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - assistant-citadel +;; Source Path - levels/citadel/assistant-citadel.gc +;; Containing DGOs - ['CIT', 'L1'] +;; Version - 3 + +;; - Types + +(deftype assistant-lavatube-end (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - tpage-1415 +;; Source Path - levels/citadel/tpage-1415.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1417 +;; Source Path - levels/citadel/tpage-1417.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1416 +;; Source Path - levels/citadel/tpage-1416.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1414 +;; Source Path - levels/citadel/tpage-1414.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - assistant-lavatube-end-ag +;; Source Path - levels/citadel/assistant-lavatube-end-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - bluesage-ag +;; Source Path - levels/citadel/bluesage-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citadelcam-ag +;; Source Path - levels/citadel/citadelcam-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-arm-ag +;; Source Path - levels/citadel/citb-arm-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-arm-shoulder-ag +;; Source Path - levels/citadel/citb-arm-shoulder-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-bunny-ag +;; Source Path - levels/citadel/citb-bunny-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-button-ag +;; Source Path - levels/citadel/citb-button-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-chain-plat-ag +;; Source Path - levels/citadel/citb-chain-plat-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-chains-ag +;; Source Path - levels/citadel/citb-chains-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-coil-ag +;; Source Path - levels/citadel/citb-coil-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-disc-ag +;; Source Path - levels/citadel/citb-disc-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-donut-ag +;; Source Path - levels/citadel/citb-donut-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-drop-plat-ag +;; Source Path - levels/citadel/citb-drop-plat-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-exit-plat-ag +;; Source Path - levels/citadel/citb-exit-plat-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-firehose-ag +;; Source Path - levels/citadel/citb-firehose-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-generator-ag +;; Source Path - levels/citadel/citb-generator-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-hose-ag +;; Source Path - levels/citadel/citb-hose-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-iris-door-ag +;; Source Path - levels/citadel/citb-iris-door-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-launcher-ag +;; Source Path - levels/citadel/citb-launcher-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-robotboss-ag +;; Source Path - levels/citadel/citb-robotboss-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-rotatebox-ag +;; Source Path - levels/citadel/citb-rotatebox-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-sagecage-ag +;; Source Path - levels/citadel/citb-sagecage-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citb-stopbox-ag +;; Source Path - levels/citadel/citb-stopbox-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - evilbro-citadel-ag +;; Source Path - levels/citadel/evilbro-citadel-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - evilsis-citadel-ag +;; Source Path - levels/citadel/evilsis-citadel-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - green-sagecage-ag +;; Source Path - levels/common/green-sagecage-ag.gd +;; Containing DGOs - ['CIT', 'FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-citb-ag +;; Source Path - levels/citadel/plat-citb-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-eco-citb-ag +;; Source Path - levels/citadel/plat-eco-citb-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - redsage-ag +;; Source Path - levels/citadel/redsage-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - warp-gate-switch-ag-CIT +;; Source Path - levels/citadel/warp-gate-switch-ag-CIT.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - warp-gate-switch-ag-TRA +;; Source Path - levels/training/warp-gate-switch-ag-TRA.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - warp-gate-switch-ag-VI1-VI3 +;; Source Path - levels/common/warp-gate-switch-ag-VI1-VI3.gd +;; Containing DGOs - ['VI1', 'VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - warp-gate-switch-ag-VI2 +;; Source Path - levels/village2/warp-gate-switch-ag-VI2.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - warpgate-ag +;; Source Path - levels/common/warpgate-ag.gd +;; Containing DGOs - ['CIT', 'TRA', 'VI1', 'VI2', 'VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - yellowsage-ag +;; Source Path - levels/citadel/yellowsage-ag.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - citadel-vis +;; Source Path - levels/citadel/citadel-vis.gd +;; Containing DGOs - ['CIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - darkcave-obs +;; Source Path - levels/darkcave/darkcave-obs.gc +;; Containing DGOs - ['DAR', 'L1'] +;; Version - 3 + +;; - Types + +(deftype cavecrystal (process-drawable) + ((is-master? basic :offset-assert 176) + (crystal-id int32 :offset-assert 180) + (glow-u float :offset-assert 184) + (glow-wf-speed float :offset-assert 188) + (glow-wf-offset int32 :offset-assert 192) + (prev-compute-glow-time uint64 :offset-assert 200) + (start-fade-time uint64 :offset-assert 208) + (end-fade-time uint64 :offset-assert 216) + (activated-time uint64 :offset-assert 224) + (last-updated-user-lighting uint64 :offset-assert 232) + (player-attack-id uint64 :offset-assert 240) + (on-color-mult vector :inline :offset-assert 256) + (on-color-emissive vector :inline :offset-assert 272) + (off-color-mult vector :inline :offset-assert 288) + (off-color-emissive vector :inline :offset-assert 304) + ) + :method-count-assert 22 + :size-assert #x140 + :flag-assert #x1600d00140 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - tpage-1306 +;; Source Path - levels/darkcave/tpage-1306.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1307 +;; Source Path - levels/darkcave/tpage-1307.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1305 +;; Source Path - levels/darkcave/tpage-1305.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1304 +;; Source Path - levels/darkcave/tpage-1304.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1352 +;; Source Path - levels/darkcave/tpage-1352.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - baby-spider-ag-DAR +;; Source Path - levels/darkcave/baby-spider-ag-DAR.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - baby-spider-ag-MAI +;; Source Path - levels/maincave/baby-spider-ag-MAI.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - baby-spider-ag-ROB +;; Source Path - levels/robocave/baby-spider-ag-ROB.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cavecrystal-ag +;; Source Path - levels/darkcave/cavecrystal-ag.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - caveelevator-ag +;; Source Path - levels/cave_common/caveelevator-ag.gd +;; Containing DGOs - ['DAR', 'ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cavespatula-darkcave-ag +;; Source Path - levels/darkcave/cavespatula-darkcave-ag.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cavetrapdoor-ag-DAR +;; Source Path - levels/darkcave/cavetrapdoor-ag-DAR.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cavetrapdoor-ag-MAI +;; Source Path - levels/maincave/cavetrapdoor-ag-MAI.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cavetrapdoor-ag-ROB +;; Source Path - levels/robocave/cavetrapdoor-ag-ROB.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - dark-crystal-ag +;; Source Path - levels/cave_common/dark-crystal-ag.gd +;; Containing DGOs - ['DAR', 'MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - mother-spider-ag +;; Source Path - levels/cave_common/mother-spider-ag.gd +;; Containing DGOs - ['DAR', 'MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - spider-egg-ag-DAR-MAI +;; Source Path - levels/cave_common/spider-egg-ag-DAR-MAI.gd +;; Containing DGOs - ['DAR', 'MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - spider-egg-ag-ROB +;; Source Path - levels/robocave/spider-egg-ag-ROB.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-darkcave-ag +;; Source Path - levels/darkcave/water-anim-darkcave-ag.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - darkcave-vis +;; Source Path - levels/darkcave/darkcave-vis.gd +;; Containing DGOs - ['DAR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - demo-obs +;; Source Path - levels/demo/demo-obs.gc +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1485 +;; Source Path - levels/demo/tpage-1485.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1486 +;; Source Path - levels/demo/tpage-1486.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1487 +;; Source Path - levels/demo/tpage-1487.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1599 +;; Source Path - levels/demo/tpage-1599.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1600 +;; Source Path - levels/demo/tpage-1600.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1601 +;; Source Path - levels/demo/tpage-1601.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1602 +;; Source Path - levels/demo/tpage-1602.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1603 +;; Source Path - levels/demo/tpage-1603.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1604 +;; Source Path - levels/demo/tpage-1604.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1605 +;; Source Path - levels/demo/tpage-1605.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1606 +;; Source Path - levels/demo/tpage-1606.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1607 +;; Source Path - levels/demo/tpage-1607.gd +;; Containing DGOs - ['DEM', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - static-screen +;; Source Path - levels/common/static-screen.gc +;; Containing DGOs - ['DEM', 'L1', 'TIT'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1480 +;; Source Path - levels/demo/tpage-1480.gd +;; Containing DGOs - ['DEM'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1479 +;; Source Path - levels/demo/tpage-1479.gd +;; Containing DGOs - ['DEM'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - demo-vis +;; Source Path - levels/demo/demo-vis.gd +;; Containing DGOs - ['DEM'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robotboss-h +;; Source Path - levels/finalboss/robotboss-h.gc +;; Containing DGOs - ['FIN', 'L1'] +;; Version - 3 + +;; - Types + +(deftype robotboss (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - robotboss-part +;; Source Path - levels/finalboss/robotboss-part.gc +;; Containing DGOs - ['FIN', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sage-finalboss-part +;; Source Path - levels/finalboss/sage-finalboss-part.gc +;; Containing DGOs - ['FIN', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - light-eco +;; Source Path - levels/finalboss/light-eco.gc +;; Containing DGOs - ['FIN', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robotboss-weapon +;; Source Path - levels/finalboss/robotboss-weapon.gc +;; Containing DGOs - ['FIN', 'L1'] +;; Version - 3 + +;; - Types + +(deftype torus (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype torus-verts (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype arcing-shot (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype darkecobomb (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 arcing-shot) parent was UNKNOWN + ) + +(deftype greenshot (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 arcing-shot) parent was UNKNOWN + ) + +(deftype redshot (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 arcing-shot) parent was UNKNOWN + ) + +(deftype yellowshot (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 arcing-shot) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - robotboss-misc +;; Source Path - levels/finalboss/robotboss-misc.gc +;; Containing DGOs - ['FIN', 'L1'] +;; Version - 3 + +;; - Types + +(deftype ecoclaw (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype silodoor (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - green-eco-lurker +;; Source Path - levels/finalboss/green-eco-lurker.gc +;; Containing DGOs - ['FIN', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robotboss +;; Source Path - levels/finalboss/robotboss.gc +;; Containing DGOs - ['FIN', 'L1'] +;; Version - 3 + +;; - Types + +(deftype redshot-launch-info (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype redshot-launch-array (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + + +;; ---------------------- +;; File - final-door +;; Source Path - levels/finalboss/final-door.gc +;; Containing DGOs - ['FIN', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sage-finalboss-FIN +;; Source Path - levels/finalboss/sage-finalboss-FIN.gc +;; Containing DGOs - ['FIN'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sage-finalboss-L1 +;; Source Path - levels/l1_only/sage-finalboss-L1.gc +;; Containing DGOs - ['L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1419 +;; Source Path - levels/finalboss/tpage-1419.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1420 +;; Source Path - levels/finalboss/tpage-1420.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-634 +;; Source Path - levels/finalboss/tpage-634.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1418 +;; Source Path - levels/finalboss/tpage-1418.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-545 +;; Source Path - levels/finalboss/tpage-545.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - darkecobomb-ag +;; Source Path - levels/finalboss/darkecobomb-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ecoclaw-ag +;; Source Path - levels/finalboss/ecoclaw-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - finalbosscam-ag +;; Source Path - levels/finalboss/finalbosscam-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - green-eco-lurker-ag +;; Source Path - levels/finalboss/green-eco-lurker-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - greenshot-ag +;; Source Path - levels/finalboss/greenshot-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - jak-white-ag +;; Source Path - levels/finalboss/jak-white-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - light-eco-ag +;; Source Path - levels/finalboss/light-eco-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-eco-finalboss-ag +;; Source Path - levels/finalboss/plat-eco-finalboss-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - power-left-ag +;; Source Path - levels/finalboss/power-left-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - power-right-ag +;; Source Path - levels/finalboss/power-right-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - powercellalt-ag +;; Source Path - levels/finalboss/powercellalt-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - redring-ag +;; Source Path - levels/finalboss/redring-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robotboss-ag +;; Source Path - levels/finalboss/robotboss-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robotboss-blueeco-ag +;; Source Path - levels/finalboss/robotboss-blueeco-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robotboss-cinematic-ag +;; Source Path - levels/finalboss/robotboss-cinematic-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robotboss-redeco-ag +;; Source Path - levels/finalboss/robotboss-redeco-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robotboss-yelloweco-ag +;; Source Path - levels/finalboss/robotboss-yelloweco-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - silodoor-ag +;; Source Path - levels/finalboss/silodoor-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-finalboss-ag +;; Source Path - levels/finalboss/water-anim-finalboss-ag.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - finalboss-vis +;; Source Path - levels/finalboss/finalboss-vis.gd +;; Containing DGOs - ['FIN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - evilbro +;; Source Path - levels/intro/evilbro.gc +;; Containing DGOs - ['INT', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1455 +;; Source Path - levels/intro/tpage-1455.gd +;; Containing DGOs - ['INT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1457 +;; Source Path - levels/intro/tpage-1457.gd +;; Containing DGOs - ['INT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1456 +;; Source Path - levels/intro/tpage-1456.gd +;; Containing DGOs - ['INT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1454 +;; Source Path - levels/intro/tpage-1454.gd +;; Containing DGOs - ['INT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - evilbro-ag +;; Source Path - levels/intro/evilbro-ag.gd +;; Containing DGOs - ['INT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - evilsis-ag +;; Source Path - levels/intro/evilsis-ag.gd +;; Containing DGOs - ['INT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - intro-vis +;; Source Path - levels/intro/intro-vis.gd +;; Containing DGOs - ['INT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - jungleb-obs +;; Source Path - levels/jungleb/jungleb-obs.gc +;; Containing DGOs - ['JUB', 'L1'] +;; Version - 3 + +;; - Types + +(deftype eggtop (process-drawable) + ((cam-tracker uint64 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype jng-iris-door (eco-door) + () + :method-count-assert 26 + :size-assert #xfc + :flag-assert #x1a009000fc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + ) + ) + + +;; ---------------------- +;; File - plat-flip +;; Source Path - levels/jungleb/plat-flip.gc +;; Containing DGOs - ['JUB', 'L1'] +;; Version - 3 + +;; - Types + +(deftype plat-flip (process-drawable) + ((path-pos float :offset-assert 176) + (before-turn-down-time float :offset-assert 180) + (turn-down-time float :offset-assert 184) + (before-turn-up-time float :offset-assert 188) + (turn-up-time float :offset-assert 192) + (total-time float :offset-assert 196) + (sync sync-info :inline :offset-assert 200) + (base-pos vector :inline :offset-assert 208) + (smush smush-control :inline :offset-assert 224) + ) + :method-count-assert 20 + :size-assert #x100 + :flag-assert #x1400900100 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - plant-boss-main+0-ag +;; Source Path - levels/jungleb/plant-boss-main+0-ag.gd +;; Containing DGOs - ['JUB', 'L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - aphid +;; Source Path - levels/jungleb/aphid.gc +;; Containing DGOs - ['JUB', 'L1'] +;; Version - 3 + +;; - Types + +(deftype aphid (nav-enemy) + ((try int32 :offset-assert 400) + ) + :method-count-assert 60 + :size-assert #x194 + :flag-assert #x3c01300194 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - plant-boss +;; Source Path - levels/jungleb/plant-boss.gc +;; Containing DGOs - ['JUB', 'L1'] +;; Version - 3 + +;; - Types + +(deftype plant-boss-arm (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype plant-boss-leaf (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype plant-boss (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - tpage-485 +;; Source Path - levels/jungleb/tpage-485.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-510 +;; Source Path - levels/jungleb/tpage-510.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-507 +;; Source Path - levels/jungleb/tpage-507.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-966 +;; Source Path - levels/jungleb/tpage-966.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - aphid-lurker-ag +;; Source Path - levels/jungleb/aphid-lurker-ag.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - darkvine-ag-JUB +;; Source Path - levels/jungleb/darkvine-ag-JUB.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - darkvine-ag-JUN +;; Source Path - levels/jungle/darkvine-ag-JUN.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eggtop-ag +;; Source Path - levels/jungleb/eggtop-ag.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - jng-iris-door-ag-JUB +;; Source Path - levels/jungleb/jng-iris-door-ag-JUB.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - jng-iris-door-ag-TRA +;; Source Path - levels/training/jng-iris-door-ag-TRA.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plant-boss-ag +;; Source Path - levels/jungleb/plant-boss-ag.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-flip-ag +;; Source Path - levels/jungleb/plat-flip-ag.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-jungleb-ag +;; Source Path - levels/jungleb/plat-jungleb-ag.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - jungleb-vis +;; Source Path - levels/jungleb/jungleb-vis.gd +;; Containing DGOs - ['JUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-fish+0-ag-JUN +;; Source Path - levels/jungle/eichar-fish+0-ag-JUN.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-fish+0-ag-JUNGLE +;; Source Path - levels/l1_only/eichar-fish+0-ag-JUNGLE.gd +;; Containing DGOs - ['JUNGLE'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-fish+0-ag-L1 +;; Source Path - levels/l1_only/eichar-fish+0-ag-L1.gd +;; Containing DGOs - ['L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - jungle-elevator +;; Source Path - levels/jungle/jungle-elevator.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1'] +;; Version - 3 + +;; - Types + +(deftype jungle-elevator (plat-button) + ((bottom-height float :offset-assert 240) + (teleport-if-below-y float :offset-assert 244) + (teleport-if-above-y float :offset-assert 248) + ) + :method-count-assert 33 + :size-assert #xfc + :flag-assert #x21009000fc + ;; inherited inpspect of plat-button + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + + +;; ---------------------- +;; File - bouncer +;; Source Path - levels/jungle/bouncer.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1'] +;; Version - 3 + +;; - Types + +(deftype springbox (process-drawable) + ((spring-height meters :offset-assert 176) + (smush float :offset-assert 180) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - hopper +;; Source Path - levels/jungle/hopper.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1'] +;; Version - 3 + +;; - Types + +(deftype hopper (nav-enemy) + ((jump-length float :offset-assert 400) + ) + :method-count-assert 60 + :size-assert #x194 + :flag-assert #x3c01300194 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - junglesnake +;; Source Path - levels/jungle/junglesnake.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1'] +;; Version - 3 + +;; - Types + +(deftype junglesnake-twist-joint (structure) + ((joint-index int32 :offset-assert 0) + (ry float :offset-assert 4) + (drag-delta-ry float :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype junglesnake-tilt-joint (structure) + ((joint-index int32 :offset-assert 0) + (flip-it basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype junglesnake (process-drawable) + ((part2 basic :offset-assert 176) + (state-time uint64 :offset-assert 168) + (hit-player basic :offset-assert 192) + (is-lethal? basic :offset-assert 196) + (refractory-delay int32 :offset-assert 200) + (ry float :offset-assert 204) + (des-ry float :offset-assert 208) + (tilt float :offset-assert 212) + (des-tilt float :offset-assert 216) + (track-player-ry basic :offset-assert 220) + (track-player-tilt basic :offset-assert 224) + (twist-joints UNKNOWN 24 :offset-assert 228) + (tilt-joints UNKNOWN 3 :offset-assert 612) + ) + :method-count-assert 25 + :size-assert #x294 + :flag-assert #x1902300294 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + + +;; ---------------------- +;; File - darkvine +;; Source Path - levels/jungle/darkvine.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1'] +;; Version - 3 + +;; - Types + +(deftype darkvine (process-drawable) + ((speed float :offset-assert 176) + (tip-index int8 :offset-assert 180) + (dangerous basic :offset-assert 184) + (vulnerable basic :offset-assert 188) + (hit-player basic :offset-assert 192) + (touch-time uint64 :offset-assert 200) + ) + :method-count-assert 20 + :size-assert #xd0 + :flag-assert #x14006000d0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - jungle-obs +;; Source Path - levels/jungle/jungle-obs.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1'] +;; Version - 3 + +;; - Types + +(deftype precurbridge-span (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ) + +(deftype logtrap (process-drawable) + () + :method-count-assert 21 + :size-assert #xb0 + :flag-assert #x15004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype towertop (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lurkerm-tall-sail (process-drawable) + ((speed float :offset-assert 176) + (alt-actor basic :offset-assert 180) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lurkerm-short-sail (process-drawable) + ((speed float :offset-assert 176) + (alt-actor basic :offset-assert 180) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lurkerm-piston (process-drawable) + ((sync sync-info :inline :offset-assert 176) + (base vector :inline :offset-assert 192) + (height vector :inline :offset-assert 208) + (speed float :offset-assert 224) + (alt-actor basic :offset-assert 228) + ) + :method-count-assert 20 + :size-assert #xe8 + :flag-assert #x14008000e8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype accordian (process-drawable) + ((speed float :offset-assert 176) + (alt-actor basic :offset-assert 180) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype junglecam (process-hidden) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype precurbridgecam (pov-camera) + () + :method-count-assert 30 + :size-assert #xd0 + :flag-assert #x1e006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype precurbridge (process-drawable) + ((smush smush-control :inline :offset-assert 176) + (base vector :inline :offset-assert 208) + (activation-point vector :inline :offset-assert 224) + (span-array UNKNOWN 8 :offset-assert 240) + ) + :method-count-assert 20 + :size-assert #x110 + :flag-assert #x1400a00110 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype maindoor (process-drawable) + ((thresh vector :inline :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xc0 + :flag-assert #x14005000c0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype sidedoor (eco-door) + () + :method-count-assert 26 + :size-assert #xfc + :flag-assert #x1a009000fc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + ) + ) + +(deftype jngpusher (process-drawable) + ((sync sync-info :inline :offset-assert 176) + (back-prim basic :offset-assert 184) + ) + :method-count-assert 20 + :size-assert #xbc + :flag-assert #x14005000bc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype jungle-water (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - jungle-mirrors +;; Source Path - levels/jungle/jungle-mirrors.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1'] +;; Version - 3 + +;; - Types + +(deftype periscope (process-drawable) + ((y-offset meters :offset-assert 176) + (y-offset-grips meters :offset-assert 180) + (height meters :offset-assert 184) + (turn deg :offset-assert 188) + (tilt deg :offset-assert 192) + (target-turn deg :offset-assert 196) + (target-tilt deg :offset-assert 200) + (base vector :inline :offset-assert 208) + (reflector-trans vector :inline :offset-assert 224) + (next-reflector-trans vector :inline :offset-assert 240) + (old-camera-matrix matrix :inline :offset-assert 256) + (reflector uint32 :offset-assert 320) + (gauge-rot deg :offset-assert 324) + (lock-time uint64 :offset-assert 328) + (aligned? basic :offset-assert 336) + (raised? basic :offset-assert 340) + (player-touching-grips? basic :offset-assert 344) + (grips-moving? basic :offset-assert 348) + (sound-id uint32 :offset-assert 352) + (beam-sound-id uint32 :offset-assert 356) + (rise-sound-id uint32 :offset-assert 360) + (grips-sound-id uint32 :offset-assert 364) + (grips basic :offset-assert 368) + ) + :method-count-assert 20 + :size-assert #x174 + :flag-assert #x1401100174 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype reflector (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype reflector-origin (process-drawable) + ((reflector-trans vector :inline :offset-assert 176) + (next-reflector-trans vector :inline :offset-assert 192) + (reflector uint32 :offset-assert 208) + (next basic :offset-assert 212) + (blocker basic :offset-assert 216) + ) + :method-count-assert 20 + :size-assert #xdc + :flag-assert #x14007000dc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype reflector-mirror (process-drawable) + ((beam-sound-id uint32 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - junglefish +;; Source Path - levels/jungle/junglefish.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1'] +;; Version - 3 + +;; - Types + +(deftype junglefish (nav-enemy) + () + :method-count-assert 60 + :size-assert #x190 + :flag-assert #x3c01200190 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - fisher-JUN +;; Source Path - levels/jungle/fisher-JUN.gc +;; Containing DGOs - ['JUN'] +;; Version - 3 + +;; - Types + +;; fisher +(deftype fisher-bank (basic) + ((width meters :offset-assert 4) + (net-radius meters :offset-assert 8) + (max-caught int32 :offset-assert 12) + (max-missed int32 :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +;; fisher +(deftype fisher-params (structure) + ((timeout uint64 :offset-assert 0) + (vel float :offset-assert 8) + (swing-min uint64 :offset-assert 16) + (swing-max uint64 :offset-assert 24) + (period uint64 :offset-assert 32) + (fish-vel float :offset-assert 40) + (bad-percent float :offset-assert 44) + (deadly-percent float :offset-assert 48) + (powerup-percent float :offset-assert 52) + ) + :method-count-assert 9 + :size-assert #x38 + :flag-assert #x900000038 + ) + +;; fisher +(deftype fisher (process-taskable) + ((paddle-end UNKNOWN 2 :offset-assert 368) + (paddle-pos vector :inline :offset-assert 400) + (paddle float :offset-assert 416) + (paddle-vel float :offset-assert 420) + (spawner float :offset-assert 424) + (spawner-last float :offset-assert 428) + (spawn-time uint64 :offset-assert 432) + (turn-time uint64 :offset-assert 440) + (swing-time uint64 :offset-assert 448) + (block-time uint64 :offset-assert 456) + (block int32 :offset-assert 464) + (caught int32 :offset-assert 468) + (missed int32 :offset-assert 472) + (difficulty int32 :offset-assert 476) + (start-time uint64 :offset-assert 480) + (ambient-big-one uint64 :offset-assert 488) + (ambient-steady uint64 :offset-assert 496) + (ambient-sagging uint64 :offset-assert 504) + (ambient-almost uint64 :offset-assert 512) + (params fisher-params :inline :offset-assert 520) + ) + :method-count-assert 48 + :size-assert #x240 + :flag-assert #x3001d00240 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + +;; fisher +(deftype fisher-fish (process-drawable) + ((dir vector :inline :offset-assert 176) + (offset float :offset-assert 192) + (pos float :offset-assert 196) + (vel float :offset-assert 200) + (mode basic :offset-assert 204) + (size meters :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xd4 + :flag-assert #x14007000d4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - fisher-JUNGLE-L1 +;; Source Path - levels/jungle/fisher-JUNGLE-L1.gc +;; Containing DGOs - ['JUNGLE', 'L1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - jungle-part +;; Source Path - levels/jungle/jungle-part.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1'] +;; Version - 3 + +;; - Types + +(deftype jungle-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - launcherdoor +;; Source Path - levels/common/launcherdoor.gc +;; Containing DGOs - ['JUN', 'JUNGLE', 'L1', 'MAI', 'MAINCAVE', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype launcherdoor (process-drawable) + ((notify-player-passed-thru? basic :offset-assert 176) + (thresh vector :inline :offset-assert 192) + (load-mode basic :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xd4 + :flag-assert #x14007000d4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - tpage-385 +;; Source Path - levels/jungle/tpage-385.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-531 +;; Source Path - levels/jungle/tpage-531.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-386 +;; Source Path - levels/jungle/tpage-386.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-388 +;; Source Path - levels/jungle/tpage-388.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-765 +;; Source Path - levels/jungle/tpage-765.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - accordian-ag +;; Source Path - levels/jungle/accordian-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - bounceytarp-ag +;; Source Path - levels/jungle/bounceytarp-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - catch-fisha-ag +;; Source Path - levels/jungle/catch-fisha-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - catch-fishb-ag +;; Source Path - levels/jungle/catch-fishb-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - catch-fishc-ag +;; Source Path - levels/jungle/catch-fishc-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - fish-net-ag +;; Source Path - levels/jungle/fish-net-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - fisher-ag +;; Source Path - levels/jungle/fisher-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - hopper-ag +;; Source Path - levels/jungle/hopper-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - junglecam-ag +;; Source Path - levels/jungle/junglecam-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - junglefish-ag +;; Source Path - levels/jungle/junglefish-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - junglesnake-ag +;; Source Path - levels/jungle/junglesnake-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - launcherdoor-ag-JUN +;; Source Path - levels/jungle/launcherdoor-ag-JUN.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - launcherdoor-ag-SUN +;; Source Path - levels/sunken/launcherdoor-ag-SUN.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - logtrap-ag +;; Source Path - levels/jungle/logtrap-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lurkerm-piston-ag +;; Source Path - levels/jungle/lurkerm-piston-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lurkerm-tall-sail-ag +;; Source Path - levels/jungle/lurkerm-tall-sail-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - maindoor-ag +;; Source Path - levels/jungle/maindoor-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-firecanyon-ag +;; Source Path - levels/jungle/medres-firecanyon-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - periscope-ag +;; Source Path - levels/jungle/periscope-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-button-ag +;; Source Path - levels/jungle/plat-button-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-eco-ag-JUN +;; Source Path - levels/jungle/plat-eco-ag-JUN.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-eco-ag-MIS +;; Source Path - levels/misty/plat-eco-ag-MIS.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-eco-ag-ROB +;; Source Path - levels/robocave/plat-eco-ag-ROB.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-eco-ag-TRA +;; Source Path - levels/training/plat-eco-ag-TRA.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - precurbridge-ag +;; Source Path - levels/jungle/precurbridge-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - reflector-mirror-ag +;; Source Path - levels/jungle/reflector-mirror-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ropebridge-52-ag +;; Source Path - levels/jungle/ropebridge-52-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ropebridge-70-ag +;; Source Path - levels/jungle/ropebridge-70-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sidedoor-ag +;; Source Path - levels/jungle/sidedoor-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - towertop-ag +;; Source Path - levels/jungle/towertop-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-jungle-ag +;; Source Path - levels/jungle/water-anim-jungle-ag.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - jungle-vis +;; Source Path - levels/jungle/jungle-vis.gd +;; Containing DGOs - ['JUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - target-racer-h-L1-RACERP +;; Source Path - levels/l1_only/target-racer-h-L1-RACERP.gc +;; Containing DGOs - ['L1', 'RACERP'] +;; Version - 3 + +;; - Types + +;; target-racer-h +(deftype racer-info (basic) + ((entity basic :offset-assert 4) + (bike-trans vector :inline :offset-assert 16) + (bike-quat vector :inline :offset-assert 32) + (bike-scale vector :inline :offset-assert 48) + (mod-x float :offset-assert 64) + (rot vector :inline :offset-assert 80) + (rot-old vector :inline :offset-assert 96) + (rotv vector :inline :offset-assert 112) + (lean-rotx deg :offset-assert 128) + (change-roty deg :offset-assert 132) + (change-roty-old deg :offset-assert 136) + (quat vector :inline :offset-assert 144) + (surface-y meters :offset-assert 160) + (surface-vy meters :offset-assert 164) + (surface-quat vector :inline :offset-assert 176) + (surface-quat-smooth vector :inline :offset-assert 192) + (cushion-base meters :offset-assert 208) + (cushion-offset meters :offset-assert 212) + (cushion-bob meters :offset-assert 216) + (cushion-bob-old meters :offset-assert 220) + (cushion-smush smush-control :inline :offset-assert 224) + (shock-offset meters :offset-assert 256) + (shock-offsetv meters :offset-assert 260) + (shock-rotx meters :offset-assert 264) + (hill-value float :offset-assert 268) + (hill-ground-value float :offset-assert 272) + (hill-offset meters :offset-assert 276) + (hill-rotx deg :offset-assert 280) + (hill-boost meters :offset-assert 284) + (bob-timer float :offset-assert 288) + (bob-meta-timer float :offset-assert 292) + (bob-meta-meta-timer float :offset-assert 296) + (bob-mult-rot float :offset-assert 300) + (bob-mult-trans float :offset-assert 304) + (bob-period float :offset-assert 308) + (bob-meta-time uint64 :offset-assert 312) + (bob-hit-ground-time uint64 :offset-assert 320) + (cur-rotx deg :offset-assert 328) + (targ-rotx deg :offset-assert 332) + (speed-rotx float :offset-assert 336) + (mult-rotx deg :offset-assert 340) + (front-blade basic :offset-assert 344) + (front-rot deg :offset-assert 348) + (front-rotv deg :offset-assert 352) + (bottom-blade basic :offset-assert 356) + (bottom-rot deg :offset-assert 360) + (front basic :offset-assert 364) + (front-turn deg :offset-assert 368) + (tail basic :offset-assert 372) + (tail-tilt deg :offset-assert 376) + (transv-max meters :offset-assert 380) + (slide-down-time UNKNOWN 2 :offset-assert 384) + (slide-enter-time uint64 :offset-assert 400) + (slide-mode int32 :offset-assert 408) + (slide-amp float :offset-assert 412) + (slide-grip-mult float :offset-assert 416) + (slide-shift-x float :offset-assert 420) + (slide-interp float :offset-assert 424) + (heat float :offset-assert 428) + (boost-time uint64 :offset-assert 432) + (boost-duration uint64 :offset-assert 440) + (boost-curve float :offset-assert 448) + (boost-level float :offset-assert 452) + (boost-target float :offset-assert 456) + (boost-output float :offset-assert 460) + (hop? basic :offset-assert 464) + (hop-start-y float :offset-assert 468) + (bounce int32 :offset-assert 472) + (bounce-hit float :offset-assert 476) + (engine-sound-id uint32 :offset-assert 480) + (turn-anim-targ float :offset-assert 484) + (turn-anim-frame float :offset-assert 488) + (turn-anim-vel float :offset-assert 492) + (tail-anim-vel float :offset-assert 496) + (tail-anim-frame float :offset-assert 500) + (rudd-anim-vel float :offset-assert 504) + (rudd-anim-frame float :offset-assert 508) + (racing-time uint64 :offset-assert 512) + (stick-lock basic :offset-assert 520) + (stick-off basic :offset-assert 524) + (heavy basic :offset-assert 528) + (scrape-sound-id uint32 :offset-assert 532) + ) + :method-count-assert 9 + :size-assert #x218 + :flag-assert #x900000218 + ) + +;; target-racer-h +(deftype racer-bank (basic) + ((slide-hold-time useconds :offset-assert 8) + (heat-max float :offset-assert 16) + (hotcoals-heat-inc float :offset-assert 20) + (lava-heat-inc float :offset-assert 24) + (lava-air-heat-inc float :offset-assert 28) + (surface-heat-inc float :offset-assert 32) + (jump-heat-inc float :offset-assert 36) + (lavatube-hotcoals-heat-inc float :offset-assert 40) + (lavatube-lava-heat-inc float :offset-assert 44) + (lavatube-lava-air-heat-inc float :offset-assert 48) + (lavatube-surface-heat-inc float :offset-assert 52) + (lavatube-jump-heat-inc float :offset-assert 56) + (boost-curve-max meters :offset-assert 60) + (boost-level-max meters :offset-assert 64) + (boost-level-inc meters :offset-assert 68) + (boost-duration useconds :offset-assert 72) + (default-front-blade deg :offset-assert 80) + (yellow-projectile-speed meters :offset-assert 84) + ) + :method-count-assert 9 + :size-assert #x58 + :flag-assert #x900000058 + ) + + +;; ---------------------- +;; File - target-racer-h-FIC-LAV-MIS-OGR-ROL +;; Source Path - levels/racer_common/target-racer-h-FIC-LAV-MIS-OGR-ROL.gc +;; Containing DGOs - ['FIC', 'LAV', 'MIS', 'OGR', 'ROL'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - racer-part +;; Source Path - levels/racer_common/racer-part.gc +;; Containing DGOs - ['L1', 'FIC', 'LAV', 'MIS', 'OGR', 'RACERP', 'ROL'] +;; Version - 3 + +;; - Types + +(deftype hud-bike-heat (hud) + () + :method-count-assert 25 + :size-assert #x118 + :flag-assert #x1900b00118 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + +(deftype hud-bike-speed (hud) + () + :method-count-assert 25 + :size-assert #x118 + :flag-assert #x1900b00118 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + ) + ) + + +;; ---------------------- +;; File - racer +;; Source Path - levels/racer_common/racer.gc +;; Containing DGOs - ['L1', 'FIC', 'LAV', 'MIS', 'OGR', 'RACERP', 'ROL'] +;; Version - 3 + +;; - Types + +(deftype racer (process-drawable) + ((extra-trans vector :inline :offset-assert 176) + (condition int32 :offset-assert 192) + (cell uint64 :offset-assert 200) + (path-data UNKNOWN 2 :offset-assert 208) + (path-target basic :offset-assert 208) + (path-racer basic :offset-assert 212) + (auto-get-off basic :offset-assert 216) + ) + :method-count-assert 24 + :size-assert #xdc + :flag-assert #x18007000dc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + ) + ) + + +;; ---------------------- +;; File - target-racer-L1-RACERP +;; Source Path - levels/l1_only/target-racer-L1-RACERP.gc +;; Containing DGOs - ['L1', 'RACERP'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - target-racer-FIC-LAV-MIS-OGR-ROL +;; Source Path - levels/racer_common/target-racer-FIC-LAV-MIS-OGR-ROL.gc +;; Containing DGOs - ['FIC', 'LAV', 'MIS', 'OGR', 'ROL'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - racer-states-L1-RACERP +;; Source Path - levels/l1_only/racer-states-L1-RACERP.gc +;; Containing DGOs - ['L1', 'RACERP'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - racer-states-FIC-LAV-MIS-OGR-ROL +;; Source Path - levels/racer_common/racer-states-FIC-LAV-MIS-OGR-ROL.gc +;; Containing DGOs - ['FIC', 'LAV', 'MIS', 'OGR', 'ROL'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - collide-reaction-racer +;; Source Path - levels/racer_common/collide-reaction-racer.gc +;; Containing DGOs - ['L1', 'FIC', 'LAV', 'MIS', 'OGR', 'RACERP', 'ROL'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-racer+0-ag +;; Source Path - levels/racer_common/eichar-racer+0-ag.gd +;; Containing DGOs - ['L1', 'FIC', 'LAV', 'MIS', 'OGR', 'RACERP', 'ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1119 +;; Source Path - levels/racer_common/tpage-1119.gd +;; Containing DGOs - ['L1', 'FIC', 'LAV', 'MIS', 'OGR', 'RACERP', 'ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - blocking-plane +;; Source Path - levels/common/blocking-plane.gc +;; Containing DGOs - ['L1', 'FIC', 'LAV', 'MIS', 'OGR', 'RACERP', 'ROL', 'SNO', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype blocking-plane (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - flut-part +;; Source Path - levels/flut_common/flut-part.gc +;; Containing DGOs - ['L1', 'SNO', 'SWA'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flutflut +;; Source Path - levels/flut_common/flutflut.gc +;; Containing DGOs - ['L1', 'SNO', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype flutflut (process-drawable) + ((extra-trans vector :inline :offset-assert 176) + (condition int32 :offset-assert 192) + (auto-get-off basic :offset-assert 196) + (cell uint64 :offset-assert 200) + (path-data UNKNOWN 2 :offset-assert 208) + (path-target basic :offset-assert 208) + (path-flut basic :offset-assert 212) + ) + :method-count-assert 24 + :size-assert #xd8 + :flag-assert #x18007000d8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + ) + ) + + +;; ---------------------- +;; File - target-flut +;; Source Path - levels/flut_common/target-flut.gc +;; Containing DGOs - ['L1', 'SNO', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype flut-info (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype flut-bank (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + + +;; ---------------------- +;; File - eichar-flut+0-ag +;; Source Path - levels/flut_common/eichar-flut+0-ag.gd +;; Containing DGOs - ['L1', 'SNO', 'SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - farmer +;; Source Path - levels/village1/farmer.gc +;; Containing DGOs - ['L1', 'VI1'] +;; Version - 3 + +;; - Types + +(deftype farmer (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - explorer +;; Source Path - levels/village1/explorer.gc +;; Containing DGOs - ['L1', 'VI1'] +;; Version - 3 + +;; - Types + +(deftype explorer (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - assistant +;; Source Path - levels/village1/assistant.gc +;; Containing DGOs - ['L1', 'VI1'] +;; Version - 3 + +;; - Types + +(deftype assistant (process-taskable) + ((sound-id uint32 :offset-assert 368) + ) + :method-count-assert 48 + :size-assert #x174 + :flag-assert #x3001100174 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - sage +;; Source Path - levels/village1/sage.gc +;; Containing DGOs - ['L1', 'VI1'] +;; Version - 3 + +;; - Types + +(deftype sage (process-taskable) + ((reminder-played basic :offset-assert 368) + (assistant uint64 :offset-assert 376) + ) + :method-count-assert 48 + :size-assert #x180 + :flag-assert #x3001100180 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - yakow +;; Source Path - levels/village1/yakow.gc +;; Containing DGOs - ['L1', 'VI1'] +;; Version - 3 + +;; - Types + +(deftype yakow-bank (basic) + ((walk-cycle-frame-count float :offset-assert 4) + (run-cycle-frame-count float :offset-assert 8) + (walk-speed meters :offset-assert 12) + (run-speed meters :offset-assert 16) + (walk-anim-speed float :offset-assert 20) + (run-anim-speed float :offset-assert 24) + (walk-away-dist meters :offset-assert 28) + (run-away-dist meters :offset-assert 32) + (walk-rotate-speed float :offset-assert 36) + (run-rotate-speed float :offset-assert 40) + (walk-turn-time uint64 :offset-assert 48) + (run-turn-time uint64 :offset-assert 56) + (max-walk-speed float :offset-assert 64) + (min-run-speed float :offset-assert 68) + (walk-run-blend-rate float :offset-assert 72) + (walk-turn-blend-rate float :offset-assert 76) + (max-run-speed float :offset-assert 80) + (acceleration meters :offset-assert 84) + (default-patrol-time uint64 :offset-assert 88) + (default-idle-distance meters :offset-assert 96) + (safe-distance meters :offset-assert 100) + (min-run-anim-speed float :offset-assert 104) + (max-run-anim-speed float :offset-assert 108) + (min-walk-anim-speed float :offset-assert 112) + (speed-boost-impulse meters :offset-assert 116) + ) + :method-count-assert 9 + :size-assert #x78 + :flag-assert #x900000078 + ) + +(deftype yakow (process-drawable) + ((player-attack-id int32 :offset-assert 176) + (walk-run-blend float :offset-assert 180) + (walk-turn-blend float :offset-assert 184) + (run-mode basic :offset-assert 188) + (travel-speed meters :offset-assert 192) + (final-speed meters :offset-assert 196) + (rotate-speed float :offset-assert 200) + (turn-time uint64 :offset-assert 208) + (vulnerable basic :offset-assert 216) + (grazing basic :offset-assert 220) + (push-velocity vector :inline :offset-assert 224) + (home-base vector :inline :offset-assert 240) + (dest-base vector :inline :offset-assert 256) + (dest-rot deg :offset-assert 272) + (enable-turn-around basic :offset-assert 276) + (rotating basic :offset-assert 280) + ) + :method-count-assert 20 + :size-assert #x11c + :flag-assert #x1400b0011c + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - village-obs-L1 +;; Source Path - levels/l1_only/village-obs-L1.gc +;; Containing DGOs - ['L1'] +;; Version - 3 + +;; - Types + +;; village-obs +(deftype windmill-sail (process-drawable) + ((sync sync-info :inline :offset-assert 176) + (blade-normal vector :inline :offset-assert 192) + (orig-quat quaternion :inline :offset-assert 208) + (alt-actor basic :offset-assert 224) + (part2 basic :offset-assert 228) + ) + :method-count-assert 20 + :size-assert #xe8 + :flag-assert #x14008000e8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype sagesail (process-drawable) + ((sync sync-info :inline :offset-assert 176) + (blade-normal vector :inline :offset-assert 192) + (orig-quat quaternion :inline :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xe0 + :flag-assert #x14007000e0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype windspinner (process-drawable) + ((blade-normal vector :inline :offset-assert 176) + (orig-quat quaternion :inline :offset-assert 192) + (angle float :offset-assert 208) + (angle-vel float :offset-assert 212) + ) + :method-count-assert 20 + :size-assert #xd8 + :flag-assert #x14007000d8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype mayorgears (process-drawable) + ((alt-actor basic :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype reflector-middle (process-drawable) + ((reflector-trans vector :inline :offset-assert 176) + (next-reflector-trans vector :inline :offset-assert 192) + ) + :method-count-assert 20 + :size-assert #xd0 + :flag-assert #x14006000d0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype reflector-end (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype villa-starfish (process-drawable) + ((child-count int8 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb1 + :flag-assert #x14005000b1 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype starfish (nav-enemy) + () + :method-count-assert 60 + :size-assert #x190 + :flag-assert #x3c01200190 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + +;; village-obs +(deftype village-fish (process-drawable) + ((child-count int8 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb1 + :flag-assert #x14005000b1 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype villa-fisha (village-fish) + () + :method-count-assert 20 + :size-assert #xb1 + :flag-assert #x14005000b1 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype villa-fishb (village-fish) + () + :method-count-assert 20 + :size-assert #xb1 + :flag-assert #x14005000b1 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype cyclegen (structure) + ((output float :offset-assert 0) + (inc float :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +;; village-obs +(deftype hutlamp (process-drawable) + ((pivot basic :offset-assert 176) + (clock cyclegen :inline :offset-assert 180) + ) + :method-count-assert 20 + :size-assert #xbc + :flag-assert #x14005000bc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +;; village-obs +(deftype villagea-water (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - village-obs-VI1 +;; Source Path - levels/village1/village-obs-VI1.gc +;; Containing DGOs - ['VI1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - fishermans-boat +;; Source Path - levels/village1/fishermans-boat.gc +;; Containing DGOs - ['L1', 'VI1'] +;; Version - 3 + +;; - Types + +(deftype boat-stabilizer (structure) + ((local-pos vector :inline :offset-assert 0) + (normal vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype vehicle-path (structure) + ((point-array UNKNOWN 10 :offset-assert 0) + (point-count int32 :offset-assert 160) + ) + :method-count-assert 14 + :size-assert #xa4 + :flag-assert #xe000000a4 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype vehicle-controller (structure) + ((path vehicle-path :offset-assert 0) + (turning-radius-table uint32 :offset-assert 4) + (throttle-control-table uint32 :offset-assert 8) + (table-step float :offset-assert 12) + (table-length int32 :offset-assert 16) + (circle-radius float :offset-assert 20) + (throttle float :offset-assert 24) + (steering float :offset-assert 28) + (path-dest-index int8 :offset-assert 32) + (left-circle int8 :offset-assert 33) + (path-dest-point vector :inline :offset-assert 48) + (path-dest-velocity vector :inline :offset-assert 64) + (dest-circle vector :inline :offset-assert 80) + (target-point vector :inline :offset-assert 96) + (sample-dir vector :inline :offset-assert 112) + (sample-time uint64 :offset-assert 128) + (sample-index int32 :offset-assert 136) + ) + :method-count-assert 17 + :size-assert #x8c + :flag-assert #x110000008c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + ) + ) + +(deftype fishermans-boat (rigid-body-platform) + ((stabilizer-array UNKNOWN 2 :offset-assert 720) + (engine-thrust-local-pos vector :inline :offset-assert 784) + (ignition basic :offset-assert 800) + (engine-thrust float :offset-assert 804) + (propeller basic :offset-assert 808) + (dock-point vector :inline :offset-assert 816) + (dest-dir vector :inline :offset-assert 832) + (dock-point-index int8 :offset-assert 848) + (auto-pilot basic :offset-assert 852) + (anchored basic :offset-assert 856) + (waiting-for-player basic :offset-assert 860) + (player-riding basic :offset-assert 864) + (boat-path vehicle-path :inline :offset-assert 880) + (cam-tracker uint64 :offset-assert 1048) + (player-attack-id int32 :offset-assert 692) + (kill-player basic :offset-assert 1060) + (engine-sound-id uint32 :offset-assert 1064) + (debug-draw basic :offset-assert 1068) + (debug-path-record basic :offset-assert 1072) + (debug-path-playback basic :offset-assert 1076) + (measure-parameters basic :offset-assert 1080) + (controller vehicle-controller :inline :offset-assert 1088) + ) + :method-count-assert 35 + :size-assert #x4cc + :flag-assert #x23046004cc + ;; inherited inpspect of rigid-body-platform + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + + +;; ---------------------- +;; File - village1-part +;; Source Path - levels/village1/village1-part.gc +;; Containing DGOs - ['L1', 'VI1'] +;; Version - 3 + +;; - Types + +(deftype villagea-part (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + + +;; ---------------------- +;; File - village1-part2 +;; Source Path - levels/village1/village1-part2.gc +;; Containing DGOs - ['L1', 'VI1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sequence-a-village1 +;; Source Path - levels/village1/sequence-a-village1.gc +;; Containing DGOs - ['L1', 'VI1'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - training-obs +;; Source Path - levels/training/training-obs.gc +;; Containing DGOs - ['L1', 'TRA'] +;; Version - 3 + +;; - Types + +(deftype training-water (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype training-cam (process) + ((root basic :offset-assert 112) + (range meters :offset-assert 116) + (index int32 :offset-assert 120) + (state-time uint64 :offset-assert 128) + ) + :method-count-assert 15 + :size-assert #x88 + :flag-assert #xf00200088 + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype tra-pontoon (rigid-body-platform) + ((anchor-point vector :inline :offset-assert 720) + ) + :method-count-assert 35 + :size-assert #x2e0 + :flag-assert #x23027002e0 + ;; inherited inpspect of rigid-body-platform + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype tra-iris-door (eco-door) + () + :method-count-assert 26 + :size-assert #xfc + :flag-assert #x1a009000fc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + ) + ) + +(deftype scarecrow-a (process-drawable) + ((incomming-attack-id uint64 :offset-assert 176) + (intersection vector :inline :offset-assert 192) + ) + :method-count-assert 22 + :size-assert #xd0 + :flag-assert #x16006000d0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype scarecrow-b (process-drawable) + ((incomming-attack-id uint64 :offset-assert 176) + (intersection vector :inline :offset-assert 192) + ) + :method-count-assert 22 + :size-assert #xd0 + :flag-assert #x16006000d0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - training-part +;; Source Path - levels/training/training-part.gc +;; Containing DGOs - ['L1', 'TRA'] +;; Version - 3 + +;; - Types + +(deftype training-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - misty-obs +;; Source Path - levels/misty/misty-obs.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype boatpaddle (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype windturbine (process-drawable) + ((spawn-particle-enable basic :offset-assert 176) + (angle-speed float :offset-assert 180) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype mis-bone-bridge (process-drawable) + ((particle-group basic :offset-assert 176) + (player-attack-id int32 :offset-assert 180) + (fall-anim-index int32 :offset-assert 184) + (hit-points int8 :offset-assert 188) + ) + :method-count-assert 20 + :size-assert #xbd + :flag-assert #x14005000bd + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype breakaway (process-drawable) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype breakaway-right (breakaway) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype breakaway-mid (breakaway) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype breakaway-left (breakaway) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype bone-platform (rigid-body-platform) + ((anchor-point vector :inline :offset-assert 720) + ) + :method-count-assert 35 + :size-assert #x2e0 + :flag-assert #x23027002e0 + ;; inherited inpspect of rigid-body-platform + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype mistycam (process-hidden) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype misty-battlecontroller (battlecontroller) + () + :method-count-assert 29 + :size-assert #x278 + :flag-assert #x1d02100278 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + +(deftype boat-fuelcell (process-drawable) + ((play-cutscene? basic :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - misty-warehouse +;; Source Path - levels/misty/misty-warehouse.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype silostep (process-drawable) + ((anim-limit float :offset-assert 176) + (cam-tracker uint64 :offset-assert 184) + ) + :method-count-assert 20 + :size-assert #xc0 + :flag-assert #x14005000c0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype rounddoor (eco-door) + () + :method-count-assert 26 + :size-assert #xfc + :flag-assert #x1a009000fc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + ) + ) + + +;; ---------------------- +;; File - misty-conveyor +;; Source Path - levels/misty/misty-conveyor.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype keg-conveyor (process-drawable) + ((pivot basic :offset-assert 176) + (quat quaternion :inline :offset-assert 192) + ) + :method-count-assert 20 + :size-assert #xd0 + :flag-assert #x14006000d0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype keg-conveyor-paddle (process-drawable) + ((object-on-paddle uint32 :offset-assert 176) + (sync sync-info :inline :offset-assert 180) + ) + :method-count-assert 20 + :size-assert #xbc + :flag-assert #x14005000bc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype keg (process-drawable) + ((sync-offset float :offset-assert 176) + (keg-behavior int8 :offset-assert 180) + (path-position vector :inline :offset-assert 192) + (shadow-enable-plane vector :inline :offset-assert 208) + (smush smush-control :inline :offset-assert 224) + (sound-id uint32 :offset-assert 256) + ) + :method-count-assert 20 + :size-assert #x104 + :flag-assert #x1400a00104 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - mud +;; Source Path - levels/misty/mud.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype mud (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - muse +;; Source Path - levels/misty/muse.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype muse (nav-enemy) + ((current-path-index float :offset-assert 400) + (prev-path-index float :offset-assert 404) + (dest-path-index float :offset-assert 408) + (player-path-index float :offset-assert 412) + (max-path-index float :offset-assert 416) + (sprint-distance float :offset-assert 420) + (dest-point vector :inline :offset-assert 432) + (anim basic :offset-assert 448) + (old-target-pos transformq :inline :offset-assert 464) + ) + :method-count-assert 60 + :size-assert #x200 + :flag-assert #x3c01900200 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + +(deftype point-on-path-segment-info (structure) + ((point vector :inline :offset-assert 0) + (segment UNKNOWN 2 :offset-assert 16) + (dir vector :inline :offset-assert 48) + (nearest-point vector :inline :offset-assert 64) + (segment-length float :offset-assert 80) + (distance-to-segment float :offset-assert 84) + (parametric-index float :offset-assert 88) + ) + :method-count-assert 9 + :size-assert #x5c + :flag-assert #x90000005c + ) + + +;; ---------------------- +;; File - bonelurker +;; Source Path - levels/misty/bonelurker.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype bonelurker (nav-enemy) + ((bump-player-time uint64 :offset-assert 400) + ) + :method-count-assert 60 + :size-assert #x198 + :flag-assert #x3c01300198 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - quicksandlurker +;; Source Path - levels/misty/quicksandlurker.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype quicksandlurker-missile (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype quicksandlurker-missile-init-data (structure) + ((position vector :offset-assert 0) + (velocity vector :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype quicksandlurker (process-drawable) + ((original-position vector :inline :offset-assert 176) + (y-offset float :offset-assert 192) + (theta-angle float :offset-assert 196) + (radial-offset float :offset-assert 200) + (bob-angle float :offset-assert 204) + (mud-entity basic :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xd4 + :flag-assert #x14007000d4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - misty-teetertotter +;; Source Path - levels/misty/misty-teetertotter.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype teetertotter (process-drawable) + ((launched-player basic :offset-assert 176) + (in-launch-window basic :offset-assert 180) + (rock-is-dangerous basic :offset-assert 184) + ) + :method-count-assert 20 + :size-assert #xbc + :flag-assert #x14005000bc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - balloonlurker +;; Source Path - levels/misty/balloonlurker.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype balloonlurker (rigid-body-platform) + ((explosion-force-position vector :inline :offset-assert 720) + (explosion-force vector :inline :offset-assert 736) + (explosion basic :offset-assert 752) + (explosion-joint-index UNKNOWN 2 :offset-assert 756) + (vulnerable basic :offset-assert 760) + (water-y float :offset-assert 764) + (propeller basic :offset-assert 768) + (rudder basic :offset-assert 772) + (mine UNKNOWN 2 :offset-assert 776) + (buoyancy-factor float :offset-assert 784) + (rudder-control float :offset-assert 788) + (throttle-control float :offset-assert 792) + (engine-thrust float :offset-assert 796) + (dest-point vector :inline :offset-assert 800) + (dest-point-old vector :inline :offset-assert 816) + (dest-index int8 :offset-assert 832) + (auto-pilot basic :offset-assert 836) + (dead basic :offset-assert 840) + (anim-frame float :offset-assert 844) + (engine-sound-id uint32 :offset-assert 848) + (pedal-sound-id uint32 :offset-assert 852) + (frame-count int8 :offset-assert 856) + ) + :method-count-assert 35 + :size-assert #x359 + :flag-assert #x2302f00359 + ;; inherited inpspect of rigid-body-platform + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype balloonlurker-pilot (process-drawable) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - misty-part +;; Source Path - levels/misty/misty-part.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype misty-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - sidekick-human +;; Source Path - levels/misty/sidekick-human.gc +;; Containing DGOs - ['L1', 'MIS'] +;; Version - 3 + +;; - Types + +(deftype sequenceA (process-taskable) + ((boat uint64 :offset-assert 368) + (sage uint64 :offset-assert 376) + (bcam uint64 :offset-assert 384) + ) + :method-count-assert 48 + :size-assert #x188 + :flag-assert #x3001200188 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + +(deftype sequenceB (process-taskable) + ((bonelurker uint64 :offset-assert 368) + (evilbro uint64 :offset-assert 376) + (evilsis uint64 :offset-assert 384) + (lurker-army UNKNOWN 9 :offset-assert 392) + ) + :method-count-assert 48 + :size-assert #x1d0 + :flag-assert #x30016001d0 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + +(deftype sequenceC (process-taskable) + ((bonelurker uint64 :offset-assert 368) + (darkecocan uint64 :offset-assert 376) + ) + :method-count-assert 48 + :size-assert #x180 + :flag-assert #x3001100180 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + +(deftype army-info (structure) + ((pos vector :offset-assert 0) + (rot float :offset-assert 4) + (skel basic :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + + +;; ---------------------- +;; File - firecanyon-part +;; Source Path - levels/firecanyon/firecanyon-part.gc +;; Containing DGOs - ['L1', 'FIC'] +;; Version - 3 + +;; - Types + +(deftype firecanyon-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - assistant-firecanyon +;; Source Path - levels/firecanyon/assistant-firecanyon.gc +;; Containing DGOs - ['L1', 'FIC'] +;; Version - 3 + +;; - Types + +(deftype assistant-firecanyon (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - village2-part +;; Source Path - levels/village2/village2-part.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype villageb-part (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + + +;; ---------------------- +;; File - village2-obs +;; Source Path - levels/village2/village2-obs.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype pontoon (rigid-body-platform) + ((anchor-point vector :inline :offset-assert 720) + (task uint8 :offset-assert 736) + ) + :method-count-assert 35 + :size-assert #x2e1 + :flag-assert #x23028002e1 + ;; inherited inpspect of rigid-body-platform + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype pontoonfive (pontoon) + () + :method-count-assert 35 + :size-assert #x2e1 + :flag-assert #x23028002e1 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype pontoonten (pontoon) + () + :method-count-assert 35 + :size-assert #x2e1 + :flag-assert #x23028002e1 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype allpontoons (process-drawable) + ((task uint8 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb1 + :flag-assert #x14005000b1 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype fireboulder (process-drawable) + ((particles basic :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype ceilingflag (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype exit-chamber-dummy (process-drawable) + ((orig-trans vector :inline :offset-assert 176) + (fcell-handle uint64 :offset-assert 192) + ) + :method-count-assert 21 + :size-assert #xc8 + :flag-assert #x15006000c8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype ogreboss-village2 (process-drawable) + ((boulder uint64 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype villageb-ogreboss (ogreboss-village2) + () + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype villageb-water (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - village2-part2 +;; Source Path - levels/village2/village2-part2.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - gambler +;; Source Path - levels/village2/gambler.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype gambler (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - warrior +;; Source Path - levels/village2/warrior.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype warrior (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - geologist +;; Source Path - levels/village2/geologist.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype geologist (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - swamp-blimp +;; Source Path - levels/village2/swamp-blimp.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype swamp-blimp-bank (basic) + ((arm-index int32 :offset-assert 4) + (pause-before-dropping-arm int32 :offset-assert 8) + (rise-per-break float :offset-assert 12) + (arm-sink-wait float :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype tetherrock-info (structure) + ((rock-camera basic :offset-assert 0) + (arm-camera basic :offset-assert 4) + (blimp-rp int32 :offset-assert 8) + (other-rp int32 :offset-assert 12) + (connected-to-rock basic :offset-assert 16) + (damping float :offset-assert 20) + ) + :method-count-assert 9 + :size-assert #x18 + :flag-assert #x900000018 + ) + +(deftype swamp-rope-rand-float (structure) + ((min-time int32 :offset-assert 0) + (max-time int32 :offset-assert 4) + (max-val float :offset-assert 8) + (timer int32 :offset-assert 12) + (value float :offset-assert 16) + ) + :method-count-assert 11 + :size-assert #x14 + :flag-assert #xb00000014 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype swamp-rope-oscillator (structure) + ((target float :offset-assert 0) + (value float :offset-assert 4) + (vel float :offset-assert 8) + (accel float :offset-assert 12) + (max-vel float :offset-assert 16) + (damping float :offset-assert 20) + ) + :method-count-assert 11 + :size-assert #x18 + :flag-assert #xb00000018 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype swamp-blimp-rand-vector (structure) + ((min-time int32 :offset-assert 0) + (max-time int32 :offset-assert 4) + (xz-max float :offset-assert 8) + (y-max float :offset-assert 12) + (timer int32 :offset-assert 16) + (value vector :inline :offset-assert 32) + ) + :method-count-assert 11 + :size-assert #x30 + :flag-assert #xb00000030 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype swamp-blimp-oscillator (structure) + ((target vector :inline :offset-assert 0) + (value vector :inline :offset-assert 16) + (vel vector :inline :offset-assert 32) + (accel float :offset-assert 48) + (max-vel float :offset-assert 52) + (damping float :offset-assert 56) + ) + :method-count-assert 11 + :size-assert #x3c + :flag-assert #xb0000003c + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype swamp-tetherrock (process-drawable) + ((tension float :offset-assert 176) + (tension-pt vector :inline :offset-assert 192) + (blimp basic :offset-assert 208) + (rot-at-init quaternion :inline :offset-assert 224) + (hits int32 :offset-assert 240) + ) + :method-count-assert 20 + :size-assert #xf4 + :flag-assert #x14009000f4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype precursor-arm (process-drawable) + ((y-init float :offset-assert 176) + (y-offset float :offset-assert 180) + (rot-speed float :offset-assert 184) + (rot-dist float :offset-assert 188) + (rot-base float :offset-assert 192) + (rot-t float :offset-assert 196) + (init-mat matrix :inline :offset-assert 208) + (tension float :offset-assert 272) + ) + :method-count-assert 20 + :size-assert #x114 + :flag-assert #x1400b00114 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype swamp-rope (process-drawable) + ((parent-rp int32 :offset-assert 176) + (other-entity basic :offset-assert 180) + (other-rp int32 :offset-assert 184) + (old-scale float :offset-assert 188) + (frame swamp-rope-oscillator :inline :offset-assert 192) + (other-pos vector :inline :offset-assert 224) + (scale-base float :offset-assert 240) + (base-vec vector :inline :offset-assert 256) + (scale-t float :offset-assert 272) + (x-t float :offset-assert 276) + (z-t float :offset-assert 280) + (rot-speed float :offset-assert 284) + ) + :method-count-assert 21 + :size-assert #x120 + :flag-assert #x1500b00120 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype swamp-blimp (process-drawable) + ((the-ropes UNKNOWN 5 :offset-assert 176) + (arm-timer int32 :offset-assert 216) + (trans-at-init vector :inline :offset-assert 224) + (rot-at-init quaternion :inline :offset-assert 240) + (y-vel float :offset-assert 256) + (y-offset float :offset-assert 260) + (y-offset-target float :offset-assert 264) + (main-tilt-rand swamp-blimp-rand-vector :inline :offset-assert 272) + (main-tilt-oscillator swamp-blimp-oscillator :inline :offset-assert 320) + (gondola-tilt-oscillator swamp-blimp-oscillator :inline :offset-assert 384) + (pos-rand swamp-blimp-rand-vector :inline :offset-assert 448) + (pos-oscillator swamp-blimp-oscillator :inline :offset-assert 496) + (scale-rand swamp-rope-rand-float :inline :offset-assert 556) + (scale-oscillator swamp-rope-oscillator :inline :offset-assert 576) + (gondola basic :offset-assert 600) + (bag basic :offset-assert 604) + ) + :method-count-assert 20 + :size-assert #x260 + :flag-assert #x1401f00260 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - sage-bluehut +;; Source Path - levels/village2/sage-bluehut.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype assistant-bluehut (process-taskable) + ((sound-id uint32 :offset-assert 368) + (jaws uint64 :offset-assert 376) + (sage basic :offset-assert 384) + (im-talking basic :offset-assert 388) + ) + :method-count-assert 48 + :size-assert #x188 + :flag-assert #x3001200188 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + +(deftype sage-bluehut (process-taskable) + ((reminder-played basic :offset-assert 368) + (assistant basic :offset-assert 372) + ) + :method-count-assert 48 + :size-assert #x178 + :flag-assert #x3001100178 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - flutflut-bluehut +;; Source Path - levels/village2/flutflut-bluehut.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype flutflut-bluehut (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - assistant-village2 +;; Source Path - levels/village2/assistant-village2.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype assistant-levitator (process-taskable) + ((boulder basic :offset-assert 368) + ) + :method-count-assert 48 + :size-assert #x174 + :flag-assert #x3001100174 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - sunken-elevator +;; Source Path - levels/village2/sunken-elevator.gc +;; Containing DGOs - ['L1', 'VI2'] +;; Version - 3 + +;; - Types + +(deftype sunken-elevator (plat-button) + ((play-at-top-going-up-camera? basic :offset-assert 240) + (teleport-if-below-y float :offset-assert 244) + (teleport-if-above-y float :offset-assert 248) + ) + :method-count-assert 33 + :size-assert #xfc + :flag-assert #x21009000fc + ;; inherited inpspect of plat-button + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + + +;; ---------------------- +;; File - swamp-obs +;; Source Path - levels/swamp/swamp-obs.gc +;; Containing DGOs - ['L1', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype swamp-spike (process-drawable) + ((sync sync-info :inline :offset-assert 176) + (open-gate basic :offset-assert 184) + (dangerous basic :offset-assert 188) + ) + :method-count-assert 21 + :size-assert #xc0 + :flag-assert #x15005000c0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype swampgate (swamp-spike) + () + :method-count-assert 21 + :size-assert #xc0 + :flag-assert #x15005000c0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype balance-plat (process-drawable) + ((y-travel float :offset-assert 176) + (y-init float :offset-assert 180) + (y-offset float :offset-assert 184) + (y-vel float :offset-assert 188) + (y-accel float :offset-assert 192) + (got-grow basic :offset-assert 196) + ) + :method-count-assert 20 + :size-assert #xc8 + :flag-assert #x14006000c8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype swamp-rock (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype tar-plat (rigid-body-platform) + ((anchor-point vector :inline :offset-assert 720) + (float-height float :offset-assert 736) + ) + :method-count-assert 35 + :size-assert #x2e4 + :flag-assert #x23028002e4 + ;; inherited inpspect of rigid-body-platform + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype swamp-barrel (barrel) + () + :method-count-assert 30 + :size-assert #xfc + :flag-assert #x1e009000fc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype swampcam (process-hidden) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype swamp-battlecontroller (battlecontroller) + () + :method-count-assert 29 + :size-assert #x278 + :flag-assert #x1d02100278 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + + +;; ---------------------- +;; File - swamp-bat +;; Source Path - levels/swamp/swamp-bat.gc +;; Containing DGOs - ['L1', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype swamp-bat-idle-path (structure) + ((origin vector :inline :offset-assert 0) + (x-axis vector :inline :offset-assert 16) + (y-axis vector :inline :offset-assert 32) + ) + :method-count-assert 10 + :size-assert #x30 + :flag-assert #xa00000030 + (:methods + (dummy-9 () none 9) + ) + ) + +(deftype swamp-bat (process-drawable) + ((path-origin vector :inline :offset-assert 176) + (idle-position-angle UNKNOWN 8 :offset-assert 192) + (path-select-plane UNKNOWN 2 :offset-assert 224) + (path-list UNKNOWN 2 :offset-assert 256) + (path-select int8 :offset-assert 264) + (slave-count int8 :offset-assert 265) + (path-count int8 :offset-assert 266) + ) + :method-count-assert 20 + :size-assert #x10b + :flag-assert #x1400a0010b + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype swamp-bat-slave (process-drawable) + ((sync sync-info :inline :offset-assert 176) + (idle-anim-speed float :offset-assert 184) + (strafe-envelope float :offset-assert 188) + (strafe-distance float :offset-assert 192) + (path-point-count float :offset-assert 196) + (idle-path swamp-bat-idle-path :inline :offset-assert 208) + (idle-position vector :inline :offset-assert 256) + (idle-position-index int8 :offset-assert 272) + (path-select int8 :offset-assert 273) + (launch-ready basic :offset-assert 276) + ) + :method-count-assert 21 + :size-assert #x118 + :flag-assert #x1500b00118 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - swamp-rat +;; Source Path - levels/swamp/swamp-rat.gc +;; Containing DGOs - ['L1', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype swamp-rat (nav-enemy) + ((up-vector vector :inline :offset-assert 400) + (state-float float :offset-assert 416) + (state-vector vector :inline :offset-assert 432) + (free-time uint64 :offset-assert 360) + (wiggle-time uint64 :offset-assert 456) + (wiggle-angle float :offset-assert 464) + (delta-wiggle-angle float :offset-assert 468) + (wiggle-factor float :offset-assert 472) + (min-height float :offset-assert 476) + (chase-rest-time uint64 :offset-assert 480) + (target-nav-time uint64 :offset-assert 488) + ) + :method-count-assert 60 + :size-assert #x1f0 + :flag-assert #x3c018001f0 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - swamp-rat-nest +;; Source Path - levels/swamp/swamp-rat-nest.gc +;; Containing DGOs - ['L1', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype swamp-rat-nest (process-drawable) + ((dummy uint32 :offset-assert 176) + (damaged basic :offset-assert 180) + (dummy-type int8 :offset-assert 184) + (rat-count int8 :offset-assert 185) + (hit-points int8 :offset-assert 186) + (spawn-period float :offset-assert 188) + (test-interval uint64 :offset-assert 192) + (player-attack-id int32 :offset-assert 200) + ) + :method-count-assert 20 + :size-assert #xcc + :flag-assert #x14006000cc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype swamp-rat-nest-dummy (process-drawable) + ((death-part basic :offset-assert 176) + (spawn-joint-array UNKNOWN 6 :offset-assert 180) + (spawn-joint-count int8 :offset-assert 186) + (particle-spawn-joint int8 :offset-assert 187) + ) + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype swamp-rat-nest-dummy-a (swamp-rat-nest-dummy) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype swamp-rat-nest-dummy-b (swamp-rat-nest-dummy) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype swamp-rat-nest-dummy-c (swamp-rat-nest-dummy) + () + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - kermit +;; Source Path - levels/swamp/kermit.gc +;; Containing DGOs - ['L1', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype joint-mod-tracker (basic) + ((target-pos vector :inline :offset-assert 16) + (target-pos-func basic :offset-assert 32) + (inv-forward-scale-factor float :offset-assert 36) + (forward-scale-control float :offset-assert 40) + (forward-scale-max float :offset-assert 44) + (process basic :offset-assert 48) + (enable basic :offset-assert 52) + (up-axis int8 :offset-assert 56) + (forward-axis int8 :offset-assert 57) + ) + :method-count-assert 9 + :size-assert #x3a + :flag-assert #x90000003a + ) + +(deftype kermit-pulse (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype kermit (nav-enemy) + ((rotate-dir vector :inline :offset-assert 400) + (charging-part basic :offset-assert 416) + (airborne basic :offset-assert 420) + (tongue-control basic :offset-assert 424) + (tongue-pulse-pos float :offset-assert 428) + (miss-count int8 :offset-assert 432) + (charged-up basic :offset-assert 436) + (sound-id uint32 :offset-assert 440) + ) + :method-count-assert 60 + :size-assert #x1bc + :flag-assert #x3c015001bc + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - swamp-part +;; Source Path - levels/swamp/swamp-part.gc +;; Containing DGOs - ['L1', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype swamp-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - billy +;; Source Path - levels/swamp/billy.gc +;; Containing DGOs - ['L1', 'SWA'] +;; Version - 3 + +;; - Types + +(deftype billy (process-taskable) + ((farthy uint64 :offset-assert 368) + (path-data UNKNOWN 3 :offset-assert 376) + (path-snacks basic :offset-assert 376) + (path-starts basic :offset-assert 380) + (path-waypts basic :offset-assert 384) + (passed-last-stage basic :offset-assert 388) + (spawn-rats basic :offset-assert 392) + (current-wave int32 :offset-assert 396) + (wave-start-time uint64 :offset-assert 400) + (num-snacks int32 :offset-assert 408) + (num-rats int32 :offset-assert 412) + (max-rats int32 :offset-assert 416) + (rat-speed float :offset-assert 420) + (offending-rat uint32 :offset-assert 424) + ) + :method-count-assert 48 + :size-assert #x1ac + :flag-assert #x30014001ac + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + +(deftype billy-snack (process-drawable) + ((num-rats int32 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype billy-rat (swamp-rat) + ((dest-type uint64 :offset-assert 496) + (snack uint64 :offset-assert 504) + (destination vector :inline :offset-assert 512) + (billy uint32 :offset-assert 528) + ) + :method-count-assert 60 + :size-assert #x214 + :flag-assert #x3c01b00214 + ;; inherited inpspect of swamp-rat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - cavecrystal-light +;; Source Path - levels/maincave/cavecrystal-light.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype cavecrystal-light (structure) + ((next cavecrystal-light :offset-assert 0) + (crystal-id int32 :offset-assert 4) + (intensity float :offset-assert 8) + (fade-start float :offset-assert 12) + (fade-end float :offset-assert 16) + (crystal-handle uint64 :offset-assert 24) + (trans vector :inline :offset-assert 32) + ) + :method-count-assert 9 + :size-assert #x30 + :flag-assert #x900000030 + ) + +(deftype cavecrystal-light-control (basic) + ((active-count int32 :offset-assert 4) + (head cavecrystal-light :offset-assert 8) + (last-known-valid-time uint64 :offset-assert 16) + (crystal UNKNOWN 7 :offset-assert 32) + ) + :method-count-assert 15 + :size-assert #x170 + :flag-assert #xf00000170 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + + +;; ---------------------- +;; File - maincave-obs +;; Source Path - levels/maincave/maincave-obs.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype maincavecam (pov-camera) + ((seq uint64 :offset-assert 208) + ) + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; inherited inpspect of pov-camera + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype cave-water (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype cavecrusher (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype cavetrapdoor (process-drawable) + ((delay-before-wiggle int32 :offset-assert 176) + ) + :method-count-assert 22 + :size-assert #xb4 + :flag-assert #x16005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype caveflamepots (process-drawable) + ((shove-up float :offset-assert 176) + (cycle-speed float :offset-assert 180) + (cycle-offset float :offset-assert 184) + (cycle-pause float :offset-assert 188) + (was-deadly? basic :offset-assert 192) + (launch-pos UNKNOWN 2 :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xf0 + :flag-assert #x14008000f0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype cavespatula (process-drawable) + ((sync sync-info :inline :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype cavespatulatwo (process-drawable) + ((sync sync-info :inline :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype caveelevator (process-drawable) + ((elev-mode uint64 :offset-assert 176) + (elev-type int32 :offset-assert 184) + (prev-frame-num float :offset-assert 188) + (last-update-bounce-time uint64 :offset-assert 192) + (orig-trans vector :inline :offset-assert 208) + (sync sync-info :inline :offset-assert 224) + (smush smush-control :inline :offset-assert 232) + (anim UNKNOWN 2 :offset-assert 264) + (wheel-ry-mat matrix :inline :offset-assert 272) + ) + :method-count-assert 22 + :size-assert #x150 + :flag-assert #x1600e00150 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - maincave-part +;; Source Path - levels/maincave/maincave-part.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype maincave-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +;; darkcave-part +(deftype darkcave-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - spiderwebs +;; Source Path - levels/maincave/spiderwebs.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype spiderwebs (process-drawable) + ((spring-height meters :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - dark-crystal +;; Source Path - levels/maincave/dark-crystal.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype dark-crystal (process-drawable) + ((crystal-num int32 :offset-assert 176) + (underwater? basic :offset-assert 180) + (explode-danger-radius float :offset-assert 184) + (lit-color-mult vector :inline :offset-assert 192) + (lit-color-emissive vector :inline :offset-assert 208) + (unlit-color-mult vector :inline :offset-assert 224) + (unlit-color-emissive vector :inline :offset-assert 240) + ) + :method-count-assert 22 + :size-assert #x100 + :flag-assert #x1600900100 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - baby-spider +;; Source Path - levels/maincave/baby-spider.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype baby-spider-spawn-params (structure) + ((hatched? basic :offset-assert 0) + (fast-start? basic :offset-assert 4) + (hack-move-above-ground? basic :offset-assert 8) + (die-if-not-visible? basic :offset-assert 12) + (pickup int32 :offset-assert 16) + (pickup-amount int32 :offset-assert 20) + (event-death basic :offset-assert 24) + (delay-before-dying-if-not-visible uint64 :offset-assert 32) + ) + :method-count-assert 11 + :size-assert #x28 + :flag-assert #xb00000028 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + ) + ) + +(deftype baby-spider (nav-enemy) + ((die-if-not-visible? basic :offset-assert 400) + (hack-move-above-ground? basic :offset-assert 404) + (state-float float :offset-assert 408) + (wiggle-angle float :offset-assert 412) + (delta-wiggle-angle float :offset-assert 416) + (wiggle-factor float :offset-assert 420) + (event-death basic :offset-assert 424) + (delay-before-dying-if-not-visible uint64 :offset-assert 432) + (chase-rest-time uint64 :offset-assert 440) + (target-nav-time uint64 :offset-assert 448) + (free-time uint64 :offset-assert 360) + (wiggle-time uint64 :offset-assert 464) + (last-visible-time uint64 :offset-assert 472) + (up-vector vector :inline :offset-assert 480) + (state-vector vector :inline :offset-assert 496) + ) + :method-count-assert 60 + :size-assert #x200 + :flag-assert #x3c01900200 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - mother-spider-h +;; Source Path - levels/maincave/mother-spider-h.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype mother-spider-leg (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype mother-spider-thread (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype mother-spider-leg-info (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype mother-spider-history (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype mother-spider-history-array (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype mother-spider (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - mother-spider-egg +;; Source Path - levels/maincave/mother-spider-egg.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype mother-spider-egg (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - mother-spider-proj +;; Source Path - levels/maincave/mother-spider-proj.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype mother-spider-proj (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 projectile) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - mother-spider +;; Source Path - levels/maincave/mother-spider.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - gnawer +;; Source Path - levels/maincave/gnawer.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype gnawer-falling-segment (process-drawable) + ((transv vector :inline :offset-assert 176) + (facing-rot vector :inline :offset-assert 192) + (facing-rotv vector :inline :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xe0 + :flag-assert #x14007000e0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype gnawer-segment-info (structure) + ((num-joints int32 :offset-assert 0) + (joint-index UNKNOWN 8 :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #xc + :flag-assert #x90000000c + ) + +(deftype gnawer-segment (structure) + ((place int32 :offset-assert 0) + (world-pos vector :inline :offset-assert 16) + (anim-to-local-trans-offset vector :inline :offset-assert 32) + (orient-mat matrix :inline :offset-assert 48) + ) + :method-count-assert 9 + :size-assert #x70 + :flag-assert #x900000070 + ) + +(deftype gnawer-route (structure) + ((src-pt-index int32 :offset-assert 0) + (dest-pt-index int32 :offset-assert 4) + (total-travel-time int32 :offset-assert 8) + (src-ang float :offset-assert 12) + (dest-ang float :offset-assert 16) + (delta-ang float :offset-assert 20) + (surface-dist float :offset-assert 24) + (total-dist float :offset-assert 28) + (src-pt-offset vector :inline :offset-assert 32) + (dest-pt-offset vector :inline :offset-assert 48) + (surface-dir vector :inline :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype gnawer (process-drawable) + ((hit-points int32 :offset-assert 176) + (gnawer-id int32 :offset-assert 180) + (total-money int32 :offset-assert 184) + (money-mask uint32 :offset-assert 188) + (eco-green-mask uint32 :offset-assert 192) + (hidden? basic :offset-assert 196) + (show-damage? basic :offset-assert 200) + (route-dist float :offset-assert 204) + (speed float :offset-assert 208) + (anim-speed float :offset-assert 212) + (part2 basic :offset-assert 216) + (last-hit-time uint64 :offset-assert 224) + (post-trans vector :inline :offset-assert 240) + (fall-trans vector :inline :offset-assert 256) + (route gnawer-route :inline :offset-assert 272) + (segments UNKNOWN 10 :offset-assert 352) + ) + :method-count-assert 31 + :size-assert #x5c0 + :flag-assert #x1f055005c0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + ) + ) + + +;; ---------------------- +;; File - driller-lurker +;; Source Path - levels/maincave/driller-lurker.gc +;; Containing DGOs - ['L1', 'MAI', 'MAINCAVE'] +;; Version - 3 + +;; - Types + +(deftype driller-lurker (process-drawable) + ((hit-player? basic :offset-assert 176) + (mode uint64 :offset-assert 184) + (path-u float :offset-assert 192) + (path-units-per-meter float :offset-assert 196) + (path-speed float :offset-assert 200) + (targ-path-speed float :offset-assert 204) + (path-dir float :offset-assert 208) + (path-ry float :offset-assert 212) + (facing-ry float :offset-assert 216) + (drill-rz float :offset-assert 220) + (drill-speed float :offset-assert 224) + (up-blend float :offset-assert 228) + (player-path-u float :offset-assert 232) + (ambient-drilling-u float :offset-assert 236) + (timeout int32 :offset-assert 240) + (neck basic :offset-assert 244) + (drill basic :offset-assert 248) + (last-update-time uint64 :offset-assert 256) + (last-player-path-u-time uint64 :offset-assert 264) + (started-chasing-time uint64 :offset-assert 272) + (hit-player-time uint64 :offset-assert 280) + (player-attack-id uint64 :offset-assert 288) + ) + :method-count-assert 28 + :size-assert #x128 + :flag-assert #x1c00c00128 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + + +;; ---------------------- +;; File - sunken-part +;; Source Path - levels/sunken/sunken-part.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype sunken-part (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + + +;; ---------------------- +;; File - sunken-part2 +;; Source Path - levels/sunken/sunken-part2.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunken-part3 +;; Source Path - levels/sunken/sunken-part3.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunken-part4 +;; Source Path - levels/sunken/sunken-part4.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunken-part5 +;; Source Path - levels/sunken/sunken-part5.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - target-tube +;; Source Path - levels/sunken/target-tube.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype tube-info (basic) + ((entity basic :offset-assert 4) + (tube uint64 :offset-assert 8) + (downhill vector :inline :offset-assert 16) + (centertube vector :inline :offset-assert 32) + (downtube vector :inline :offset-assert 48) + (sidetube vector :inline :offset-assert 64) + (foretube vector :inline :offset-assert 80) + (old-transv vector :inline :offset-assert 96) + (mod-x float :offset-assert 112) + (mod-y float :offset-assert 116) + (start-time uint64 :offset-assert 120) + (turn-anim-targ float :offset-assert 128) + (turn-anim-frame float :offset-assert 132) + (turn-anim-vel float :offset-assert 136) + ) + :method-count-assert 9 + :size-assert #x8c + :flag-assert #x90000008c + ) + +(deftype tube-bank (basic) + () + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + +(deftype slide-control (process-drawable) + ((target uint64 :offset-assert 176) + (pos float :offset-assert 184) + (trans vector :inline :offset-assert 192) + (rot vector :inline :offset-assert 208) + (side vector :inline :offset-assert 224) + ) + :method-count-assert 22 + :size-assert #xf0 + :flag-assert #x16008000f0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - eichar-tube+0-ag-L1-SUNKEN +;; Source Path - levels/l1_only/eichar-tube+0-ag-L1-SUNKEN.gd +;; Containing DGOs - ['L1', 'SUNKEN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-tube+0-ag-SUN +;; Source Path - levels/sunken/eichar-tube+0-ag-SUN.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunken-obs +;; Source Path - levels/sunken/sunken-obs.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype water-vol-deadly (process-hidden) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype side-to-side-plat (plat) + ((part-ry float :offset-assert 264) + ) + :method-count-assert 33 + :size-assert #x10c + :flag-assert #x2100a0010c + ;; inherited inpspect of plat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype sunkencam (pov-camera) + ((seq uint64 :offset-assert 208) + ) + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; inherited inpspect of pov-camera + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype seaweed (process-drawable) + ((anim-speed float :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - shover +;; Source Path - levels/sunken/shover.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype shover (process-drawable) + ((shove-up float :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - square-platform +;; Source Path - levels/sunken/square-platform.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype square-platform (baseplat) + ((plat-id int32 :offset-assert 228) + (pos-u float :offset-assert 232) + (water-entity basic :offset-assert 236) + (start-splash-time uint64 :offset-assert 240) + (part2 basic :offset-assert 248) + (part3 basic :offset-assert 252) + (part4 basic :offset-assert 256) + (up-pos vector :inline :offset-assert 272) + (down-pos vector :inline :offset-assert 288) + ) + :method-count-assert 28 + :size-assert #x130 + :flag-assert #x1c00c00130 + ;; inherited inpspect of baseplat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + +(deftype square-platform-button (basebutton) + () + :method-count-assert 32 + :size-assert #x100 + :flag-assert #x2000900100 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + ) + ) + +(deftype square-platform-master (process-drawable) + ((button-id int32 :offset-assert 176) + (plat-id int32 :offset-assert 180) + (plat-mask uint32 :offset-assert 184) + (plat-id-dir int32 :offset-assert 188) + (wiggled? basic :offset-assert 192) + (timeout uint64 :offset-assert 200) + (last-plat-activated-time uint64 :offset-assert 208) + (delay-til-wiggle uint64 :offset-assert 216) + (ticker ticky :inline :offset-assert 224) + ) + :method-count-assert 20 + :size-assert #x100 + :flag-assert #x1400900100 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - sun-iris-door +;; Source Path - levels/sunken/sun-iris-door.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype sun-iris-door (process-drawable) + ((timeout float :offset-assert 176) + (proximity? basic :offset-assert 180) + (move-to? basic :offset-assert 184) + (move-to-pos vector :inline :offset-assert 192) + (move-to-quat quaternion :inline :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xe0 + :flag-assert #x14007000e0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - orbit-plat +;; Source Path - levels/sunken/orbit-plat.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype orbit-plat-bottom (process-drawable) + ((part2 basic :offset-assert 176) + ) + :method-count-assert 21 + :size-assert #xb4 + :flag-assert #x15005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype orbit-plat (baseplat) + ((other basic :offset-assert 228) + (rot-dir float :offset-assert 232) + (reset-trans vector :inline :offset-assert 240) + (is-reset? basic :offset-assert 256) + (reset-length float :offset-assert 260) + (timeout float :offset-assert 264) + (plat-status uint64 :offset-assert 272) + ) + :method-count-assert 29 + :size-assert #x118 + :flag-assert #x1d00b00118 + ;; inherited inpspect of baseplat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + ) + ) + + +;; ---------------------- +;; File - wedge-plats +;; Source Path - levels/sunken/wedge-plats.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype wedge-plat-master (process) + ((center vector :inline :offset-assert 112) + (rotspeed float :offset-assert 128) + (rotate-inner float :offset-assert 132) + (rotate-outer float :offset-assert 136) + ) + :method-count-assert 14 + :size-assert #x8c + :flag-assert #xe0020008c + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + ) + ) + +(deftype wedge-plat (baseplat) + ((master basic :offset-assert 228) + (distance float :offset-assert 232) + (offset float :offset-assert 236) + ) + :method-count-assert 28 + :size-assert #xf0 + :flag-assert #x1c008000f0 + ;; inherited inpspect of baseplat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + +(deftype wedge-plat-outer (wedge-plat) + () + :method-count-assert 28 + :size-assert #xf0 + :flag-assert #x1c008000f0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + + +;; ---------------------- +;; File - wall-plat +;; Source Path - levels/sunken/wall-plat.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype wall-plat (process-drawable) + ((use-sync? basic :offset-assert 176) + (extended-amount float :offset-assert 180) + (in-trans vector :inline :offset-assert 192) + (out-trans vector :inline :offset-assert 208) + (sync sync-info-paused :inline :offset-assert 224) + ) + :method-count-assert 20 + :size-assert #xf0 + :flag-assert #x14008000f0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - qbert-plat +;; Source Path - levels/sunken/qbert-plat.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype qbert-plat-on (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype qbert-plat (rigid-body-platform) + ((anchor-point vector :inline :offset-assert 720) + (plat-id int32 :offset-assert 736) + (on? basic :offset-assert 740) + (player-is-riding? basic :offset-assert 744) + (master basic :offset-assert 748) + ) + :method-count-assert 35 + :size-assert #x2f0 + :flag-assert #x23028002f0 + ;; inherited inpspect of rigid-body-platform + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype qbert-plat-master (process-drawable) + ((last-plat-triggered int32 :offset-assert 176) + (plat-states uint32 :offset-assert 180) + (plat-states-needed-to-open-door uint32 :offset-assert 184) + (player-in-bounds? basic :offset-assert 188) + (player-in-water? basic :offset-assert 192) + (play-door-cam? basic :offset-assert 196) + (puzzle-beaten? basic :offset-assert 200) + (door basic :offset-assert 204) + (door-plat basic :offset-assert 208) + (bounds-start vector :inline :offset-assert 224) + (bounds-end vector :inline :offset-assert 240) + ) + :method-count-assert 21 + :size-assert #x100 + :flag-assert #x1500900100 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - steam-cap +;; Source Path - levels/sunken/steam-cap.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype steam-cap-control-pt (structure) + ((trans vector :inline :offset-assert 0) + (transv vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype steam-cap (process-drawable) + ((do-burst? basic :offset-assert 176) + (do-falling-sound? basic :offset-assert 180) + (do-landing-sound? basic :offset-assert 184) + (begin-travel-up float :offset-assert 188) + (begin-travel-down float :offset-assert 192) + (sync sync-info :inline :offset-assert 196) + (part2 basic :offset-assert 204) + (part3 basic :offset-assert 208) + (down vector :inline :offset-assert 224) + (up vector :inline :offset-assert 240) + (control-pt UNKNOWN 3 :offset-assert 256) + ) + :method-count-assert 22 + :size-assert #x160 + :flag-assert #x1600f00160 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - sun-exit-chamber +;; Source Path - levels/sunken/sun-exit-chamber.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype blue-eco-charger-orb (process-drawable) + ((orbit-rot vector :inline :offset-assert 176) + (orbit-rotv vector :inline :offset-assert 192) + (targ-orbit-rotv vector :inline :offset-assert 208) + (rest-pos vector :inline :offset-assert 224) + ) + :method-count-assert 21 + :size-assert #xf0 + :flag-assert #x15008000f0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype blue-eco-charger (process-drawable) + ((charger-id int32 :offset-assert 176) + (open-level float :offset-assert 180) + (master basic :offset-assert 184) + ) + :method-count-assert 22 + :size-assert #xbc + :flag-assert #x16005000bc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype exit-chamber-items (structure) + ((door-pos vector :inline :offset-assert 0) + (door-quat quaternion :inline :offset-assert 16) + (button-pos vector :inline :offset-assert 32) + (button-quat quaternion :inline :offset-assert 48) + (fcell-pos vector :inline :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + +(deftype exit-chamber (process-drawable) + ((chargers-active uint32 :offset-assert 176) + (move-player? basic :offset-assert 180) + (move-fcell? basic :offset-assert 184) + (wave-scale float :offset-assert 188) + (button uint32 :offset-assert 192) + (door uint32 :offset-assert 196) + (fcell-handle uint64 :offset-assert 200) + (orig-trans vector :inline :offset-assert 208) + (last-pos vector :inline :offset-assert 224) + ) + :method-count-assert 24 + :size-assert #xf0 + :flag-assert #x18008000f0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + ) + ) + +(deftype exit-chamber-button (basebutton) + () + :method-count-assert 32 + :size-assert #x100 + :flag-assert #x2000900100 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + ) + ) + + +;; ---------------------- +;; File - floating-launcher +;; Source Path - levels/sunken/floating-launcher.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype floating-launcher (baseplat) + ((trigger-height float :offset-assert 228) + (launcher uint32 :offset-assert 232) + ) + :method-count-assert 27 + :size-assert #xec + :flag-assert #x1b008000ec + ;; inherited inpspect of baseplat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + ) + ) + + +;; ---------------------- +;; File - sunken-water +;; Source Path - levels/sunken/sunken-water.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype sunken-water (water-anim) + ((use-sync? basic :offset-assert 216) + (deadly-time float :offset-assert 220) + (deadly-fade float :offset-assert 224) + (sync sync-info :inline :offset-assert 228) + (safe-color-mult vector :inline :offset-assert 240) + (safe-color-emissive vector :inline :offset-assert 256) + (deadly-color-mult vector :inline :offset-assert 272) + (deadly-color-emissive vector :inline :offset-assert 288) + ) + :method-count-assert 30 + :size-assert #x130 + :flag-assert #x1e00c00130 + ;; inherited inpspect of water-anim + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - whirlpool +;; Source Path - levels/sunken/whirlpool.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype whirlpool (process-drawable) + ((spin-ry float :offset-assert 176) + (spin-speed-idle float :offset-assert 180) + (spin-speed-delta float :offset-assert 184) + (sync sync-info-paused :inline :offset-assert 188) + ) + :method-count-assert 21 + :size-assert #xcc + :flag-assert #x15006000cc + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - sunken-pipegame +;; Source Path - levels/sunken/sunken-pipegame.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype sunken-pipegame-button (basebutton) + () + :method-count-assert 32 + :size-assert #x100 + :flag-assert #x2000900100 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + ) + ) + +(deftype sunken-pipegame-prize (structure) + ((puzzle-delay uint64 :offset-assert 0) + (pipe-travel-time-to-far uint64 :offset-assert 8) + (pipe-travel-time-to-jar uint64 :offset-assert 16) + (actor-handle uint64 :offset-assert 24) + (jar-pos vector :inline :offset-assert 32) + (far-pos vector :inline :offset-assert 48) + (sucked-up-jar-part-pos vector :inline :offset-assert 64) + (sucked-up-far-part-pos vector :inline :offset-assert 80) + (blown-out-jar-part-pos vector :inline :offset-assert 96) + (blown-out-far-part-pos vector :inline :offset-assert 112) + (sucked-up-part basic :offset-assert 128) + (blown-out-part basic :offset-assert 132) + ) + :method-count-assert 9 + :size-assert #x88 + :flag-assert #x900000088 + ) + +(deftype sunken-pipegame (process-drawable) + ((challenges-mask uint32 :offset-assert 176) + (challenge int32 :offset-assert 180) + (ticker ticky :inline :offset-assert 184) + (button UNKNOWN 3 :offset-assert 224) + (prize UNKNOWN 3 :offset-assert 240) + ) + :method-count-assert 23 + :size-assert #x2a0 + :flag-assert #x17023002a0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + ) + ) + + +;; ---------------------- +;; File - bully +;; Source Path - levels/sunken/bully.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype bully-broken-cage (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype bully (process-drawable) + ((hit-player? basic :offset-assert 176) + (bounced? basic :offset-assert 180) + (facing-ry float :offset-assert 184) + (travel-ry float :offset-assert 188) + (speed-u float :offset-assert 192) + (spin-vel float :offset-assert 196) + (travel-speed float :offset-assert 200) + (reaction-delay uint64 :offset-assert 208) + (start-spin-time uint64 :offset-assert 216) + (slow-down uint64 :offset-assert 224) + (hit-player-time uint64 :offset-assert 232) + (neck basic :offset-assert 240) + ) + :method-count-assert 21 + :size-assert #xf4 + :flag-assert #x15009000f4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - double-lurker +;; Source Path - levels/sunken/double-lurker.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype double-lurker-top (nav-enemy) + ((fall-dest vector :inline :offset-assert 400) + ) + :method-count-assert 60 + :size-assert #x1a0 + :flag-assert #x3c013001a0 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + +(deftype double-lurker (nav-enemy) + ((knocked-back-speed float :offset-assert 400) + (buddy-on-shoulders? basic :offset-assert 404) + (dead? basic :offset-assert 408) + (buddy-dead? basic :offset-assert 412) + (buddy-handle uint64 :offset-assert 416) + ) + :method-count-assert 60 + :size-assert #x1a8 + :flag-assert #x3c014001a8 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + + +;; ---------------------- +;; File - helix-water +;; Source Path - levels/sunken/helix-water.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype helix-slide-door (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype helix-button (process-drawable) + ((my-water basic :offset-assert 176) + (my-door basic :offset-assert 180) + (fcell-handle uint64 :offset-assert 184) + (down-y float :offset-assert 192) + (spawn-trans vector :inline :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xe0 + :flag-assert #x14007000e0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype helix-dark-eco (dark-eco-pool) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype helix-water (process-drawable) + ((last-alt-actor-consumed int32 :offset-assert 176) + (alt-actors basic :offset-assert 180) + (transv-y float :offset-assert 184) + (start-y float :offset-assert 188) + (end-y float :offset-assert 192) + (dark-eco uint32 :offset-assert 196) + ) + :method-count-assert 23 + :size-assert #xc8 + :flag-assert #x17006000c8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + ) + ) + + +;; ---------------------- +;; File - puffer +;; Source Path - levels/sunken/puffer.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype puffer (process-drawable) + ((path-index int32 :offset-assert 176) + (facing-ry float :offset-assert 180) + (travel-ry float :offset-assert 184) + (travel-speed float :offset-assert 188) + (attack-bottom-y float :offset-assert 192) + (patrol-bottom-y float :offset-assert 196) + (top-y float :offset-assert 200) + (targ-trans-y float :offset-assert 204) + (acc-y float :offset-assert 208) + (travel-turn-speed float :offset-assert 212) + (notice-dist float :offset-assert 216) + (give-up-dist float :offset-assert 220) + (attacking? basic :offset-assert 224) + (hit-player? basic :offset-assert 228) + (look-mean? basic :offset-assert 232) + (cprims-type uint64 :offset-assert 240) + (neck basic :offset-assert 248) + (hit-player-time uint64 :offset-assert 256) + (reaction-delay uint64 :offset-assert 264) + (picked-point-time uint64 :offset-assert 272) + (pick-new-point-delay uint64 :offset-assert 280) + (last-on-screen-time uint64 :offset-assert 288) + (buddy basic :offset-assert 296) + (nice-look lod-set :inline :offset-assert 300) + (mean-look lod-set :inline :offset-assert 336) + (dest-pos vector :inline :offset-assert 384) + (sync sync-info :inline :offset-assert 400) + ) + :method-count-assert 32 + :size-assert #x198 + :flag-assert #x2001300198 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + ) + ) + +(deftype pick-patrol-point-away-from-buddy-work (structure) + ((best-path-index int32 :offset-assert 0) + (best-rating float :offset-assert 4) + (best-dest vector :inline :offset-assert 16) + (pt-dir vector :inline :offset-assert 32) + (buddy-dir vector :inline :offset-assert 48) + (dest vector :inline :offset-assert 64) + ) + :method-count-assert 9 + :size-assert #x50 + :flag-assert #x900000050 + ) + + +;; ---------------------- +;; File - sunken-fish +;; Source Path - levels/sunken/sunken-fish.gc +;; Containing DGOs - ['L1', 'SUN', 'SUNKEN'] +;; Version - 3 + +;; - Types + +(deftype sunkenfisha (process-drawable) + ((path-u float :offset-assert 176) + (path-speed float :offset-assert 180) + (path-speed-seek-speed float :offset-assert 184) + (targ-path-speed float :offset-assert 188) + (path-normal-speed-lo float :offset-assert 192) + (path-normal-speed-hi float :offset-assert 196) + (path-dir float :offset-assert 200) + (change-path-dir-time uint64 :offset-assert 208) + (local-path-offset vector :inline :offset-assert 224) + (targ-local-path-offset vector :inline :offset-assert 240) + (local-path-offset-dir vector :inline :offset-assert 256) + (max-local-path-offset vector :inline :offset-assert 272) + (facing-rot vector :inline :offset-assert 288) + (path-trans-offset vector :inline :offset-assert 304) + ) + :method-count-assert 26 + :size-assert #x140 + :flag-assert #x1a00d00140 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + ) + ) + + +;; ---------------------- +;; File - rolling-obs +;; Source Path - levels/rolling/rolling-obs.gc +;; Containing DGOs - ['L1', 'ROL'] +;; Version - 3 + +;; - Types + +;; rolling-part +(deftype rolling-part (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + +(deftype rollingcam (process-hidden) + ((name basic :offset-assert 4) + (mask uint32 :offset-assert 8) + (parent uint32 :offset-assert 12) + (brother uint32 :offset-assert 16) + (child uint32 :offset-assert 20) + (ppointer uint32 :offset-assert 24) + (self basic :offset-assert 28) + (pool basic :offset-assert 32) + (status basic :offset-assert 36) + (pid int32 :offset-assert 40) + (main-thread basic :offset-assert 44) + (top-thread basic :offset-assert 48) + (entity basic :offset-assert 52) + (state basic :offset-assert 56) + (trans-hook basic :offset-assert 60) + (post-hook basic :offset-assert 64) + (event-hook basic :offset-assert 68) + (allocated-length int32 :offset-assert 72) + (next-state basic :offset-assert 76) + (heap-base uint32 :offset-assert 80) + (heap-top uint32 :offset-assert 84) + (heap-cur uint32 :offset-assert 88) + (stack-frame-top basic :offset-assert 92) + (heap kheap :inline :offset-assert 80) + (connection-list 'connectable :inline :offset-assert 96) + (stack UNKNOWN :dynamic :offset-assert 112) + ) + :method-count-assert 15 + :size-assert #x70 + :flag-assert #xf00000070 + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + ) + ) + +(deftype pusher-base (process-drawable) + ((max-frame float :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype pusher (pusher-base) + ((sync sync-info-paused :inline :offset-assert 180) + (cyl cylinder :inline :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xf8 + :flag-assert #x14009000f8 + ;; inherited inpspect of pusher-base + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype gorge-pusher (pusher-base) + ((min-frame float :offset-assert 180) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of pusher-base + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype dark-plant (process-drawable) + ((num-alts int32 :offset-assert 176) + (alts UNKNOWN 4 :offset-assert 180) + ) + :method-count-assert 20 + :size-assert #xc4 + :flag-assert #x14006000c4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype happy-plant (process-drawable) + ((alt-actor basic :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype race-time (structure) + ((digit UNKNOWN 5 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x5 + :flag-assert #x900000005 + ) + +(deftype rolling-start (process-drawable) + ((whole-look lod-set :inline :offset-assert 176) + (broken-look lod-set :inline :offset-assert 212) + ) + :method-count-assert 20 + :size-assert #xf5 + :flag-assert #x14009000f5 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype gorge (process-drawable) + ((coord matrix :inline :offset-assert 176) + (radius float :offset-assert 240) + (thickness float :offset-assert 244) + ) + :method-count-assert 20 + :size-assert #xf8 + :flag-assert #x14009000f8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype gorge-start (gorge) + ((tasks basic :offset-assert 248) + (record-time race-time :inline :offset-assert 252) + (this-time race-time :inline :offset-assert 257) + (start-banner uint64 :offset-assert 264) + (end-banner uint64 :offset-assert 272) + ) + :method-count-assert 20 + :size-assert #x118 + :flag-assert #x1400b00118 + ;; inherited inpspect of gorge + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype gorge-finish (gorge) + ((alt-actor basic :offset-assert 248) + ) + :method-count-assert 20 + :size-assert #xfc + :flag-assert #x14009000fc + ;; inherited inpspect of gorge + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype gorge-abort (gorge) + () + :method-count-assert 20 + :size-assert #xf8 + :flag-assert #x14009000f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype rolling-water (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - rolling-lightning-mole +;; Source Path - levels/rolling/rolling-lightning-mole.gc +;; Containing DGOs - ['L1', 'ROL'] +;; Version - 3 + +;; - Types + +(deftype fleeing-nav-enemy-info (structure) + ((min-reflect-angle float :offset-assert 0) + (max-reflect-angle float :offset-assert 4) + (max-boundary-deflection float :offset-assert 8) + (deflection-min-dist float :offset-assert 12) + (deflection-max-dist float :offset-assert 16) + (reflection-time int32 :offset-assert 20) + (travel-rotate-speed float :offset-assert 24) + (blend_interp_angle float :offset-assert 28) + (min-speed-adjust float :offset-assert 32) + (max-speed-adjust float :offset-assert 36) + (speed-adjust-center float :offset-assert 40) + (speed-adjust-range float :offset-assert 44) + (abort-notice-distance float :offset-assert 48) + (min-notice-dist float :offset-assert 52) + (max-notice-dist float :offset-assert 56) + (min-stop-chase-dist float :offset-assert 60) + (max-stop-chase-dist float :offset-assert 64) + (max-flee-rotation float :offset-assert 68) + ) + :method-count-assert 9 + :size-assert #x48 + :flag-assert #x900000048 + ) + +(deftype fleeing-nav-enemy (nav-enemy) + ((last-reflection-time uint64 :offset-assert 400) + (run-blend-interp float :offset-assert 408) + (desired-travel vector :inline :offset-assert 416) + (saved-travel vector :inline :offset-assert 432) + (speed-adjust float :offset-assert 448) + (flee-info fleeing-nav-enemy-info :inline :offset-assert 452) + ) + :method-count-assert 60 + :size-assert #x20c + :flag-assert #x3c01a0020c + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + +(deftype lightning-mole (fleeing-nav-enemy) + ((debug-vector vector :inline :offset-assert 528) + (alt-actor basic :offset-assert 544) + ) + :method-count-assert 60 + :size-assert #x224 + :flag-assert #x3c01c00224 + ;; inherited inpspect of fleeing-nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + +(deftype peeper (process-drawable) + ((last-reflection-time uint64 :offset-assert 176) + (run-blend-interp float :offset-assert 184) + (desired-travel vector :inline :offset-assert 192) + (saved-travel vector :inline :offset-assert 208) + (speed-adjust float :offset-assert 224) + (flee-info fleeing-nav-enemy-info :inline :offset-assert 228) + ) + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - rolling-robber +;; Source Path - levels/rolling/rolling-robber.gc +;; Containing DGOs - ['L1', 'ROL'] +;; Version - 3 + +;; - Types + +(deftype robber (process-drawable) + ((curve-position float :offset-assert 176) + (speed float :offset-assert 180) + (facing vector :inline :offset-assert 192) + (tangent vector :inline :offset-assert 208) + (run-blend-interp float :offset-assert 224) + (near-timer int32 :offset-assert 228) + (far-time uint64 :offset-assert 232) + (y-offset float :offset-assert 240) + (y-offset-desired float :offset-assert 244) + (y-vel float :offset-assert 248) + (water-height float :offset-assert 252) + (timeout uint64 :offset-assert 256) + (last-ambient-time uint64 :offset-assert 264) + (time-to-next-ambient uint64 :offset-assert 272) + ) + :method-count-assert 20 + :size-assert #x118 + :flag-assert #x1400b00118 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - rolling-race-ring +;; Source Path - levels/rolling/rolling-race-ring.gc +;; Containing DGOs - ['L1', 'ROL'] +;; Version - 3 + +;; - Types + +(deftype race-ring (process-drawable) + ((rot-y float :offset-assert 176) + (face-vec vector :inline :offset-assert 192) + (part-track uint64 :offset-assert 208) + (keep-part-track-alive basic :offset-assert 216) + (timeout uint64 :offset-assert 224) + (alt-actor basic :offset-assert 232) + (alt-task uint8 :offset-assert 236) + (cyl cylinder-flat :inline :offset-assert 240) + (old-hips vector :inline :offset-assert 288) + ) + :method-count-assert 20 + :size-assert #x130 + :flag-assert #x1400c00130 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - firecanyon-obs +;; Source Path - levels/firecanyon/firecanyon-obs.gc +;; Containing DGOs - ['L1', 'FIC', 'OGR'] +;; Version - 3 + +;; - Types + +(deftype balloon (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype spike (process-drawable) + ((num-alts int32 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype crate-darkeco-cluster (process-drawable) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - ogre-part +;; Source Path - levels/ogre/ogre-part.gc +;; Containing DGOs - ['L1', 'OGR'] +;; Version - 3 + +;; - Types + +(deftype ogre-part (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + + +;; ---------------------- +;; File - ogreboss +;; Source Path - levels/ogre/ogreboss.gc +;; Containing DGOs - ['L1', 'OGR'] +;; Version - 3 + +;; - Types + +(deftype ogreboss-super-boulder (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype ogreboss-bounce-boulder (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype ogreboss-missile (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + +(deftype ogreboss-missile-init-data (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; bad get label + ) + +(deftype ogreboss (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - ogre-obs +;; Source Path - levels/ogre/ogre-obs.gc +;; Containing DGOs - ['L1', 'OGR'] +;; Version - 3 + +;; - Types + +(deftype tntbarrel (process-drawable) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype ogre-plat (rigid-body-platform) + ((anchor-point vector :inline :offset-assert 720) + (idle-distance float :offset-assert 736) + (idle-y-offset float :offset-assert 740) + (float-y-offset float :offset-assert 744) + (delay uint64 :offset-assert 752) + ) + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; inherited inpspect of rigid-body-platform + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-step (ogre-plat) + () + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-step-a (ogre-step) + () + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-step-b (ogre-step) + () + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-step-c (ogre-step) + () + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-step-d (ogre-step) + () + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-isle (ogre-plat) + () + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-isle-b (ogre-isle) + () + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-isle-c (ogre-isle) + () + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-isle-d (ogre-isle) + () + :method-count-assert 35 + :size-assert #x2f8 + :flag-assert #x23029002f8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + ) + ) + +(deftype ogre-bridge (process-drawable) + ((joint-mod-array UNKNOWN 8 :offset-assert 176) + (dead-joint-count int8 :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xd1 + :flag-assert #x14007000d1 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype ogre-lava (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype shortcut-boulder (process-drawable) + ((broken-look lod-set :inline :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xd1 + :flag-assert #x14007000d1 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - flying-lurker +;; Source Path - levels/ogre/flying-lurker.gc +;; Containing DGOs - ['L1', 'OGR'] +;; Version - 3 + +;; - Types + +(deftype plunger-lurker (process-drawable) + ((alt-actor basic :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype flying-lurker (process-drawable) + ((curve-position float :offset-assert 176) + (speed float :offset-assert 180) + (tangent vector :inline :offset-assert 192) + (anim-blend float :offset-assert 208) + (y-offset float :offset-assert 212) + (y-offset-desired float :offset-assert 216) + (y-vel float :offset-assert 220) + (last-look-time uint64 :offset-assert 224) + (time-to-next-look uint64 :offset-assert 232) + (take-off basic :offset-assert 240) + (race-seconds float :offset-assert 244) + (race-start-time uint64 :offset-assert 248) + (rank int32 :offset-assert 256) + (alt-actor basic :offset-assert 260) + (alt-trans vector :offset-assert 264) + ) + :method-count-assert 20 + :size-assert #x10c + :flag-assert #x1400a0010c + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - village3-part +;; Source Path - levels/village3/village3-part.gc +;; Containing DGOs - ['L1', 'VI3'] +;; Version - 3 + +;; - Types + +(deftype villagec-part (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + + +;; ---------------------- +;; File - village3-obs +;; Source Path - levels/village3/village3-obs.gc +;; Containing DGOs - ['L1', 'VI3'] +;; Version - 3 + +;; - Types + +(deftype villagec-lava (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype gondola (process-drawable) + ((anim basic :offset-assert 176) + (old-target-pos transformq :inline :offset-assert 192) + ) + :method-count-assert 23 + :size-assert #xf0 + :flag-assert #x17008000f0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + ) + ) + +(deftype pistons (process-drawable) + () + :method-count-assert 22 + :size-assert #xb0 + :flag-assert #x16004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + +(deftype gondolacables (process-drawable) + () + :method-count-assert 21 + :size-assert #xb0 + :flag-assert #x15004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - minecart +;; Source Path - levels/village3/minecart.gc +;; Containing DGOs - ['L1', 'VI3'] +;; Version - 3 + +;; - Types + +(deftype minecartsteel (process-drawable) + ((index int32 :offset-assert 176) + (anim basic :offset-assert 180) + (sync sync-info :inline :offset-assert 184) + ) + :method-count-assert 21 + :size-assert #xc0 + :flag-assert #x15005000c0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - miners +;; Source Path - levels/village3/miners.gc +;; Containing DGOs - ['L1', 'VI3'] +;; Version - 3 + +;; - Types + +(deftype minertall (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + +(deftype minershort (process-taskable) + ((other-miner basic :offset-assert 368) + ) + :method-count-assert 48 + :size-assert #x174 + :flag-assert #x3001100174 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - assistant-village3 +;; Source Path - levels/village3/assistant-village3.gc +;; Containing DGOs - ['L1', 'VI3'] +;; Version - 3 + +;; - Types + +(deftype assistant-villagec (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - sage-village3 +;; Source Path - levels/village3/sage-village3.gc +;; Containing DGOs - ['L1', 'VI3'] +;; Version - 3 + +;; - Types + +(deftype sage-villagec (process-taskable) + ((evilbro uint64 :offset-assert 368) + (evilsis uint64 :offset-assert 376) + (assistant basic :offset-assert 384) + ) + :method-count-assert 48 + :size-assert #x184 + :flag-assert #x3001200184 + ;; inherited inpspect of process-taskable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - cave-trap +;; Source Path - levels/robocave/cave-trap.gc +;; Containing DGOs - ['L1', 'ROB'] +;; Version - 3 + +;; - Types + +(deftype cave-trap (process-drawable) + ((spider-count int32 :offset-assert 176) + (alt-actors basic :offset-assert 180) + (spawn-delay uint64 :offset-assert 184) + (last-spawn-time uint64 :offset-assert 192) + (debug-targ-pos vector :inline :offset-assert 208) + ) + :method-count-assert 21 + :size-assert #xe0 + :flag-assert #x15007000e0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype spider-vent (process-drawable) + ((last-spawn-time uint64 :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb8 + :flag-assert #x14005000b8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype spawn-baby-spider-best (structure) + ((index int32 :offset-assert 0) + (dist float :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype spawn-baby-spider-work (structure) + ((best UNKNOWN 4 :offset-assert 0) + ) + :method-count-assert 9 + :size-assert #x40 + :flag-assert #x900000040 + ) + + +;; ---------------------- +;; File - spider-egg +;; Source Path - levels/robocave/spider-egg.gc +;; Containing DGOs - ['L1', 'ROB'] +;; Version - 3 + +;; - Types + +(deftype spider-egg (process-drawable) + ((notify-actor basic :offset-assert 176) + (part2 basic :offset-assert 180) + (broken-look lod-set :inline :offset-assert 184) + ) + :method-count-assert 20 + :size-assert #xd9 + :flag-assert #x14007000d9 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - robocave-part +;; Source Path - levels/robocave/robocave-part.gc +;; Containing DGOs - ['L1', 'ROB'] +;; Version - 3 + +;; - Types + +(deftype robocave-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - target-snowball +;; Source Path - levels/snow/target-snowball.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype snowball-info (basic) + ((entity basic :offset-assert 4) + ) + :method-count-assert 9 + :size-assert #x8 + :flag-assert #x900000008 + ) + +(deftype snowball-bank (basic) + () + :method-count-assert 9 + :size-assert #x4 + :flag-assert #x900000004 + ) + + +;; ---------------------- +;; File - target-ice +;; Source Path - levels/snow/target-ice.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ice-cube +;; Source Path - levels/snow/ice-cube.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype ice-cube (nav-enemy) + ((part2 basic :offset-assert 400) + (part3 basic :offset-assert 404) + (part4 basic :offset-assert 408) + (track-target? basic :offset-assert 412) + (slow-down? basic :offset-assert 416) + (tracking-player? basic :offset-assert 420) + (force-spawn-pt int32 :offset-assert 424) + (speed float :offset-assert 428) + (anim-blend float :offset-assert 432) + (prev-charge-angle-diff float :offset-assert 436) + (charge-angle float :offset-assert 440) + (ground-y float :offset-assert 444) + (cprims-type uint64 :offset-assert 448) + (starting-pos vector :inline :offset-assert 464) + (target-pt vector :inline :offset-assert 480) + ) + :method-count-assert 61 + :size-assert #x1f0 + :flag-assert #x3d018001f0 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + (dummy-60 () none 60) + ) + ) + + +;; ---------------------- +;; File - snow-ball +;; Source Path - levels/snow/snow-ball.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype snow-ball-junction (structure) + ((enter-time uint64 :offset-assert 0) + (exit-time uint64 :offset-assert 8) + ) + :method-count-assert 9 + :size-assert #x10 + :flag-assert #x900000010 + ) + +(deftype snow-ball-path-info (structure) + ((hug-path? basic :offset-assert 0) + (path-pos vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +(deftype snow-ball-roller (process-drawable) + ((which-path int32 :offset-assert 176) + (path-u float :offset-assert 180) + (path-speed float :offset-assert 184) + (path-length float :offset-assert 188) + (path-fall-u float :offset-assert 192) + (path-coming-out-u float :offset-assert 196) + (delay-til-bounce int32 :offset-assert 200) + (rolling-sound-id uint32 :offset-assert 204) + (rolling-sound-enabled? basic :offset-assert 208) + (last-bounce-time uint64 :offset-assert 216) + (hit-player-time uint64 :offset-assert 224) + (path-info snow-ball-path-info :inline :offset-assert 240) + (junctions UNKNOWN 4 :offset-assert 272) + ) + :method-count-assert 23 + :size-assert #x150 + :flag-assert #x1700e00150 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + ) + ) + +(deftype snow-ball (process) + ((state-time uint64 :offset-assert 112) + (last-path-picked int32 :offset-assert 120) + (same-path-picked-count int32 :offset-assert 124) + (delay-til-next int32 :offset-assert 128) + (path UNKNOWN 2 :offset-assert 132) + ) + :method-count-assert 16 + :size-assert #x8c + :flag-assert #x100020008c + ;; inherited inpspect of process + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + ) + ) + + +;; ---------------------- +;; File - snow-obs +;; Source Path - levels/snow/snow-obs.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype snowcam (pov-camera) + ((seq uint64 :offset-assert 208) + ) + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; inherited inpspect of pov-camera + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + +(deftype snow-eggtop (process-drawable) + ((spawn-trans vector :inline :offset-assert 176) + (play-sound? basic :offset-assert 192) + ) + :method-count-assert 20 + :size-assert #xc4 + :flag-assert #x14006000c4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype snowpusher (process-drawable) + ((sync sync-info-paused :inline :offset-assert 176) + (max-frame float :offset-assert 192) + ) + :method-count-assert 20 + :size-assert #xc4 + :flag-assert #x14006000c4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype snow-spatula (baseplat) + ((sync sync-info :inline :offset-assert 228) + (startmat matrix :inline :offset-assert 240) + ) + :method-count-assert 27 + :size-assert #x130 + :flag-assert #x1b00c00130 + ;; inherited inpspect of baseplat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + ) + ) + +(deftype snow-fort-gate (process-drawable) + ((part2 basic :offset-assert 176) + (part3 basic :offset-assert 180) + (open-trans vector :inline :offset-assert 192) + (closed-trans vector :inline :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xe0 + :flag-assert #x14007000e0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype snow-gears (process-drawable) + () + :method-count-assert 21 + :size-assert #xb0 + :flag-assert #x15004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + +(deftype snow-switch (process-drawable) + ((orig-trans vector :inline :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xc0 + :flag-assert #x14005000c0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype snow-log (process-drawable) + ((master basic :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype snow-log-button (process-drawable) + ((log basic :offset-assert 176) + (orig-trans vector :inline :offset-assert 192) + ) + :method-count-assert 20 + :size-assert #xd0 + :flag-assert #x14006000d0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - snow-flutflut-obs +;; Source Path - levels/snow/snow-flutflut-obs.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype flutflut-plat (plat) + ((has-path? basic :offset-assert 264) + (plat-type int32 :offset-assert 268) + (rise-time int32 :offset-assert 272) + (fall-time int32 :offset-assert 276) + (part-ry float :offset-assert 280) + (sync-starting-val float :offset-assert 284) + (fort-gate-button basic :offset-assert 288) + (appear-trans-top vector :inline :offset-assert 304) + (appear-trans-bottom vector :inline :offset-assert 320) + (appear-quat-top quaternion :inline :offset-assert 336) + (appear-quat-bottom quaternion :inline :offset-assert 352) + (start-trans vector :inline :offset-assert 368) + ) + :method-count-assert 33 + :size-assert #x180 + :flag-assert #x2101100180 + ;; inherited inpspect of plat + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype snow-button (process-drawable) + ((wiggled? basic :offset-assert 176) + (timeout uint64 :offset-assert 184) + (delay-til-wiggle uint64 :offset-assert 192) + (prev-button basic :offset-assert 200) + (ticker ticky :inline :offset-assert 208) + ) + :method-count-assert 20 + :size-assert #xf0 + :flag-assert #x14008000f0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype flutflut-plat-small (flutflut-plat) + () + :method-count-assert 33 + :size-assert #x180 + :flag-assert #x2101100180 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype flutflut-plat-med (flutflut-plat) + () + :method-count-assert 33 + :size-assert #x180 + :flag-assert #x2101100180 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + +(deftype flutflut-plat-large (flutflut-plat) + () + :method-count-assert 33 + :size-assert #x180 + :flag-assert #x2101100180 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + ) + ) + + +;; ---------------------- +;; File - snow-bumper +;; Source Path - levels/snow/snow-bumper.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype snow-bumper (process-drawable) + ((bumper-id int32 :offset-assert 176) + (base-shove-ry float :offset-assert 180) + (max-shove-diff-ry float :offset-assert 184) + (part2 basic :offset-assert 188) + (last-shoved-player-time uint64 :offset-assert 192) + ) + :method-count-assert 22 + :size-assert #xc8 + :flag-assert #x16006000c8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - snow-ram-h +;; Source Path - levels/snow/snow-ram-h.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype ram (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 process-drawable) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - snow-ram-boss +;; Source Path - levels/snow/snow-ram-boss.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype ram-boss-proj (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 projectile) parent was UNKNOWN + ) + +(deftype ram-boss (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; unrecognized get op: (set! v1 nav-enemy) parent was UNKNOWN + ) + + +;; ---------------------- +;; File - snow-ram +;; Source Path - levels/snow/snow-ram.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-part +;; Source Path - levels/snow/snow-part.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype snow-part (part-spawner) + () + :method-count-assert 21 + :size-assert #xd0 + :flag-assert #x15006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + ) + ) + + +;; ---------------------- +;; File - yeti +;; Source Path - levels/snow/yeti.gc +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 3 + +;; - Types + +(deftype yeti-slave (nav-enemy) + ((ground-y float :offset-assert 400) + (part2 basic :offset-assert 404) + ) + :method-count-assert 60 + :size-assert #x198 + :flag-assert #x3c01300198 + ;; inherited inpspect of nav-enemy + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + (dummy-48 () none 48) + (dummy-49 () none 49) + (dummy-50 () none 50) + (dummy-51 () none 51) + (dummy-52 () none 52) + (dummy-53 () none 53) + (dummy-54 () none 54) + (dummy-55 () none 55) + (dummy-56 () none 56) + (dummy-57 () none 57) + (dummy-58 () none 58) + (dummy-59 () none 59) + ) + ) + +(deftype yeti (process-drawable) + ((desired-num-children int32 :offset-assert 176) + (spawn-delay int32 :offset-assert 180) + (first-time-spawn-dist float :offset-assert 184) + (state-time uint64 :offset-assert 168) + ) + :method-count-assert 22 + :size-assert #xc8 + :flag-assert #x16006000c8 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + ) + ) + + +;; ---------------------- +;; File - eichar-pole+0-ag-L1 +;; Source Path - levels/l1_only/eichar-pole+0-ag-L1.gd +;; Containing DGOs - ['L1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-pole+0-ag-ROB +;; Source Path - levels/rolling/eichar-pole+0-ag-ROB.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-pole+0-ag-SNO +;; Source Path - levels/snow/eichar-pole+0-ag-SNO.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-pole+0-ag-SWA +;; Source Path - levels/swamp/eichar-pole+0-ag-SWA.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - eichar-ice+0-ag +;; Source Path - levels/snow/eichar-ice+0-ag.gd +;; Containing DGOs - ['L1', 'SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavatube-obs +;; Source Path - levels/lavatube/lavatube-obs.gc +;; Containing DGOs - ['L1', 'LAV'] +;; Version - 3 + +;; - Types + +(deftype lavabase (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lavafall (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lavashortcut (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype darkecobarrel-leak (structure) + ((offset vector :inline :offset-assert 0) + (first-frame basic :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x14 + :flag-assert #x900000014 + ) + +(deftype darkecobarrel-base (process-drawable) + ((speed float :offset-assert 176) + (sync uint64 :offset-assert 184) + ) + :method-count-assert 20 + :size-assert #xc0 + :flag-assert #x14005000c0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype darkecobarrel-mover (darkecobarrel-base) + ((start-time uint64 :offset-assert 192) + (hits int32 :offset-assert 200) + (leak UNKNOWN 1 :offset-assert 208) + (y-offset bouncing-float :inline :offset-assert 240) + (y-offset-tgt delayed-rand-float :inline :offset-assert 280) + (down oscillating-vector :inline :offset-assert 320) + (down-tgt delayed-rand-vector :inline :offset-assert 384) + ) + :method-count-assert 20 + :size-assert #x1b0 + :flag-assert #x14014001b0 + ;; inherited inpspect of darkecobarrel-base + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype darkecobarrel (darkecobarrel-base) + ((spawn-array basic :offset-assert 192) + (cur-spawn int32 :offset-assert 196) + ) + :method-count-assert 20 + :size-assert #xc8 + :flag-assert #x14006000c8 + ;; inherited inpspect of darkecobarrel-base + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lavafallsewera (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lavafallsewerb (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype chainmine (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lavaballoon (process-drawable) + ((move-per-tick float :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype lavatube-lava (water-anim) + () + :method-count-assert 30 + :size-assert #xd8 + :flag-assert #x1e007000d8 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + ) + ) + + +;; ---------------------- +;; File - lavatube-energy +;; Source Path - levels/lavatube/lavatube-energy.gc +;; Containing DGOs - ['L1', 'LAV'] +;; Version - 3 + +;; - Types + +(deftype energydoor (process-drawable) + ((alt-actor basic :offset-assert 176) + ) + :method-count-assert 20 + :size-assert #xb4 + :flag-assert #x14005000b4 + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype energybase (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype energyhub (process-drawable) + ((alts UNKNOWN 3 :offset-assert 176) + (arm UNKNOWN 5 :offset-assert 192) + (rot-mat matrix :inline :offset-assert 240) + (rot-mat-init matrix :inline :offset-assert 304) + (rotation-speed oscillating-float :inline :offset-assert 368) + (rotation-speed-offset delayed-rand-float :inline :offset-assert 392) + (y-rotation float :offset-assert 420) + (x-rotation float :offset-assert 424) + ) + :method-count-assert 20 + :size-assert #x1ac + :flag-assert #x14014001ac + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype energyarm (process-drawable) + ((offset vector :inline :offset-assert 176) + (y-rotation float :offset-assert 192) + (y-chatter-rotation bouncing-float :inline :offset-assert 196) + (y-chatter-min delayed-rand-float :inline :offset-assert 240) + (x-rotation bouncing-float :inline :offset-assert 268) + (x-fall-rotation bouncing-float :inline :offset-assert 308) + (rot-mat matrix :inline :offset-assert 352) + (ball uint64 :offset-assert 416) + (x-correction float :offset-assert 424) + ) + :method-count-assert 20 + :size-assert #x1ac + :flag-assert #x14014001ac + ;; inherited inpspect of process-drawable + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype energyball (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + +(deftype energylava (process-drawable) + () + :method-count-assert 20 + :size-assert #xb0 + :flag-assert #x14004000b0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + ) + ) + + +;; ---------------------- +;; File - lavatube-part +;; Source Path - levels/lavatube/lavatube-part.gc +;; Containing DGOs - ['L1', 'LAV'] +;; Version - 3 + +;; - Types + +(deftype lavatube-part (UNKNOWN) + () + :method-count-assert 0 + :size-assert #x0 + :flag-assert #x0 + ;; not enough basic ops + ) + + +;; ---------------------- +;; File - assistant-lavatube +;; Source Path - levels/lavatube/assistant-lavatube.gc +;; Containing DGOs - ['L1', 'LAV'] +;; Version - 3 + +;; - Types + +(deftype assistant-lavatube-start (process-taskable) + () + :method-count-assert 48 + :size-assert #x170 + :flag-assert #x3001000170 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + (dummy-28 () none 28) + (dummy-29 () none 29) + (dummy-30 () none 30) + (dummy-31 () none 31) + (dummy-32 () none 32) + (dummy-33 () none 33) + (dummy-34 () none 34) + (dummy-35 () none 35) + (dummy-36 () none 36) + (dummy-37 () none 37) + (dummy-38 () none 38) + (dummy-39 () none 39) + (dummy-40 () none 40) + (dummy-41 () none 41) + (dummy-42 () none 42) + (dummy-43 () none 43) + (dummy-44 () none 44) + (dummy-45 () none 45) + (dummy-46 () none 46) + (dummy-47 () none 47) + ) + ) + + +;; ---------------------- +;; File - tpage-815 +;; Source Path - levels/firecanyon/tpage-815.gd +;; Containing DGOs - ['FIC'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-822 +;; Source Path - levels/firecanyon/tpage-822.gd +;; Containing DGOs - ['FIC'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-854 +;; Source Path - levels/firecanyon/tpage-854.gd +;; Containing DGOs - ['FIC'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1123 +;; Source Path - levels/firecanyon/tpage-1123.gd +;; Containing DGOs - ['FIC'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - assistant-firecanyon-ag +;; Source Path - levels/firecanyon/assistant-firecanyon-ag.gd +;; Containing DGOs - ['FIC'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - balloon-ag +;; Source Path - levels/firecanyon/balloon-ag.gd +;; Containing DGOs - ['FIC'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - crate-darkeco-cluster-ag-FIC +;; Source Path - levels/firecanyon/crate-darkeco-cluster-ag-FIC.gd +;; Containing DGOs - ['FIC'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - crate-darkeco-cluster-ag-OGR +;; Source Path - levels/ogre/crate-darkeco-cluster-ag-OGR.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ef-plane-ag-FIC-LAV-OGR-ROL-SNO-SWA +;; Source Path - levels/common/ef-plane-ag-FIC-LAV-OGR-ROL-SNO-SWA.gd +;; Containing DGOs - ['FIC', 'LAV', 'OGR', 'ROL', 'SNO', 'SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ef-plane-ag-MIS +;; Source Path - levels/misty/ef-plane-ag-MIS.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - racer-ag-FIC-ROL +;; Source Path - levels/common/racer-ag-FIC-ROL.gd +;; Containing DGOs - ['FIC', 'ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - racer-ag-LAV +;; Source Path - levels/lavatube/racer-ag-LAV.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - racer-ag-MIS +;; Source Path - levels/misty/racer-ag-MIS.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - racer-ag-OGR +;; Source Path - levels/ogre/racer-ag-OGR.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - spike-ag +;; Source Path - levels/firecanyon/spike-ag.gd +;; Containing DGOs - ['FIC'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - firecanyon-vis +;; Source Path - levels/firecanyon/firecanyon-vis.gd +;; Containing DGOs - ['FIC'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1338 +;; Source Path - levels/lavatube/tpage-1338.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1340 +;; Source Path - levels/lavatube/tpage-1340.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1339 +;; Source Path - levels/lavatube/tpage-1339.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1337 +;; Source Path - levels/lavatube/tpage-1337.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - assistant-lavatube-start-ag +;; Source Path - levels/lavatube/assistant-lavatube-start-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - chainmine-ag +;; Source Path - levels/lavatube/chainmine-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - darkecobarrel-ag +;; Source Path - levels/lavatube/darkecobarrel-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - energyarm-ag +;; Source Path - levels/lavatube/energyarm-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - energyball-ag +;; Source Path - levels/lavatube/energyball-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - energybase-ag +;; Source Path - levels/lavatube/energybase-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - energydoor-ag +;; Source Path - levels/lavatube/energydoor-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - energyhub-ag +;; Source Path - levels/lavatube/energyhub-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavaballoon-ag +;; Source Path - levels/lavatube/lavaballoon-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavabase-ag +;; Source Path - levels/lavatube/lavabase-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavafall-ag +;; Source Path - levels/lavatube/lavafall-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavafallsewera-ag +;; Source Path - levels/lavatube/lavafallsewera-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavafallsewerb-ag +;; Source Path - levels/lavatube/lavafallsewerb-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavashortcut-ag +;; Source Path - levels/lavatube/lavashortcut-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavayellowtarp-ag +;; Source Path - levels/lavatube/lavayellowtarp-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-lavatube-ag +;; Source Path - levels/lavatube/water-anim-lavatube-ag.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavatube-vis +;; Source Path - levels/lavatube/lavatube-vis.gd +;; Containing DGOs - ['LAV'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1313 +;; Source Path - levels/maincave/tpage-1313.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1315 +;; Source Path - levels/maincave/tpage-1315.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1314 +;; Source Path - levels/maincave/tpage-1314.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1312 +;; Source Path - levels/maincave/tpage-1312.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-767 +;; Source Path - levels/maincave/tpage-767.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - driller-lurker-ag +;; Source Path - levels/cave_common/driller-lurker-ag.gd +;; Containing DGOs - ['MAI', 'ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - gnawer-ag +;; Source Path - levels/maincave/gnawer-ag.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - launcherdoor-maincave-ag +;; Source Path - levels/maincave/launcherdoor-maincave-ag.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - maincavecam-ag +;; Source Path - levels/maincave/maincavecam-ag.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-ag-MAI +;; Source Path - levels/maincave/plat-ag-MAI.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-ag-ROB +;; Source Path - levels/robocave/plat-ag-ROB.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - spiderwebs-ag +;; Source Path - levels/cave_common/spiderwebs-ag.gd +;; Containing DGOs - ['MAI', 'ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-maincave-ag +;; Source Path - levels/maincave/water-anim-maincave-ag.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-maincave-water-ag +;; Source Path - levels/maincave/water-anim-maincave-water-ag.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - maincave-vis +;; Source Path - levels/maincave/maincave-vis.gd +;; Containing DGOs - ['MAI'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-516 +;; Source Path - levels/misty/tpage-516.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-521 +;; Source Path - levels/misty/tpage-521.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-518 +;; Source Path - levels/misty/tpage-518.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-520 +;; Source Path - levels/misty/tpage-520.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - balloonlurker-ag +;; Source Path - levels/misty/balloonlurker-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - boatpaddle-ag +;; Source Path - levels/misty/boatpaddle-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - bonelurker-ag +;; Source Path - levels/misty/bonelurker-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - breakaway-left-ag +;; Source Path - levels/misty/breakaway-left-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - breakaway-mid-ag +;; Source Path - levels/misty/breakaway-mid-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - breakaway-right-ag +;; Source Path - levels/misty/breakaway-right-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - darkecocan-ag +;; Source Path - levels/misty/darkecocan-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - keg-ag +;; Source Path - levels/misty/keg-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - keg-conveyor-ag +;; Source Path - levels/misty/keg-conveyor-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - keg-conveyor-paddle-ag +;; Source Path - levels/misty/keg-conveyor-paddle-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - mis-bone-bridge-ag +;; Source Path - levels/misty/mis-bone-bridge-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - mis-bone-platform-ag +;; Source Path - levels/misty/mis-bone-platform-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - mistycam-ag +;; Source Path - levels/misty/mistycam-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - muse-ag +;; Source Path - levels/misty/muse-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - quicksandlurker-ag +;; Source Path - levels/misty/quicksandlurker-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ropebridge-36-ag +;; Source Path - levels/misty/ropebridge-36-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - rounddoor-ag +;; Source Path - levels/misty/rounddoor-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sidekick-human-ag +;; Source Path - levels/misty/sidekick-human-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - silostep-ag +;; Source Path - levels/misty/silostep-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - teetertotter-ag +;; Source Path - levels/misty/teetertotter-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-misty-ag +;; Source Path - levels/misty/water-anim-misty-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - wheel-ag +;; Source Path - levels/misty/wheel-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - windturbine-ag +;; Source Path - levels/misty/windturbine-ag.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - misty-vis +;; Source Path - levels/misty/misty-vis.gd +;; Containing DGOs - ['MIS'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-875 +;; Source Path - levels/ogre/tpage-875.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-967 +;; Source Path - levels/ogre/tpage-967.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-884 +;; Source Path - levels/ogre/tpage-884.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1117 +;; Source Path - levels/ogre/tpage-1117.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flying-lurker-ag +;; Source Path - levels/ogre/flying-lurker-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-snow-ag +;; Source Path - levels/ogre/medres-snow-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ogre-bridge-ag +;; Source Path - levels/ogre/ogre-bridge-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ogre-bridgeend-ag +;; Source Path - levels/ogre/ogre-bridgeend-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ogre-isle-ag +;; Source Path - levels/ogre/ogre-isle-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ogre-step-ag +;; Source Path - levels/ogre/ogre-step-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ogreboss-ag +;; Source Path - levels/ogre/ogreboss-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ogrecam-ag +;; Source Path - levels/ogre/ogrecam-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plunger-lurker-ag +;; Source Path - levels/ogre/plunger-lurker-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - shortcut-boulder-ag +;; Source Path - levels/ogre/shortcut-boulder-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tntbarrel-ag +;; Source Path - levels/ogre/tntbarrel-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-ogre-ag +;; Source Path - levels/ogre/water-anim-ogre-ag.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ogre-vis +;; Source Path - levels/ogre/ogre-vis.gd +;; Containing DGOs - ['OGR'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1318 +;; Source Path - levels/robocave/tpage-1318.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1319 +;; Source Path - levels/robocave/tpage-1319.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1317 +;; Source Path - levels/robocave/tpage-1317.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1316 +;; Source Path - levels/robocave/tpage-1316.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cavecrusher-ag +;; Source Path - levels/robocave/cavecrusher-ag.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cavespatulatwo-ag +;; Source Path - levels/robocave/cavespatulatwo-ag.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-robocave-ag +;; Source Path - levels/robocave/water-anim-robocave-ag.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robocave-vis +;; Source Path - levels/robocave/robocave-vis.gd +;; Containing DGOs - ['ROB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-923 +;; Source Path - levels/rolling/tpage-923.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-926 +;; Source Path - levels/rolling/tpage-926.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-924 +;; Source Path - levels/rolling/tpage-924.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-925 +;; Source Path - levels/rolling/tpage-925.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1353 +;; Source Path - levels/rolling/tpage-1353.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - dark-plant-ag +;; Source Path - levels/rolling/dark-plant-ag.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - happy-plant-ag +;; Source Path - levels/rolling/happy-plant-ag.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lightning-mole-ag +;; Source Path - levels/rolling/lightning-mole-ag.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - pusher-ag +;; Source Path - levels/rolling/pusher-ag.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - race-ring-ag +;; Source Path - levels/rolling/race-ring-ag.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - robber-ag +;; Source Path - levels/rolling/robber-ag.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - rolling-start-ag +;; Source Path - levels/rolling/rolling-start-ag.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - rollingcam-ag +;; Source Path - levels/rolling/rollingcam-ag.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-rolling-ag +;; Source Path - levels/rolling/water-anim-rolling-ag.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - rolling-vis +;; Source Path - levels/rolling/rolling-vis.gd +;; Containing DGOs - ['ROL'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-710 +;; Source Path - levels/snow/tpage-710.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-842 +;; Source Path - levels/snow/tpage-842.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-711 +;; Source Path - levels/snow/tpage-711.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-712 +;; Source Path - levels/snow/tpage-712.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flut-saddle-ag-SNO +;; Source Path - levels/snow/flut-saddle-ag-SNO.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flut-saddle-ag-SWA +;; Source Path - levels/swamp/flut-saddle-ag-SWA.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flutflut-plat-large-ag +;; Source Path - levels/snow/flutflut-plat-large-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flutflut-plat-med-ag +;; Source Path - levels/snow/flutflut-plat-med-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flutflut-plat-small-ag +;; Source Path - levels/snow/flutflut-plat-small-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ice-cube-ag +;; Source Path - levels/snow/ice-cube-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ice-cube-break-ag +;; Source Path - levels/snow/ice-cube-break-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ram-ag +;; Source Path - levels/snow/ram-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ram-boss-ag +;; Source Path - levels/snow/ram-boss-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-ball-ag +;; Source Path - levels/snow/snow-ball-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-bridge-36-ag +;; Source Path - levels/snow/snow-bridge-36-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-bumper-ag +;; Source Path - levels/snow/snow-bumper-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-bunny-ag +;; Source Path - levels/snow/snow-bunny-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-button-ag +;; Source Path - levels/snow/snow-button-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-eggtop-ag +;; Source Path - levels/snow/snow-eggtop-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-fort-gate-ag +;; Source Path - levels/snow/snow-fort-gate-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-gears-ag +;; Source Path - levels/snow/snow-gears-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-log-ag +;; Source Path - levels/snow/snow-log-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-spatula-ag +;; Source Path - levels/snow/snow-spatula-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-switch-ag +;; Source Path - levels/snow/snow-switch-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snowcam-ag +;; Source Path - levels/snow/snowcam-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snowpusher-ag +;; Source Path - levels/snow/snowpusher-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - yeti-ag +;; Source Path - levels/snow/yeti-ag.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - snow-vis +;; Source Path - levels/snow/snow-vis.gd +;; Containing DGOs - ['SNO'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-163 +;; Source Path - levels/sunkenb/tpage-163.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-164 +;; Source Path - levels/sunkenb/tpage-164.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-166 +;; Source Path - levels/sunkenb/tpage-166.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-162 +;; Source Path - levels/sunkenb/tpage-162.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-764 +;; Source Path - levels/sunkenb/tpage-764.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - blue-eco-charger-ag +;; Source Path - levels/sunkenb/blue-eco-charger-ag.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - blue-eco-charger-orb-ag +;; Source Path - levels/sunkenb/blue-eco-charger-orb-ag.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - bully-ag +;; Source Path - levels/sunken_common/bully-ag.gd +;; Containing DGOs - ['SUB', 'SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - floating-launcher-ag +;; Source Path - levels/sunkenb/floating-launcher-ag.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - helix-button-ag +;; Source Path - levels/sunkenb/helix-button-ag.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - helix-slide-door-ag +;; Source Path - levels/sunkenb/helix-slide-door-ag.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - shover-ag-SUB +;; Source Path - levels/sunkenb/shover-ag-SUB.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - shover-ag-SUN +;; Source Path - levels/sunken/shover-ag-SUN.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - steam-cap-ag-SUB +;; Source Path - levels/sunkenb/steam-cap-ag-SUB.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - steam-cap-ag-SUN +;; Source Path - levels/sunken/steam-cap-ag-SUN.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunkencam-ag-SUB +;; Source Path - levels/sunkenb/sunkencam-ag-SUB.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunkencam-ag-SUN +;; Source Path - levels/sunken/sunkencam-ag-SUN.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunkenfisha-ag +;; Source Path - levels/sunken_common/sunkenfisha-ag.gd +;; Containing DGOs - ['SUB', 'SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - wall-plat-ag +;; Source Path - levels/sunken_common/wall-plat-ag.gd +;; Containing DGOs - ['SUB', 'SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-sunken-ag +;; Source Path - levels/sunken_common/water-anim-sunken-ag.gd +;; Containing DGOs - ['SUB', 'SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-sunken-dark-eco-ag +;; Source Path - levels/sunken_common/water-anim-sunken-dark-eco-ag.gd +;; Containing DGOs - ['SUB', 'SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunkenb-vis +;; Source Path - levels/sunkenb/sunkenb-vis.gd +;; Containing DGOs - ['SUB'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-661 +;; Source Path - levels/sunken/tpage-661.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-663 +;; Source Path - levels/sunken/tpage-663.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-714 +;; Source Path - levels/sunken/tpage-714.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-662 +;; Source Path - levels/sunken/tpage-662.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-766 +;; Source Path - levels/sunken/tpage-766.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - double-lurker-ag +;; Source Path - levels/sunken/double-lurker-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - double-lurker-top-ag +;; Source Path - levels/sunken/double-lurker-top-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - exit-chamber-ag +;; Source Path - levels/sunken/exit-chamber-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - generic-button-ag +;; Source Path - levels/sunken/generic-button-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orbit-plat-ag +;; Source Path - levels/sunken/orbit-plat-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - orbit-plat-bottom-ag +;; Source Path - levels/sunken/orbit-plat-bottom-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - plat-sunken-ag +;; Source Path - levels/sunken/plat-sunken-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - puffer-ag +;; Source Path - levels/sunken/puffer-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - qbert-plat-ag +;; Source Path - levels/sunken/qbert-plat-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - qbert-plat-on-ag +;; Source Path - levels/sunken/qbert-plat-on-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - seaweed-ag +;; Source Path - levels/sunken/seaweed-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - side-to-side-plat-ag +;; Source Path - levels/sunken/side-to-side-plat-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - square-platform-ag +;; Source Path - levels/sunken/square-platform-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sun-iris-door-ag +;; Source Path - levels/sunken/sun-iris-door-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - wedge-plat-ag +;; Source Path - levels/sunken/wedge-plat-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - wedge-plat-outer-ag +;; Source Path - levels/sunken/wedge-plat-outer-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - whirlpool-ag +;; Source Path - levels/sunken/whirlpool-ag.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunken-vis +;; Source Path - levels/sunken/sunken-vis.gd +;; Containing DGOs - ['SUN'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-358 +;; Source Path - levels/swamp/tpage-358.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-659 +;; Source Path - levels/swamp/tpage-659.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-629 +;; Source Path - levels/swamp/tpage-629.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-630 +;; Source Path - levels/swamp/tpage-630.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - balance-plat-ag +;; Source Path - levels/swamp/balance-plat-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - billy-ag +;; Source Path - levels/swamp/billy-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - billy-sidekick-ag +;; Source Path - levels/swamp/billy-sidekick-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - farthy-snack-ag +;; Source Path - levels/swamp/farthy-snack-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - kermit-ag +;; Source Path - levels/swamp/kermit-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-bat-ag +;; Source Path - levels/swamp/swamp-bat-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-rat-ag +;; Source Path - levels/swamp/swamp-rat-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-rat-nest-ag +;; Source Path - levels/swamp/swamp-rat-nest-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-rock-ag +;; Source Path - levels/swamp/swamp-rock-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-spike-ag +;; Source Path - levels/swamp/swamp-spike-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swampcam-ag-SWA +;; Source Path - levels/swamp/swampcam-ag-SWA.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swampcam-ag-VI2 +;; Source Path - levels/village2/swampcam-ag-VI2.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tar-plat-ag +;; Source Path - levels/swamp/tar-plat-ag.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-vis +;; Source Path - levels/swamp/swamp-vis.gd +;; Containing DGOs - ['SWA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - title-obs +;; Source Path - levels/title/title-obs.gc +;; Containing DGOs - ['TIT'] +;; Version - 3 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1609 +;; Source Path - levels/title/tpage-1609.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-416 +;; Source Path - levels/title/tpage-416.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-415 +;; Source Path - levels/title/tpage-415.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-397 +;; Source Path - levels/title/tpage-397.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1499 +;; Source Path - levels/title/tpage-1499.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - logo-ag +;; Source Path - levels/title/logo-ag.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - logo-black-ag +;; Source Path - levels/title/logo-black-ag.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - logo-cam-ag +;; Source Path - levels/title/logo-cam-ag.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - logo-volumes-ag +;; Source Path - levels/title/logo-volumes-ag.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ndi-ag +;; Source Path - levels/title/ndi-ag.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ndi-cam-ag +;; Source Path - levels/title/ndi-cam-ag.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ndi-volumes-ag +;; Source Path - levels/title/ndi-volumes-ag.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - title-vis +;; Source Path - levels/title/title-vis.gd +;; Containing DGOs - ['TIT'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1309 +;; Source Path - levels/training/tpage-1309.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1311 +;; Source Path - levels/training/tpage-1311.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1310 +;; Source Path - levels/training/tpage-1310.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1308 +;; Source Path - levels/training/tpage-1308.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-775 +;; Source Path - levels/training/tpage-775.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - pontoonfive-ag-TRA +;; Source Path - levels/training/pontoonfive-ag-TRA.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - pontoonfive-ag-VI2 +;; Source Path - levels/village2/pontoonfive-ag-VI2.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - scarecrow-a-ag +;; Source Path - levels/training/scarecrow-a-ag.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - scarecrow-b-ag +;; Source Path - levels/training/scarecrow-b-ag.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - trainingcam-ag +;; Source Path - levels/training/trainingcam-ag.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-training-ag +;; Source Path - levels/training/water-anim-training-ag.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - training-vis +;; Source Path - levels/training/training-vis.gd +;; Containing DGOs - ['TRA'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-398 +;; Source Path - levels/village1/tpage-398.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-400 +;; Source Path - levels/village1/tpage-400.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-399 +;; Source Path - levels/village1/tpage-399.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-401 +;; Source Path - levels/village1/tpage-401.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1470 +;; Source Path - levels/village1/tpage-1470.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - assistant-ag +;; Source Path - levels/village1/assistant-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - evilplant-ag +;; Source Path - levels/village1/evilplant-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - explorer-ag +;; Source Path - levels/village1/explorer-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - farmer-ag +;; Source Path - levels/village1/farmer-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - fishermans-boat-ag +;; Source Path - levels/village1/fishermans-boat-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - hutlamp-ag +;; Source Path - levels/village1/hutlamp-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - mayorgears-ag +;; Source Path - levels/village1/mayorgears-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-beach-ag +;; Source Path - levels/village1/medres-beach-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-beach1-ag +;; Source Path - levels/village1/medres-beach1-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-beach2-ag +;; Source Path - levels/village1/medres-beach2-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-beach3-ag +;; Source Path - levels/village1/medres-beach3-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-jungle-ag +;; Source Path - levels/village1/medres-jungle-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-jungle1-ag +;; Source Path - levels/village1/medres-jungle1-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-jungle2-ag +;; Source Path - levels/village1/medres-jungle2-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-misty-ag +;; Source Path - levels/village1/medres-misty-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-training-ag +;; Source Path - levels/village1/medres-training-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-village11-ag +;; Source Path - levels/village1/medres-village11-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-village12-ag +;; Source Path - levels/village1/medres-village12-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-village13-ag +;; Source Path - levels/village1/medres-village13-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - oracle-ag-VI1 +;; Source Path - levels/village1/oracle-ag-VI1.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - oracle-ag-VI2 +;; Source Path - levels/village2/oracle-ag-VI2.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - oracle-ag-VI3 +;; Source Path - levels/village3/oracle-ag-VI3.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - reflector-middle-ag +;; Source Path - levels/village1/reflector-middle-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - revcycle-ag +;; Source Path - levels/village1/revcycle-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - revcycleprop-ag +;; Source Path - levels/village1/revcycleprop-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ropebridge-32-ag +;; Source Path - levels/village1/ropebridge-32-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sage-ag +;; Source Path - levels/village1/sage-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sagesail-ag +;; Source Path - levels/village1/sagesail-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - villa-starfish-ag +;; Source Path - levels/village1/villa-starfish-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - village-cam-ag-VI1 +;; Source Path - levels/village1/village-cam-ag-VI1.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - village-cam-ag-VI2 +;; Source Path - levels/village2/village-cam-ag-VI2.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - village-cam-ag-VI3 +;; Source Path - levels/village3/village-cam-ag-VI3.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - village1cam-ag +;; Source Path - levels/village1/village1cam-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-village1-ag +;; Source Path - levels/village1/water-anim-village1-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - windmill-sail-ag +;; Source Path - levels/village1/windmill-sail-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - windspinner-ag +;; Source Path - levels/village1/windspinner-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - yakow-ag +;; Source Path - levels/village1/yakow-ag.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - village1-vis +;; Source Path - levels/village1/village1-vis.gd +;; Containing DGOs - ['VI1'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-919 +;; Source Path - levels/village2/tpage-919.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-922 +;; Source Path - levels/village2/tpage-922.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-920 +;; Source Path - levels/village2/tpage-920.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-921 +;; Source Path - levels/village2/tpage-921.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1476 +;; Source Path - levels/village2/tpage-1476.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - allpontoons-ag +;; Source Path - levels/village2/allpontoons-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - assistant-village2-ag +;; Source Path - levels/village2/assistant-village2-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ceilingflag-ag +;; Source Path - levels/village2/ceilingflag-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - exit-chamber-dummy-ag +;; Source Path - levels/village2/exit-chamber-dummy-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - fireboulder-ag +;; Source Path - levels/village2/fireboulder-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - flutflut-bluehut-ag +;; Source Path - levels/village2/flutflut-bluehut-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - gambler-ag +;; Source Path - levels/village2/gambler-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - geologist-ag +;; Source Path - levels/village2/geologist-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - jaws-ag +;; Source Path - levels/village2/jaws-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-rolling-ag +;; Source Path - levels/village2/medres-rolling-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-rolling1-ag +;; Source Path - levels/village2/medres-rolling1-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-village2-ag +;; Source Path - levels/village2/medres-village2-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - ogreboss-village2-ag +;; Source Path - levels/village2/ogreboss-village2-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - pontoonten-ag +;; Source Path - levels/village2/pontoonten-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - precursor-arm-ag +;; Source Path - levels/village2/precursor-arm-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sage-bluehut-ag +;; Source Path - levels/village2/sage-bluehut-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sunken-elevator-ag +;; Source Path - levels/village2/sunken-elevator-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-blimp-ag +;; Source Path - levels/village2/swamp-blimp-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-rope-ag +;; Source Path - levels/village2/swamp-rope-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-tetherrock-ag +;; Source Path - levels/village2/swamp-tetherrock-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - swamp-tetherrock-explode-ag +;; Source Path - levels/village2/swamp-tetherrock-explode-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - village2cam-ag +;; Source Path - levels/village2/village2cam-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - warrior-ag +;; Source Path - levels/village2/warrior-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-village2-ag +;; Source Path - levels/village2/water-anim-village2-ag.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - village2-vis +;; Source Path - levels/village2/village2-vis.gd +;; Containing DGOs - ['VI2'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1208 +;; Source Path - levels/village3/tpage-1208.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1210 +;; Source Path - levels/village3/tpage-1210.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1209 +;; Source Path - levels/village3/tpage-1209.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - tpage-1194 +;; Source Path - levels/village3/tpage-1194.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - assistant-village3-ag +;; Source Path - levels/village3/assistant-village3-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - cavegem-ag +;; Source Path - levels/village3/cavegem-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - evilbro-village3-ag +;; Source Path - levels/village3/evilbro-village3-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - evilsis-village3-ag +;; Source Path - levels/village3/evilsis-village3-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - gondola-ag +;; Source Path - levels/village3/gondola-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - gondolacables-ag +;; Source Path - levels/village3/gondolacables-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lavaspoutdrip-ag +;; Source Path - levels/village3/lavaspoutdrip-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-finalboss-ag +;; Source Path - levels/village3/medres-finalboss-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-ogre-ag +;; Source Path - levels/village3/medres-ogre-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-ogre2-ag +;; Source Path - levels/village3/medres-ogre2-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - medres-ogre3-ag +;; Source Path - levels/village3/medres-ogre3-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - minecartsteel-ag +;; Source Path - levels/village3/minecartsteel-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - minershort-ag +;; Source Path - levels/village3/minershort-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - minertall-ag +;; Source Path - levels/village3/minertall-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - pistons-ag +;; Source Path - levels/village3/pistons-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - sage-village3-ag +;; Source Path - levels/village3/sage-village3-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - vil3-bridge-36-ag +;; Source Path - levels/village3/vil3-bridge-36-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - water-anim-village3-ag +;; Source Path - levels/village3/water-anim-village3-ag.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - village3-vis +;; Source Path - levels/village3/village3-vis.gd +;; Containing DGOs - ['VI3'] +;; Version - 4 + +;; - Nothing Defined in This File! + + +;; ---------------------- +;; File - lava +;; Source Path - old/lava/lava.gc +;; Containing DGOs - ['WATER-AN'] +;; Version - 3 + +;; - Types + +(deftype lava (water-anim) + () + :method-count-assert 28 + :size-assert #xd0 + :flag-assert #x1c006000d0 + ;; not enough basic ops + (:methods + (dummy-9 () none 9) + (dummy-10 () none 10) + (dummy-11 () none 11) + (dummy-12 () none 12) + (dummy-13 () none 13) + (dummy-14 () none 14) + (dummy-15 () none 15) + (dummy-16 () none 16) + (dummy-17 () none 17) + (dummy-18 () none 18) + (dummy-19 () none 19) + (dummy-20 () none 20) + (dummy-21 () none 21) + (dummy-22 () none 22) + (dummy-23 () none 23) + (dummy-24 () none 24) + (dummy-25 () none 25) + (dummy-26 () none 26) + (dummy-27 () none 27) + ) + ) + diff --git a/decompiler/config/all-types.gc b/decompiler/config/all-types.gc index 8d2515c66d..3376303411 100644 --- a/decompiler/config/all-types.gc +++ b/decompiler/config/all-types.gc @@ -42214,3 +42214,47 @@ ; (dummy-27 () none 27) ; ) + +;; cavegeyserrock + +(deftype cavegeyserrock-control-pt (structure) + ((trans vector :inline :offset-assert 0) + (transv vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +;; cavegeyserrock +(deftype cavegeyserrock (process-drawable) + ((root-override collide-shape-moving :score 30 :offset 112) + (do-burst? symbol :offset-assert 176) + (do-falling-sound? symbol :offset-assert 180) + (do-landing-sound? symbol :offset-assert 184) + (begin-travel-up float :offset-assert 188) + (begin-travel-down float :offset-assert 192) + (sync sync-info :inline :offset-assert 196) + (part2 sparticle-launch-control :offset-assert 204) + (down vector :inline :offset-assert 208) + (up vector :inline :offset-assert 224) + (control-pt cavegeyserrock-control-pt 3 :inline :offset-assert 240) + ) + :method-count-assert 22 + :size-assert #x150 + :flag-assert #x1600e00150 + :heap-base #xe0 + ;; inherited inpspect of process-drawable + (:methods + (dummy-20 (_type_) none 20) + (dummy-21 (_type_) none 21) + ) + (:states + cavegeyserrock-idle + ) + ) + +(define-extern *cavegeyserrock-sg* skeleton-group) + +(define-extern cavecrystal-light-control-cavegeyserrock-callback (function (pointer process-drawable) int float object vector none)) + diff --git a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc index 3571d39859..4f11f3aceb 100644 --- a/decompiler/config/jak1_ntsc_black_label/label_types.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/label_types.jsonc @@ -1161,6 +1161,13 @@ ["L15", "ocean-texture-work"] ], + "cavegeyserrock": [ + ["L56", "attack-info"], + ["L54", "vector"], + ["L53", "vector"], + ["L52", "vector"] + ], + // please do not add things after this entry! git is dumb. "object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": [] } diff --git a/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc b/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc index af7d66cc78..2db857109f 100644 --- a/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/stack_structures.jsonc @@ -2799,5 +2799,29 @@ [16, "vector"] ], + "(method 20 cavegeyserrock)": [ + [16, "vector"], + [32, "event-message-block"] + ], + + "(method 21 cavegeyserrock)": [ + [64, "vector"], + [80, "vector"], + [96, "vector"], + [112, "vector"], + [128, "vector"], + [16, "vector"], + [32, "vector"], + [48, "vector"] + ], + + "(method 11 cavegeyserrock)": [ + [48, "vector"] + ], + + "cavecrystal-light-control-cavegeyserrock-callback": [ + [16, "vector"] + ], + "placeholder-do-not-add-below!": [] } diff --git a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc index 6f7b9c9061..4371ced6e8 100644 --- a/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc +++ b/decompiler/config/jak1_ntsc_black_label/type_casts.jsonc @@ -4233,5 +4233,9 @@ [101, "s2", "handle"] ], + "(method 7 cavegeyserrock)": [ + [14, "t9", "(function process-drawable int process-drawable)"] + ], + "placeholder-do-not-add-below": [] } diff --git a/goal_src/old/cavegeyserrock.gc b/goal_src/old/cavegeyserrock.gc new file mode 100644 index 0000000000..4324a9d74e --- /dev/null +++ b/goal_src/old/cavegeyserrock.gc @@ -0,0 +1,1142 @@ +;;-*-Lisp-*- +(in-package goal) + +;; name: cavegeyserrock.gc +;; name in dgo: cavegeyserrock +;; dgos: L1 + +#| + +This file is only found in early demos. + +|# + + +;; decomp begins + +;; definition of type cavegeyserrock-control-pt +(deftype cavegeyserrock-control-pt (structure) + ((trans vector :inline :offset-assert 0) + (transv vector :inline :offset-assert 16) + ) + :method-count-assert 9 + :size-assert #x20 + :flag-assert #x900000020 + ) + +;; definition for method 3 of type cavegeyserrock-control-pt +(defmethod inspect cavegeyserrock-control-pt ((obj cavegeyserrock-control-pt)) + (format #t "[~8x] ~A~%" obj 'cavegeyserrock-control-pt) + (format #t "~Ttrans: #~%" (-> obj trans)) + (format #t "~Ttransv: #~%" (-> obj transv)) + obj + ) + +;; definition of type cavegeyserrock +(deftype cavegeyserrock (process-drawable) + ((root-override collide-shape-moving :offset 112) + (do-burst? symbol :offset-assert 176) + (do-falling-sound? symbol :offset-assert 180) + (do-landing-sound? symbol :offset-assert 184) + (begin-travel-up float :offset-assert 188) + (begin-travel-down float :offset-assert 192) + (sync sync-info :inline :offset-assert 196) + (part2 sparticle-launch-control :offset-assert 204) + (down vector :inline :offset-assert 208) + (up vector :inline :offset-assert 224) + (control-pt cavegeyserrock-control-pt 3 :inline :offset-assert 240) + ) + :heap-base #xe0 + :method-count-assert 22 + :size-assert #x150 + :flag-assert #x1600e00150 + (:methods + (dummy-20 (_type_) none 20) + (dummy-21 (_type_) none 21) + ) + (:states + cavegeyserrock-idle + ) + ) + +;; definition for method 3 of type cavegeyserrock +(defmethod inspect cavegeyserrock ((obj cavegeyserrock)) + (let ((t9-0 (method-of-type process-drawable inspect))) + (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?)) + (format #t "~T~Tbegin-travel-up: ~f~%" (-> obj begin-travel-up)) + (format #t "~T~Tbegin-travel-down: ~f~%" (-> obj begin-travel-down)) + (format #t "~T~Tsync: #~%" (-> obj sync)) + (format #t "~T~Tpart2: ~A~%" (-> obj part2)) + (format #t "~T~Tdown: #~%" (-> obj down)) + (format #t "~T~Tup: #~%" (-> obj up)) + (format #t "~T~Tcontrol-pt[3] @ #x~X~%" (-> obj control-pt)) + obj + ) + +;; failed to figure out what this is: +(set! + (-> *part-group-id-table* 504) + (new 'static 'sparticle-launch-group + :length 7 + :duration #x258 + :linger-duration #x12c + :name "group-cavegeyserrock-sides" + :launcher + (new 'static 'inline-array sparticle-group-item 7 + (sp-item 1869 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15) + (sp-item 1870 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15 :offset 12) + (sp-item 1871 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15 :offset 24) + (sp-item 1872 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15) + (sp-item 1873 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15 :offset 12) + (sp-item 1874 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 36 :length 15 :offset 24) + (sp-item 1875 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 36 :length 15 :offset 24) + ) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! + (-> *part-id-table* 1875) + (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.083333336) (meters 0.16666667) 1.0) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1876) + (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* 1876) + (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* 1869) + (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.083333336) (meters 0.16666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.05)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.53333336) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit12) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1877) + (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* 1872) + (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.083333336) (meters 0.16666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.05)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.53333336) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1877) + (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* 1870) + (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.083333336) (meters 0.16666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.05)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.53333336) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit12) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1877) + (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* 1873) + (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.083333336) (meters 0.16666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.05)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.53333336) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1877) + (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* 1871) + (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.083333336) (meters 0.16666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.05)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.53333336) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit12) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1877) + (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* 1874) + (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.083333336) (meters 0.16666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.05)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.53333336) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1877) + (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* 1877) + (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-group-id-table* 505) + (new 'static 'sparticle-launch-group + :length 9 + :duration #x258 + :linger-duration #x12c + :name "group-cavegeyserrock-plume" + :launcher + (new 'static 'inline-array sparticle-group-item 9 + (sp-item 1881 :flags (bit1) :period 240 :length 1 :binding 1878) + (sp-item 1881 :flags (bit1) :period 240 :length 1 :binding 1879) + (sp-item 1881 :flags (bit1) :period 240 :length 1 :binding 1880) + (sp-item 1878 :fade-after (meters 120.0) :falloff-to (meters 160.0) :flags (start-dead)) + (sp-item 1879 :fade-after (meters 120.0) :falloff-to (meters 160.0) :flags (start-dead)) + (sp-item 1882 :fade-after (meters 120.0) :falloff-to (meters 160.0)) + (sp-item 1883 :fade-after (meters 120.0) :falloff-to (meters 160.0)) + (sp-item 1884 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1880 :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-id-table* 1880) + (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.083333336) (meters 0.16666667) 1.0) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.94 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1876) + (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* 1881) + (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.5)) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.26666668)) + (sp-flt spt-accel-y 13.653334) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit3 bit12) + (sp-int spt-next-time 31) + (sp-launcher-by-id spt-next-launcher 1885) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! + (-> *part-id-table* 1885) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-accel-y 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! + (-> *part-id-table* 1879) + (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.13333334) (meters 0.13333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit12) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1886) + (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* 1878) + (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.13333334) (meters 0.13333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y 0.68266666) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1886) + (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* 1886) + (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* 1882) + (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.26666668)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-flt spt-accel-y 13.653334) + (sp-int spt-timer 30) + (sp-cpuinfo-flags bit2 bit12) + (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* 1883) + (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.26666668)) + (sp-rnd-flt spt-rotvel-z (degrees -1.0) (degrees 2.0) 1.0) + (sp-flt spt-accel-y 13.653334) + (sp-int spt-timer 30) + (sp-cpuinfo-flags bit2 bit3 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* 1884) + (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.26666668)) + (sp-int spt-timer 30) + (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: +(let + ((v1-22 + (new 'static 'skeleton-group + :art-group-name "cavegeyserrock" + :bounds + (new 'static 'vector :y -4096.0 :w 14745.6) + :max-lod 1 + :version #x6 + ) + ) + ) + (set! (-> v1-22 jgeo) 0) + (set! (-> v1-22 janim) 4) + (set! (-> v1-22 mgeo 0) 1) + (set! (-> v1-22 lod-dist 0) 81920.0) + (set! (-> v1-22 mgeo 1) 3) + (set! (-> v1-22 lod-dist 1) 4095996000.0) + (set! *cavegeyserrock-sg* v1-22) + ) + +;; definition for method 7 of type cavegeyserrock +;; INFO: Return type mismatch process-drawable vs cavegeyserrock. +(defmethod relocate cavegeyserrock ((obj cavegeyserrock) (arg0 int)) + (if (nonzero? (-> obj part2)) + (&+! (-> obj part2) arg0) + ) + (the-as + cavegeyserrock + ((the-as + (function process-drawable int process-drawable) + (find-parent-method cavegeyserrock 7) + ) + obj + arg0 + ) + ) + ) + +;; definition for method 20 of type cavegeyserrock +;; INFO: Return type mismatch object vs none. +(defmethod dummy-20 cavegeyserrock ((obj cavegeyserrock)) + (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 (>= 77552690.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) + ) + ) + ) + ) + ) + ) + ) + ) + (none) + ) + ) + +;; definition for method 21 of type cavegeyserrock +;; INFO: Return type mismatch quaternion vs none. +;; Used lq/sq +(defmethod dummy-21 cavegeyserrock ((obj cavegeyserrock)) + (local-vars (at-0 int) (at-1 int) (s5-0 symbol)) + (rlet ((vf0 :class vf) + (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 (* 12.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 (* 12.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 "cave-top-rises") + (new-sound-id) + 1024 + 0 + 0 + (the-as uint 1) + (the-as vector #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)) + ) + (if (< f30-1 0.94) + (spawn (-> obj part2) (-> obj down)) + ) + ) + ) + (else + (set! s5-0 #t) + (when (-> obj do-falling-sound?) + (set! (-> obj do-falling-sound?) #f) + (sound-play-by-name + (static-sound-name "cave-top-falls") + (new-sound-id) + 1024 + 0 + 0 + (the-as uint 1) + (the-as vector #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 ((t9-14 vector+!) + (a0-17 s3-3) + (a1-9 s3-3) + (a2-2 (new 'stack-no-clear 'vector)) + ) + (.lvf vf1 (&-> (-> s2-0 transv) quad)) + (let ((f0-15 (-> *display* seconds-per-frame))) + (.mov at-0 f0-15) + ) + (.mov vf2 at-0) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a2-2 quad) vf1) + (t9-14 a0-17 a1-9 a2-2) + ) + (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 "cave-top-lands") + (new-sound-id) + 1024 + 0 + 0 + (the-as uint 1) + (the-as vector #t) + ) + ) + (set! (-> s3-3 y) (-> obj down y)) + (let ((f0-18 (-> s2-0 transv y))) + (if (< f0-18 0.0) + (set! (-> s2-0 transv y) (* 0.3 (- f0-18))) + ) + ) + ) + ) + (else + (set! (-> obj do-landing-sound?) #t) + (let ((f30-2 (* 0.000048828126 (- (-> obj up y) (-> s2-0 trans y))))) + (cond + ((< 1.0 f30-2) + (set! f30-2 1.0) + ) + ((< f30-2 -1.0) + (set! f30-2 -1.0) + ) + ) + (+! + (-> s2-0 transv y) + (* 819200.0 (-> *display* seconds-per-frame) f30-2) + ) + (let ((f0-26 (-> s2-0 transv y))) + (when (< 122880.0 (fabs f0-26)) + (if (>= f0-26 0.0) + (set! (-> s2-0 transv y) 122880.0) + (set! (-> s2-0 transv y) -122880.0) + ) + ) + ) + (let ((t9-17 vector+!) + (a0-20 s3-3) + (a1-11 s3-3) + (a2-4 (new 'stack-no-clear 'vector)) + ) + (.lvf vf1 (&-> (-> s2-0 transv) quad)) + (let ((f0-29 (-> *display* seconds-per-frame))) + (.mov at-1 f0-29) + ) + (.mov vf2 at-1) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a2-4 quad) vf1) + (t9-17 a0-20 a1-11 a2-4) + ) + (let ((f0-31 (- (-> obj up y) (-> s3-3 y))) + (v1-59 (>= f30-2 0.0)) + ) + (when (!= v1-59 (>= f0-31 0.0)) + (let ((f0-32 (-> s2-0 transv y))) + (when (< 40960.0 (fabs f0-32)) + (if (>= f0-32 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)) + ) + ) + (let ((f0-37 0.0)) + (dotimes (v1-68 3) + (+! f0-37 (-> obj control-pt v1-68 trans y)) + ) + (let ((f0-38 (* 0.33333334 f0-37)) + (a1-12 (new 'stack-no-clear 'vector)) + ) + (set! (-> a1-12 quad) (-> obj root-override trans quad)) + (set! (-> a1-12 y) f0-38) + (TODO-RENAME-30 (-> obj root-override) a1-12) + ) + ) + (let ((s4-4 (new 'stack-no-clear 'vector)) + (s3-4 (new 'stack-no-clear 'vector)) + (s5-1 (new 'stack-no-clear 'vector)) + ) + (vector-! + s4-4 + (the-as vector (&-> obj stack 160)) + (the-as vector (-> obj control-pt)) + ) + (vector-! + s3-4 + (the-as vector (&-> obj stack 192)) + (the-as vector (-> obj control-pt)) + ) + (vector-cross! s5-1 s4-4 s3-4) + (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 + ) + ) + (none) + ) + ) + +;; failed to figure out what this is: +(defstate cavegeyserrock-idle (cavegeyserrock) + :trans + (the-as (function none :behavior cavegeyserrock) rider-trans) + :code + (behavior () + (while #t + (dummy-20 self) + (dummy-21 self) + (suspend) + ) + (none) + ) + :post + (the-as (function none :behavior cavegeyserrock) rider-post) + ) + +;; definition for method 10 of type cavegeyserrock +(defmethod deactivate cavegeyserrock ((obj cavegeyserrock)) + (if (nonzero? (-> obj part2)) + (kill-and-free-particles (-> obj part2)) + ) + ((method-of-type process-drawable deactivate) obj) + (none) + ) + +;; definition for function cavecrystal-light-control-cavegeyserrock-callback +;; INFO: Return type mismatch object vs none. +;; Used lq/sq +(defun + cavecrystal-light-control-cavegeyserrock-callback + ((arg0 (pointer process-drawable)) + (arg1 int) + (arg2 float) + (arg3 object) + (arg4 vector) + ) + (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)) + ) + ) + (set! (-> s5-0 w) arg2) + (let ((f30-0 (TODO-RENAME-10 *cavecrystal-light-control* s5-0))) + (let ((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 f30-0) + ) + (set-fade! *palette-fade-controls* 0 f30-0 0.0 arg4) + ) + ) + (none) + ) + +;; definition for method 11 of type cavegeyserrock +;; INFO: Return type mismatch object vs none. +;; Used lq/sq +(defmethod copy-defaults! cavegeyserrock ((obj cavegeyserrock) (arg0 res-lump)) + (local-vars (sv-16 int) (sv-32 int)) + (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) 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 -4096.0 0.0 14745.6) + ) + (dummy-46 s4-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (dummy-50 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) + (process-drawable-from-entity! obj arg0) + (initialize-skeleton obj *cavegeyserrock-sg* '()) + (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 4)) + num-func-identity + ) + (set! (-> s4-1 frame-num) 0.0) + ) + (set! + (-> obj root-override trans y) + (+ 8192.0 (-> obj root-override trans y)) + ) + (set! sv-16 0) + (let + ((v1-33 + (res-lump-data + arg0 + 'trans-offset + pointer + :tag-ptr + (the-as (pointer res-tag) (& sv-16)) + ) + ) + ) + (when v1-33 + (+! (-> obj root-override trans x) (-> (the-as (pointer float) v1-33))) + (+! (-> obj root-override trans y) (l.f (&+ v1-33 4))) + (+! (-> obj root-override trans z) (l.f (&+ v1-33 8))) + ) + ) + (dummy-47 (-> obj root-override)) + (load-params! (-> obj sync) obj (the-as uint 360.0) 0.0 0.15 0.15) + (let ((f30-0 0.4) + (f28-0 0.9) + ) + (set! sv-32 0) + (let + ((v1-40 + (res-lump-data + arg0 + 'percent + pointer + :tag-ptr + (the-as (pointer res-tag) (& sv-32)) + ) + ) + ) + (when v1-40 + (set! f30-0 (-> (the-as (pointer float) v1-40))) + (set! f28-0 (l.f (&+ v1-40 4))) + (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) + ) + ) + ) + (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* 504) obj) + ) + (set! + (-> obj part2) + (create-launch-control (-> *part-group-id-table* 505) obj) + ) + (vector-reset! (-> obj root-override transv)) + (create-connection! + *cavecrystal-light-control* + (the-as cavecrystal obj) + (-> obj entity) + (the-as + (function object object object object object) + cavecrystal-light-control-cavegeyserrock-callback + ) + -1 + 8192.0 + ) + (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)) + ) + ) + ) + (go cavegeyserrock-idle) + (none) + ) + + + + + + From ef4e37583fdc3e416299e25a8f1fcefad243c080 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Thu, 28 Oct 2021 00:09:52 +0100 Subject: [PATCH 25/27] hopefully fix linux --- common/cross_os_debug/xdbg.cpp | 4 ++-- goalc/debugger/Debugger.cpp | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index 3d9b23bcdc..ba552fcee8 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -324,7 +324,7 @@ void win_print_last_error(const std::string& msg) { NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&errorText, 0, NULL); if (errorText == NULL) { - printf("[Debugger] %s Win Err", msg.c_str()); + printf("[Debugger] %s Win Err\n", msg.c_str()); } else { printf("[Debugger] %s Win Err: %s", msg.c_str(), errorText); } @@ -487,7 +487,7 @@ bool check_stopped(const ThreadID& tid, SignalInfo* out) { break; default: out->kind = SignalInfo::EXCEPTION; - out->msg = fmt::format("[{:X}] {}", exc, win32_exception_code_to_charp(exc)); + out->msg = fmt::format("{} [0x{:X}]", exc, win32_exception_code_to_charp(exc)); break; } } diff --git a/goalc/debugger/Debugger.cpp b/goalc/debugger/Debugger.cpp index 4515aadc1e..0828115166 100644 --- a/goalc/debugger/Debugger.cpp +++ b/goalc/debugger/Debugger.cpp @@ -582,6 +582,13 @@ const char* Debugger::get_symbol_name_from_offset(s32 ofs) { * Attempt to start the debugger watch thread and evaluate attach success. Stops if unsuccessful. */ bool Debugger::try_start_watcher() { +#ifdef __linux + m_attach_response = xdbg::attach_and_break(m_debug_context.tid); + if (!m_attach_response) + return false; + start_watcher(); + return true; +#elif defined(_WIN32) start_watcher(); std::unique_lock lk(watcher_mutex); m_attach_cv.wait(lk, [&]() { return m_attach_return; }); @@ -589,6 +596,7 @@ bool Debugger::try_start_watcher() { stop_watcher(); } return m_attach_response; +#endif } /*! @@ -625,13 +633,15 @@ Debugger::~Debugger() { * The watcher thread. */ void Debugger::watcher() { - // watcher will now attach to target. - // linux doesn't require the attachment and watching to be on the same thread, but windows does. +// watcher will now attach to target. +// linux doesn't require the attachment and watching to be on the same thread, but windows does. +#ifdef _WIN32 m_attach_response = xdbg::attach_and_break(m_debug_context.tid); m_attach_return = true; m_attach_cv.notify_all(); if (!m_attach_response) return; +#endif xdbg::SignalInfo signal_info; while (!m_watcher_should_stop) { @@ -662,6 +672,7 @@ void Debugger::watcher() { case xdbg::SignalInfo::UNKNOWN: printf("Target has encountered an unknown signal. Run (:di) to get more information.\n"); break; +#ifdef _WIN32 case xdbg::SignalInfo::EXCEPTION: printf("Target raised an exception (%s). Run (:di) to get more information.\n", signal_info.msg.c_str()); @@ -669,6 +680,7 @@ void Debugger::watcher() { case xdbg::SignalInfo::NOTHING: // printf("Nothing happened.\n"); break; +#endif default: printf("[Debugger] unhandled signal in watcher: %d\n", int(signal_info.kind)); assert(false); From 141100aa4a3c8eb9c9f652eb87f2751419e29be7 Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Thu, 28 Oct 2021 00:22:21 +0100 Subject: [PATCH 26/27] windows FormatMessage weirdness? --- common/cross_os_debug/xdbg.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index ba552fcee8..c94f836ea4 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -317,17 +317,13 @@ ThreadID get_current_thread_id() { } void win_print_last_error(const std::string& msg) { - LPTSTR errorText = NULL; + LPSTR lpMsgBuf; FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&errorText, 0, NULL); + NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&lpMsgBuf, 0, NULL); - if (errorText == NULL) { - printf("[Debugger] %s Win Err\n", msg.c_str()); - } else { - printf("[Debugger] %s Win Err: %s", msg.c_str(), errorText); - } + printf("[Debugger] %s Win Err: %s", msg.c_str(), lpMsgBuf); } /*! From 463d3883ffaf4f2603729648bae1eccd10dba92b Mon Sep 17 00:00:00 2001 From: ManDude <7569514+ManDude@users.noreply.github.com> Date: Fri, 29 Oct 2021 04:36:51 +0100 Subject: [PATCH 27/27] mutex fixes --- common/cross_os_debug/xdbg.cpp | 9 +++++++-- docs/markdown/debugging.md | 2 +- goalc/debugger/Debugger.cpp | 12 +++++------- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/common/cross_os_debug/xdbg.cpp b/common/cross_os_debug/xdbg.cpp index c94f836ea4..13dd14259c 100644 --- a/common/cross_os_debug/xdbg.cpp +++ b/common/cross_os_debug/xdbg.cpp @@ -334,6 +334,8 @@ std::mutex m; std::condition_variable cv; bool attach_and_break(const ThreadID& tid) { + cont_status = -1; + if (!DebugActiveProcess(tid.pid)) { win_print_last_error(fmt::format("DebugActiveProcess w/ TID {}", tid.to_string())); return false; @@ -373,8 +375,11 @@ bool cont_now(const ThreadID& tid) { return false; } - cont_status = 1; - cv.notify_all(); + { + std::unique_lock lk(m); + cont_status = 1; + cv.notify_all(); + } return true; } diff --git a/docs/markdown/debugging.md b/docs/markdown/debugging.md index 2040a8b1ab..5ee086bd7b 100644 --- a/docs/markdown/debugging.md +++ b/docs/markdown/debugging.md @@ -238,7 +238,7 @@ For now, the disassembly is pretty basic, but it should eventually support GOAL Print the name of a symbol from its offset. The name is fetched from memory. ```lisp -(:disasm offset) +(:sym-name offset) ``` Example (after doing a `(lt)`, `(blg)`, `(dbg)`): diff --git a/goalc/debugger/Debugger.cpp b/goalc/debugger/Debugger.cpp index 0828115166..81ad3df7fb 100644 --- a/goalc/debugger/Debugger.cpp +++ b/goalc/debugger/Debugger.cpp @@ -4,7 +4,6 @@ * Uses xdbg functions to debug an OpenGOAL target. */ -#include #include "Debugger.h" #include "common/goal_constants.h" #include "common/symbols.h" @@ -15,10 +14,6 @@ #include "goalc/listener/Listener.h" #include "third-party/fmt/core.h" -namespace { -std::mutex watcher_mutex; -} - /*! * Is the target halted? If we don't know or aren't connected, returns false. */ @@ -590,7 +585,7 @@ bool Debugger::try_start_watcher() { return true; #elif defined(_WIN32) start_watcher(); - std::unique_lock lk(watcher_mutex); + std::unique_lock lk(m_watcher_mutex); m_attach_cv.wait(lk, [&]() { return m_attach_return; }); if (!m_attach_response) { stop_watcher(); @@ -609,7 +604,10 @@ void Debugger::start_watcher() { assert(!m_watcher_running); m_watcher_running = true; m_watcher_should_stop = false; - m_attach_return = false; + { + std::unique_lock lk(m_watcher_mutex); + m_attach_return = false; + } m_watcher_thread = std::thread(&Debugger::watcher, this); }