[decomp] entity birth (#964)

* make birthing work

* fix float representation on defskelgroup

* test

* update

* debugger improvements & dont upload aux sprites

* ?

* fix progress

* fixes

* fixes

* Create bea.gd

* fix test

* fix xmm reg clobbering in kernel (water)

* cleanup cam-start

* clear gamepad state every frame

* allow controller connects and disconnects while running
This commit is contained in:
ManDude 2021-11-16 00:05:28 +00:00 committed by GitHub
parent 380e7b3580
commit 80a002f8c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
226 changed files with 2376 additions and 1607 deletions

View File

@ -391,7 +391,7 @@ void ignore_debug_event() {
cont_status = -1;
}
std::string win32_exception_code_to_charp(DWORD exc) {
const char* win32_exception_code_to_charp(DWORD exc) {
switch (exc) {
case EXCEPTION_ACCESS_VIOLATION:
return "EXCEPTION_ACCESS_VIOLATION";
@ -433,8 +433,14 @@ std::string win32_exception_code_to_charp(DWORD exc) {
return "EXCEPTION_SINGLE_STEP";
case EXCEPTION_STACK_OVERFLOW:
return "EXCEPTION_STACK_OVERFLOW";
case STATUS_STACK_BUFFER_OVERRUN:
return "STATUS_STACK_BUFFER_OVERRUN";
case STATUS_HEAP_CORRUPTION:
return "STATUS_HEAP_CORRUPTION";
case STATUS_GUARD_PAGE_VIOLATION:
return "STATUS_GUARD_PAGE_VIOLATION";
default:
return "UNHANDLED_WIN32_EXCEPTION";
return "UNKNOWN (please contact developers)";
}
}

View File

@ -2981,8 +2981,8 @@ goos::Object DefskelgroupElement::to_form_internal(const Env& env) const {
std::vector<goos::Object> lod_forms;
for (const auto& e : m_info.lods) {
auto f_dist = pretty_print::to_symbol(
fmt::format("(meters {})", e.lod_dist->to_form(env).as_float() / METER_LENGTH));
auto f_dist = pretty_print::to_symbol(fmt::format(
"(meters {})", float_to_string(e.lod_dist->to_form(env).as_float() / METER_LENGTH, false)));
lod_forms.push_back(pretty_print::build_list(e.mgeo->to_form(env), f_dist));
}
forms.push_back(pretty_print::build_list(lod_forms));

View File

@ -954,8 +954,10 @@
(firecanyon-not-enough-cells #x24f)
(sidekick-hint-orb-cache-top #x251)
(daxter-launcher-no-eco #x25c)
(jungle-precursorbridge-hint #x25b)
(daxter-launcher-no-eco #x25c)
(beach-gimmie #x262)
(beach-sentinel #x263)
(jungle-canyon-end #x264)
@ -1225,10 +1227,9 @@
;; - Types
(declare-type res-lump basic)
(define-extern process-tree type) ; deftype provided by C Kernel
(declare-type process basic)
(declare-type res-lump basic)
(declare-type entity-actor basic)
(deftype process-tree (basic)
((name basic :offset-assert 4)
(mask process-mask :offset-assert 8)
@ -1242,7 +1243,7 @@
(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)
(init-from-entity! (_type_ entity-actor) none 11)
(run-logic? (_type_) symbol 12)
(dummy-method () none 13)
)
@ -1252,7 +1253,7 @@
)
(deftype stack-frame (basic)
((name basic :offset 4)
((name symbol :offset 4)
(next stack-frame :offset 8) ;; which way does this point?
)
:size-assert #xc
@ -1423,7 +1424,7 @@
(event (function process int symbol event-message-block object) :offset-assert 32)
)
(:methods
(new (symbol type basic function
(new (symbol type symbol function
(function none)
function
(function none)
@ -5285,7 +5286,7 @@
(activate-levels! (_type_) int 12)
(debug-print-entities (_type_ symbol type) none 13)
(debug-draw-actors (_type_ symbol) none 14)
(dummy-15 (_type_) object 15)
(actors-update (_type_) object 15)
(level-update (_type_) int 16)
(level-get-target-inside (_type_) level 17)
(alloc-levels! (_type_ symbol) int 18)
@ -6159,7 +6160,7 @@
(define-extern *display-vol-marks* symbol)
(define-extern *display-water-marks* symbol)
(define-extern *display-actor-anim* symbol)
(define-extern *display-process-anim* symbol)
(define-extern *display-process-anim* (pointer process))
(define-extern *display-actor-vis* symbol)
(define-extern *display-actor-graph* symbol)
(define-extern *display-level-border* symbol)
@ -13358,7 +13359,7 @@
:size-assert #x40
:flag-assert #xa00000040
(:methods
(dummy-9 (_type_ vector) none 9)
(birth? (_type_ vector) symbol 9)
)
)
@ -13447,7 +13448,7 @@
(
(nav-mesh nav-mesh :offset-assert 52)
(etype type :offset-assert 56) ;; probably type
(task uint8 :offset-assert 60)
(task game-task :offset-assert 60)
(vis-id uint16 :offset-assert 62)
(vis-id-signed int16 :offset 62) ;; added
(quat quaternion :inline :offset-assert 64)
@ -14842,6 +14843,12 @@
(draw-bad-disc (_type_ font-context) none 57)
(draw-quit (_type_ font-context) none 58)
)
(:states
progress-gone
progress-coming-in
progress-going-out
progress-waiting
)
)
;; - Symbols
@ -15169,7 +15176,7 @@
:flag-assert #x24000000e0
(:methods
(new (symbol type collide-shape int float) _type_)
(dummy-9 () none 9)
(dummy-9 (_type_) none 9)
(point-in-bounds? (_type_ vector) symbol 10)
(dummy-11 (_type_ vector) none 11)
(dummy-12 () none 12)
@ -18946,7 +18953,7 @@
:flag-assert #xc0000061c
(:methods
(new (symbol type process-drawable) _type_ 0)
(dummy-9 () none 9)
(dummy-9 (_type_) none 9)
(dummy-10 () none 10)
(TODO-RENAME-11 (_type_) symbol 11)
)
@ -19318,7 +19325,7 @@
;; - Functions
(define-extern cam-stop (function state))
(define-extern cam-stop (function none))
(define-extern reset-cameras (function none)) ;; defined in entity.gc
(define-extern cam-start (function symbol none))
@ -19516,7 +19523,7 @@
(define-extern line-in-view-frustum? (function vector vector symbol)) ;; TODO - not confirmed
(define-extern process-drawable-random-point! (function process-drawable vector vector))
(define-extern process-drawable-from-entity! (function process-drawable res-lump none))
(define-extern process-drawable-from-entity! (function process-drawable entity-actor none))
(define-extern cam-launcher-long-joystick (function vector :behavior camera-slave))
(define-extern hide-hud-quick (function none))
(define-extern command-get-process (function object process-drawable process :behavior camera-tracker))
@ -19530,7 +19537,7 @@
(define-extern convert-to-hud-object (function process-drawable hud none :behavior hud))
(define-extern clone-anim (function handle int symbol string none :behavior process-drawable))
(define-extern merc-eye-anim (function process-drawable none))
(define-extern ja-anim-done? (function pair symbol)) ;; TODO - has a behavior, no idea what it is
(define-extern ja-anim-done? (function process symbol))
(define-extern command-get-camera (function object state object)) ;; ret - (state camera) | string | symbol
(define-extern camera-anim (function symbol basic entity (pointer process) :behavior camera-tracker)) ;; unused
(define-extern camera-tracker-init (function object object :behavior camera-tracker)) ;; TODO - nested SC
@ -22828,7 +22835,7 @@
((root-override collide-shape-moving :score 100 :offset 112)
(smush smush-control :inline :offset-assert 176)
(basetrans vector :inline :offset-assert 208)
(bouncing basic :offset-assert 224)
(bouncing symbol :offset-assert 224)
)
:method-count-assert 27
:size-assert #xe4

View File

@ -677,7 +677,10 @@
"basebutton": [[1, "(function symbol :behavior target)"]],
"entity": [[10, "(function process-drawable none)"]],
"entity": [
[10, "(function process-drawable none)"],
[46, "(function process-drawable none)"]
],
"beach-rocks": [
[2, "(function none :behavior beach-rock)"],

View File

@ -50,6 +50,7 @@ namespace Gfx {
GfxSettings g_settings;
// const std::vector<const GfxRendererModule*> renderers = {&moduleOpenGL};
// TODO serialize
void LoadSettings() {
const auto filename = file_util::get_file_path({GAME_CONFIG_DIR_NAME, SETTINGS_GFX_FILE_NAME});
if (std::filesystem::exists(filename)) {

View File

@ -588,10 +588,18 @@ _call_goal_on_stack_asm_win32:
push r14 ; 96
push r15 ; 104
sub rsp, 16
movups [rsp], xmm6
sub rsp, 16
movups [rsp], xmm7
sub rsp, 160
movaps [rsp], xmm8
movaps [rsp + 16], xmm9
movaps [rsp + 32], xmm10
movaps [rsp + 48], xmm11
movaps [rsp + 64], xmm12
movaps [rsp + 80], xmm13
movaps [rsp + 96], xmm14
movaps [rsp + 112], xmm15
movaps [rsp + 128], xmm7
movaps [rsp + 144], xmm6
;; stack swap
mov rsi, rsp
@ -608,10 +616,17 @@ _call_goal_on_stack_asm_win32:
pop rsi
mov rsp, rsi
movups xmm7, [rsp]
add rsp, 16
movups xmm6, [rsp]
add rsp, 16
movaps xmm8, [rsp]
movaps xmm9, [rsp + 16]
movaps xmm10, [rsp + 32]
movaps xmm11, [rsp + 48]
movaps xmm12, [rsp + 64]
movaps xmm13, [rsp + 80]
movaps xmm14, [rsp + 96]
movaps xmm15, [rsp + 112]
movaps xmm7, [rsp + 128]
movaps xmm6, [rsp + 144]
add rsp, 160
pop r15
pop r14
@ -627,4 +642,4 @@ _call_goal_on_stack_asm_win32:
pop rbx
pop rdx
ret
ret

View File

@ -203,20 +203,39 @@ struct GamepadState {
int gamepad_idx = -1;
} g_gamepads;
void initialize() {
for (int i = GLFW_JOYSTICK_1; i <= GLFW_JOYSTICK_LAST; i++) {
if (glfwJoystickPresent(i) && glfwJoystickIsGamepad(i)) {
g_gamepads.gamepad_idx = i;
lg::info("Using joystick {}: {}, {}", i, glfwGetJoystickName(i), glfwGetGamepadName(i));
break;
void check_gamepad() {
if (g_gamepads.gamepad_idx == -1) {
for (int i = GLFW_JOYSTICK_1; i <= GLFW_JOYSTICK_LAST; i++) {
if (glfwJoystickPresent(i) && glfwJoystickIsGamepad(i)) {
g_gamepads.gamepad_idx = i;
lg::info("Using joystick {}: {}, {}", i, glfwGetJoystickName(i), glfwGetGamepadName(i));
break;
}
}
}
}
void initialize() {
check_gamepad();
if (g_gamepads.gamepad_idx == -1) {
lg::info("No joysticks found.");
}
}
void clear_gamepads() {
for (int i = 0; i < (int)Button::Max; ++i) {
g_gamepad_buttons[i] = false;
}
for (int i = 0; i < 4; ++i) {
g_gamepad_analogs[i] = 127;
}
}
void update_gamepads() {
clear_gamepads();
check_gamepad();
if (g_gamepads.gamepad_idx == -1) {
return;
}

53
goal_src/dgos/bea.gd Normal file
View File

@ -0,0 +1,53 @@
("BEA.DGO"
("mistycannon.o" "mistycannon")
("babak-with-cannon.o" "babak-with-cannon")
("air-h.o" "air-h")
("air.o" "air")
("wobbler.o" "wobbler")
("twister.o" "twister")
("beach-obs.o" "beach-obs")
("bird-lady.o" "bird-lady")
("bird-lady-beach.o" "bird-lady-beach")
("mayor.o" "mayor")
("sculptor.o" "sculptor")
("pelican.o" "pelican")
("lurkerworm.o" "lurkerworm")
("lurkercrab.o" "lurkercrab")
("lurkerpuppy.o" "lurkerpuppy")
("beach-rocks.o" "beach-rocks")
("seagull.o" "seagull")
("beach-part.o" "beach-part")
("tpage-212.go" "tpage-212")
("tpage-214.go" "tpage-214")
("tpage-213.go" "tpage-213")
("tpage-215.go" "tpage-215")
("babak-ag.go" "babak")
("barrel-ag-BEA.go" "barrel")
("beachcam-ag.go" "beachcam")
("bird-lady-ag.go" "bird-lady")
("bird-lady-beach-ag.go" "bird-lady-beach")
("bladeassm-ag.go" "bladeassm")
("ecovalve-ag-BEA.go" "ecovalve")
("ecoventrock-ag.go" "ecoventrock")
("flutflut-ag.go" "flutflut")
("flutflutegg-ag.go" "flutflutegg")
("grottopole-ag.go" "grottopole")
("harvester-ag.go" "harvester")
("kickrock-ag.go" "kickrock")
("lrocklrg-ag.go" "lrocklrg")
("lurkercrab-ag.go" "lurkercrab")
("lurkerpuppy-ag.go" "lurkerpuppy")
("lurkerworm-ag.go" "lurkerworm")
("mayor-ag.go" "mayor")
("mistycannon-ag.go" "mistycannon")
("orb-cache-top-ag-BEA.go" "orb-cache-top")
("pelican-ag.go" "pelican")
("sack-ag-BEA.go" "sack")
("sculptor-ag.go" "sculptor")
("sculptor-muse-ag.go" "sculptor-muse")
("seagull-ag.go" "seagull")
("sharkey-ag-BEA-TRA-VI2.go" "sharkey")
("windmill-one-ag.go" "windmill-one")
("beach-vis.go" "beach-vis")
)

View File

@ -654,19 +654,7 @@
(s4-1 string->sound-name)
)
(format (clear *temp-string*) "spool-~S" arg0)
(let
((s5-2
(s5-1
(s4-1 *temp-string*)
(new-sound-id)
1024
0
0
1
#t
)
)
)
(let ((s5-2 (s5-1 (s4-1 *temp-string*) (new-sound-id) 1024 0 0 1 #t)))
(set! (-> self sound-id) s5-2)
(let ((s4-3 (-> *display* base-frame-counter)))
(while
@ -766,15 +754,7 @@
(format (clear *temp-string*) "spool-~S" arg0)
(set!
(-> self sound-id)
(s5-1
(s4-2 *temp-string*)
(new-sound-id)
1024
0
0
1
#t
)
(s5-1 (s4-2 *temp-string*) (new-sound-id) 1024 0 0 1 #t)
)
)
)

View File

@ -666,74 +666,65 @@
)
(defun update-rain ((arg0 target))
(with-pp
(let ((a2-0 (new 'stack-no-clear 'vector)))
(set! (-> a2-0 x) (-> arg0 control transv x))
(set! (-> a2-0 y) 0.0)
(set! (-> a2-0 z) (-> arg0 control transv z))
(set! (-> a2-0 w) 1.0)
(let
((gp-0
(vector+float*!
(new 'stack-no-clear 'vector)
(-> arg0 control trans)
a2-0
0.0
)
(let ((a2-0 (new 'stack-no-clear 'vector)))
(set! (-> a2-0 x) (-> arg0 control transv x))
(set! (-> a2-0 y) 0.0)
(set! (-> a2-0 z) (-> arg0 control transv z))
(set! (-> a2-0 w) 1.0)
(let
((gp-0
(vector+float*!
(new 'stack-no-clear 'vector)
(-> arg0 control trans)
a2-0
0.0
)
)
(let* ((s5-0 (matrix-local->world #f #f))
(f28-0
(lerp-scale 122.88 245.76 (fabs (-> s5-0 vector 2 y)) 0.0 0.7)
)
(f30-0
(lerp-scale 2048.0 245.76 (fabs (-> s5-0 vector 2 y)) 0.0 0.7)
)
)
(let ((f26-0 (lerp-scale 0.0 0.1 (-> s5-0 vector 2 y) 0.3 0.7))
(f0-10 (lerp-scale 1.0 0.1 (-> s5-0 vector 2 y) 0.3 0.7))
)
(when (< 0.0 f26-0)
(let ((a1-6 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-6 from) pp)
(set! (-> a1-6 num-params) 2)
(set! (-> a1-6 message) 'part-water-drip)
(set! (-> a1-6 param 0) (the-as uint f26-0))
(set! (-> a1-6 param 1) (the-as uint f0-10))
(send-event-function *camera* a1-6)
)
)
)
(set! (-> *part-id-table* 37 init-specs 4 initial-valuef) f28-0)
(set! (-> *part-id-table* 37 init-specs 4 random-rangef) f28-0)
(set! (-> *part-id-table* 38 init-specs 4 initial-valuef) f28-0)
(set! (-> *part-id-table* 38 init-specs 4 random-rangef) f28-0)
(set! (-> *part-id-table* 37 init-specs 5 initial-valuef) f30-0)
(set! (-> *part-id-table* 37 init-specs 5 random-rangef) f30-0)
(set! (-> *part-id-table* 38 init-specs 5 initial-valuef) f30-0)
(set! (-> *part-id-table* 38 init-specs 5 random-rangef) f30-0)
)
(sp-launch-particles-var
*sp-particle-system-2d*
(-> *part-id-table* 37)
gp-0
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
(sp-launch-particles-var
*sp-particle-system-2d*
(-> *part-id-table* 38)
gp-0
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
)
(let* ((s5-0 (matrix-local->world #f #f))
(f28-0
(lerp-scale 122.88 245.76 (fabs (-> s5-0 vector 2 y)) 0.0 0.7)
)
(f30-0
(lerp-scale 2048.0 245.76 (fabs (-> s5-0 vector 2 y)) 0.0 0.7)
)
)
(let ((f26-0 (lerp-scale 0.0 0.1 (-> s5-0 vector 2 y) 0.3 0.7))
(f0-10 (lerp-scale 1.0 0.1 (-> s5-0 vector 2 y) 0.3 0.7))
)
(if (< 0.0 f26-0)
(send-event *camera* 'part-water-drip f26-0 f0-10)
)
)
(set! (-> *part-id-table* 37 init-specs 4 initial-valuef) f28-0)
(set! (-> *part-id-table* 37 init-specs 4 random-rangef) f28-0)
(set! (-> *part-id-table* 38 init-specs 4 initial-valuef) f28-0)
(set! (-> *part-id-table* 38 init-specs 4 random-rangef) f28-0)
(set! (-> *part-id-table* 37 init-specs 5 initial-valuef) f30-0)
(set! (-> *part-id-table* 37 init-specs 5 random-rangef) f30-0)
(set! (-> *part-id-table* 38 init-specs 5 initial-valuef) f30-0)
(set! (-> *part-id-table* 38 init-specs 5 random-rangef) f30-0)
)
(sp-launch-particles-var
*sp-particle-system-2d*
(-> *part-id-table* 37)
gp-0
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
(sp-launch-particles-var
*sp-particle-system-2d*
(-> *part-id-table* 38)
gp-0
(the-as sparticle-launch-state #f)
(the-as sparticle-launch-control #f)
1.0
)
)
0
(none)
)
0
(none)
)
(defbehavior cam-master-effect camera-master ()

View File

@ -31,97 +31,115 @@
(define-extern *clm-vol-attr* clm) ;; unknown type
(define-extern *clm-select* clm) ;; unknown type
;; decomp begins
;; DECOMP BEGINS
;; this file is debug only
(when *debug-segment*
(define *redline-table* (the-as (pointer float) (malloc 'debug 1600)))
(define *redline-index* 0)
(define *redline-table* (the-as (pointer float) (malloc 'debug 1600)))
(defun float-save-redline ((arg0 float))
(set! (-> *redline-table* *redline-index*) arg0)
(set! *redline-index* (+ *redline-index* 1))
(when (>= *redline-index* 400)
(set! *redline-index* 0)
)
(none)
)
(define *redline-index* 0)
(defun float-lookup-redline ((arg0 float))
(let ((a0-3 (mod (+ (+ (the int arg0) -1) *redline-index*) 400)))
(-> *redline-table* a0-3)
)
)
(define *blueline-table* (the-as (pointer float) (malloc 'debug 1600)))
(define *blueline-index* 0)
(defun float-save-blueline ((arg0 float))
(set! (-> *blueline-table* *blueline-index*) arg0)
(set! *blueline-index* (+ *blueline-index* 1))
(when (>= *blueline-index* 400)
(set! *blueline-index* 0)
)
(none)
)
(defun float-lookup-blueline ((arg0 float))
(let ((a0-3 (mod (+ (+ (the int arg0) -1) *blueline-index*) 400)))
(-> *blueline-table* a0-3)
)
)
(define *greenline-table* (the-as (pointer float) (malloc 'debug 1600)))
(define *greenline-index* 0)
(defun float-save-greenline ((arg0 float))
(set! (-> *greenline-table* *greenline-index*) arg0)
(set! *greenline-index* (+ *greenline-index* 1))
(when (>= *greenline-index* 400)
(set! *greenline-index* 0)
)
(none)
)
(defun float-lookup-greenline ((arg0 float))
(let ((a0-3 (mod (+ (+ (the int arg0) -1) *greenline-index*) 400)))
(-> *greenline-table* a0-3)
)
)
(define *yellowline-table* (the-as (pointer float) (malloc 'debug 1600)))
(define *yellowline-index* 0)
(defun float-save-yellowline ((arg0 float))
(set! (-> *yellowline-table* *yellowline-index*) arg0)
(set! *yellowline-index* (+ *yellowline-index* 1))
(when (>= *yellowline-index* 400)
(set! *yellowline-index* 0)
)
(none)
)
(defun float-lookup-yellowline ((arg0 float))
(let ((a0-3 (mod (+ (+ (the int arg0) -1) *yellowline-index*) 400)))
(-> *yellowline-table* a0-3)
)
)
(define *timeplot-table* (the-as (pointer float) (malloc 'debug 1600)))
(define *timeplot-index* 0)
(defun float-save-timeplot ((arg0 float))
(set! (-> *timeplot-table* *timeplot-index*) arg0)
(set! *timeplot-index* (+ *timeplot-index* 1))
(when (>= *timeplot-index* 400)
(set! *timeplot-index* 0)
)
(none)
)
(defun float-lookup-timeplot ((arg0 float))
(let ((a0-3 (mod (+ (+ (the int arg0) -1) *timeplot-index*) 400)))
(-> *timeplot-table* a0-3)
)
)
(define-perm *cam-layout* symbol #f)
(defun float-save-redline ((arg0 float))
(set! (-> *redline-table* *redline-index*) arg0)
(set! *redline-index* (+ *redline-index* 1))
(when (>= *redline-index* 400)
(set! *redline-index* 0)
0
)
(none)
)
(defun float-lookup-redline ((arg0 float))
(let ((a0-3 (mod (+ (the int arg0) -1 *redline-index*) 400)))
(-> *redline-table* a0-3)
)
)
(define *blueline-table* (the-as (pointer float) (malloc 'debug 1600)))
(define *blueline-index* 0)
(defun float-save-blueline ((arg0 float))
(set! (-> *blueline-table* *blueline-index*) arg0)
(set! *blueline-index* (+ *blueline-index* 1))
(when (>= *blueline-index* 400)
(set! *blueline-index* 0)
0
)
(none)
)
(defun float-lookup-blueline ((arg0 float))
(let ((a0-3 (mod (+ (the int arg0) -1 *blueline-index*) 400)))
(-> *blueline-table* a0-3)
)
)
(define *greenline-table* (the-as (pointer float) (malloc 'debug 1600)))
(define *greenline-index* 0)
(defun float-save-greenline ((arg0 float))
(set! (-> *greenline-table* *greenline-index*) arg0)
(set! *greenline-index* (+ *greenline-index* 1))
(when (>= *greenline-index* 400)
(set! *greenline-index* 0)
0
)
(none)
)
(defun float-lookup-greenline ((arg0 float))
(let ((a0-3 (mod (+ (the int arg0) -1 *greenline-index*) 400)))
(-> *greenline-table* a0-3)
)
)
(define *yellowline-table* (the-as (pointer float) (malloc 'debug 1600)))
(define *yellowline-index* 0)
(defun float-save-yellowline ((arg0 float))
(set! (-> *yellowline-table* *yellowline-index*) arg0)
(set! *yellowline-index* (+ *yellowline-index* 1))
(when (>= *yellowline-index* 400)
(set! *yellowline-index* 0)
0
)
(none)
)
(defun float-lookup-yellowline ((arg0 float))
(let ((a0-3 (mod (+ (the int arg0) -1 *yellowline-index*) 400)))
(-> *yellowline-table* a0-3)
)
)
(define *timeplot-table* (the-as (pointer float) (malloc 'debug 1600)))
(define *timeplot-index* 0)
(defun float-save-timeplot ((arg0 float))
(set! (-> *timeplot-table* *timeplot-index*) arg0)
(set! *timeplot-index* (+ *timeplot-index* 1))
(when (>= *timeplot-index* 400)
(set! *timeplot-index* 0)
0
)
(none)
)
(defun float-lookup-timeplot ((arg0 float))
(let ((a0-3 (mod (+ (the int arg0) -1 *timeplot-index*) 400)))
(-> *timeplot-table* a0-3)
)
)
(define-perm *cam-layout* symbol #f)
0
)

View File

@ -13,49 +13,21 @@
(kill-by-name 'camera-combiner *active-pool*)
(set! *camera* #f)
(set! *camera-combiner* #f)
(let ((v0-3 cam-string))
(set! *camera-base-mode* v0-3)
(the-as state v0-3)))
(set! *camera-base-mode* cam-string)
(none)
)
;; definition for function cam-start
;; INFO: Return type mismatch int vs none.
(defun cam-start ((arg0 symbol))
(cam-stop)
(let ((s5-0 (get-process *camera-dead-pool* camera-combiner #x4000)))
(when s5-0
(let ((t9-2 (method-of-type camera-combiner activate)))
(t9-2
(the-as camera-combiner s5-0)
*camera-pool*
'camera-combiner
(the-as pointer #x70004000)))
(run-now-in-process s5-0 cam-combiner-init)
(-> s5-0 ppointer)))
(let ((s5-1 (get-process *camera-master-dead-pool* camera-master #x4000)))
(set! *camera*
(the-as camera-master
(ppointer->process
(when s5-1
(let ((t9-5 (method-of-type
camera-master
activate)))
(t9-5
(the-as
camera-master
s5-1)
*camera-pool*
'camera-master
(the-as
pointer
#x70004000)))
(run-next-time-in-process
s5-1
cam-master-init)
(-> s5-1 ppointer))))))
(make-init-process camera-combiner cam-combiner-init :from *camera-dead-pool* :to *camera-pool* :stack *scratch-memory-top*)
(set! *camera* (the-as camera-master (ppointer->process (make-init-process camera-master cam-master-init :from *camera-master-dead-pool* :to *camera-pool* :stack *scratch-memory-top*))))
(if arg0
(reset-cameras))
0
(none))
(reset-cameras)
)
(none)
)
;; failed to figure out what this is:
(cam-start #f)

View File

@ -1192,10 +1192,10 @@
)
(cam-slave-init-vars)
(let ((v1-7 'cam-voicebox)
(a0-4 (-> arg0 name))
(a0-4 (the-as basic (-> arg0 name)))
)
(cond
((= a0-4 v1-7)
((= (the-as symbol a0-4) v1-7)
)
(arg1
(set! (-> self cam-entity) arg1)
@ -1215,14 +1215,14 @@
)
(let ((t9-5 (the-as (function object object) (-> arg0 enter))))
(if t9-5
(t9-5 a0-4)
(t9-5 (the-as symbol a0-4))
)
)
(set! (-> self enter-has-run) #t)
(set! (-> self event-hook) (-> arg0 event))
(let ((t9-6 (the-as (function object object) enter-state)))
(set! (-> self next-state) arg0)
(t9-6 a0-4)
(t9-6 (the-as symbol a0-4))
)
)
0

View File

@ -5,36 +5,38 @@
;; name in dgo: collide-cache-h
;; dgos: GAME, ENGINE
;; decomp begins
;; DECOMP BEGINS
(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)
((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)
((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 collide-puss-sphere 64 :inline :offset-assert 96)
((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 collide-puss-sphere 64 :inline :offset-assert 96)
)
:method-count-assert 11
:size-assert #xc60
@ -45,12 +47,13 @@
)
)
(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)
((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
@ -59,31 +62,30 @@
(deftype collide-cache-tri (structure)
((vertex vector 3 :inline :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 uint32 2 :offset-assert 56)
((vertex vector 3 :inline :offset-assert 0)
(pat uint32 :offset-assert 48)
(prim-index uint16 :offset-assert 52)
(user16 uint16 :offset-assert 54)
(user32 uint32 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 collide-cache :offset-assert 32)
(prim collide-shape-prim :offset-assert 36)
(first-tri uint16 :offset-assert 40)
(num-tris uint16 :offset-assert 42)
(unused uint8 4 :offset-assert 44)
(world-sphere vector :inline :offset 0)
(collide-as uint64 :offset 16)
(action uint32 :offset 24)
(offense int8 :offset 28)
(prim-type int8 :offset 29)
((prim-core collide-prim-core :inline :offset-assert 0)
(ccache collide-cache :offset-assert 32)
(prim collide-shape-prim :offset-assert 36)
(first-tri uint16 :offset-assert 40)
(num-tris uint16 :offset-assert 42)
(unused uint8 4 :offset-assert 44)
(world-sphere vector :inline :offset 0)
(collide-as uint64 :offset 16)
(action uint32 :offset 24)
(offense int8 :offset 28)
(prim-type int8 :offset 29)
)
:method-count-assert 11
:size-assert #x30
@ -94,16 +96,17 @@
)
)
(deftype collide-cache (basic)
((num-tris int32 :offset-assert 4)
(num-prims int32 :offset-assert 8)
(ignore-mask uint32 :offset-assert 12)
(proc process-drawable :offset-assert 16) ;; types: target
(collide-box bounding-box :inline :offset-assert 32)
(collide-box4w bounding-box4w :inline :offset-assert 64)
(collide-with uint64 :offset-assert 96)
(prims collide-cache-prim 100 :inline :offset-assert 112)
(tris collide-cache-tri 461 :inline :offset-assert 4912)
((num-tris int32 :offset-assert 4)
(num-prims int32 :offset-assert 8)
(ignore-mask uint32 :offset-assert 12)
(proc process-drawable :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 collide-cache-prim 100 :inline :offset-assert 112)
(tris collide-cache-tri 461 :inline :offset-assert 4912)
)
:method-count-assert 33
:size-assert #x8670
@ -136,28 +139,31 @@
)
)
(deftype collide-list-item (structure)
((mesh basic :offset-assert 0)
(inst basic :offset-assert 4)
((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 collide-list-item 256 :inline :offset-assert 16)
((num-items int32 :offset-assert 0)
(items collide-list-item 256 :inline :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)
((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

View File

@ -191,21 +191,13 @@
)
)
(defmethod copy-defaults! viewer ((obj viewer) (arg0 res-lump))
(defmethod init-from-entity! viewer ((obj viewer) (arg0 entity-actor))
(set! *viewer* obj)
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj (the-as entity-actor arg0))
(actor-get-arg!
viewer-ja-name
"ja"
(res-lump-struct (the-as entity-actor arg0) 'name string)
)
(actor-get-arg!
viewer-geo-name
"geo"
(res-lump-struct (the-as entity-actor arg0) 'name string)
)
(let ((gp-1 (-> (the-as entity-actor arg0) etype)))
(process-drawable-from-entity! obj arg0)
(actor-get-arg! viewer-ja-name "ja" (res-lump-struct arg0 'name string))
(actor-get-arg! viewer-geo-name "geo" (res-lump-struct arg0 'name string))
(let ((gp-1 (-> arg0 etype)))
(if (valid? gp-1 type #f #f 0)
(init-viewer (symbol->string (-> gp-1 symbol)))
(go process-drawable-art-error "unknown")

View File

@ -72,7 +72,7 @@
"Function to be executed to set up for engine dma"
(set! *vu1-enable-user* *vu1-enable-user-menu*)
(set! *texture-enable-user* *texture-enable-user-menu*)
(when *debug-segment*
(when (or *stats-memory* *stats-memory-short*)
(dotimes (gp-0 (-> *level* length))
@ -85,15 +85,15 @@
)
(reset! *dma-mem-usage*)
)
;; todo debug memory
;; todo shrub matrix
;; todo generic init
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; texture uploads
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; tfrag
(when (logtest? *texture-enable-user* 1)
@ -105,7 +105,7 @@
)
)
)
;; pris
(when (logtest? *texture-enable-user* 2)
@ -117,7 +117,7 @@
)
)
)
;; shrub
(when (logtest? *texture-enable-user* 4)
@ -129,7 +129,7 @@
)
)
)
;; alpha and common.
(when (logtest? *texture-enable-user* 8)
(let ((uploaded-common #f))
@ -150,7 +150,7 @@
)
)
)
;; water.
(when (logtest? *texture-enable-user* 16)
(dotimes (gp-5 (-> *level* length))
@ -161,7 +161,7 @@
)
)
)
;; sky
;; todo - disabled sky
(when (zero? (logand *vu1-enable-user* 8))
@ -171,7 +171,7 @@
(test-1 (new 'static 'gs-test :ate #x1 :atst (gs-atest always) :zte #x1 :ztst (gs-ztest always)))
(alpha-1 (new 'static 'gs-alpha :b #x1 :d #x1))
)
(screen-gradient
(screen-gradient
dma-buf
(-> *display* bg-clear-color 0)
(-> *display* bg-clear-color 1)
@ -190,7 +190,7 @@
)
)
)
;; tod update
(update-time-of-day *time-of-day-context*)
;; closest
@ -244,8 +244,10 @@
(render-boundaries)
;; boundaries
;; touching
;; method15 level
(actors-update *level*)
;; collide stats
(none)
)
(defun main-draw-hook ()
@ -329,7 +331,7 @@
"Set up a new frame. Call this before drawing anything.
new-frame-idx is the display frame that will be set up.
odd-even is the odd-even of the new frame"
;; due to a HW bug in the PS2, you must set this.
;;(set! (-> (the-as vif-bank #x10003c00) err me0) 1)
@ -820,7 +822,7 @@
(.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)
(case (-> arg1 global-effect)
((3)
(when (not (-> s3-0 title-updated))
(set! (-> s3-0 title-updated) #t)

View File

@ -9,7 +9,6 @@
(define *generate-actor-vis-start* #f)
(define *generate-actor-vis-output* #f)
;; definition of type entity-perm
(deftype entity-perm (structure)
((user-object object 2 :offset-assert 0)
(user-uint64 uint64 :offset 0)
@ -52,7 +51,7 @@
:size-assert #x40
:flag-assert #xa00000040
(:methods
(dummy-9 (_type_ vector) none 9)
(birth? (_type_ vector) symbol 9)
)
)
@ -139,7 +138,7 @@
(deftype entity-actor (entity)
((nav-mesh nav-mesh :offset-assert 52)
(etype type :offset-assert 56)
(task uint8 :offset-assert 60)
(task game-task :offset-assert 60)
(vis-id uint16 :offset-assert 62)
(vis-id-signed int16 :offset 62) ;; added
(quat quaternion :inline :offset-assert 64)

File diff suppressed because it is too large Load Diff

View File

@ -11,8 +11,7 @@
(declare-type eco-collectable process-drawable)
;; DECOMP BEGINS
;; definition for function eco-fadeout
;; INFO: Return type mismatch int vs none.
(defun eco-fadeout ((arg0 sparticle-system) (arg1 sparticle-cpuinfo))
(if
(zero?
@ -24,8 +23,6 @@
(none)
)
;; definition for function eco-track-root-prim-fadeout
;; INFO: Return type mismatch int vs none.
(defun
eco-track-root-prim-fadeout
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
@ -47,8 +44,6 @@
(none)
)
;; definition for function part-tracker-track-root
;; INFO: Return type mismatch int vs none.
(defun
part-tracker-track-root
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
@ -61,7 +56,6 @@
(none)
)
;; definition for function part-tracker-move-to-target
(defun part-tracker-move-to-target ((arg0 part-tracker))
(let* ((v1-0 *target*)
(a2-0 (if (not v1-0)
@ -79,17 +73,12 @@
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)))
)
)
)
)
;; definition for function part-tracker-track-target
;; Used lq/sq
(defun part-tracker-track-target ((arg0 part-tracker))
(set! (-> arg0 linger-callback) (-> arg0 callback))
(let* ((v1-1 *target*)
@ -2715,8 +2704,6 @@
)
)
;; definition for function sparticle-track-root-money
;; INFO: Return type mismatch int vs none.
(defun
sparticle-track-root-money
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))

View File

@ -152,12 +152,7 @@
(let
((v1-6
(->
((method-of-type res-lump lookup-tag-idx)
(-> s5-0 extra)
'effect-name
'base
-1000000000.0
)
(lookup-tag-idx (-> s5-0 extra) 'effect-name 'base -1000000000.0)
lo
)
)
@ -667,13 +662,7 @@
)
)
)
(let ((a1-46 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-46 from) pp)
(set! (-> a1-46 num-params) 1)
(set! (-> a1-46 message) 'death-start)
(set! (-> a1-46 param 0) (the-as uint s3-0))
(send-event-function (-> obj process) a1-46)
)
(send-event (-> obj process) 'death-start (the-as death-info s3-0))
)
(else
(dummy-12

View File

@ -180,182 +180,180 @@
If continue-point-override is not #f, will use that."
(local-vars (v0-0 int) (sv-96 symbol))
(with-pp
(let ((selected-cause cause))
(when (= selected-cause 'dead)
;; reload game-info because we died. Increase death counts
(set! (-> obj total-deaths) (+ (-> obj total-deaths) 1))
(set! (-> obj continue-deaths) (+ (-> obj continue-deaths) 1))
(set! (-> obj fuel-cell-deaths) (+ (-> obj fuel-cell-deaths) 1))
(when *target*
(let ((lev-info (-> *target* current-level info)))
(when (>= (-> *level-task-data-remap* length) (-> lev-info index))
;; update death per level.
(set! v0-0
(seekl
(the-as int (-> obj deaths-per-level (-> *level-task-data-remap* (+ (-> lev-info index) -1))))
255
1
)
)
(set! (-> obj deaths-per-level (-> *level-task-data-remap* (+ (-> lev-info index) -1))) (the-as uint v0-0))
(let ((selected-cause cause))
(when (= selected-cause 'dead)
;; reload game-info because we died. Increase death counts
(set! (-> obj total-deaths) (+ (-> obj total-deaths) 1))
(set! (-> obj continue-deaths) (+ (-> obj continue-deaths) 1))
(set! (-> obj fuel-cell-deaths) (+ (-> obj fuel-cell-deaths) 1))
(when *target*
(let ((lev-info (-> *target* current-level info)))
(when (>= (-> *level-task-data-remap* length) (-> lev-info index))
;; update death per level.
(set! v0-0
(seekl
(the-as int (-> obj deaths-per-level (-> *level-task-data-remap* (+ (-> lev-info index) -1))))
255
1
)
)
(set! (-> obj deaths-per-level (-> *level-task-data-remap* (+ (-> lev-info index) -1))) (the-as uint v0-0))
)
)
)
(let ((v1-27 (-> obj mode)))
(cond
((= v1-27 'play)
;; now pick between life/try depending on if we ran out of lives or not.
(if (< 0.0 (-> obj life))
(set! cause 'life)
(set! cause 'try)
)
)
)
(let ((v1-27 (-> obj mode)))
(cond
((= v1-27 'play)
;; now pick between life/try depending on if we ran out of lives or not.
(if (< 0.0 (-> obj life))
(set! cause 'life)
(set! cause 'try)
)
)
(else
;; not in play mode, we're done.
(begin
(set! obj obj)
(goto cfg-50)
)
)
)
)
)
)
;; ?
(kill-current-level-hint '() '() 'die)
(let ((v1-31 cause))
(when (= v1-31 'game)
;; we are doing a full restart.
;; reset everything!
(reset-all-hint-controls)
(set-continue! obj
(cond
(continue-point-override
continue-point-override
)
((!= *kernel-boot-message* 'play)
"demo-start"
)
(*debug-segment*
"village1-hut"
)
(else
"title-start"
)
)
)
(set! (-> obj auto-save-count) 0)
(set! (-> *setting-control* default auto-save) #f)
(set! (-> obj money) 0.0)
(set! (-> obj fuel) 0.0)
(set! (-> obj money-total) 0.0)
(set! (-> obj buzzer-total) 0.0)
(set! (-> obj perm-list length) 0)
(clear-all! (-> obj text-ids-seen))
(set! (-> obj death-movie-tick) (rand-vu-int-count 10))
(set! (-> obj total-deaths) 0)
(set! (-> obj continue-deaths) 0)
(set! (-> obj fuel-cell-deaths) 0)
(set! (-> obj death-pos length) 0)
(set! (-> obj game-start-time) (-> *display* base-frame-counter))
(set! (-> obj fuel-cell-pickup-time) (-> *display* base-frame-counter))
(set! (-> obj continue-time) (-> *display* base-frame-counter))
(set! (-> obj death-time) (-> *display* base-frame-counter))
(set! (-> obj hit-time) (-> *display* base-frame-counter))
(dotimes (v1-50 116)
(set! (-> obj fuel-cell-time 0) 0)
(nop!)
)
(dotimes (v1-53 32)
(set! (-> obj money-per-level v1-53) 0)
(set! (-> obj deaths-per-level v1-53) 0)
(set! (-> obj enter-level-time v1-53) 0)
(set! (-> obj in-level-time v1-53) 0)
(set! (-> obj level-opened v1-53) 0)
(nop!)
)
)
)
(let ((v1-56 cause))
(when (or (= v1-56 'game) (= v1-56 'try))
;; full restart, or ran out of lives
(let ((v1-59 (-> obj mode)))
(when (= v1-59 'play)
(set! *display-profile* #f)
(set! *display-entity-errors* #f)
)
)
;; reset lives to default.
(set! (-> obj life-max) (-> *GAME-bank* life-max-default))
(set! (-> obj life) (-> *GAME-bank* life-start-default))
)
)
(let ((v1-65 (-> obj mode)))
(cond
((= v1-65 'debug)
;; in debug, we didn't kill things so we don't need to restart them
(reset-actors cause)
(if save-to-load
(load-game! obj save-to-load)
)
)
((= v1-65 'play)
;; don't allow pausing/start menu
(when *target*
(set-setting! *setting-control* *target* 'allow-pause #f 0.0 0)
(set-setting! *setting-control* *target* 'allow-progress #f 0.0 0)
(copy-settings-from-target! *setting-control*)
)
;; send the auto-save process a 'die message
(send-event (handle->process (-> *game-info* auto-save-proc)) 'die)
;; black screen, stop spawning actors
(set! (-> *level* border?) #f)
(set! (-> *setting-control* default border-mode) #f)
(set! *spawn-actors* #f)
(set-blackout-frames 30)
;; send target a 'reset message.
(send-event *target* 'reset)
;; start a temporary process to restart things
(let ((proc (get-process *4k-dead-pool* process #x4000)))
(when proc
(activate proc *default-pool* 'process *scratch-memory-top*)
(run-next-time-in-process
proc
(lambda ((stop-arg symbol) (reset-arg symbol) (c continue-point) (load game-save))
(stop stop-arg)
(reset-actors reset-arg)
(set-continue! *game-info* c)
(when load
(load-game! *game-info* load)
(set! c (get-or-create-continue! *game-info*))
)
(suspend)
(start stop-arg c)
)
(-> obj mode) ;; play, debug
cause
(get-or-create-continue! obj)
save-to-load
)
)
(else
;; not in play mode, we're done.
(begin
(set! obj obj)
(goto cfg-50)
)
)
(set-master-mode 'game)
)
)
)
)
(label cfg-50)
obj
)
;; ?
(kill-current-level-hint '() '() 'die)
(let ((v1-31 cause))
(when (= v1-31 'game)
;; we are doing a full restart.
;; reset everything!
(reset-all-hint-controls)
(set-continue! obj
(cond
(continue-point-override
continue-point-override
)
((!= *kernel-boot-message* 'play)
"demo-start"
)
(*debug-segment*
"village1-hut"
)
(else
"title-start"
)
)
)
(set! (-> obj auto-save-count) 0)
(set! (-> *setting-control* default auto-save) #f)
(set! (-> obj money) 0.0)
(set! (-> obj fuel) 0.0)
(set! (-> obj money-total) 0.0)
(set! (-> obj buzzer-total) 0.0)
(set! (-> obj perm-list length) 0)
(clear-all! (-> obj text-ids-seen))
(set! (-> obj death-movie-tick) (rand-vu-int-count 10))
(set! (-> obj total-deaths) 0)
(set! (-> obj continue-deaths) 0)
(set! (-> obj fuel-cell-deaths) 0)
(set! (-> obj death-pos length) 0)
(set! (-> obj game-start-time) (-> *display* base-frame-counter))
(set! (-> obj fuel-cell-pickup-time) (-> *display* base-frame-counter))
(set! (-> obj continue-time) (-> *display* base-frame-counter))
(set! (-> obj death-time) (-> *display* base-frame-counter))
(set! (-> obj hit-time) (-> *display* base-frame-counter))
(dotimes (v1-50 116)
(set! (-> obj fuel-cell-time 0) 0)
(nop!)
)
(dotimes (v1-53 32)
(set! (-> obj money-per-level v1-53) 0)
(set! (-> obj deaths-per-level v1-53) 0)
(set! (-> obj enter-level-time v1-53) 0)
(set! (-> obj in-level-time v1-53) 0)
(set! (-> obj level-opened v1-53) 0)
(nop!)
)
)
)
(let ((v1-56 cause))
(when (or (= v1-56 'game) (= v1-56 'try))
;; full restart, or ran out of lives
(let ((v1-59 (-> obj mode)))
(when (= v1-59 'play)
(set! *display-profile* #f)
(set! *display-entity-errors* #f)
)
)
;; reset lives to default.
(set! (-> obj life-max) (-> *GAME-bank* life-max-default))
(set! (-> obj life) (-> *GAME-bank* life-start-default))
)
)
(let ((v1-65 (-> obj mode)))
(cond
((= v1-65 'debug)
;; in debug, we didn't kill things so we don't need to restart them
(reset-actors cause)
(if save-to-load
(load-game! obj save-to-load)
)
)
((= v1-65 'play)
;; don't allow pausing/start menu
(when *target*
(set-setting! *setting-control* *target* 'allow-pause #f 0.0 0)
(set-setting! *setting-control* *target* 'allow-progress #f 0.0 0)
(copy-settings-from-target! *setting-control*)
)
;; send the auto-save process a 'die message
(send-event (handle->process (-> *game-info* auto-save-proc)) 'die)
;; black screen, stop spawning actors
(set! (-> *level* border?) #f)
(set! (-> *setting-control* default border-mode) #f)
(set! *spawn-actors* #f)
(set-blackout-frames 30)
;; send target a 'reset message.
(send-event *target* 'reset)
;; start a temporary process to restart things
(let ((proc (get-process *4k-dead-pool* process #x4000)))
(when proc
(activate proc *default-pool* 'process *scratch-memory-top*)
(run-next-time-in-process
proc
(lambda ((stop-arg symbol) (reset-arg symbol) (c continue-point) (load game-save))
(stop stop-arg)
(reset-actors reset-arg)
(set-continue! *game-info* c)
(when load
(load-game! *game-info* load)
(set! c (get-or-create-continue! *game-info*))
)
(suspend)
(start stop-arg c)
)
(-> obj mode) ;; play, debug
cause
(get-or-create-continue! obj)
save-to-load
)
)
)
(set-master-mode 'game)
)
)
)
(label cfg-50)
obj
)

View File

@ -14,7 +14,7 @@
;; TODO - temporary
(define-extern command-get-process (function object process-drawable process :behavior camera-tracker))
(define-extern process-drawable-from-entity! (function process-drawable res-lump none))
(define-extern process-drawable-from-entity! (function process-drawable entity-actor none))
(declare-type beach-part part-spawner)
(define-extern beach-part-grotto-1 (state beach-part))
@ -186,8 +186,8 @@
)
)
(defmethod copy-defaults! swingpole ((obj swingpole) (arg0 res-lump))
"Copy defaults from the entity."
(defmethod init-from-entity! swingpole ((obj swingpole) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 128)
(logior! (-> obj mask) (process-mask actor-pause))
(set! (-> obj root) (new 'process 'trsq))
@ -209,8 +209,8 @@
(the-as (function none :behavior process-hidden) nothing)
)
(defmethod copy-defaults! process-hidden ((obj process-hidden) (arg0 res-lump))
"Copy defaults from the entity."
(defmethod init-from-entity! process-hidden ((obj process-hidden) (arg0 entity-actor))
(process-entity-status! obj (entity-perm-status dead) #t)
(go (method-of-object obj die))
(none)
@ -1175,38 +1175,34 @@
)
)
(defun ja-anim-done? ((arg0 pair))
(with-pp
(defun ja-anim-done? ((arg0 process))
(let ((gp-0 (command-get-process arg0 *target*)))
(the-as symbol (when gp-0
(cond
((type-type? (-> gp-0 type) manipy)
(send-event gp-0 'query 'done)
)
((type-type? (-> gp-0 type) process-drawable)
(when
(zero?
(logand
(-> (the-as process-drawable gp-0) skel status)
4
)
)
(let ((s5-0 pp))
(let ((s6-1 gp-0))
)
(let ((v0-1 (the-as object (ja-done? 0))))
(let ((s6-2 s5-0))
)
v0-1
)
)
)
)
)
)
(when gp-0
(cond
((type-type? (-> gp-0 type) manipy)
(the-as symbol (send-event gp-0 'query 'done))
)
((type-type? (-> gp-0 type) process-drawable)
(when (zero? (logand (-> (the-as process-drawable gp-0) skel status) 4))
(rlet ((pp :reg r13 :type process))
(let* ((old-pp pp)
(ret-val (begin
;; set the process
(set! pp gp-0)
;; run!
(ja-done? 0)
)))
;; restore the old pp
(set! pp old-pp)
ret-val
)
)
)
)
)
)
)
)
)
)
(defbehavior camera-pov-from camera-tracker ((arg0 pair) (arg1 uint))
@ -1745,7 +1741,7 @@
(define *lev-string* (new 'global 'string 64 (the-as string #f)))
(defmethod copy-defaults! med-res-level ((obj med-res-level) (arg0 res-lump))
(defmethod init-from-entity! med-res-level ((obj med-res-level) (arg0 entity-actor))
(local-vars (sv-16 res-tag))
(stack-size-set! (-> obj main-thread) 128)
"#f"
@ -1861,7 +1857,7 @@
)
)
(defmethod copy-defaults! part-spawner ((obj part-spawner) (arg0 res-lump))
(defmethod init-from-entity! part-spawner ((obj part-spawner) (arg0 entity-actor))
(local-vars (sv-16 res-tag))
(stack-size-set! (-> obj main-thread) 128)
(set! (-> obj mask) (logior (process-mask ambient) (-> obj mask)))
@ -2760,7 +2756,7 @@
(the-as (function none :behavior launcher) anim-loop)
)
(defmethod copy-defaults! launcher ((obj launcher) (arg0 res-lump))
(defmethod init-from-entity! launcher ((obj launcher) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 128)
(let
((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))

View File

@ -71,7 +71,7 @@
(define *display-vol-marks* #f)
(define *display-water-marks* #f)
(define *display-actor-anim* #f)
(define *display-process-anim* #f)
(define *display-process-anim* (the-as (pointer process) #f))
(define *display-actor-vis* #f)
(define *display-actor-graph* #f)
(define *display-level-border* #f)

View File

@ -1468,7 +1468,7 @@
)
(stack-size-set! (-> obj main-thread) 512)
(initialize-collision obj s3-0 s0-0)
(process-drawable-from-entity! obj (the-as res-lump arg0))
(process-drawable-from-entity! obj (the-as entity-actor arg0))
(let* ((a0-4 obj)
(t9-3 (method-of-object a0-4 initialize-skeleton))
(a2-2 '())
@ -1821,10 +1821,7 @@
(when
(or
(-> self die?)
(and
(not (-> self survive-anim-end?))
(ja-anim-done? (the-as pair a0-25))
)
(and (not (-> self survive-anim-end?)) (ja-anim-done? a0-25))
)
(let ((gp-1 (-> *display* base-frame-counter)))
(while

View File

@ -47,9 +47,8 @@
(declare-type task-control basic)
;; decomp begins
;; DECOMP BEGINS
;; A task-cstage describes
(deftype task-cstage (structure)
((game-task game-task :offset-assert 0)
(status task-status :offset-assert 8)
@ -60,16 +59,17 @@
:size-assert #x18
:flag-assert #x1000000018
(:methods
(get-task (_type_) game-task 9)
(get-status (_type_) task-status 10)
(task-available? (_type_ task-control) symbol 11)
(closed? (_type_) symbol 12)
(closed-by-default? (_type_) symbol 13)
(close-task! (_type_) int 14)
(open-task! (_type_) int 15)
)
(get-task (_type_) game-task 9)
(get-status (_type_) task-status 10)
(task-available? (_type_ task-control) symbol 11)
(closed? (_type_) symbol 12)
(closed-by-default? (_type_) symbol 13)
(close-task! (_type_) int 14)
(open-task! (_type_) int 15)
)
)
(deftype task-control (basic)
((current-stage int16 :offset-assert 4)
(stage (array task-cstage) :offset-assert 8)
@ -78,23 +78,24 @@
:size-assert #xc
:flag-assert #x130000000c
(:methods
(current-task (_type_) game-task 9)
(current-status (_type_) task-status 10)
(close-current! (_type_) none 11)
(close-status! (_type_ task-status) int 12)
(first-any (_type_ symbol) int 13)
(reset! (_type_ symbol symbol) int 14)
(closed? (_type_ game-task task-status) symbol 15)
(get-reminder (_type_ int) int 16)
(save-reminder (_type_ int int) int 17)
(exists? (_type_ game-task task-status) symbol 18)
)
(current-task (_type_) game-task 9)
(current-status (_type_) task-status 10)
(close-current! (_type_) none 11)
(close-status! (_type_ task-status) int 12)
(first-any (_type_ symbol) int 13)
(reset! (_type_ symbol symbol) int 14)
(closed? (_type_ game-task task-status) symbol 15)
(get-reminder (_type_ int) int 16)
(save-reminder (_type_ int int) int 17)
(exists? (_type_ game-task task-status) symbol 18)
)
)
(deftype ambient-control (structure)
((last-ambient-time int64 :offset-assert 0)
(last-ambient string :offset-assert 8)
(last-ambient-id sound-id :offset-assert 12)
((last-ambient-time int64 :offset-assert 0)
(last-ambient string :offset-assert 8)
(last-ambient-id sound-id :offset-assert 12)
)
:method-count-assert 12
:size-assert #x10
@ -106,8 +107,9 @@
)
)
(deftype process-taskable (process-drawable)
((root-override collide-shape :score 100 :offset 112)
((root-override collide-shape :offset 112)
(tasks task-control :offset-assert 176)
(query gui-query :inline :offset-assert 180)
(old-target-pos transformq :inline :offset-assert 208)
@ -117,22 +119,22 @@
(skippable basic :offset-assert 276) ;; probably a symbol
(blend-on-exit basic :offset-assert 280) ;; probably a symbol?
(camera handle :offset-assert 288)
(will-talk symbol :offset-assert 296)
(will-talk symbol :offset-assert 296)
(talk-message uint32 :offset-assert 300)
(last-talk uint64 :offset-assert 304)
(bounce-away symbol :offset-assert 312)
(bounce-away symbol :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 spool-anim :offset-assert 348)
(fuel-cell-anim spool-anim :offset-assert 348)
(sound-flava uint8 :offset-assert 352)
(have-flava symbol :offset-assert 356) ;; probably
(have-flava symbol :offset-assert 356)
(music basic :offset-assert 360)
(have-music symbol :offset-assert 364) ;; probably
(been-kicked symbol :offset-assert 368) ;; probably
(cur-trans-hook (function none) :offset-assert 372)
(shadow-backup shadow-geo :offset-assert 376)
(have-music symbol :offset-assert 364)
(been-kicked symbol :offset-assert 368)
(cur-trans-hook (function none) :offset-assert 372)
(shadow-backup shadow-geo :offset-assert 376)
)
:heap-base #x110
:method-count-assert 53
@ -140,22 +142,22 @@
:flag-assert #x350110017c
(:methods
(release () _type_ :state 20)
(give-cell () _type_ :state 21) ;; state
(give-cell () _type_ :state 21)
(lose () _type_ :state 22)
(enter-playing () _type_ :state 23) ;; state
(play-accept () _type_ :state 24) ;; state
(enter-playing () _type_ :state 23)
(play-accept () _type_ :state 24)
(play-reject () _type_ :state 25)
(query () _type_ :state 26) ;; state
(play-anim () _type_ :state 27) ;; state
(hidden () _type_ :state 28) ;; state
(query () _type_ :state 26)
(play-anim () _type_ :state 27)
(hidden () _type_ :state 28)
(be-clone (handle) _type_ :state 29)
(idle () _type_ :state 30) ;; state
(idle () _type_ :state 30)
(get-art-elem (_type_) art-element 31)
(play-anim! (_type_ symbol) basic 32) ;; ret - spool-anim | ..
(play-anim! (_type_ symbol) basic 32)
(dummy-33 (_type_) none 33)
(get-accept-anim (_type_ symbol) spool-anim 34)
(push-accept-anim (_type_) none 35)
(get-reject-anim (_type_ symbol) spool-anim 36) ;; ret - spool-anim | ..
(get-reject-anim (_type_ symbol) spool-anim 36)
(push-reject-anim (_type_) none 37)
(dummy-38 (_type_) none 38)
(should-display? (_type_) symbol 39)
@ -176,6 +178,7 @@
)
(defun-extern task-known? game-task symbol)
(defun-extern task-control-reset symbol none)
(define-extern task-closed? (function game-task task-status symbol))
(define-extern get-task-status (function game-task task-status))

View File

@ -42,7 +42,7 @@
:flag-assert #xc0000061c
(:methods
(new (symbol type process-drawable) _type_ 0)
(dummy-9 () none 9)
(dummy-9 (_type_) none 9)
(dummy-10 () none 10)
(TODO-RENAME-11 (_type_) symbol 11)
)

View File

@ -117,6 +117,7 @@
)
(defun add-to-sprite-aux-list ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sprite-vec-data-3d))
(return 0) ;; hack
(let ((v1-0 *sprite-aux-list*))
(when (< (-> v1-0 entry) (-> v1-0 num-entries))
(set! (-> v1-0 data (-> v1-0 entry)) (-> arg1 sprite))

View File

@ -213,7 +213,7 @@
(activate-levels! (_type_) int 12)
(debug-print-entities (_type_ symbol type) none 13)
(debug-draw-actors (_type_ symbol) none 14)
(dummy-15 (_type_) object 15)
(actors-update (_type_) object 15)
(level-update (_type_) int 16)
(level-get-target-inside (_type_) level 17)
(alloc-levels! (_type_ symbol) int 18)

View File

@ -2120,6 +2120,7 @@
;; before calling play, the C Kernel would set this.
(define *kernel-boot-message* 'play)
(load-package "game" global)
(play #t #f)
(set! *compact-actors* #f)
(play #t #t)
)
)

View File

@ -237,7 +237,7 @@
:flag-assert #x24000000e0
(:methods
(new (symbol type collide-shape int float) _type_)
(dummy-9 () none 9)
(dummy-9 (_type_) none 9)
(point-in-bounds? (_type_ vector) symbol 10)
(dummy-11 (_type_ vector) none 11)
(dummy-12 () none 12)

View File

@ -363,17 +363,10 @@
)
)
(defun
sound-play-by-name
((name sound-name)
(id sound-id)
(vol int)
(pitch int)
(bend int)
(group int)
(trans symbol)
)
(defun sound-play-by-name ((name sound-name) (id sound-id) (vol int) (pitch int) (bend int) (group int) (trans symbol))
"Play a sound called name with the specified params"
(#when PC_DEBUG_SOUND_ENABLE
(local-vars (sv-16 int))
(with-pp
(set! sv-16 group)
@ -405,9 +398,10 @@
)
)
)
id
)
)
id
)
(defun sound-play-by-spec ((spec sound-spec) (id sound-id) (sound-trans vector))
"Play a sound from the given spec"
@ -749,6 +743,8 @@
(defmethod update-trans! ambient-sound ((obj ambient-sound) (sound-trans vector))
"Update the position of the thing playing the sound"
(#when PC_DEBUG_SOUND_ENABLE
(set! (-> obj trans quad) (-> sound-trans quad))
(when (nonzero? (-> obj playing-id))
(let ((cmd (the sound-rpc-set-param (get-sound-buffer-entry))))
@ -761,11 +757,14 @@
(-> cmd id)
)
)
)
0
)
(defmethod update-vol! ambient-sound ((obj ambient-sound) (arg0 int))
"Update the volume of the sound"
(#when PC_DEBUG_SOUND_ENABLE
(when (nonzero? (-> obj playing-id))
(let ((cmd (the-as sound-rpc-set-param (get-sound-buffer-entry))))
(set! (-> cmd command) (sound-command set-param))
@ -776,6 +775,7 @@
)
)
(set! (-> obj volume) (the int (* 10.24 (the float arg0))))
)
0
)

View File

@ -945,7 +945,7 @@
(set! (-> obj center quad) (-> arg0 quad))
;; check if we are visible (remove this check to force particles to be drawn.)
(if (not (or (is-visible? obj arg0)
(if (not (or #t ;;(is-visible? obj arg0)
(logtest? (-> obj group flags) (sp-group-flag always-draw screen-space))
)
)

View File

@ -2850,7 +2850,11 @@
0
)
;; hack
(defun start ((arg0 symbol) (arg1 continue-point))
(set! *target* #f)
(return *target*)
(set! (-> *level* border?) #f)
(set! (-> *setting-control* default border-mode) #f)
(stop arg0)

View File

@ -36,35 +36,34 @@
(declare-type tube-info basic)
(declare-type racer-info basic)
;; decomp begins
;; DECOMP BEGINS
;; definition of type target
(deftype target (process-drawable)
((control control-info :score 100 :offset 112)
(fact-info-target fact-info-target :score 100 :offset 144)
(skel2 basic :offset-assert 176)
(racer racer-info :offset-assert 180)
(game game-info :offset-assert 184)
(neck joint-mod :offset-assert 188)
(state-hook-time uint64 :offset-assert 192)
(state-hook (function none :behavior target) :offset-assert 200)
(cam-user-mode symbol :offset-assert 204)
(sidekick (pointer sidekick) :offset-assert 208)
(manipy (pointer manipy) :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 snowball-info :offset-assert 464)
(tube tube-info :offset-assert 468)
(flut basic :offset-assert 472)
(current-level level :offset-assert 476)
(saved-pos transformq :inline :offset-assert 480)
(saved-owner uint64 :offset-assert 528)
(alt-neck-pos vector :inline :offset-assert 544)
(fp-hud uint64 :offset-assert 560)
(no-load-wait uint64 :offset-assert 568)
(no-look-around-wait uint64 :offset-assert 576)
((control control-info :offset 112)
(fact-info-target fact-info-target :offset 144)
(skel2 basic :offset-assert 176)
(racer racer-info :offset-assert 180)
(game game-info :offset-assert 184)
(neck joint-mod :offset-assert 188)
(state-hook-time uint64 :offset-assert 192)
(state-hook (function none :behavior target) :offset-assert 200)
(cam-user-mode symbol :offset-assert 204)
(sidekick (pointer sidekick) :offset-assert 208)
(manipy (pointer manipy) :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 snowball-info :offset-assert 464)
(tube tube-info :offset-assert 468)
(flut basic :offset-assert 472)
(current-level level :offset-assert 476)
(saved-pos transformq :inline :offset-assert 480)
(saved-owner uint64 :offset-assert 528)
(alt-neck-pos vector :inline :offset-assert 544)
(fp-hud uint64 :offset-assert 560)
(no-load-wait uint64 :offset-assert 568)
(no-look-around-wait uint64 :offset-assert 576)
)
:heap-base #x1e0
:method-count-assert 21
@ -73,39 +72,38 @@
(:methods
(dummy-20 (_type_ collide-cache) none 20)
)
(:states
(target-racing-get-off handle)
(target-racing-jump float float symbol)
(target-racing-hit handle attack-info)
(target-racing-grab)
(target-racing-clone-anim handle)
(target-racing-get-on handle)
(target-racing-falling)
(target-racing-bounce float float symbol)
(target-racing-death symbol)
(target-racing-get-off-jump handle)
(target-racing-get-off-hit-ground symbol)
(target-death)
target-clone-anim
target-death
(target-hit-ground symbol)
(target-clone-anim)
(target-racing-bounce float float symbol)
(target-racing-clone-anim handle)
(target-racing-death symbol)
target-racing-falling
(target-racing-get-off handle)
(target-racing-get-off-hit-ground symbol)
(target-racing-get-off-jump handle)
(target-racing-get-on handle)
target-racing-grab
(target-racing-hit handle attack-info)
(target-racing-jump float float symbol)
)
)
(define-perm *target* target #f)
(deftype sidekick (process-drawable)
((control control-info :offset 112)
(anim-seed uint64 :offset 192)
(shadow-in-movie? symbol :offset-assert 200)
((control control-info :offset 112)
(anim-seed uint64 :offset 192)
(shadow-in-movie? symbol :offset-assert 200)
)
:heap-base #x60
:method-count-assert 20
:size-assert #xcc
:flag-assert #x14006000cc
;; inherited inspect of process-drawable
)
(define-perm *sidekick* sidekick #f)
(define-extern target-attacked (function symbol uint uint process (state target) object :behavior target)) ;; unconfirmed, target-tube::(event target-tube-start)

View File

@ -207,6 +207,12 @@
(draw-bad-disc (_type_ font-context) none 57)
(draw-quit (_type_ font-context) none 58)
)
(:states
progress-gone
progress-coming-in
progress-going-out
progress-waiting
)
)
(define *progress-process* (the (pointer progress) #f))

View File

@ -187,7 +187,7 @@
(else
;; NOTE: this check has been added so we can run progress even when manipy isn't working yet.
(cond
((nonzero? (-> s5-0 icons (logand s4-0 3) icon 0 node-list))
(#f;;(nonzero? (-> s5-0 icons (logand s4-0 3) icon 0 node-list))
(vector<-cspace!
s3-0
(-> s5-0 icons (logand s4-0 3) icon 0 node-list data v1-0)

View File

@ -369,8 +369,7 @@
&key (scale-x #f)
&key (scale-y #f)
)
`(with-pp
(when (< (-> ,obj nb-of-icons) 6)
`(when (< (-> ,obj nb-of-icons) 6)
(let ((icon-idx (-> ,obj nb-of-icons)))
(set! (-> ,obj icons icon-idx) (new 'static 'hud-icon))
(let ((new-manipy (make-init-process manipy manipy-init (new 'static 'vector :w 1.0) #f ,skel #f
@ -400,7 +399,6 @@
)
(+! (-> ,obj nb-of-icons) 1)
)
)
)
(defmethod initialize-icons progress ((obj progress))
@ -545,7 +543,6 @@
(none)
)
(define-extern progress-waiting (state progress))
(defbehavior progress-init-by-other progress ()
(logclear! (-> self mask) (process-mask menu progress))
(set! (-> self nb-of-particles) 0)
@ -905,9 +902,6 @@
)
)
(define-extern progress-gone (state progress))
(define-extern progress-coming-in (state progress))
(define-extern progress-going-out (state progress))
(defstate progress-waiting (progress)
:event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(case arg2

View File

@ -152,8 +152,10 @@
(firecanyon-not-enough-cells #x24f)
(sidekick-hint-orb-cache-top #x251)
(daxter-launcher-no-eco #x25c)
(jungle-precursorbridge-hint #x25b)
(daxter-launcher-no-eco #x25c)
(beach-gimmie #x262)
(beach-sentinel #x263)
(jungle-canyon-end #x264)

View File

@ -263,7 +263,7 @@
)
(declare-type process basic)
(declare-type res-lump basic)
(declare-type entity-actor basic)
(deftype process-tree (basic)
((name basic :offset-assert 4)
(mask process-mask :offset-assert 8)
@ -278,7 +278,7 @@
(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)
(init-from-entity! (_type_ entity-actor) none 11)
(run-logic? (_type_) symbol 12)
(dummy-method () none 13)
)
@ -290,7 +290,7 @@
(deftype stack-frame (basic)
((name basic :offset 4)
((name symbol :offset 4)
(next stack-frame :offset 8) ;; which way does this point?
)

View File

@ -200,6 +200,7 @@
;; Parent type of all process tree nodes.
;; A process-tree is a left-child right-sibling binary tree
;; (except GOAL is old and it looks like they called them left-child right-brother trees back then)
(declare-type entity-actor basic)
(deftype process-tree (basic)
((name basic :offset-assert 4)
(mask process-mask :offset-assert 8)
@ -222,7 +223,7 @@
(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)
(init-from-entity! (_type_ entity-actor) none 11)
(run-logic? (_type_) symbol 12)
(dummy-method () none 13)
)
@ -339,7 +340,7 @@
;; GOAL can create a series of stack frames for unwinding/cleaning up.
;; This is the parent type for any stack frame.
(deftype stack-frame (basic)
((name basic :offset 4)
((name symbol :offset 4)
(next stack-frame :offset 8) ;; follow this to get to the root frame, away from top.
)
@ -480,7 +481,7 @@
(event (function process int symbol event-message-block object) :offset-assert 32)
)
(:methods
(new (symbol type basic function
(new (symbol type symbol function
(function none)
function
(function none)

View File

@ -2241,14 +2241,14 @@
)))
;; the function returned, either through a throw or through actually returning.
;; the status will give us a clue of what happened.
(cond
((= (-> pp status) 'initialize)
(case (-> pp status)
(('initialize)
;; we returned and didn't change status.
(set! (-> pp status) 'initialize-dead)
;; this means we died, and we should be deactivated.
(deactivate pp)
)
((= (-> pp status) 'initialize-go)
(('initialize-go)
;; we returned with a (suspend) or (go) ? not sure
;; either way, we're ready for next time!
(set! (-> pp status) 'waiting-to-run)

View File

@ -240,7 +240,7 @@ It type checks the arguments for the entry function.
(defmethod new state
((allocation symbol)
(type-to-make type)
(name basic)
(name symbol)
(code function)
(trans (function none))
(enter function)

View File

@ -597,7 +597,7 @@
(the-as (function none :behavior beach-rock) ja-post)
)
(defmethod copy-defaults! beach-rock ((obj beach-rock) (arg0 res-lump))
(defmethod init-from-entity! beach-rock ((obj beach-rock) (arg0 entity-actor))
(set! (-> obj link) (new 'process 'actor-link-info obj))
(set! (-> obj align) (new 'process 'align-control obj))
(set! (-> obj trigger) #f)
@ -651,7 +651,7 @@
)
(defmethod copy-defaults! lrocklrg ((obj lrocklrg) (arg0 res-lump))
(defmethod init-from-entity! lrocklrg ((obj lrocklrg) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 512)
(let
((s4-0
@ -686,7 +686,7 @@
)
(process-drawable-from-entity! obj arg0)
(initialize-skeleton obj *lrocklrg-sg* '())
((method-of-type beach-rock copy-defaults!) obj arg0)
((method-of-type beach-rock init-from-entity!) obj arg0)
(none)
)

View File

@ -160,7 +160,10 @@
(= (current-status (-> obj tasks)) (task-status need-reward-speech))
)
(defmethod copy-defaults! bird-lady-beach ((obj bird-lady-beach) (arg0 res-lump))
(defmethod
init-from-entity!
bird-lady-beach
((obj bird-lady-beach) (arg0 entity-actor))
(dummy-40
obj
arg0

View File

@ -242,7 +242,7 @@
(the-as symbol (and *target* (< (-> (target-pos 0) z) -81920.0)))
)
(defmethod copy-defaults! bird-lady ((obj bird-lady) (arg0 res-lump))
(defmethod init-from-entity! bird-lady ((obj bird-lady) (arg0 entity-actor))
(dummy-40
obj
arg0

View File

@ -1119,7 +1119,7 @@ nav-enemy-default-event-handler
)
)
(defmethod copy-defaults! lurkercrab ((obj lurkercrab) (arg0 res-lump))
(defmethod init-from-entity! lurkercrab ((obj lurkercrab) (arg0 entity-actor))
(let
((s4-0
(new

View File

@ -855,7 +855,7 @@ lurkerworm-default-post-behavior
lurkerworm-default-post-behavior
)
(defmethod copy-defaults! lurkerworm ((obj lurkerworm) (arg0 res-lump))
(defmethod init-from-entity! lurkerworm ((obj lurkerworm) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask enemy) (-> obj mask)))
(let
((s4-0

View File

@ -2166,7 +2166,7 @@
)
)
(defmethod copy-defaults! mayor ((obj mayor) (arg0 res-lump))
(defmethod init-from-entity! mayor ((obj mayor) (arg0 entity-actor))
(dummy-40
obj
arg0

View File

@ -1136,7 +1136,7 @@
)
)
(defmethod copy-defaults! sculptor ((obj sculptor) (arg0 res-lump))
(defmethod init-from-entity! sculptor ((obj sculptor) (arg0 entity-actor))
(dummy-40 obj arg0 *sculptor-sg* 3 40 (new 'static 'vector :w 4096.0) 5)
(set! (-> obj tasks) (get-task-control (game-task misty-muse)))
(set! (-> obj muse) (the-as handle #f))

View File

@ -241,9 +241,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
assistant-lavatube-end
((obj assistant-lavatube-end) (arg0 res-lump))
((obj assistant-lavatube-end) (arg0 entity-actor))
(dummy-40
obj
arg0

View File

@ -194,9 +194,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
citb-arm-section
((obj citb-arm-section) (arg0 res-lump))
((obj citb-arm-section) (arg0 entity-actor))
(init-root! obj)
(process-drawable-from-entity! obj arg0)
(setup-new-process! obj)
@ -526,7 +526,7 @@
(none)
)
(defmethod copy-defaults! citb-disc ((obj citb-disc) (arg0 res-lump))
(defmethod init-from-entity! citb-disc ((obj citb-disc) (arg0 entity-actor))
(init! obj)
(process-drawable-from-entity! obj arg0)
(logclear! (-> obj mask) (process-mask actor-pause))
@ -1296,7 +1296,10 @@
)
)
(defmethod copy-defaults! citb-robotboss ((obj citb-robotboss) (arg0 res-lump))
(defmethod
init-from-entity!
citb-robotboss
((obj citb-robotboss) (arg0 entity-actor))
(let
((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))
(let
@ -1568,7 +1571,7 @@
(the-as (function none :behavior citb-coil) ja-post)
)
(defmethod copy-defaults! citb-coil ((obj citb-coil) (arg0 res-lump))
(defmethod init-from-entity! citb-coil ((obj citb-coil) (arg0 entity-actor))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)
(initialize-skeleton obj *citb-coil-sg* '())
@ -1792,7 +1795,7 @@
(the-as (function none :behavior citb-hose) ja-post)
)
(defmethod copy-defaults! citb-hose ((obj citb-hose) (arg0 res-lump))
(defmethod init-from-entity! citb-hose ((obj citb-hose) (arg0 entity-actor))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)
(initialize-skeleton obj *citb-hose-sg* '())
@ -2223,7 +2226,10 @@
(none)
)
(defmethod copy-defaults! citb-generator ((obj citb-generator) (arg0 res-lump))
(defmethod
init-from-entity!
citb-generator
((obj citb-generator) (arg0 entity-actor))
(init! obj)
(process-drawable-from-entity! obj arg0)
(dummy-21 obj)
@ -2357,7 +2363,7 @@
)
)
(defmethod copy-defaults! citadelcam ((obj citadelcam) (arg0 res-lump))
(defmethod init-from-entity! citadelcam ((obj citadelcam) (arg0 entity-actor))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)
(logclear! (-> obj mask) (process-mask actor-pause))

View File

@ -16,7 +16,6 @@
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 685)
(new 'static 'sparticle-launch-group
@ -35,7 +34,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2880)
(new 'static 'sparticle-launcher
@ -73,7 +71,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2881)
(new 'static 'sparticle-launcher
@ -85,7 +82,6 @@
)
)
;; definition for function check-drop-level-firehose-pops
(defun
check-drop-level-firehose-pops
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
@ -114,7 +110,6 @@
(none)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2883)
(new 'static 'sparticle-launcher
@ -137,7 +132,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2882)
(new 'static 'sparticle-launcher
@ -166,7 +160,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2879)
(new 'static 'sparticle-launcher
@ -191,7 +184,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2541)
(new 'static 'sparticle-launcher
@ -215,7 +207,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 599)
(new 'static 'sparticle-launch-group
@ -254,7 +245,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 600)
(new 'static 'sparticle-launch-group
@ -298,7 +288,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2411)
(new 'static 'sparticle-launcher
@ -321,7 +310,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2407)
(new 'static 'sparticle-launcher
@ -353,7 +341,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2408)
(new 'static 'sparticle-launcher
@ -381,7 +368,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2409)
(new 'static 'sparticle-launcher
@ -409,7 +395,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2410)
(new 'static 'sparticle-launcher
@ -437,7 +422,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2413)
(new 'static 'sparticle-launcher
@ -461,7 +445,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2414)
(new 'static 'sparticle-launcher
@ -481,7 +464,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2412)
(new 'static 'sparticle-launcher
@ -513,7 +495,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2415)
(new 'static 'sparticle-launcher
@ -527,7 +508,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2416)
(new 'static 'sparticle-launcher
@ -539,7 +519,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 598)
(new 'static 'sparticle-launch-group
@ -559,7 +538,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2424)
(new 'static 'sparticle-launcher
@ -594,7 +572,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2427)
(new 'static 'sparticle-launcher
@ -609,7 +586,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2426)
(new 'static 'sparticle-launcher
@ -637,7 +613,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2423)
(new 'static 'sparticle-launcher
@ -663,7 +638,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2425)
(new 'static 'sparticle-launcher
@ -698,7 +672,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 597)
(new 'static 'sparticle-launch-group
@ -716,7 +689,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2417)
(new 'static 'sparticle-launcher
@ -751,7 +723,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2418)
(new 'static 'sparticle-launcher
@ -777,7 +748,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2419)
(new 'static 'sparticle-launcher
@ -789,8 +759,6 @@
)
)
;; definition for function birth-func-random-rot
;; INFO: Return type mismatch int vs none.
(defun
birth-func-random-rot
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
@ -871,7 +839,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 601)
(new 'static 'sparticle-launch-group
@ -889,7 +856,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2420)
(new 'static 'sparticle-launcher
@ -917,7 +883,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2421)
(new 'static 'sparticle-launcher
@ -933,7 +898,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2422)
(new 'static 'sparticle-launcher
@ -947,7 +911,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 596)
(new 'static 'sparticle-launch-group
@ -1000,7 +963,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2434)
(new 'static 'sparticle-launcher
@ -1027,7 +989,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2433)
(new 'static 'sparticle-launcher
@ -1054,7 +1015,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2432)
(new 'static 'sparticle-launcher
@ -1081,7 +1041,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2431)
(new 'static 'sparticle-launcher
@ -1108,7 +1067,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2430)
(new 'static 'sparticle-launcher
@ -1134,7 +1092,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2429)
(new 'static 'sparticle-launcher
@ -1160,7 +1117,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2438)
(new 'static 'sparticle-launcher
@ -1180,7 +1136,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2428)
(new 'static 'sparticle-launcher
@ -1212,7 +1167,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2439)
(new 'static 'sparticle-launcher
@ -1226,7 +1180,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2440)
(new 'static 'sparticle-launcher
@ -1238,7 +1191,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2437)
(new 'static 'sparticle-launcher
@ -1264,7 +1216,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2435)
(new 'static 'sparticle-launcher
@ -1291,7 +1242,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2436)
(new 'static 'sparticle-launcher
@ -1318,7 +1268,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 602)
(new 'static 'sparticle-launch-group
@ -1337,7 +1286,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2442)
(new 'static 'sparticle-launcher
@ -1376,7 +1324,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2443)
(new 'static 'sparticle-launcher
@ -1392,7 +1339,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2441)
(new 'static 'sparticle-launcher
@ -1427,7 +1373,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 603)
(new 'static 'sparticle-launch-group
@ -1468,7 +1413,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 607)
(new 'static 'sparticle-launch-group
@ -1485,7 +1429,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2451)
(new 'static 'sparticle-launcher
@ -1510,7 +1453,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2447)
(new 'static 'sparticle-launcher
@ -1537,7 +1479,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2444)
(new 'static 'sparticle-launcher
@ -1566,7 +1507,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2445)
(new 'static 'sparticle-launcher
@ -1592,7 +1532,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2446)
(new 'static 'sparticle-launcher
@ -1618,7 +1557,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2448)
(new 'static 'sparticle-launcher
@ -1645,7 +1583,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2450)
(new 'static 'sparticle-launcher
@ -1672,7 +1609,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2449)
(new 'static 'sparticle-launcher
@ -1695,7 +1631,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 604)
(new 'static 'sparticle-launch-group
@ -1737,7 +1672,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 608)
(new 'static 'sparticle-launch-group
@ -1754,7 +1688,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2458)
(new 'static 'sparticle-launcher
@ -1779,7 +1712,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2454)
(new 'static 'sparticle-launcher
@ -1805,7 +1737,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2452)
(new 'static 'sparticle-launcher
@ -1834,7 +1765,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2453)
(new 'static 'sparticle-launcher
@ -1865,7 +1795,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2455)
(new 'static 'sparticle-launcher
@ -1892,7 +1821,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2457)
(new 'static 'sparticle-launcher
@ -1918,7 +1846,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2456)
(new 'static 'sparticle-launcher
@ -1941,7 +1868,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 605)
(new 'static 'sparticle-launch-group
@ -1986,7 +1912,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 609)
(new 'static 'sparticle-launch-group
@ -2003,7 +1928,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2465)
(new 'static 'sparticle-launcher
@ -2028,7 +1952,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2461)
(new 'static 'sparticle-launcher
@ -2055,7 +1978,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2459)
(new 'static 'sparticle-launcher
@ -2084,7 +2006,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2460)
(new 'static 'sparticle-launcher
@ -2110,7 +2031,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2462)
(new 'static 'sparticle-launcher
@ -2137,7 +2057,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2464)
(new 'static 'sparticle-launcher
@ -2164,7 +2083,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2463)
(new 'static 'sparticle-launcher
@ -2187,7 +2105,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 606)
(new 'static 'sparticle-launch-group
@ -2232,7 +2149,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 610)
(new 'static 'sparticle-launch-group
@ -2249,7 +2165,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2472)
(new 'static 'sparticle-launcher
@ -2274,7 +2189,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2468)
(new 'static 'sparticle-launcher
@ -2301,7 +2215,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2466)
(new 'static 'sparticle-launcher
@ -2330,7 +2243,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2467)
(new 'static 'sparticle-launcher
@ -2355,7 +2267,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2469)
(new 'static 'sparticle-launcher
@ -2382,7 +2293,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2471)
(new 'static 'sparticle-launcher
@ -2409,7 +2319,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2470)
(new 'static 'sparticle-launcher
@ -2432,7 +2341,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2473)
(new 'static 'sparticle-launcher
@ -2454,7 +2362,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 662)
(new 'static 'sparticle-launch-group
@ -2641,7 +2548,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2692)
(new 'static 'sparticle-launcher
@ -2665,7 +2571,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2691)
(new 'static 'sparticle-launcher
@ -2687,7 +2592,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2688)
(new 'static 'sparticle-launcher
@ -2717,7 +2621,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2689)
(new 'static 'sparticle-launcher
@ -2741,7 +2644,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2690)
(new 'static 'sparticle-launcher
@ -2762,7 +2664,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2687)
(new 'static 'sparticle-launcher
@ -2793,7 +2694,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 683)
(new 'static 'sparticle-launch-group
@ -2815,7 +2715,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2837)
(new 'static 'sparticle-launcher
@ -2840,7 +2739,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2838)
(new 'static 'sparticle-launcher
@ -2852,7 +2750,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2832)
(new 'static 'sparticle-launcher
@ -2881,7 +2778,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2839)
(new 'static 'sparticle-launcher
@ -2893,7 +2789,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2834)
(new 'static 'sparticle-launcher
@ -2923,7 +2818,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2835)
(new 'static 'sparticle-launcher
@ -2953,7 +2847,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2836)
(new 'static 'sparticle-launcher
@ -2983,7 +2876,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2833)
(new 'static 'sparticle-launcher

View File

@ -725,7 +725,10 @@
)
)
(defmethod copy-defaults! red-sagecage ((obj red-sagecage) (arg0 res-lump))
(defmethod
init-from-entity!
red-sagecage
((obj red-sagecage) (arg0 entity-actor))
(dummy-40 obj arg0 *redsage-sg* 3 33 (new 'static 'vector :w 8192.0) 5)
(set! (-> obj tasks) (get-task-control (-> obj entity extra perm task)))
(play-reminder obj)
@ -890,7 +893,10 @@
)
)
(defmethod copy-defaults! blue-sagecage ((obj blue-sagecage) (arg0 res-lump))
(defmethod
init-from-entity!
blue-sagecage
((obj blue-sagecage) (arg0 entity-actor))
(dummy-40 obj arg0 *bluesage-sg* 3 54 (new 'static 'vector :w 8192.0) 5)
(set! (-> obj tasks) (get-task-control (-> obj entity extra perm task)))
(play-reminder obj)
@ -1036,7 +1042,10 @@
)
)
(defmethod copy-defaults! yellow-sagecage ((obj yellow-sagecage) (arg0 res-lump))
(defmethod
init-from-entity!
yellow-sagecage
((obj yellow-sagecage) (arg0 entity-actor))
(dummy-40 obj arg0 *yellowsage-sg* 3 50 (new 'static 'vector :w 8192.0) 5)
(set! (-> obj tasks) (get-task-control (-> obj entity extra perm task)))
(play-reminder obj)
@ -1765,7 +1774,10 @@
)
)
(defmethod copy-defaults! green-sagecage ((obj green-sagecage) (arg0 res-lump))
(defmethod
init-from-entity!
green-sagecage
((obj green-sagecage) (arg0 entity-actor))
(dummy-40 obj arg0 *green-sagecage-sg* 3 40 (new 'static 'vector :w 4096.0) 5)
(set! (-> obj tasks) (get-task-control (-> obj entity extra perm task)))
(play-reminder obj)

View File

@ -727,7 +727,10 @@
)
)
(defmethod copy-defaults! citb-drop-plat ((obj citb-drop-plat) (arg0 res-lump))
(defmethod
init-from-entity!
citb-drop-plat
((obj citb-drop-plat) (arg0 entity-actor))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)
(let ((v1-2 (res-lump-data arg0 'count pointer)))

View File

@ -669,9 +669,9 @@ nav-enemy-default-event-handler
)
(defmethod
copy-defaults!
init-from-entity!
babak-with-cannon
((obj babak-with-cannon) (arg0 res-lump))
((obj babak-with-cannon) (arg0 entity-actor))
(initialize-collision obj)
(process-drawable-from-entity! obj arg0)
(TODO-RENAME-48 obj)

View File

@ -559,7 +559,7 @@
)
)
(defmethod copy-defaults! basebutton ((obj basebutton) (arg0 res-lump))
(defmethod init-from-entity! basebutton ((obj basebutton) (arg0 entity-actor))
(reset! obj)
(set! (-> obj spawned-by-other?) #f)
(set! (-> obj button-id) -1)

View File

@ -11,7 +11,7 @@
((root-override collide-shape-moving :offset 112)
(smush smush-control :inline :offset-assert 176)
(basetrans vector :inline :offset-assert 208)
(bouncing basic :offset-assert 224)
(bouncing symbol :offset-assert 224)
)
:heap-base #x80
:method-count-assert 27
@ -455,7 +455,7 @@ eco-door-event-handler
(none)
)
(defmethod copy-defaults! eco-door ((obj eco-door) (arg0 res-lump))
(defmethod init-from-entity! eco-door ((obj eco-door) (arg0 entity-actor))
(TODO-RENAME-24 obj)
(process-drawable-from-entity! obj arg0)
(let ((f0-0 (res-lump-float (-> obj entity) 'scale :default 1.0)))

View File

@ -961,9 +961,9 @@ battlecontroller-default-event-handler
)
(defmethod
copy-defaults!
init-from-entity!
battlecontroller
((obj battlecontroller) (arg0 res-lump))
((obj battlecontroller) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask enemy) (-> obj mask)))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)

View File

@ -3023,7 +3023,7 @@ nav-enemy-default-event-handler
(none)
)
(defmethod copy-defaults! nav-enemy ((obj nav-enemy) (arg0 res-lump))
(defmethod init-from-entity! nav-enemy ((obj nav-enemy) (arg0 entity-actor))
(initialize-collision obj)
(process-drawable-from-entity! obj arg0)
(TODO-RENAME-48 obj)

View File

@ -446,7 +446,10 @@
(the-as (function none :behavior orb-cache-top) plat-post)
)
(defmethod copy-defaults! orb-cache-top ((obj orb-cache-top) (arg0 res-lump))
(defmethod
init-from-entity!
orb-cache-top
((obj orb-cache-top) (arg0 entity-actor))
(let ((a0-1 (-> obj entity)))
(if (when a0-1
(let ((a0-2 (-> a0-1 extra perm task)))

View File

@ -657,7 +657,7 @@
(none)
)
(defmethod copy-defaults! plat-button ((obj plat-button) (arg0 res-lump))
(defmethod init-from-entity! plat-button ((obj plat-button) (arg0 entity-actor))
(set! (-> obj go-back-if-lost-player?) #f)
(set! (-> obj grab-player?) #f)
(set! (-> obj should-grab-player?) #f)
@ -666,7 +666,7 @@
(->
(the-as
vector
(get-property-struct
((method-of-type res-lump get-property-struct)
arg0
'trans-offset
'interp

View File

@ -325,7 +325,7 @@
(the-as (function none :behavior plat) plat-post)
)
(defmethod copy-defaults! plat ((obj plat) (arg0 res-lump))
(defmethod init-from-entity! plat ((obj plat) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(dummy-24 obj)
(process-drawable-from-entity! obj arg0)

View File

@ -1028,9 +1028,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
rigid-body-platform
((obj rigid-body-platform) (arg0 res-lump))
((obj rigid-body-platform) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(TODO-RENAME-30 obj)
(process-drawable-from-entity! obj arg0)

View File

@ -1157,7 +1157,7 @@ nav-enemy-default-event-handler
)
)
(defmethod copy-defaults! sharkey ((obj sharkey) (arg0 res-lump))
(defmethod init-from-entity! sharkey ((obj sharkey) (arg0 entity-actor))
(set! (-> obj scale) (res-lump-float arg0 'scale :default 1.0))
(let
((s4-0

View File

@ -271,7 +271,7 @@
(none)
)
(defmethod copy-defaults! cavecrystal ((obj cavecrystal) (arg0 res-lump))
(defmethod init-from-entity! cavecrystal ((obj cavecrystal) (arg0 entity-actor))
(set! (-> obj glow-u) 0.0)
(set! (-> obj player-attack-id) (the-as uint 0))
(set! (-> obj last-updated-user-lighting) (the-as uint 0))

View File

@ -203,7 +203,7 @@
)
)
(defmethod copy-defaults! final-door ((obj final-door) (arg0 res-lump))
(defmethod init-from-entity! final-door ((obj final-door) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others))

View File

@ -430,7 +430,7 @@
(the-as (function none :behavior ecoclaw) ja-post)
)
(defmethod copy-defaults! ecoclaw ((obj ecoclaw) (arg0 res-lump))
(defmethod init-from-entity! ecoclaw ((obj ecoclaw) (arg0 entity-actor))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)
(initialize-skeleton obj *ecoclaw-sg* '())
@ -562,7 +562,7 @@
)
)
(defmethod copy-defaults! silodoor ((obj silodoor) (arg0 res-lump))
(defmethod init-from-entity! silodoor ((obj silodoor) (arg0 entity-actor))
(let
((s4-0
(new

View File

@ -5614,7 +5614,7 @@
(the-as (function none :behavior robotboss) transform-post)
)
(defmethod copy-defaults! robotboss ((obj robotboss) (arg0 res-lump))
(defmethod init-from-entity! robotboss ((obj robotboss) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 512)
(let
((s4-0

View File

@ -7,7 +7,6 @@
;; DECOMP BEGINS
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 682)
(new 'static 'sparticle-launch-group
@ -31,7 +30,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2825)
(new 'static 'sparticle-launcher
@ -54,7 +52,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2823)
(new 'static 'sparticle-launcher
@ -84,7 +81,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2824)
(new 'static 'sparticle-launcher
@ -110,7 +106,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2827)
(new 'static 'sparticle-launcher
@ -132,7 +127,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2826)
(new 'static 'sparticle-launcher
@ -163,7 +157,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2828)
(new 'static 'sparticle-launcher
@ -177,7 +170,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2829)
(new 'static 'sparticle-launcher
@ -189,7 +181,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 699)
(new 'static 'sparticle-launch-group
@ -211,7 +202,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2921)
(new 'static 'sparticle-launcher
@ -235,7 +225,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2927)
(new 'static 'sparticle-launcher
@ -247,7 +236,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2924)
(new 'static 'sparticle-launcher
@ -274,7 +262,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2922)
(new 'static 'sparticle-launcher
@ -302,7 +289,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2923)
(new 'static 'sparticle-launcher
@ -329,7 +315,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2925)
(new 'static 'sparticle-launcher
@ -360,7 +345,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2926)
(new 'static 'sparticle-launcher
@ -393,7 +377,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2928)
(new 'static 'sparticle-launcher
@ -405,7 +388,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 700)
(new 'static 'sparticle-launch-group
@ -423,7 +405,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2930)
(new 'static 'sparticle-launcher
@ -456,7 +437,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2931)
(new 'static 'sparticle-launcher
@ -468,7 +448,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2929)
(new 'static 'sparticle-launcher
@ -500,7 +479,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2932)
(new 'static 'sparticle-launcher
@ -512,7 +490,6 @@
)
)
;; definition for function check-drop-level-eichar-lighteco-pops
(defun
check-drop-level-eichar-lighteco-pops
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
@ -541,7 +518,6 @@
(none)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2934)
(new 'static 'sparticle-launcher
@ -564,7 +540,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2933)
(new 'static 'sparticle-launcher
@ -590,7 +565,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 701)
(new 'static 'sparticle-launch-group
@ -605,7 +579,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2892)
(new 'static 'sparticle-launcher
@ -635,7 +608,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 702)
(new 'static 'sparticle-launch-group
@ -653,7 +625,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2935)
(new 'static 'sparticle-launcher
@ -679,7 +650,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2893)
(new 'static 'sparticle-launcher
@ -707,7 +677,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 703)
(new 'static 'sparticle-launch-group
@ -728,7 +697,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2937)
(new 'static 'sparticle-launcher
@ -751,7 +719,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2894)
(new 'static 'sparticle-launcher
@ -784,7 +751,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2936)
(new 'static 'sparticle-launcher
@ -819,7 +785,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 696)
(new 'static 'sparticle-launch-group
@ -858,7 +823,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2939)
(new 'static 'sparticle-launcher
@ -890,7 +854,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2938)
(new 'static 'sparticle-launcher
@ -918,7 +881,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2946)
(new 'static 'sparticle-launcher
@ -931,7 +893,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2945)
(new 'static 'sparticle-launcher
@ -959,7 +920,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2947)
(new 'static 'sparticle-launcher
@ -971,7 +931,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2941)
(new 'static 'sparticle-launcher
@ -1001,7 +960,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2948)
(new 'static 'sparticle-launcher
@ -1013,7 +971,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2944)
(new 'static 'sparticle-launcher
@ -1038,7 +995,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2940)
(new 'static 'sparticle-launcher
@ -1061,7 +1017,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2942)
(new 'static 'sparticle-launcher
@ -1094,7 +1049,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2943)
(new 'static 'sparticle-launcher
@ -1127,7 +1081,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 704)
(new 'static 'sparticle-launch-group
@ -1145,7 +1098,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2950)
(new 'static 'sparticle-launcher
@ -1179,7 +1131,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2951)
(new 'static 'sparticle-launcher
@ -1194,7 +1145,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2949)
(new 'static 'sparticle-launcher
@ -1223,7 +1173,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 698)
(new 'static 'sparticle-launch-group
@ -1246,7 +1195,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2952)
(new 'static 'sparticle-launcher
@ -1275,7 +1223,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2959)
(new 'static 'sparticle-launcher
@ -1287,7 +1234,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2953)
(new 'static 'sparticle-launcher
@ -1316,7 +1262,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2954)
(new 'static 'sparticle-launcher
@ -1346,7 +1291,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2955)
(new 'static 'sparticle-launcher
@ -1377,7 +1321,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2956)
(new 'static 'sparticle-launcher
@ -1408,7 +1351,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2957)
(new 'static 'sparticle-launcher
@ -1436,7 +1378,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2960)
(new 'static 'sparticle-launcher
@ -1448,7 +1389,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2958)
(new 'static 'sparticle-launcher
@ -1478,7 +1418,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2961)
(new 'static 'sparticle-launcher
@ -1490,7 +1429,6 @@
)
)
;; definition for function check-drop-level-bigdoor-open-pops
(defun
check-drop-level-bigdoor-open-pops
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
@ -1519,7 +1457,6 @@
(none)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2963)
(new 'static 'sparticle-launcher
@ -1542,7 +1479,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2962)
(new 'static 'sparticle-launcher
@ -1568,7 +1504,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 706)
(new 'static 'sparticle-launch-group
@ -1583,7 +1518,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2965)
(new 'static 'sparticle-launcher
@ -1605,7 +1539,6 @@
)
)
;; failed to figure out what this is:
0

View File

@ -828,9 +828,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
assistant-firecanyon
((obj assistant-firecanyon) (arg0 res-lump))
((obj assistant-firecanyon) (arg0 entity-actor))
(dummy-40
obj
arg0

View File

@ -238,7 +238,7 @@
(the-as (function none :behavior balloon) ja-post)
)
(defmethod copy-defaults! balloon ((obj balloon) (arg0 res-lump))
(defmethod init-from-entity! balloon ((obj balloon) (arg0 entity-actor))
(let
((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))
(let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0))))
@ -498,7 +498,7 @@
)
)
(defmethod copy-defaults! spike ((obj spike) (arg0 res-lump))
(defmethod init-from-entity! spike ((obj spike) (arg0 entity-actor))
(let
((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))
(let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 4) 0)))
@ -890,9 +890,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
crate-darkeco-cluster
((obj crate-darkeco-cluster) (arg0 res-lump))
((obj crate-darkeco-cluster) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player))

View File

@ -7,7 +7,6 @@
;; DECOMP BEGINS
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 120)
(new 'static 'sparticle-launch-group
@ -25,7 +24,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 746)
(new 'static 'sparticle-launcher
@ -47,7 +45,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 747)
(new 'static 'sparticle-launcher
@ -70,7 +67,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 748)
(new 'static 'sparticle-launcher
@ -100,7 +96,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 121)
(new 'static 'sparticle-launch-group
@ -117,7 +112,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 749)
(new 'static 'sparticle-launcher
@ -152,7 +146,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 750)
(new 'static 'sparticle-launcher

View File

@ -479,7 +479,7 @@
)
)
(defmethod copy-defaults! flutflut ((obj flutflut) (arg0 res-lump))
(defmethod init-from-entity! flutflut ((obj flutflut) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))

View File

@ -204,7 +204,7 @@
)
)
(defmethod copy-defaults! evilbro ((obj evilbro) (arg0 res-lump))
(defmethod init-from-entity! evilbro ((obj evilbro) (arg0 entity-actor))
(dummy-40 obj arg0 *evilbro-intro-sg* 3 40 (new 'static 'vector :w 4096.0) 5)
(set! (-> obj tasks) (get-task-control (game-task leaving-misty)))
(set! (-> obj evilsis) (entity-actor-lookup arg0 'alt-actor 0))
@ -256,7 +256,7 @@
)
)
(defmethod copy-defaults! evilsis ((obj evilsis) (arg0 res-lump))
(defmethod init-from-entity! evilsis ((obj evilsis) (arg0 entity-actor))
(dummy-40 obj arg0 *evilsis-intro-sg* 3 0 (new 'static 'vector :w 4096.0) 5)
(set! (-> obj tasks) (get-task-control (game-task leaving-misty)))
(dummy-42 obj)

View File

@ -223,7 +223,7 @@
(the-as (function none :behavior springbox) transform-post)
)
(defmethod copy-defaults! springbox ((obj springbox) (arg0 res-lump))
(defmethod init-from-entity! springbox ((obj springbox) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))

View File

@ -2812,7 +2812,7 @@
)
)
(defmethod copy-defaults! fisher ((obj fisher) (arg0 res-lump))
(defmethod init-from-entity! fisher ((obj fisher) (arg0 entity-actor))
(dummy-40 obj arg0 *fisher-sg* 3 49 (new 'static 'vector :w 4096.0) 33)
(set! (-> obj tasks) (get-task-control (game-task jungle-fishgame)))
(set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0))

View File

@ -160,7 +160,7 @@
)
)
(defmethod copy-defaults! logtrap ((obj logtrap) (arg0 res-lump))
(defmethod init-from-entity! logtrap ((obj logtrap) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask enemy) (-> obj mask)))
(let
((s4-0
@ -275,7 +275,7 @@
(the-as (function none :behavior towertop) ja-post)
)
(defmethod copy-defaults! towertop ((obj towertop) (arg0 res-lump))
(defmethod init-from-entity! towertop ((obj towertop) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask ambient) (-> obj mask)))
(set! (-> obj root-override) (new 'process 'trsq))
(process-drawable-from-entity! obj arg0)
@ -384,9 +384,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
lurkerm-tall-sail
((obj lurkerm-tall-sail) (arg0 res-lump))
((obj lurkerm-tall-sail) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(let
((s4-0
@ -544,9 +544,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
lurkerm-short-sail
((obj lurkerm-short-sail) (arg0 res-lump))
((obj lurkerm-short-sail) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(let
((s4-0
@ -749,7 +749,10 @@
(the-as (function none :behavior lurkerm-piston) rider-post)
)
(defmethod copy-defaults! lurkerm-piston ((obj lurkerm-piston) (arg0 res-lump))
(defmethod
init-from-entity!
lurkerm-piston
((obj lurkerm-piston) (arg0 entity-actor))
(local-vars (sv-16 res-tag) (sv-32 res-tag))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(let
@ -901,7 +904,7 @@
)
)
(defmethod copy-defaults! accordian ((obj accordian) (arg0 res-lump))
(defmethod init-from-entity! accordian ((obj accordian) (arg0 entity-actor))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)
(initialize-skeleton obj *accordian-sg* '())
@ -1320,7 +1323,10 @@
(the-as (function none :behavior precurbridge) rider-post)
)
(defmethod copy-defaults! precurbridge ((obj precurbridge) (arg0 res-lump))
(defmethod
init-from-entity!
precurbridge
((obj precurbridge) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 512)
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(let
@ -1826,7 +1832,7 @@
(the-as (function none :behavior maindoor) ja-post)
)
(defmethod copy-defaults! maindoor ((obj maindoor) (arg0 res-lump))
(defmethod init-from-entity! maindoor ((obj maindoor) (arg0 entity-actor))
(let
((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others))))
(let
@ -2010,7 +2016,7 @@
(the-as (function none :behavior jngpusher) rider-post)
)
(defmethod copy-defaults! jngpusher ((obj jngpusher) (arg0 res-lump))
(defmethod init-from-entity! jngpusher ((obj jngpusher) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask enemy platform) (-> obj mask)))
(let
((s4-0

View File

@ -589,7 +589,7 @@ nav-enemy-default-event-handler
)
)
(defmethod copy-defaults! junglefish ((obj junglefish) (arg0 res-lump))
(defmethod init-from-entity! junglefish ((obj junglefish) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))

View File

@ -1105,7 +1105,7 @@ junglesnake-default-event-handler
)
)
(defmethod copy-defaults! junglesnake ((obj junglesnake) (arg0 res-lump))
(defmethod init-from-entity! junglesnake ((obj junglesnake) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask enemy) (-> obj mask)))
(let
((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))

View File

@ -622,7 +622,7 @@
(the-as (function none :behavior eggtop) rider-post)
)
(defmethod copy-defaults! eggtop ((obj eggtop) (arg0 res-lump))
(defmethod init-from-entity! eggtop ((obj eggtop) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))

View File

@ -203,7 +203,7 @@
(the-as (function none :behavior plat-flip) rider-post)
)
(defmethod copy-defaults! plat-flip ((obj plat-flip) (arg0 res-lump))
(defmethod init-from-entity! plat-flip ((obj plat-flip) (arg0 entity-actor))
(local-vars (sv-16 res-tag) (sv-32 res-tag) (sv-48 res-tag))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(let

View File

@ -300,9 +300,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
assistant-lavatube-start
((obj assistant-lavatube-start) (arg0 res-lump))
((obj assistant-lavatube-start) (arg0 entity-actor))
(dummy-40
obj
arg0

View File

@ -1167,7 +1167,7 @@ baby-spider-default-event-handler
(none)
)
(defmethod copy-defaults! baby-spider ((obj baby-spider) (arg0 res-lump))
(defmethod init-from-entity! baby-spider ((obj baby-spider) (arg0 entity-actor))
(set! (-> obj die-if-not-visible?) #f)
(set! (-> obj delay-before-dying-if-not-visible) 600)
(set! (-> obj hack-move-above-ground?) #f)

View File

@ -233,7 +233,7 @@
(the-as (function none :behavior spiderwebs) transform-post)
)
(defmethod copy-defaults! spiderwebs ((obj spiderwebs) (arg0 res-lump))
(defmethod init-from-entity! spiderwebs ((obj spiderwebs) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(let
((s4-0

View File

@ -937,7 +937,10 @@
)
;; WARN: Expression building failed: Function (method 11 keg-conveyor) has a return type of none, but the expression builder found a return statement.
(defmethod copy-defaults! keg-conveyor ((obj keg-conveyor) (arg0 res-lump))
(defmethod
init-from-entity!
keg-conveyor
((obj keg-conveyor) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask enemy death) (-> obj mask)))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)

View File

@ -276,7 +276,10 @@
(the-as (function none :behavior teetertotter) rider-post)
)
(defmethod copy-defaults! teetertotter ((obj teetertotter) (arg0 res-lump))
(defmethod
init-from-entity!
teetertotter
((obj teetertotter) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))

View File

@ -198,7 +198,7 @@
(the-as (function none :behavior silostep) #f)
)
(defmethod copy-defaults! silostep ((obj silostep) (arg0 res-lump))
(defmethod init-from-entity! silostep ((obj silostep) (arg0 entity-actor))
(logior! (-> obj mask) (process-mask movie-subject))
(let
((s4-0

View File

@ -859,7 +859,7 @@ nav-enemy-default-event-handler
)
)
(defmethod copy-defaults! muse ((obj muse) (arg0 res-lump))
(defmethod init-from-entity! muse ((obj muse) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 512)
(set! (-> obj mask) (logior (process-mask enemy) (-> obj mask)))
(let

View File

@ -2331,7 +2331,7 @@
#f
)
(defmethod copy-defaults! sequenceB ((obj sequenceB) (arg0 res-lump))
(defmethod init-from-entity! sequenceB ((obj sequenceB) (arg0 entity-actor))
(dummy-40
obj
arg0
@ -2808,7 +2808,7 @@
(none)
)
(defmethod copy-defaults! sequenceC ((obj sequenceC) (arg0 res-lump))
(defmethod init-from-entity! sequenceC ((obj sequenceC) (arg0 entity-actor))
(dummy-40
obj
arg0

View File

@ -564,7 +564,10 @@
)
)
(defmethod copy-defaults! plunger-lurker ((obj plunger-lurker) (arg0 res-lump))
(defmethod
init-from-entity!
plunger-lurker
((obj plunger-lurker) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 512)
(let
((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))
@ -1792,7 +1795,10 @@
(the-as (function none :behavior flying-lurker) ja-post)
)
(defmethod copy-defaults! flying-lurker ((obj flying-lurker) (arg0 res-lump))
(defmethod
init-from-entity!
flying-lurker
((obj flying-lurker) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 512)
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)

View File

@ -580,7 +580,7 @@
)
)
(defmethod copy-defaults! tntbarrel ((obj tntbarrel) (arg0 res-lump))
(defmethod init-from-entity! tntbarrel ((obj tntbarrel) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player))
@ -1516,7 +1516,7 @@
)
)
(defmethod copy-defaults! ogre-bridge ((obj ogre-bridge) (arg0 res-lump))
(defmethod init-from-entity! ogre-bridge ((obj ogre-bridge) (arg0 entity-actor))
(stack-size-set! (-> obj main-thread) 512)
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(let
@ -1934,7 +1934,10 @@
)
)
(defmethod copy-defaults! ogre-bridgeend ((obj ogre-bridgeend) (arg0 res-lump))
(defmethod
init-from-entity!
ogre-bridgeend
((obj ogre-bridgeend) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player))
@ -2372,9 +2375,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
shortcut-boulder
((obj shortcut-boulder) (arg0 res-lump))
((obj shortcut-boulder) (arg0 entity-actor))
(let
((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others))))
(let

View File

@ -533,7 +533,7 @@
(the-as (function none :behavior snow-button) rider-post)
)
(defmethod copy-defaults! snow-button ((obj snow-button) (arg0 res-lump))
(defmethod init-from-entity! snow-button ((obj snow-button) (arg0 entity-actor))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))

View File

@ -1410,7 +1410,7 @@
)
)
(defmethod copy-defaults! yeti ((obj yeti) (arg0 res-lump))
(defmethod init-from-entity! yeti ((obj yeti) (arg0 entity-actor))
(set! (-> obj spawn-delay) 0)
(set! (-> obj root) (new 'process 'trsqv))
(set! (-> obj path) (new 'process 'path-control obj 'path 0.0))

View File

@ -128,9 +128,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
floating-launcher
((obj floating-launcher) (arg0 res-lump))
((obj floating-launcher) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(let
((s4-0

View File

@ -459,7 +459,7 @@
(none)
)
(defmethod copy-defaults! qbert-plat ((obj qbert-plat) (arg0 res-lump))
(defmethod init-from-entity! qbert-plat ((obj qbert-plat) (arg0 entity-actor))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(TODO-RENAME-30 obj)
(process-drawable-from-entity! obj arg0)
@ -877,9 +877,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
qbert-plat-master
((obj qbert-plat-master) (arg0 res-lump))
((obj qbert-plat-master) (arg0 entity-actor))
(set! (-> obj last-plat-triggered) -1)
(set! (-> obj player-in-water?) #f)
(set! (-> obj player-in-bounds?) #f)

View File

@ -108,7 +108,7 @@
(the-as (function none :behavior shover) anim-loop)
)
(defmethod copy-defaults! shover ((obj shover) (arg0 res-lump))
(defmethod init-from-entity! shover ((obj shover) (arg0 entity-actor))
(local-vars (sv-16 res-tag))
(set! (-> obj shove-up) (res-lump-float arg0 'shove :default 12288.0))
(let ((s3-0 (res-lump-value arg0 'collision-mesh-id uint128))

View File

@ -559,7 +559,10 @@
)
)
(defmethod copy-defaults! square-platform ((obj square-platform) (arg0 res-lump))
(defmethod
init-from-entity!
square-platform
((obj square-platform) (arg0 entity-actor))
(local-vars (sv-16 res-tag) (sv-32 res-tag))
(set! (-> obj pos-u) 0.0)
(let
@ -884,9 +887,9 @@
)
(defmethod
copy-defaults!
init-from-entity!
square-platform-master
((obj square-platform-master) (arg0 res-lump))
((obj square-platform-master) (arg0 entity-actor))
(set! (-> obj button-id) -1)
(set! (-> obj plat-id) -1)
(set! (-> obj root) (new 'process 'trsqv))

View File

@ -874,7 +874,7 @@
(none)
)
(defmethod copy-defaults! steam-cap ((obj steam-cap) (arg0 res-lump))
(defmethod init-from-entity! steam-cap ((obj steam-cap) (arg0 entity-actor))
(local-vars (sv-16 res-tag))
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(let

View File

@ -433,7 +433,10 @@
)
)
(defmethod copy-defaults! sun-iris-door ((obj sun-iris-door) (arg0 res-lump))
(defmethod
init-from-entity!
sun-iris-door
((obj sun-iris-door) (arg0 entity-actor))
(local-vars (sv-16 res-tag))
(set! (-> obj move-to?) #f)
(let

View File

@ -341,7 +341,7 @@
(defmethod TODO-RENAME-26 sunkenfisha ((obj sunkenfisha))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj (-> obj entity))
(process-drawable-from-entity! obj (the-as entity-actor (-> obj entity)))
(set-vector! (-> obj root scale) 6.0 6.0 6.0 1.0)
(let ((v1-3 (rand-vu-int-count 3)))
(cond
@ -516,7 +516,7 @@
(none)
)
(defmethod copy-defaults! sunkenfisha ((obj sunkenfisha) (arg0 res-lump))
(defmethod init-from-entity! sunkenfisha ((obj sunkenfisha) (arg0 entity-actor))
(TODO-RENAME-26 obj)
(TODO-RENAME-27 obj)
(let

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