[decomp] fisher and FIN.DGO (finalboss) level (#899)

* decomp `fisher`, `robotboss`, `light-eco`, `green-eco-lurker`, `sage-finalboss`, `robotboss-weapon`, `robotboss-misc`

* fixes

* add files

* add `:states` list to `deftype` and fix files

* test state forward decl's on a few more types

* also the refs

* add light-eco

* whatever
This commit is contained in:
ManDude
2021-10-16 19:06:33 +01:00
committed by GitHub
parent 9225d28444
commit caac740aff
185 changed files with 30529 additions and 4422 deletions
+2 -2
View File
@@ -1209,11 +1209,11 @@
;; definition for function cam-slave-go
;; INFO: Return type mismatch int vs none.
(defun cam-slave-go ((arg0 camera-slave))
(defun cam-slave-go ((arg0 state))
(with-pp
(cam-slave-init-vars)
(let ((t9-1 (the-as (function object) enter-state)))
(set! (-> pp next-state) (the-as state arg0))
(set! (-> pp next-state) arg0)
(t9-1)
)
0
@@ -352,9 +352,10 @@
;; definition of type collide-shape-prim-group
(deftype collide-shape-prim-group (collide-shape-prim)
((num-prims int32 :offset-assert 72)
(allocated-prims int32 :offset-assert 76)
(prim uint32 1 :offset-assert 80)
((num-prims int32 :offset-assert 72)
(allocated-prims int32 :offset-assert 76)
(prim collide-shape-prim 1 :offset-assert 80)
(prims collide-shape-prim :dynamic :offset 80)
)
:method-count-assert 30
:size-assert #x54
@@ -383,7 +384,7 @@
(format #t "~Tradius: (meters ~m)~%" (-> obj local-sphere w))
(format #t "~Tnum-prims: ~D~%" (-> obj num-prims))
(format #t "~Tallocated-prims: ~D~%" (-> obj allocated-prims))
(format #t "~Tprim[1] @ #x~X~%" (-> obj prim))
(format #t "~Tprim[1] @ #x~X~%" (-> obj prims))
obj
)
@@ -684,7 +685,7 @@
(set! (-> obj prim-core prim-type) 0)
(while (nonzero? elt-count)
(+! elt-count -1)
(set! (-> obj prim elt-count) (the-as uint #f))
(set! (-> obj prims elt-count) #f)
(nop!)
)
(the-as collide-shape-prim-group obj)
@@ -128,10 +128,11 @@
(unknown-dword40 int64 :offset 2160)
(unknown-dword41 int64 :offset 2168)
(unknown-handle10 handle :offset 2176)
(unknown-int11 int32 :offset 2184)
(unknown-symbol20 symbol :offset 2184)
(unknown-int20 int32 :offset 2188)
(unknown-vector102 vector :inline :offset 2224)
(unknown-vector103 vector :inline :offset 2240)
(unknown-smush00 smush-control :inline :offset 2288)
(unknown-vector110 vector :inline :offset 2320)
(unknown-vector111 vector :inline :offset 2336)
(unknown-int30 int32 :offset 2384)
+1 -1
View File
@@ -452,7 +452,7 @@
(new (symbol type process art-joint-geo) _type_ 0)
(dummy-9 (_type_) (pointer int8) 9)
(dummy-10 (_type_ int) int 10)
(dummy-11 (_type_ pointer) int 11)
(dummy-11 (_type_ lod-set) none 11)
)
)
+1 -1
View File
@@ -1314,7 +1314,7 @@
;; definition (debug) for function add-debug-yrot-vector
;; WARN: Stack slot offset 32 signed mismatch
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 32 mismatch: defined as size 4, got size 16
;; Used lq/sq
(defun-debug
add-debug-yrot-vector
+8 -8
View File
@@ -805,14 +805,14 @@
)
;; definition for function debug-menu-make-from-template
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 48 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 80 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 96 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 48 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 80 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 96 mismatch: defined as size 4, got size 16
;; Used lq/sq
(defun debug-menu-make-from-template ((arg0 debug-menu-context) (arg1 pair))
(local-vars
+1 -5
View File
@@ -223,7 +223,7 @@
((obj collide-shape-prim-group) (arg0 int))
(&+! (-> obj cshape) arg0)
(countdown (v1-2 (-> obj num-prims))
(+! (-> obj prim v1-2) arg0)
(&+! (-> obj prims v1-2) arg0)
)
obj
)
@@ -469,7 +469,3 @@
)
(the-as manipy ((method-of-type process-drawable relocate) obj arg0))
)
+1 -1
View File
@@ -17,7 +17,7 @@
(water water-control :offset-assert 156)
(sound ambient-sound :offset-assert 160)
(state-flags uint32 :offset-assert 164)
(state-time seconds :offset-assert 168)
(state-time int64 :offset-assert 168)
)
:heap-base #x40
:method-count-assert 20
+19 -19
View File
@@ -3,21 +3,21 @@
;; definition of type manipy
(deftype manipy (process-drawable)
((new-trans-hook function :offset-assert 176)
(cur-trans-hook function :offset-assert 180)
(cur-event-hook function :offset-assert 184)
(new-joint-anim art-joint-anim :offset-assert 188)
(new-joint-anim-blend uint64 :offset-assert 192)
(anim-mode symbol :offset-assert 200)
(cur-grab-handle handle :offset-assert 208)
(cur-target-handle handle :offset-assert 216)
(old-grab-pos vector :inline :offset-assert 224)
(joint joint 4 :offset-assert 240)
(new-post-hook function :offset-assert 256)
(cur-post-hook function :offset-assert 260)
(clone-copy-trans basic :offset-assert 264)
(shadow-backup basic :offset-assert 268)
(draw? symbol :offset-assert 272)
((new-trans-hook function :offset-assert 176)
(cur-trans-hook function :offset-assert 180)
(cur-event-hook function :offset-assert 184)
(new-joint-anim art-joint-anim :offset-assert 188)
(new-joint-anim-blend uint64 :offset-assert 192)
(anim-mode symbol :offset-assert 200)
(cur-grab-handle handle :offset-assert 208)
(cur-target-handle handle :offset-assert 216)
(old-grab-pos vector :inline :offset-assert 224)
(joint process-drawable 4 :offset-assert 240)
(new-post-hook function :offset-assert 256)
(cur-post-hook function :offset-assert 260)
(clone-copy-trans basic :offset-assert 264)
(shadow-backup basic :offset-assert 268)
(draw? symbol :offset-assert 272)
)
:heap-base #xb0
:method-count-assert 20
@@ -236,10 +236,10 @@
(deftype gui-query (structure)
((x-position int32 :offset-assert 0)
(y-position int32 :offset-assert 4)
(message symbol :offset-assert 8)
(message string :offset-assert 8)
(decision symbol :offset-assert 12)
(only-allow-cancel symbol :offset-assert 16)
(no-msg symbol :offset-assert 20)
(no-msg string :offset-assert 20)
(message-space int32 :offset-assert 24)
)
:pack-me
@@ -247,8 +247,8 @@
:size-assert #x1c
:flag-assert #xb0000001c
(:methods
(init! (_type_ symbol int int int symbol symbol) none 9)
(dummy-10 (_type_) symbol 10)
(init! (_type_ string int int int symbol string) none 9)
(get-response (_type_) symbol 10)
)
)
+3 -11
View File
@@ -1017,7 +1017,7 @@
(let ((gp-0 #f))
(while
(<
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the-as int (-> self timeout))
)
(let ((s5-0 (the int (-> *display* time-ratio))))
@@ -1568,16 +1568,8 @@
)
(cond
((logtest? (-> obj options) 32)
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> obj state-time)))
15
)
(when
(<
(- (-> *display* base-frame-counter) (the-as int (-> obj state-time)))
150
)
(when (>= (- (-> *display* base-frame-counter) (-> obj state-time)) 15)
(when (< (- (-> *display* base-frame-counter) (-> obj state-time)) 150)
(set!
(-> *part-id-table* 353 init-specs 16 initial-valuef)
(the-as float 0)
@@ -23,12 +23,12 @@
init!
gui-query
((obj gui-query)
(arg0 symbol)
(arg0 string)
(arg1 int)
(arg2 int)
(arg3 int)
(arg4 symbol)
(arg5 symbol)
(arg5 string)
)
(set! (-> obj x-position) arg1)
(set! (-> obj y-position) arg2)
@@ -42,7 +42,7 @@
)
;; definition for method 10 of type gui-query
(defmethod dummy-10 gui-query ((obj gui-query))
(defmethod get-response gui-query ((obj gui-query))
(kill-current-level-hint '() '(sidekick voicebox stinger) 'exit)
(level-hint-surpress!)
(hide-hud)
@@ -72,7 +72,7 @@
(set! (-> v1-6 scale) 0.9)
)
(set! (-> a1-2 flags) (font-flags shadow kerning left large))
(print-game-text (the-as string (-> obj message)) a1-2 #f 128 22)
(print-game-text (-> obj message) a1-2 #f 128 22)
)
)
(cond
@@ -290,16 +290,20 @@
)
;; definition for method 34 of type process-taskable
(defmethod TODO-RENAME-34 process-taskable ((obj process-taskable) (arg0 symbol))
#f
;; INFO: Return type mismatch symbol vs spool-anim.
(defmethod
get-accept-anim
process-taskable
((obj process-taskable) (arg0 symbol))
(the-as spool-anim #f)
)
;; definition for method 35 of type process-taskable
;; INFO: Return type mismatch int vs none.
(defmethod dummy-35 process-taskable ((obj process-taskable))
(let ((s5-0 (the-as basic (TODO-RENAME-34 obj #f))))
(if (type-type? (-> (the-as symbol s5-0) type) spool-anim)
(spool-push *art-control* (-> (the-as spool-anim s5-0) name) 0 obj -99.0)
(defmethod push-accept-anim process-taskable ((obj process-taskable))
(let ((s5-0 (get-accept-anim obj #f)))
(if (type-type? (-> s5-0 type) spool-anim)
(spool-push *art-control* (-> s5-0 name) 0 obj -99.0)
)
)
0
@@ -307,20 +311,20 @@
)
;; definition for method 36 of type process-taskable
;; INFO: Return type mismatch symbol vs basic.
;; INFO: Return type mismatch symbol vs spool-anim.
(defmethod
get-spool-anim-or-??
get-reject-anim
process-taskable
((obj process-taskable) (arg0 symbol))
(the-as basic #f)
(the-as spool-anim #f)
)
;; definition for method 37 of type process-taskable
;; INFO: Return type mismatch int vs none.
(defmethod spool-push-anim process-taskable ((obj process-taskable))
(let ((s5-0 (get-spool-anim-or-?? obj #f)))
(defmethod push-reject-anim process-taskable ((obj process-taskable))
(let ((s5-0 (get-reject-anim obj #f)))
(if (type-type? (-> s5-0 type) spool-anim)
(spool-push *art-control* (-> (the-as spool-anim s5-0) name) 0 obj -99.0)
(spool-push *art-control* (-> s5-0 name) 0 obj -99.0)
)
)
0
@@ -436,7 +440,7 @@
#t
"ERROR<GMJ>: ~S got into give-cell with give-cell == #f task = ~S~%"
(-> self name)
(game-task->string (the-as game-task (current-task (-> self tasks))))
(game-task->string (current-task (-> self tasks)))
)
)
)
@@ -463,10 +467,7 @@
(behavior ()
(if
(and
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
1500
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 1500)
(or
(not *target*)
(<
@@ -500,7 +501,7 @@
;; definition for function process-taskable-play-anim-enter
(defbehavior process-taskable-play-anim-enter process-taskable ()
(init! (-> self query) #f 40 150 25 #t #f)
(init! (-> self query) (the-as string #f) 40 150 25 #t (the-as string #f))
(logior! (-> self skel status) 8)
(let ((gp-0 (get-process *default-dead-pool* othercam #x4000)))
(set! (-> self camera) (ppointer->handle (when gp-0
@@ -670,7 +671,7 @@
arg0
(the-as art-joint-anim (-> self blend-on-exit))
(lambda ((arg0 process-taskable))
(= (dummy-10 (-> arg0 query)) 'no)
(= (get-response (-> arg0 query)) 'no)
)
)
(ja-play-spooled-anim
@@ -762,7 +763,7 @@
)
)
(until (ja-done? 0)
(when (and *debug-segment* (= (dummy-10 (-> self query)) 'no))
(when (and *debug-segment* (= (get-response (-> self query)) 'no))
(let ((v1-106 (-> self skel root-channel 0)))
(set! (-> v1-106 num-func) num-func-identity)
(set!
@@ -810,7 +811,7 @@
(behavior ()
(process-taskable-play-anim-code
(the-as art-joint-anim (get-art-elem self))
(TODO-RENAME-34 self #t)
(get-accept-anim self #t)
)
(while (not (process-release? *target*))
(suspend)
@@ -842,7 +843,7 @@
(behavior ()
(process-taskable-play-anim-code
(the-as art-joint-anim (get-art-elem self))
(get-spool-anim-or-?? self #t)
(get-reject-anim self #t)
)
(go-virtual release)
(none)
@@ -858,12 +859,12 @@
(behavior ()
(init!
(-> self query)
(the-as symbol (lookup-text! *common-text* (game-text-id confirm-play) #f))
(lookup-text! *common-text* (game-text-id confirm-play) #f)
40
150
25
#f
(the-as symbol (lookup-text! *common-text* (game-text-id quit) #f))
(lookup-text! *common-text* (game-text-id quit) #f)
)
(none)
)
@@ -872,8 +873,8 @@
:trans
(behavior ()
(case (current-status (-> self tasks))
((4)
(case (dummy-10 (-> self query))
(((task-status need-reminder-a))
(case (get-response (-> self query))
(('yes)
(go-virtual play-accept)
)
@@ -881,10 +882,10 @@
(go-virtual play-reject)
)
)
(dummy-35 self)
(push-accept-anim self)
)
(else
(let ((gp-0 (dummy-10 (-> self query))))
(let ((gp-0 (get-response (-> self query))))
(cond
((and (= gp-0 'yes) (process-release? *target*))
(go-virtual enter-playing)
@@ -896,7 +897,7 @@
)
)
)
(spool-push-anim self)
(push-reject-anim self)
(set! *camera-look-through-other* 2)
((-> self cur-trans-hook))
(none)
@@ -1064,11 +1065,7 @@
)
:trans
(behavior ()
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
300
)
(if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
(process-entity-status! self (entity-perm-status bit-3) #f)
)
(if (or (-> self been-kicked) (should-display? self))
@@ -1124,11 +1121,7 @@
)
:trans
(behavior ()
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
300
)
(if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
(process-entity-status! self (entity-perm-status bit-3) #f)
)
(cond
@@ -1350,11 +1343,7 @@
)
:trans
(behavior ()
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
60
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60)
(logior! (-> self mask) (process-mask actor-pause))
(process-entity-status! self (entity-perm-status bit-3) #f)
)
@@ -1404,7 +1393,12 @@
(first-any (-> self tasks) #t)
(when (target-above-threshold? self)
(case (current-status (-> self tasks))
((2 3 5 4 6)
(((task-status need-hint)
(task-status need-introduction)
(task-status need-reminder)
(task-status need-reminder-a)
(task-status need-reward-speech)
)
(kill-current-level-hint '() '(sidekick voicebox ambient) 'exit)
(level-hint-surpress!)
(hide-hud)
@@ -1628,7 +1622,7 @@
((not (should-display? obj))
(go (method-of-object obj hidden))
)
((= (current-status (-> obj tasks)) 7)
((= (current-status (-> obj tasks)) (task-status need-resolution))
(go (method-of-object obj give-cell))
)
(else
@@ -1655,10 +1649,7 @@
(arg2 float)
(arg3 process-drawable)
)
(set!
(-> obj last-ambient-time)
(the-as uint (-> *display* game-frame-counter))
)
(set! (-> obj last-ambient-time) (-> *display* game-frame-counter))
0
(none)
)
@@ -1674,13 +1665,7 @@
(arg3 process-drawable)
)
(when
(<
(-
(-> *display* game-frame-counter)
(the-as int (-> obj last-ambient-time))
)
arg1
)
(< (- (-> *display* game-frame-counter) (-> obj last-ambient-time)) arg1)
(set! arg0 (the-as vector #f))
(goto cfg-6)
)
@@ -1695,20 +1680,17 @@
;; definition for method 11 of type ambient-control
(defmethod
dummy-11
play-ambient
ambient-control
((obj ambient-control) (arg0 string) (arg1 symbol) (arg2 vector))
(when
(and
(not (string= arg0 (the-as string (-> obj last-ambient))))
(not (string= arg0 (-> obj last-ambient)))
(or arg1 (can-hint-be-played? 1 (the-as entity #f) (the-as string #f)))
(= (-> *level* loading-level) (-> *level* level-default))
(ambient-hint-spawn arg0 arg2 *entity-pool* 'ambient)
)
(set!
(-> obj last-ambient-time)
(the-as uint (-> *display* game-frame-counter))
)
(set! (-> obj last-ambient-time) (-> *display* game-frame-counter))
(set! (-> obj last-ambient) arg0)
(return #t)
)
@@ -41,8 +41,8 @@
:size-assert #xc
:flag-assert #x130000000c
(:methods
(current-task (_type_) int 9)
(current-status (_type_) int 10)
(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)
@@ -64,9 +64,9 @@
;; definition of type ambient-control
(deftype ambient-control (structure)
((last-ambient-time uint64 :offset-assert 0)
(last-ambient basic :offset-assert 8)
(last-ambient-id uint32 :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
@@ -74,7 +74,7 @@
(:methods
(dummy-9 (_type_ vector int float process-drawable) none 9)
(TODO-RENAME-10 (_type_ vector int float process-drawable) vector 10)
(dummy-11 (_type_ string symbol vector) symbol 11)
(play-ambient (_type_ string symbol vector) symbol 11)
)
)
@@ -135,10 +135,10 @@
(get-art-elem (_type_) art-element 31)
(play-anim! (_type_ symbol) basic 32)
(dummy-33 (_type_) none 33)
(TODO-RENAME-34 (_type_ symbol) symbol 34)
(dummy-35 (_type_) none 35)
(get-spool-anim-or-?? (_type_ symbol) basic 36)
(spool-push-anim (_type_) none 37)
(get-accept-anim (_type_ symbol) spool-anim 34)
(push-accept-anim (_type_) none 35)
(get-reject-anim (_type_ symbol) spool-anim 36)
(push-reject-anim (_type_) none 37)
(dummy-38 (_type_) none 38)
(should-display? (_type_) symbol 39)
(dummy-40 (_type_ object skeleton-group int int vector int) none 40)
@@ -116,37 +116,50 @@
)
;; definition for method 9 of type task-control
;; INFO: Return type mismatch int vs game-task.
(defmethod current-task task-control ((obj task-control))
(cond
((= obj *null-task-control*)
(format 0 "ERROR<GMJ>: current-task received *null-task-control*~%")
0
)
((= (-> obj current-stage) -1)
0
)
(else
(the-as int (-> obj stage (-> obj current-stage) game-task))
)
(the-as game-task (cond
((= obj *null-task-control*)
(format
0
"ERROR<GMJ>: current-task received *null-task-control*~%"
)
0
)
((= (-> obj current-stage) -1)
0
)
(else
(the-as
int
(-> obj stage (-> obj current-stage) game-task)
)
)
)
)
)
;; definition for method 10 of type task-control
;; INFO: Return type mismatch int vs task-status.
(defmethod current-status task-control ((obj task-control))
(cond
((= obj *null-task-control*)
(format
0
"ERROR<GMJ>: current-status received self of *null-task-control*~%~%"
)
0
)
((= (-> obj current-stage) -1)
0
)
(else
(the-as int (-> obj stage (-> obj current-stage) status))
)
(the-as task-status (cond
((= obj *null-task-control*)
(format
0
"ERROR<GMJ>: current-status received self of *null-task-control*~%~%"
)
0
)
((= (-> obj current-stage) -1)
0
)
(else
(the-as
int
(-> obj stage (-> obj current-stage) status)
)
)
)
)
)
@@ -186,7 +199,7 @@
(format
0
"ERROR<GMJ>: close-status! received non-existent task-cstage(~S ~S)--returning #t.~%"
(game-task->string (the-as game-task a0-2))
(game-task->string a0-2)
(task-status->string arg0)
)
)
+2 -2
View File
@@ -716,8 +716,8 @@
((mask uint16 :offset-assert 4)
(num float :offset-assert 8)
(group uint8 :offset-assert 12)
(sound-name-char uint8 16 :offset 16)
(sound-name sound-name :offset 16)
(sound-name-char uint8 16 :offset 16)
(trans float 4 :offset-assert 32)
(volume int32 :offset-assert 48)
(pitch-mod int32 :offset-assert 52)
@@ -741,7 +741,7 @@
(format #t "~Tmask: ~D~%" (-> obj mask))
(format #t "~Tnum: ~f~%" (-> obj num))
(format #t "~Tgroup: ~D~%" (-> obj group))
(format #t "~Tsound-name-char[16] @ #x~X~%" (-> obj sound-name-char))
(format #t "~Tsound-name-char[16] @ #x~X~%" (&-> obj sound-name))
(format #t "~Tsound-name: ~D~%" (-> obj sound-name))
(format #t "~Ttrans[4] @ #x~X~%" (-> obj trans))
(format #t "~Tvolume: ~D~%" (-> obj volume))
+1 -1
View File
@@ -861,7 +861,7 @@
"(~5D) effect sound ~A ~G "
(-> *display* base-frame-counter)
(-> pp name)
(-> spec sound-name-char)
(&-> spec sound-name)
)
(format
#t
@@ -329,10 +329,10 @@
)
;; definition (debug) for function target-print-stats
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 160 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 176 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 160 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 176 mismatch: defined as size 4, got size 16
;; Used lq/sq
(defun-debug target-print-stats ((arg0 target) (arg1 symbol))
(local-vars
@@ -1245,10 +1245,7 @@
150
)
(!= (-> self next-state name) 'target-walk)
(<
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
150
)
(< (- (-> *display* base-frame-counter) (-> self state-time)) 150)
(<
(- (-> *display* base-frame-counter) (-> self control unknown-dword21))
150
+2 -5
View File
@@ -424,7 +424,7 @@
:flop-radius (meters 1.4)
:flop0-offset (new 'static 'vector :y 3276.8 :w 1.0)
:flop1-offset (new 'static 'vector :y 9011.2 :w 1.0)
:stuck-time #x5a
:stuck-time (seconds 0.3)
:stuck-timeout (seconds 2)
:stuck-distance (meters 0.05)
:tongue-pull-speed-min 0.15
@@ -1045,10 +1045,7 @@
;; definition for function can-play-stance-amibent?
(defbehavior can-play-stance-amibent? target ()
(and
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
9000
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 9000)
(not (-> *setting-control* current talking))
(not (-> *setting-control* current spooling))
(not (-> *setting-control* current movie))
+2 -19
View File
@@ -904,25 +904,8 @@
(new 'static 'sound-spec
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x66
#x61
#x6c
#x6c
#x0
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6c61667265746177)
:volume #x400
)
)
@@ -67,12 +67,9 @@
(defmethod play-anim! bird-lady-beach ((obj bird-lady-beach) (arg0 symbol))
(with-pp
(case (current-status (-> obj tasks))
((6)
(((task-status need-reward-speech))
(when arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((s5-1 (get-process *default-dead-pool* manipy #x4000)))
(set! (-> obj flutflut) (ppointer->handle (when s5-1
@@ -188,9 +185,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 3)
@@ -206,7 +201,7 @@
;; definition for method 39 of type bird-lady-beach
(defmethod should-display? bird-lady-beach ((obj bird-lady-beach))
(= (current-status (-> obj tasks)) 6)
(= (current-status (-> obj tasks)) (task-status need-reward-speech))
)
;; definition for method 11 of type bird-lady-beach
+6 -6
View File
@@ -86,7 +86,7 @@
;; definition for method 32 of type bird-lady
(defmethod play-anim! bird-lady ((obj bird-lady) (arg0 symbol))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(if arg0
(close-status! (-> obj tasks) (task-status need-introduction))
)
@@ -181,7 +181,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(cond
((zero? (get-reminder (-> obj tasks) 0))
@@ -214,7 +214,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 3)
@@ -243,13 +243,13 @@
)
(cond
((< 0.66 f0-2)
(dummy-11 (-> obj ambient) "BIR-LO02" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "BIR-LO02" #f (-> obj root-override trans))
)
((< 0.33 f0-2)
(dummy-11 (-> obj ambient) "BIR-LO03" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "BIR-LO03" #f (-> obj root-override trans))
)
(else
(dummy-11 (-> obj ambient) "BIR-am08" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "BIR-am08" #f (-> obj root-override trans))
)
)
)
+6 -7
View File
@@ -81,6 +81,9 @@
:method-count-assert 76
:size-assert #x194
:flag-assert #x4c01300194
(:states
lurkercrab-pushed
)
)
;; definition for method 3 of type lurkercrab
@@ -1030,11 +1033,7 @@ nav-enemy-default-event-handler
)
)
)
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
300
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
(let ((v1-7 (-> self skel root-channel 0)))
(set! (-> v1-7 num-func) num-func-identity)
(set! (-> v1-7 frame-num) 0.0)
@@ -1133,11 +1132,11 @@ nav-enemy-default-event-handler
:run-travel-speed (meters 5.0)
:run-rotate-speed (degrees 999.99994)
:run-acceleration (meters 12.0)
:run-turn-time #x1e
:run-turn-time (seconds 0.1)
:walk-travel-speed (meters 2.0)
:walk-rotate-speed (degrees 999.99994)
:walk-acceleration (meters 12.0)
:walk-turn-time #x1e
:walk-turn-time (seconds 0.1)
:attack-shove-back (meters 1.2)
:attack-shove-up (meters 1.5)
:shadow-size (meters 2.0)
+2 -2
View File
@@ -563,11 +563,11 @@ nav-enemy-default-event-handler
:run-travel-speed (meters 5.0)
:run-rotate-speed (degrees 3999.9998)
:run-acceleration (meters 1.0)
:run-turn-time #x2d
:run-turn-time (seconds 0.15)
:walk-travel-speed (meters 2.0)
:walk-rotate-speed (degrees 1999.9999)
:walk-acceleration (meters 1.0)
:walk-turn-time #x1e
:walk-turn-time (seconds 0.1)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 2.0)
+45 -20
View File
@@ -105,7 +105,7 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 260))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(when arg0
(close-specific-task!
(game-task jungle-lurkerm)
@@ -452,7 +452,7 @@
)
)
)
((4 5)
(((task-status need-reminder-a) (task-status need-reminder))
(set! (-> obj skippable) #t)
(cond
((closed?
@@ -1683,21 +1683,18 @@
)
)
)
((6)
(((task-status need-reward-speech))
(if (not arg0)
(set! (-> obj will-talk) #t)
)
(case (current-task (-> obj tasks))
((3)
(((game-task jungle-lurkerm))
(mayor-lurkerm-reward-speech obj arg0)
)
(else
(cond
(arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((a1-15 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-15 from) pp)
@@ -2025,9 +2022,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 3)
@@ -2073,7 +2068,12 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "CHI-LO01" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"CHI-LO01"
#f
(-> obj root-override trans)
)
)
)
((< 0.7777778 f0-2)
@@ -2085,7 +2085,12 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "CHI-LO02" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"CHI-LO02"
#f
(-> obj root-override trans)
)
)
)
((< 0.6666667 f0-2)
@@ -2097,17 +2102,22 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "CHI-AM07" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"CHI-AM07"
#f
(-> obj root-override trans)
)
)
)
((< 0.5555556 f0-2)
(dummy-11 (-> obj ambient) "CHI-AM06" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "CHI-AM06" #f (-> obj root-override trans))
)
((< 0.44444445 f0-2)
(dummy-11 (-> obj ambient) "CHI-AM05" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "CHI-AM05" #f (-> obj root-override trans))
)
((< 0.33333334 f0-2)
(dummy-11 (-> obj ambient) "CHI-AM04" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "CHI-AM04" #f (-> obj root-override trans))
)
((< 0.22222222 f0-2)
(if
@@ -2118,7 +2128,12 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "CHI-AM03" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"CHI-AM03"
#f
(-> obj root-override trans)
)
)
)
((< 0.11111111 f0-2)
@@ -2130,7 +2145,12 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "CHI-AM02" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"CHI-AM02"
#f
(-> obj root-override trans)
)
)
)
(else
@@ -2142,7 +2162,12 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "CHI-AM01" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"CHI-AM01"
#f
(-> obj root-override trans)
)
)
)
)
+61 -61
View File
@@ -192,7 +192,7 @@
(defmethod play-anim! sculptor ((obj sculptor) (arg0 symbol))
(with-pp
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(if arg0
(close-status! (-> obj tasks) (task-status need-introduction))
)
@@ -271,7 +271,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(new 'static 'spool-anim
:name "sculptor-reminder-1"
@@ -280,12 +280,9 @@
:command-list '()
)
)
((6)
(((task-status need-reward-speech))
(when arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((s5-1 (get-process *default-dead-pool* manipy #x4000)))
(set! (-> obj muse) (ppointer->handle (when s5-1
@@ -353,9 +350,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 4)
@@ -366,9 +361,11 @@
;; definition for method 31 of type sculptor
(defmethod get-art-elem sculptor ((obj sculptor))
(let ((v1-1 (current-status (-> obj tasks))))
(if (or (zero? v1-1) (= v1-1 7))
(-> obj draw art-group data 11)
(case (current-status (-> obj tasks))
(((task-status invalid) (task-status need-resolution))
(-> obj draw art-group data 11)
)
(else
(-> obj draw art-group data 3)
)
)
@@ -390,25 +387,25 @@
)
(cond
((< 0.85714287 f0-2)
(dummy-11 (-> obj ambient) "SCU-LO01" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SCU-LO01" #f (-> obj root-override trans))
)
((< 0.71428573 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM05" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SCU-AM05" #f (-> obj root-override trans))
)
((< 0.5714286 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM06" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SCU-AM06" #f (-> obj root-override trans))
)
((< 0.42857143 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM03" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SCU-AM03" #f (-> obj root-override trans))
)
((< 0.2857143 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM04" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SCU-AM04" #f (-> obj root-override trans))
)
((< 0.14285715 f0-2)
(dummy-11 (-> obj ambient) "SCU-AM01" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SCU-AM01" #f (-> obj root-override trans))
)
(else
(dummy-11 (-> obj ambient) "SCU-AM02" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SCU-AM02" #f (-> obj root-override trans))
)
)
)
@@ -446,58 +443,61 @@
(suspend)
(ja-eval)
)
(let ((v1-16 (current-status (-> self tasks))))
(when (or (zero? v1-16) (= v1-16 7))
(let ((a0-12 (-> self skel root-channel 0)))
(set!
(-> a0-12 frame-group)
(the-as art-joint-anim (-> self draw art-group data 12))
)
(set!
(-> a0-12 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 12))
data
0
length
(case (current-status (-> self tasks))
(((task-status invalid) (task-status need-resolution))
(let ((a0-12 (-> self skel root-channel 0)))
(set!
(-> a0-12 frame-group)
(the-as art-joint-anim (-> self draw art-group data 12))
)
(set!
(-> a0-12 param 0)
(the
float
(+
(->
(the-as art-joint-anim (-> self draw art-group data 12))
data
0
length
)
-1
)
-1
)
)
)
(set! (-> a0-12 param 1) 1.0)
(set! (-> a0-12 frame-num) 0.0)
(joint-control-channel-group!
a0-12
(the-as art-joint-anim (-> self draw art-group data 12))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-13 (-> self skel root-channel 0)))
(set!
(-> a0-13 param 0)
(the float (+ (-> a0-13 frame-group data 0 length) -1))
)
(set! (-> a0-13 param 1) 1.0)
(joint-control-channel-group-eval!
a0-13
(the-as art-joint-anim #f)
(set! (-> a0-12 param 1) 1.0)
(set! (-> a0-12 frame-num) 0.0)
(joint-control-channel-group!
a0-12
(the-as art-joint-anim (-> self draw art-group data 12))
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-13 (-> self skel root-channel 0)))
(set!
(-> a0-13 param 0)
(the float (+ (-> a0-13 frame-group data 0 length) -1))
)
(set! (-> a0-13 param 1) 1.0)
(joint-control-channel-group-eval!
a0-13
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(muse-to-idle (the-as muse self))
)
(muse-to-idle (the-as muse self))
)
)
(while #t
(let ((v1-43 (current-status (-> self tasks))))
(cond
((or (zero? v1-43) (= v1-43 7))
((or
(= v1-43 (task-status invalid))
(= v1-43 (task-status need-resolution))
)
(let ((a0-18 (-> self skel root-channel 0)))
(set!
(-> a0-18 frame-group)
@@ -42,7 +42,7 @@
assistant-lavatube-end
((obj assistant-lavatube-end) (arg0 symbol))
(case (current-status (-> obj tasks))
((1 2)
(((task-status unknown) (task-status need-hint))
(new 'static 'spool-anim
:name "assistant-lavatube-end-resolution"
:index 4
@@ -50,7 +50,7 @@
:command-list '()
)
)
((6)
(((task-status need-reward-speech))
(if arg0
(close-current! (-> obj tasks))
)
@@ -120,7 +120,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(get-art-elem obj)
@@ -252,7 +252,10 @@
(first-any (-> obj tasks) #t)
(let ((v1-3 (current-status (-> obj tasks))))
(and
(or (= v1-3 6) (= v1-3 0))
(or
(= v1-3 (task-status need-reward-speech))
(= v1-3 (task-status invalid))
)
(not (task-closed? (game-task citadel-sage-green) (task-status need-hint)))
)
)
@@ -180,7 +180,7 @@
(while #t
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the-as int (-> self duration))
)
(go drop-plat-drop)
@@ -242,7 +242,7 @@
(while #t
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the-as int (-> self delay))
)
(let ((v1-14 (logand -3 (-> self draw status)))
@@ -297,10 +297,7 @@
0.0033333334
(the
float
(-
(-> *display* base-frame-counter)
(the-as int (-> self state-time))
)
(- (-> *display* base-frame-counter) (-> self state-time))
)
)
)
@@ -377,18 +374,11 @@
(the-as vector #t)
)
(let ((gp-1 (the int (* 300.0 (rand-vu-float-range 0.2 0.3)))))
(while
(<
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
gp-1
)
(while (< (- (-> *display* base-frame-counter) (-> self state-time)) gp-1)
(set!
(-> self interp)
(/
(the
float
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
)
(the float (- (-> *display* base-frame-counter) (-> self state-time)))
(the float gp-1)
)
)
@@ -854,7 +844,7 @@
(if
(or
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the-as int (+ (-> self duration) 600))
)
(or
@@ -48,7 +48,7 @@ nav-enemy-default-event-handler
)
)
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self state-timeout)
)
)
@@ -129,18 +129,11 @@ nav-enemy-default-event-handler
)
:trans
(behavior ()
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
(let ((f30-0 (- (-> (target-pos 0) y) (-> self collide-info trans y))))
(if
(and
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
900
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 900)
(or
(or
(not *target*)
@@ -160,7 +153,7 @@ nav-enemy-default-event-handler
)
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self state-timeout)
)
(if
@@ -573,10 +566,7 @@ nav-enemy-default-event-handler
)
)
)
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
900
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 900)
)
)
(go babak-with-cannon-jump-off-cannon)
+2 -2
View File
@@ -585,11 +585,11 @@
:run-travel-speed (meters 6.0)
:run-rotate-speed (degrees 2880.0)
:run-acceleration (meters 1.0)
:run-turn-time #x1e
:run-turn-time (seconds 0.1)
:walk-travel-speed (meters 3.0)
:walk-rotate-speed (degrees 720.0)
:walk-acceleration (meters 1.0)
:walk-turn-time #x96
:walk-turn-time (seconds 0.5)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 2.0)
+7 -13
View File
@@ -317,7 +317,7 @@
(else
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the int (* 300.0 (-> self timeout)))
)
(suspend)
@@ -788,10 +788,7 @@
(not
(member (level-status *level* (-> arg1 load-name)) '(loaded active))
)
(<
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
600
)
(< (- (-> *display* base-frame-counter) (-> self state-time)) 600)
)
(suspend)
)
@@ -860,7 +857,7 @@
(-> self control unknown-vector102 y)
(+ -4096.0 (-> self control unknown-vector102 y))
)
(set! (-> self control unknown-int11) (the-as int #f))
(set! (-> self control unknown-symbol20) #f)
(vector-reset! (-> self control transv))
(logior! (-> self state-flags) 1024)
(set! (-> self alt-cam-pos quad) (-> arg1 quad))
@@ -1023,12 +1020,9 @@
(and
(or
(< (vector-dot gp-2 (-> self control transv)) 0.0)
(-> self control unknown-int11)
)
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
15
(-> self control unknown-symbol20)
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 15)
)
(vector-seek!
(-> self draw color-mult)
@@ -1037,7 +1031,7 @@
)
(set! (-> self control transv x) (* 0.95 (-> self control transv x)))
(set! (-> self control transv z) (* 0.95 (-> self control transv z)))
(when (not (-> self control unknown-int11))
(when (not (-> self control unknown-symbol20))
(let ((a1-9 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-9 from) self)
(set! (-> a1-9 num-params) 2)
@@ -1047,7 +1041,7 @@
(send-event-function self a1-9)
)
(let ((v0-2 #t))
(set! (-> self control unknown-int11) (the-as int v0-2))
(set! (-> self control unknown-symbol20) v0-2)
v0-2
)
)
+1 -1
View File
@@ -16,7 +16,7 @@
(dummy-20 (_type_) none 20)
(dummy-21 (_type_) none 21)
(dummy-22 (_type_) none 22)
(TODO-RENAME-23 (_type_) skeleton-group 23)
(get-unlit-skel (_type_) skeleton-group 23)
(dummy-24 (_type_) none 24)
(TODO-RENAME-25 (_type_) sparticle-launch-group 25)
(dummy-26 (_type_) none 26)
@@ -595,11 +595,7 @@ battlecontroller-default-event-handler
(battlecontroller-fill-all-spawners)
)
(while #t
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
(set! (-> self state-time) (-> *display* base-frame-counter))
(when
(and
@@ -694,11 +690,7 @@ battlecontroller-default-event-handler
(set! (-> self state-time) (-> *display* base-frame-counter))
(battlecontroller-camera-on)
(while #t
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
(set! (-> self state-time) (-> *display* base-frame-counter))
(let ((gp-0 0))
(let ((v1-8 (-> self child)))
+4 -4
View File
@@ -202,8 +202,8 @@
(TODO-RENAME-48 (_type_) none 48)
(TODO-RENAME-49 (_type_ nav-enemy-info) float 49)
(TODO-RENAME-50 (_type_ vector) symbol 50)
(dummy-51 (_type_) float 51)
(dummy-52 (_type_ vector) vector 52)
(dummy-51 (_type_ vector) object 51)
(dummy-52 (_type_ vector) symbol 52)
(dummy-53 (_type_) symbol 53)
(dummy-54 (_type_) none 54)
(dummy-55 (_type_) none 55)
@@ -223,8 +223,8 @@
(dummy-69 (_type_) none 69)
(dummy-70 (_type_) none 70)
(dummy-71 (_type_) none 71)
(dummy-72 (_type_ process event-message-block) object 72)
(TODO-RENAME-73 (_type_ process) symbol 73)
(nav-enemy-touch-handler (_type_ process event-message-block) object 72)
(nav-enemy-attack-handler (_type_ process event-message-block) object 73)
(nav-enemy-jump-blocked () _type_ :state 74)
(dummy-75 (_type_) none 75)
)
+34 -59
View File
@@ -169,7 +169,7 @@
;; definition for method 72 of type nav-enemy
(defmethod
dummy-72
nav-enemy-touch-handler
nav-enemy
((obj nav-enemy) (arg0 process) (arg1 event-message-block))
(if
@@ -190,7 +190,11 @@
)
;; definition for method 73 of type nav-enemy
(defmethod TODO-RENAME-73 nav-enemy ((obj nav-enemy) (arg0 process))
;; INFO: Return type mismatch symbol vs object.
(defmethod
nav-enemy-attack-handler
nav-enemy
((obj nav-enemy) (arg0 process) (arg1 event-message-block))
(with-pp
(let ((v1-0 (new 'stack-no-clear 'event-message-block)))
(set! (-> v1-0 from) pp)
@@ -201,7 +205,7 @@
)
(logclear! (-> obj mask) (process-mask actor-pause attackable))
(go (method-of-object obj nav-enemy-die))
'die
(the-as object 'die)
)
)
@@ -324,11 +328,11 @@
(case arg2
(('touch)
(set! (-> self touch-time) (-> *display* base-frame-counter))
(dummy-72 self arg0 arg3)
(nav-enemy-touch-handler self arg0 arg3)
)
(('attack)
(nav-enemy-set-hit-from-direction arg0)
(TODO-RENAME-73 self arg0)
(nav-enemy-attack-handler self arg0 arg3)
)
)
)
@@ -821,38 +825,32 @@ nav-enemy-default-event-handler
s5-0
)
)
(s5-1 (the-as object #f))
(s5-1 (the-as collide-shape-prim #f))
)
(when s4-0
(dotimes (s3-0 (-> (the-as collide-shape-prim-group s4-0) num-prims))
(let*
((s2-0
(the-as
object
(->
(the-as collide-shape-prim-group (+ (* s3-0 4) (the-as int s4-0)))
prim
0
)
(->
(the-as collide-shape-prim-group (+ (* s3-0 4) (the-as int s4-0)))
prims
0
)
)
(v1-6
(if
(and
(nonzero? (the-as uint s2-0))
(type-type?
(-> (the-as collide-shape-prim s2-0) type)
collide-shape-prim-sphere
)
(nonzero? s2-0)
(type-type? (-> s2-0 type) collide-shape-prim-sphere)
)
(the-as uint s2-0)
s2-0
)
)
)
(when (the-as uint v1-6)
(when v1-6
(if
(or
(not (the-as uint s5-1))
(not s5-1)
(<
(-> (the-as collide-shape-prim-sphere v1-6) transform-index)
(-> (the-as collide-shape-prim-group s5-1) transform-index)
@@ -868,13 +866,13 @@ nav-enemy-default-event-handler
)
)
)
(set! s5-1 (the-as uint v1-6))
(set! s5-1 v1-6)
)
)
)
)
(if (the-as collide-shape-prim s5-1)
(set! (-> (the-as collide-shape-prim s5-1) collide-with) arg0)
(if s5-1
(set! (-> s5-1 collide-with) arg0)
)
)
)
@@ -1131,7 +1129,7 @@ nav-enemy-default-event-handler
)
)
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self state-timeout)
)
(nonzero? (-> self draw))
@@ -1210,14 +1208,10 @@ nav-enemy-default-event-handler
)
:trans
(behavior ()
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self state-timeout)
)
(if (and (nonzero? (-> self draw)) (logtest? (-> self draw status) 8))
@@ -1641,7 +1635,7 @@ nav-enemy-default-event-handler
(behavior ()
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self reaction-time)
)
(if
@@ -1864,7 +1858,7 @@ nav-enemy-default-event-handler
)
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self reaction-time)
)
(if
@@ -1967,11 +1961,7 @@ nav-enemy-default-event-handler
)
:trans
(behavior ()
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
(if (logtest? (-> *target* state-flags) 128)
(go-virtual nav-enemy-patrol)
)
@@ -1996,7 +1986,7 @@ nav-enemy-default-event-handler
)
(logtest? (nav-control-flags bit17) (-> self nav flags))
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self state-timeout)
)
)
@@ -2078,11 +2068,7 @@ nav-enemy-default-event-handler
)
:trans
(behavior ()
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
(if (logtest? (-> *target* state-flags) 128)
(go-virtual nav-enemy-patrol)
)
@@ -2132,7 +2118,7 @@ nav-enemy-default-event-handler
(set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags)))
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self state-timeout)
)
(go-virtual nav-enemy-give-up)
@@ -2183,11 +2169,7 @@ nav-enemy-default-event-handler
)
:trans
(behavior ()
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
(if (TODO-RENAME-46 self (-> self nav-info notice-distance))
(go-virtual nav-enemy-chase)
)
@@ -2853,10 +2835,7 @@ nav-enemy-default-event-handler
(behavior ()
(if
(or
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
150
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 150)
(logtest? (nav-control-flags bit19) (-> self nav flags))
)
(go-virtual nav-enemy-chase)
@@ -2888,11 +2867,7 @@ nav-enemy-default-event-handler
)
:trans
(behavior ()
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
150
)
(if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150)
(go (-> self jump-return-state))
)
(none)
+2 -8
View File
@@ -360,10 +360,7 @@
(or
(not *target*)
(and
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
1200
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200)
(not
(and
(logtest? (-> *target* control unknown-surface00 flags) 2048)
@@ -476,10 +473,7 @@
(or
(not *target*)
(and
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
1200
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200)
(not
(and
(logtest? (-> *target* control unknown-surface00 flags) 2048)
+20 -18
View File
@@ -83,12 +83,12 @@
:size-assert #x108
:flag-assert #x2100a00108
(:methods
(dummy-27 () none 27)
(get-lit-skel (_type_) skeleton-group 27)
(dummy-28 () none 28)
(wad () _type_ :state 29)
(plat-startup () _type_ :state 30)
(plat-startup (plat) _type_ :state 30)
(plat-idle () _type_ :state 31)
(plat-path-active () _type_ :state 32)
(plat-path-active (plat) _type_ :state 32)
)
)
@@ -163,7 +163,7 @@
)
;; definition for method 23 of type plat
(defmethod TODO-RENAME-23 plat ((obj plat))
(defmethod get-unlit-skel plat ((obj plat))
(cond
((= (-> (if (-> obj entity)
(-> obj entity extra level)
@@ -276,13 +276,13 @@
(defstate plat-startup (plat)
:virtual #t
:code
(behavior ()
(behavior ((arg0 plat))
(cond
((logtest? (-> self path flags) (path-control-flag not-found))
(go-virtual plat-idle)
)
((> (-> self sync period) 0)
(go-virtual plat-path-active)
(go-virtual plat-path-active arg0)
)
(else
(go-virtual plat-idle)
@@ -373,7 +373,7 @@
(none)
)
:code
(the-as (function none :behavior plat) anim-loop)
(the-as (function plat none :behavior plat) anim-loop)
:post
(the-as (function none :behavior plat) plat-post)
)
@@ -383,7 +383,7 @@
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
(dummy-24 obj)
(process-drawable-from-entity! obj arg0)
(dummy-14 obj (TODO-RENAME-23 obj) '())
(dummy-14 obj (get-unlit-skel obj) '())
(logior! (-> obj skel status) 1)
(dummy-47 (-> obj root-override))
(dummy-21 obj)
@@ -408,8 +408,10 @@
(cond
((logtest? (-> obj path flags) (path-control-flag not-found))
(set! (-> obj path-pos) 0.0)
(dummy-26 obj)
(go (method-of-object obj plat-startup))
(let ((a0-14 obj))
(dummy-26 a0-14)
(go (method-of-object obj plat-startup) a0-14)
)
)
((> (-> obj sync period) 0)
(set! (-> obj path-pos) (if (logtest? (-> obj fact options) 8)
@@ -423,8 +425,10 @@
(-> obj path-pos)
'interp
)
(dummy-26 obj)
(go (method-of-object obj plat-startup))
(let ((a0-18 obj))
(dummy-26 a0-18)
(go (method-of-object obj plat-startup) a0-18)
)
)
(else
(set! (-> obj path-pos) 0.0)
@@ -434,13 +438,11 @@
(-> obj path-pos)
'interp
)
(dummy-26 obj)
(go (method-of-object obj plat-startup))
(let ((a0-20 obj))
(dummy-26 a0-20)
(go (method-of-object obj plat-startup) a0-20)
)
)
)
(none)
)
+5 -9
View File
@@ -365,7 +365,7 @@ nav-enemy-default-event-handler
)
)
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self state-timeout)
)
)
@@ -663,11 +663,7 @@ nav-enemy-default-event-handler
(f28-0 (-> self collide-info transv y))
(f26-0 (-> self collide-info trans y))
)
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
900
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900)
(let ((gp-1 (-> self skel root-channel 0)))
(set!
(-> gp-1 frame-group)
@@ -1054,7 +1050,7 @@ nav-enemy-default-event-handler
)
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self state-timeout)
)
(go-virtual nav-enemy-patrol)
@@ -1190,11 +1186,11 @@ nav-enemy-default-event-handler
:run-travel-speed (meters 12.0)
:run-rotate-speed (degrees 1999.9999)
:run-acceleration (meters 6.0)
:run-turn-time #x96
:run-turn-time (seconds 0.5)
:walk-travel-speed (meters 6.0)
:walk-rotate-speed (degrees 1999.9999)
:walk-acceleration (meters 6.0)
:walk-turn-time #x96
:walk-turn-time (seconds 0.5)
:attack-shove-back (meters 1.0)
:attack-shove-up (meters 0.5)
:shadow-size (meters 2.0)
+46 -437
View File
@@ -898,25 +898,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 70
:fo-max 80
@@ -931,25 +914,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 50
:fo-max 60
@@ -963,25 +929,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 48
:fo-max 58
@@ -996,25 +945,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 30
:fo-max 40
@@ -1029,25 +961,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 15
:fo-max 25
@@ -1062,25 +977,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 27
:fo-max 37
@@ -1095,25 +993,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 26
:fo-max 36
@@ -1128,25 +1009,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 25
:fo-max 35
@@ -1161,25 +1025,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 45
:fo-max 55
@@ -1194,25 +1041,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 20
:fo-max 30
@@ -1226,25 +1056,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 40
:fo-max 50
@@ -1258,25 +1071,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 20
:fo-max 30
@@ -1291,25 +1087,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x77
#x61
#x74
#x65
#x72
#x2d
#x6c
#x6f
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6f6c2d7265746177)
:volume #x400
:fo-min 27
:fo-max 37
@@ -1324,25 +1103,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 22
:fo-max 32
@@ -1362,25 +1124,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 70
:fo-max 80
@@ -1395,25 +1140,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 40
:fo-max 50
@@ -1428,25 +1156,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 37
:fo-max 47
@@ -1461,25 +1172,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 20
:fo-max 30
@@ -1493,25 +1187,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 51
:fo-max 61
@@ -1525,25 +1202,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 54
:fo-max 64
@@ -1619,25 +1279,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 17
:fo-max 27
@@ -1688,25 +1331,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x68
#x65
#x6c
#x69
#x78
#x2d
#x64
#x61
#x72
#x6b
#x2d
#x65
#x63
#x6f
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x61642d78696c6568)
:volume #x400
:fo-min #x78
:fo-max #x82
@@ -1721,25 +1347,8 @@
:mask #xc0
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x61
#x72
#x6b
#x65
#x63
#x6f
#x2d
#x70
#x6f
#x6f
#x6c
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6f63656b726164)
:volume #x400
:fo-min 19
:fo-max 29
@@ -482,17 +482,10 @@
-2.2755556
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
300
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
(let
((f0-2
(the
float
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
)
(the float (- (-> *display* base-frame-counter) (-> self state-time)))
)
)
(eval-position! gp-1 f0-2 (-> self root-override trans))
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+12 -11
View File
@@ -41,25 +41,26 @@
;; definition of type robotboss
(deftype robotboss (process-drawable)
((alts entity-actor 13 :offset-assert 176)
((root-override collide-shape-moving :offset 112)
(alts entity-actor 13 :offset-assert 176)
(desired-loc vector :inline :offset-assert 240)
(old-loc vector :inline :offset-assert 256)
(loc-t float :offset-assert 272)
(loc-t-start seconds :offset-assert 280)
(loc-t-duration seconds :offset-assert 288)
(loc-t-start int64 :offset-assert 280)
(loc-t-duration int64 :offset-assert 288)
(hits-to-go int32 :offset-assert 296)
(took-hit symbol :offset-assert 300)
(children-spawned int32 :offset-assert 304)
(vulnerable seconds :offset-assert 312)
(till-next-shot seconds :offset-assert 320)
(shot-attractor uint64 :offset-assert 328)
(vulnerable int64 :offset-assert 312)
(till-next-shot int64 :offset-assert 320)
(shot-attractor handle :offset-assert 328)
(desired-pool-y float :offset-assert 336)
(particle sparticle-launch-control 7 :offset-assert 340)
(blue-smoke basic :offset-assert 368)
(red-smoke basic :offset-assert 372)
(yellow-smoke basic :offset-assert 376)
(blue-smoke symbol :offset-assert 368)
(red-smoke symbol :offset-assert 372)
(yellow-smoke symbol :offset-assert 376)
(white-eco handle :offset-assert 384)
(des-cam-entity basic :offset-assert 392)
(des-cam-entity string :offset-assert 392)
(use-interesting symbol :offset-assert 396)
(ignore-camera symbol :offset-assert 400)
(ambient ambient-control :offset 408)
@@ -76,7 +77,7 @@
:size-assert #x1d0
:flag-assert #x15001601d0
(:methods
(dummy-20 () none 20)
(ease-loc-t (_type_) float 20)
)
)
@@ -0,0 +1,939 @@
;;-*-Lisp-*-
(in-package goal)
;; failed to figure out what this is:
(let
((v1-0
(new 'static 'skeleton-group
:art-group-name "medres-snowback"
:bounds
(new 'static 'vector :x -1474560.0 :y 409600.0 :z 409600.0 :w 1556480.0)
:longest-edge (meters 0.01)
:version #x6
)
)
)
(set! (-> v1-0 jgeo) 0)
(set! (-> v1-0 janim) 2)
(set! (-> v1-0 mgeo 0) (the-as uint 1))
(set! (-> v1-0 lod-dist 0) 4095996000.0)
(set! *med-res-snow1-sg* v1-0)
)
;; failed to figure out what this is:
(defstate cam-robotboss (camera-slave)
:event
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(case arg2
(('set-pivot)
(let ((v0-0 (the-as object (-> self pivot-pt))))
(set!
(-> (the-as vector v0-0) quad)
(-> (the-as vector (-> arg3 param 0)) quad)
)
v0-0
)
)
(('teleport)
#f
)
(else
(cam-standard-event-handler arg0 arg1 arg2 arg3)
)
)
)
:enter
(behavior ()
(cond
((-> self enter-has-run)
)
(else
(set! *camera-base-mode* cam-robotboss)
(set! (-> self circular-follow quad) (-> *camera* tpos-curr-adj quad))
(set! (-> self pivot-rad) 73728.0)
(set! (-> self blend-from-type) (the-as uint 2))
(set! (-> self blend-to-type) (the-as uint 2))
)
)
(none)
)
:trans
(behavior ()
(when (zero? (logand (-> *camera* master-options) 2))
(set! *camera-base-mode* cam-string)
(cam-slave-go cam-free-floating)
)
(none)
)
:code
(behavior ()
(while #t
(when #t
(let ((a2-0 (new-stack-vector0)))
(vector-! a2-0 (-> *camera* tpos-curr-adj) (-> self pivot-pt))
(vector-!
(-> self circular-follow)
(-> self circular-follow)
(-> self pivot-pt)
)
(v-slrp3!
(-> self circular-follow)
(-> self circular-follow)
a2-0
(-> *camera* local-down)
(* 182.04445 (-> *display* time-adjust-ratio))
)
)
(vector+!
(-> self circular-follow)
(-> self circular-follow)
(-> self pivot-pt)
)
(let ((gp-0 (new 'stack-no-clear 'vector)))
(vector-! gp-0 (-> self circular-follow) (-> self pivot-pt))
(vector-flatten! gp-0 gp-0 (-> *camera* local-down))
(let ((f0-3 (- (vector-length gp-0) (-> self pivot-rad))))
(if (>= 0.0 f0-3)
(vector-reset! gp-0)
(vector-normalize! gp-0 f0-3)
)
)
(vector+! (-> self trans) gp-0 (-> self pivot-pt))
)
)
(suspend)
)
(none)
)
)
;; definition of type ecoclaw-part-info
(deftype ecoclaw-part-info (structure)
((tracker handle :offset-assert 0)
(kind basic :offset-assert 8)
(trans vector :inline :offset-assert 16)
)
:method-count-assert 9
:size-assert #x20
:flag-assert #x900000020
)
;; definition for method 3 of type ecoclaw-part-info
(defmethod inspect ecoclaw-part-info ((obj ecoclaw-part-info))
(format #t "[~8x] ~A~%" obj 'ecoclaw-part-info)
(format #t "~Ttracker: ~D~%" (-> obj tracker))
(format #t "~Tkind: ~A~%" (-> obj kind))
(format #t "~Ttrans: #<vector @ #x~X>~%" (-> obj trans))
obj
)
;; definition of type ecoclaw
(deftype ecoclaw (process-drawable)
((particles ecoclaw-part-info 3 :inline :offset-assert 176)
)
:heap-base #xa0
:method-count-assert 20
:size-assert #x110
:flag-assert #x1400a00110
)
;; definition for method 3 of type ecoclaw
(defmethod inspect ecoclaw ((obj ecoclaw))
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 obj)
)
(format #t "~T~Tparticles[3] @ #x~X~%" (-> obj particles))
obj
)
;; failed to figure out what this is:
(let
((v1-4
(new 'static 'skeleton-group
:art-group-name "ecoclaw"
:bounds
(new 'static 'vector :y 8192.0 :w 36864.0)
:version #x6
)
)
)
(set! (-> v1-4 jgeo) 0)
(set! (-> v1-4 janim) 2)
(set! (-> v1-4 mgeo 0) (the-as uint 1))
(set! (-> v1-4 lod-dist 0) 4095996000.0)
(set! *ecoclaw-sg* v1-4)
)
;; definition for function ecoclaw-beam-particle-callback
;; INFO: Return type mismatch int vs none.
(defun ecoclaw-beam-particle-callback ((arg0 part-tracker))
(let* ((a0-1 (the-as (pointer projectile) (-> arg0 userdata)))
(v1-1 (-> a0-1 0 parent-base))
(a0-3 (-> a0-1 0 base-vector))
(gp-1 (vector-! (new 'stack-no-clear 'vector) a0-3 v1-1))
(f30-0 (vector-y-angle gp-1))
(f0-1 (- 16384.0 (vector-x-angle gp-1)))
)
(set! (-> *part-id-table* 2727 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2727 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2729 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2729 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2726 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2726 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2720 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2720 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2722 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2722 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2719 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2719 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2734 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2734 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2736 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2736 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2733 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2733 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2741 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2741 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2743 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2743 init-specs 13 initial-valuef) f0-1)
(set! (-> *part-id-table* 2740 init-specs 14 initial-valuef) f30-0)
(set! (-> *part-id-table* 2740 init-specs 13 initial-valuef) f0-1)
)
0
(none)
)
;; definition for function ecoclaw-handler
;; INFO: Return type mismatch none vs object.
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code?
;; Used lq/sq
(defbehavior
ecoclaw-handler ecoclaw
((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(let ((v1-0 arg2))
(the-as object (cond
((= v1-0 'open)
(let ((gp-1 (-> arg3 param 0)))
(set!
(-> self particles 0 kind)
(the-as
basic
(if
(and
(nonzero? gp-1)
(type-type? (rtype-of gp-1) sparticle-launch-group)
)
gp-1
)
)
)
)
(set!
(-> self particles 0 trans quad)
(-> self root trans quad)
)
(let ((f0-1 (+ 12288.0 (-> self particles 0 trans y))))
(set! (-> self particles 0 trans y) f0-1)
f0-1
)
)
((= v1-0 'beam-on)
(let ((s5-0 (-> arg3 param 0)))
(set!
(-> self particles 1 kind)
(the-as
basic
(if
(and
(nonzero? s5-0)
(type-type? (rtype-of s5-0) sparticle-launch-group)
)
s5-0
)
)
)
)
(set!
(-> self particles 1 trans quad)
(-> self root trans quad)
)
(set!
(-> self particles 1 trans y)
(+ 24576.0 (-> self particles 1 trans y))
)
(let ((s5-1 (-> arg3 param 1)))
(set!
(-> self particles 2 kind)
(the-as
basic
(if
(and
(nonzero? s5-1)
(type-type? (rtype-of s5-1) sparticle-launch-group)
)
s5-1
)
)
)
)
(set!
(-> self particles 2 trans quad)
(-> (the-as vector (-> arg3 param 2)) quad)
)
(let ((f0-5 (+ 81920.0 (-> self particles 2 trans y))))
(set! (-> self particles 2 trans y) f0-5)
f0-5
)
)
((= v1-0 'beam-off)
(set! (-> self particles 1 kind) #f)
(set! (-> self particles 2 kind) #f)
(let
((a0-10 (handle->process (-> self particles 1 tracker))))
(if a0-10
(deactivate a0-10)
)
)
(let
((a0-14 (handle->process (-> self particles 2 tracker))))
(if a0-14
(deactivate a0-14)
)
)
)
)
)
)
)
;; failed to figure out what this is:
(defstate ecoclaw-activate (ecoclaw)
:event
ecoclaw-handler
:trans
(behavior ()
(if (-> self particles 1 kind)
(draw-eco-beam
(the-as vector (&-> self stack 112))
(the-as vector (&-> self stack 144))
)
)
(dotimes (gp-0 2)
(cond
((handle->process (-> self particles gp-0 tracker))
(set!
(->
(the-as part-tracker (-> self particles gp-0 tracker process 0))
start-time
)
(the-as uint (-> *display* base-frame-counter))
)
)
((-> self particles gp-0 kind)
(let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000)))
(set! (-> self particles gp-0 tracker) (ppointer->handle (when s5-0
(let
((t9-2
(method-of-type
part-tracker
activate
)
)
)
(t9-2
(the-as
part-tracker
s5-0
)
self
'part-tracker
(the-as
pointer
#x70004000
)
)
)
(run-now-in-process
s5-0
part-tracker-init
(->
self
particles
gp-0
kind
)
-1
ecoclaw-beam-particle-callback
(->
self
ppointer
)
#f
(&+
(&->
self
stack
80
)
(* gp-0 32)
)
)
(->
s5-0
ppointer
)
)
)
)
)
)
)
)
(none)
)
:code
(behavior ()
(let ((a0-0 (-> self skel root-channel 0)))
(set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0)
(-> self skel root-channel 0 frame-group)
)
)
(set!
(-> a0-0 param 0)
(the float (+ (-> (if (> (-> self skel active-channels) 0)
(-> self skel root-channel 0 frame-group)
)
data
0
length
)
-1
)
)
)
(set! (-> a0-0 param 1) 1.0)
(set! (-> a0-0 frame-num) 0.0)
(joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0)
(->
self
skel
root-channel
0
frame-group
)
)
num-func-seek!
)
)
(until (ja-done? 0)
(suspend)
(let ((a0-1 (-> self skel root-channel 0)))
(set!
(-> a0-1 param 0)
(the float (+ (-> a0-1 frame-group data 0 length) -1))
)
(set! (-> a0-1 param 1) 1.0)
(joint-control-channel-group-eval!
a0-1
(the-as art-joint-anim #f)
num-func-seek!
)
)
)
(while #t
(suspend)
)
(none)
)
:post
(the-as (function none :behavior ecoclaw) ja-post)
)
;; failed to figure out what this is:
(defstate ecoclaw-idle (ecoclaw)
:event
ecoclaw-handler
:code
(behavior ()
(while #t
(if (-> self particles 0 kind)
(go ecoclaw-activate)
)
(suspend)
)
(none)
)
:post
(the-as (function none :behavior ecoclaw) ja-post)
)
;; definition for method 11 of type ecoclaw
(defmethod copy-defaults! ecoclaw ((obj ecoclaw) (arg0 res-lump))
(set! (-> obj root) (new 'process 'trsqv))
(process-drawable-from-entity! obj arg0)
(dummy-14 obj *ecoclaw-sg* '())
(dotimes (v1-3 3)
(set! (-> obj particles v1-3 kind) #f)
(set! (-> obj particles v1-3 tracker) (the-as handle #f))
)
(set! *ecoclaw* (the-as (pointer ecoclaw) (process->ppointer obj)))
(go ecoclaw-idle)
(none)
)
;; definition of type silodoor
(deftype silodoor (process-drawable)
((part-opened float :offset-assert 176)
)
:heap-base #x50
:method-count-assert 22
:size-assert #xb4
:flag-assert #x16005000b4
(:methods
(idle () _type_ :state 20)
(hidden () _type_ :state 21)
)
)
;; definition for method 3 of type silodoor
(defmethod inspect silodoor ((obj silodoor))
(let ((t9-0 (method-of-type process-drawable inspect)))
(t9-0 obj)
)
(format #t "~T~Tpart-opened: ~f~%" (-> obj part-opened))
obj
)
;; failed to figure out what this is:
(let
((v1-10
(new 'static 'skeleton-group
:art-group-name "silodoor"
:bounds (new 'static 'vector :w 102400.0)
:version #x6
)
)
)
(set! (-> v1-10 jgeo) 0)
(set! (-> v1-10 janim) 2)
(set! (-> v1-10 mgeo 0) (the-as uint 1))
(set! (-> v1-10 lod-dist 0) 4095996000.0)
(set! *silodoor-sg* v1-10)
)
;; failed to figure out what this is:
(defstate idle (silodoor)
:virtual #t
:event
(behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(let ((v1-0 arg2))
(the-as object (cond
((= v1-0 'open)
(let ((f0-0 (the-as float (-> arg3 param 0))))
(set! (-> self part-opened) f0-0)
f0-0
)
)
((= v1-0 'hide)
(go-virtual hidden)
)
)
)
)
)
:trans
(the-as (function none :behavior silodoor) rider-trans)
:code
(behavior ()
(while #t
(when (not (movie?))
(let ((gp-0 (-> self skel root-channel 0)))
(set!
(-> gp-0 param 0)
(* (-> self part-opened) (the float (ja-num-frames 0)))
)
(set! (-> gp-0 param 1) 0.01)
(joint-control-channel-group-eval!
gp-0
(the-as art-joint-anim #f)
num-func-seek!
)
)
(cond
((<
0.01
(fabs
(-
(* (-> self part-opened) (the float (ja-num-frames 0)))
(ja-aframe-num 0)
)
)
)
(if (nonzero? (-> self sound))
(update! (-> self sound))
)
)
((nonzero? (-> self sound))
(stop! (-> self sound))
)
)
)
(suspend)
)
(none)
)
:post
(behavior ()
(if
(and
(< (vector-vector-xz-distance (target-pos 0) (-> self root trans)) 57344.0)
(not (ja-min? 0))
)
(rider-post)
(transform-post)
)
(none)
)
)
;; failed to figure out what this is:
(defstate hidden (silodoor)
:virtual #t
:code
(behavior ()
(if (nonzero? (-> self sound))
(stop! (-> self sound))
)
(logior! (-> self draw status) 2)
(ja-post)
(while
(not
(task-closed? (game-task finalboss-movies) (task-status need-reminder-a))
)
(suspend)
)
(set! (-> self draw status) (logand -3 (-> self draw status)))
(let ((v1-12 (-> self skel root-channel 0)))
(set! (-> v1-12 num-func) num-func-identity)
(set! (-> v1-12 frame-num) 0.0)
)
(set! (-> self part-opened) 0.0)
(go-virtual idle)
(none)
)
)
;; definition for method 11 of type silodoor
(defmethod copy-defaults! silodoor ((obj silodoor) (arg0 res-lump))
(let
((s4-0
(new
'process
'collide-shape-moving
obj
(collide-list-enum usually-hit-by-player)
)
)
)
(set! (-> s4-0 dynam) (copy *standard-dynamics* 'process))
(set! (-> s4-0 reaction) default-collision-reaction)
(set! (-> s4-0 no-reaction) nothing)
(dummy-29 s4-0 1)
(let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 4) 0)))
(set! (-> s3-0 prim-core collide-as) (the-as uint 2048))
(set! (-> s3-0 collide-with) (the-as uint 16))
(set! (-> s3-0 prim-core action) (the-as uint 3))
(set! (-> s3-0 transform-index) 0)
(set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 102400.0)
(dummy-46 s4-0)
(let
((s2-0
(new
'process
'collide-shape-prim-mesh
s4-0
(the-as uint 0)
(the-as uint 0)
)
)
)
(set! (-> s2-0 prim-core collide-as) (the-as uint 2048))
(set! (-> s2-0 collide-with) (the-as uint 16))
(set! (-> s2-0 prim-core action) (the-as uint 19))
(set! (-> s2-0 prim-core offense) 4)
(set! (-> s2-0 transform-index) 5)
(set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 102400.0)
)
(dummy-28 s3-0)
(let
((s2-1
(new
'process
'collide-shape-prim-mesh
s4-0
(the-as uint 1)
(the-as uint 0)
)
)
)
(set! (-> s2-1 prim-core collide-as) (the-as uint 2048))
(set! (-> s2-1 collide-with) (the-as uint 16))
(set! (-> s2-1 prim-core action) (the-as uint 19))
(set! (-> s2-1 prim-core offense) 4)
(set! (-> s2-1 transform-index) 4)
(set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 102400.0)
)
(dummy-28 s3-0)
(let
((s2-2
(new
'process
'collide-shape-prim-mesh
s4-0
(the-as uint 2)
(the-as uint 0)
)
)
)
(set! (-> s2-2 prim-core collide-as) (the-as uint 2048))
(set! (-> s2-2 collide-with) (the-as uint 16))
(set! (-> s2-2 prim-core action) (the-as uint 19))
(set! (-> s2-2 prim-core offense) 4)
(set! (-> s2-2 transform-index) 7)
(set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 102400.0)
)
(dummy-28 s3-0)
(let
((s2-3
(new
'process
'collide-shape-prim-mesh
s4-0
(the-as uint 3)
(the-as uint 0)
)
)
)
(set! (-> s2-3 prim-core collide-as) (the-as uint 2048))
(set! (-> s2-3 collide-with) (the-as uint 16))
(set! (-> s2-3 prim-core action) (the-as uint 19))
(set! (-> s2-3 prim-core offense) 4)
(set! (-> s2-3 transform-index) 6)
(set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 102400.0)
)
(dummy-28 s3-0)
)
(set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
(dummy-50 s4-0)
(set! (-> obj root) s4-0)
)
(process-drawable-from-entity! obj arg0)
(dummy-14 obj *silodoor-sg* '())
(logior! (-> obj skel status) 1)
(set! (-> obj root pause-adjust-distance) 1228800.0)
(set!
(-> obj sound)
(new
'process
'ambient-sound
(new 'static 'sound-spec
:mask #x80
:num 1.0
:group #x1
:sound-name
(new 'static 'sound-name :lo #x766f6d2d6f6c6973)
:volume #x400
:fo-max 80
)
(-> obj root trans)
)
)
(logclear! (-> obj mask) (process-mask actor-pause crate enemy attackable))
(set! (-> obj part-opened) 0.0)
(go (method-of-object obj idle))
(none)
)
;; definition of type finalbosscam
(deftype finalbosscam (process-taskable)
((robotboss handle :offset-assert 384)
)
:heap-base #x120
:method-count-assert 53
:size-assert #x188
:flag-assert #x3501200188
)
;; definition for method 3 of type finalbosscam
(defmethod inspect finalbosscam ((obj finalbosscam))
(let ((t9-0 (method-of-type process-taskable inspect)))
(t9-0 obj)
)
(format #t "~T~Trobotboss: ~D~%" (-> obj robotboss))
obj
)
;; failed to figure out what this is:
(let
((v1-17
(new 'static 'skeleton-group
:art-group-name "finalbosscam"
:bounds (new 'static 'vector :w 16384.0)
:version #x6
)
)
)
(set! (-> v1-17 jgeo) 0)
(set! (-> v1-17 janim) 2)
(set! (-> v1-17 mgeo 0) (the-as uint 1))
(set! (-> v1-17 lod-dist 0) 4095996000.0)
(set! *finalbosscam-sg* v1-17)
)
;; definition for function robotboss-manipy-trans-hook
;; INFO: Return type mismatch int vs none.
(defbehavior robotboss-manipy-trans-hook robotboss ()
(let ((gp-0 (new 'stack-no-clear 'vector)))
(vector<-cspace! gp-0 (-> self node-list data 7))
(spawn (-> self part) gp-0)
)
0
(none)
)
;; definition for method 32 of type finalbosscam
;; INFO: Return type mismatch spool-anim vs basic.
(defmethod play-anim! finalbosscam ((obj finalbosscam) (arg0 symbol))
(with-pp
(when arg0
(let ((s5-0 (get-process *default-dead-pool* manipy #x4000)))
(set! (-> obj robotboss) (ppointer->handle (when s5-0
(let
((t9-1
(method-of-type
manipy
activate
)
)
)
(t9-1
(the-as manipy s5-0)
obj
'manipy
(the-as pointer #x70004000)
)
)
(run-now-in-process
s5-0
manipy-init
(-> obj root-override trans)
(-> obj entity)
*robotboss-sg*
#f
)
(-> s5-0 ppointer)
)
)
)
)
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-4 from) pp)
(set! (-> a1-4 num-params) 1)
(set! (-> a1-4 message) 'anim-mode)
(set! (-> a1-4 param 0) (the-as uint 'clone-anim))
(send-event-function (handle->process (-> obj robotboss)) a1-4)
)
(let ((a1-5 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-5 from) pp)
(set! (-> a1-5 num-params) 1)
(set! (-> a1-5 message) 'center-joint)
(set! (-> a1-5 param 0) (the-as uint 3))
(send-event-function (handle->process (-> obj robotboss)) a1-5)
)
(let ((a1-6 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-6 from) pp)
(set! (-> a1-6 num-params) 1)
(set! (-> a1-6 message) 'origin-joint-index)
(set! (-> a1-6 param 0) (the-as uint 3))
(send-event-function (handle->process (-> obj robotboss)) a1-6)
)
(let ((a1-7 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-7 from) pp)
(set! (-> a1-7 num-params) 1)
(set! (-> a1-7 message) 'trans-hook)
(set! (-> a1-7 param 0) (the-as uint robotboss-manipy-trans-hook))
(send-event-function (handle->process (-> obj robotboss)) a1-7)
)
(let ((a1-8 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-8 from) pp)
(set! (-> a1-8 num-params) 1)
(set! (-> a1-8 message) 'eval)
(set!
(-> a1-8 param 0)
(the-as
uint
(lambda :behavior finalbosscam
()
(let
((v0-0 (create-launch-control (-> *part-group-id-table* 645) self)))
(set! (-> self part) v0-0)
v0-0
)
)
)
)
(send-event-function (handle->process (-> obj robotboss)) a1-8)
)
(let ((v1-43 (handle->process (-> obj robotboss))))
(if v1-43
(set! (-> (the-as robotboss v1-43) draw bounds w) 327680.0)
)
)
)
(the-as
basic
(new 'static 'spool-anim
:name "finalbosscam-white-eco"
:index 3
:parts 3
:command-list '()
)
)
)
)
;; definition for method 31 of type finalbosscam
(defmethod get-art-elem finalbosscam ((obj finalbosscam))
(-> obj draw art-group data 2)
)
;; definition for method 39 of type finalbosscam
(defmethod should-display? finalbosscam ((obj finalbosscam))
#f
)
;; failed to figure out what this is:
(defstate play-anim (finalbosscam)
:virtual #t
:exit
(behavior ()
(let ((a0-1 (handle->process (-> self robotboss))))
(if a0-1
(deactivate a0-1)
)
)
((-> (method-of-type process-taskable play-anim) exit))
(none)
)
)
;; definition for function finalbosscam-init-by-other
(defbehavior finalbosscam-init-by-other finalbosscam ((arg0 entity))
(set! (-> self entity) arg0)
(dummy-40 self arg0 *finalbosscam-sg* 4 4 (new 'static 'vector :w 4096.0) 4)
(set! (-> self tasks) (get-task-control (game-task finalboss-movies)))
(set! (-> self robotboss) (the-as handle #f))
(go-virtual hidden)
(none)
)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -42,7 +42,7 @@
assistant-firecanyon
((obj assistant-firecanyon) (arg0 symbol))
(case (current-status (-> obj tasks))
((6)
(((task-status need-reward-speech))
(if arg0
(close-current! (-> obj tasks))
)
@@ -108,7 +108,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 3)
@@ -118,7 +118,7 @@
;; definition for method 31 of type assistant-firecanyon
(defmethod get-art-elem assistant-firecanyon ((obj assistant-firecanyon))
(if (zero? (current-status (-> obj tasks)))
(if (= (current-status (-> obj tasks)) (task-status invalid))
(-> obj draw art-group data 8)
(-> obj draw art-group data 3)
)
@@ -164,13 +164,7 @@
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3))
)
)
(<
(-
(-> *display* base-frame-counter)
(the-as int (-> self state-time))
)
3000
)
(< (- (-> *display* base-frame-counter) (-> self state-time)) 3000)
)
)
(hide-hud)
@@ -246,7 +240,7 @@
(while #t
(let ((gp-0 #t))
(cond
((zero? (current-status (-> self tasks)))
((= (current-status (-> self tasks)) (task-status invalid))
(let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256))
(v1-9 (the-as number (logior #x3f800000 v1-8)))
)
@@ -846,7 +840,7 @@
;; definition for method 39 of type assistant-firecanyon
(defmethod should-display? assistant-firecanyon ((obj assistant-firecanyon))
(first-any (-> obj tasks) #t)
(= (current-status (-> obj tasks)) 6)
(= (current-status (-> obj tasks)) (task-status need-reward-speech))
)
;; definition for method 11 of type assistant-firecanyon
@@ -616,25 +616,8 @@
:mask #x80
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x7a
#x6f
#x6f
#x6d
#x2d
#x74
#x65
#x6c
#x65
#x70
#x6f
#x72
#x74
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6c65742d6d6f6f7a)
:volume #x400
:fo-max 30
)
+1 -5
View File
@@ -286,7 +286,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(the-as basic (get-art-elem obj))
@@ -315,7 +315,3 @@
(dummy-42 obj)
(none)
)
+1 -4
View File
@@ -154,10 +154,7 @@
(set! (-> self smush) 0.0)
(while #t
(cond
((>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
60
)
((>= (- (-> *display* base-frame-counter) (-> self state-time)) 60)
(let ((a0-1 (-> self skel root-channel 0)))
(set! (-> a0-1 param 0) 0.0)
(set! (-> a0-1 param 1) 0.1)
File diff suppressed because it is too large Load Diff
+4 -12
View File
@@ -397,11 +397,7 @@ nav-enemy-default-event-handler
)
(set! (-> gp-0 frame-num) 0.0)
)
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
150
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150)
(suspend)
(let ((a0-21 (-> self skel root-channel 0)))
(set! (-> a0-21 param 0) 1.0)
@@ -582,11 +578,7 @@ nav-enemy-default-event-handler
)
(set! (-> gp-0 frame-num) 0.0)
)
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
60
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60)
(suspend)
(let ((a0-21 (-> self skel root-channel 0)))
(set! (-> a0-21 param 0) 1.0)
@@ -640,11 +632,11 @@ nav-enemy-default-event-handler
:run-travel-speed (meters 10.0)
:run-rotate-speed (degrees 7999.9995)
:run-acceleration (meters 1.0)
:run-turn-time #x1e
:run-turn-time (seconds 0.1)
:walk-travel-speed (meters 6.0)
:walk-rotate-speed (degrees 7999.9995)
:walk-acceleration (meters 1.0)
:walk-turn-time #x1e
:walk-turn-time (seconds 0.1)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 2.0)
@@ -98,10 +98,7 @@
(if
(and
(>= (-> self path-pos) 0.2)
(<
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
60
)
(< (- (-> *display* base-frame-counter) (-> self state-time)) 60)
)
(load-commands-set! *level* (load-command-get-index *level* 'jungle 0))
)
@@ -145,10 +142,7 @@
(if
(and
(< (-> self path-pos) 0.8)
(<
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
60
)
(< (- (-> *display* base-frame-counter) (-> self state-time)) 60)
)
(load-commands-set! *level* (load-command-get-index *level* 'jungle 1))
)
+2 -2
View File
@@ -581,11 +581,11 @@ nav-enemy-default-event-handler
:run-travel-speed (meters 5.5)
:run-rotate-speed (degrees 720.0)
:run-acceleration (meters 6.0)
:run-turn-time #x2d
:run-turn-time (seconds 0.15)
:walk-travel-speed (meters 4.0)
:walk-rotate-speed (degrees 720.0)
:walk-acceleration (meters 6.0)
:walk-turn-time #x2d
:walk-turn-time (seconds 0.15)
:attack-shove-back (meters 1.0)
:attack-shove-up (meters 0.5)
:shadow-size (meters 2.0)
+2 -2
View File
@@ -571,11 +571,11 @@
:run-travel-speed (meters 5.0)
:run-rotate-speed (degrees 2880.0)
:run-acceleration (meters 1.0)
:run-turn-time #x1e
:run-turn-time (seconds 0.1)
:walk-travel-speed (meters 3.0)
:walk-rotate-speed (degrees 720.0)
:walk-acceleration (meters 1.0)
:walk-turn-time #x96
:walk-turn-time (seconds 0.5)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 2.0)
@@ -42,7 +42,7 @@
assistant-lavatube-start
((obj assistant-lavatube-start) (arg0 symbol))
(case (current-status (-> obj tasks))
((6)
(((task-status need-reward-speech))
(if arg0
(close-current! (-> obj tasks))
)
@@ -74,7 +74,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(get-art-elem obj)
@@ -127,13 +127,7 @@
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3))
)
)
(<
(-
(-> *display* base-frame-counter)
(the-as int (-> self state-time))
)
3000
)
(< (- (-> *display* base-frame-counter) (-> self state-time)) 3000)
)
)
(hide-hud)
@@ -318,7 +312,7 @@
assistant-lavatube-start
((obj assistant-lavatube-start))
(first-any (-> obj tasks) #t)
(= (current-status (-> obj tasks)) 6)
(= (current-status (-> obj tasks)) (task-status need-reward-speech))
)
;; definition for method 11 of type assistant-lavatube-start
@@ -427,25 +427,8 @@
:mask #x1
:num 0.05
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x72
#x65
#x6c
#x65
#x61
#x73
#x65
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x65722d6d61657473)
:volume #x400
)
)
@@ -587,25 +570,8 @@
:mask #x1
:num 0.05
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x72
#x65
#x6c
#x65
#x61
#x73
#x65
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x65722d6d61657473)
:volume #x400
)
)
@@ -1072,7 +1038,3 @@
)
)
)
+52 -68
View File
@@ -10,14 +10,14 @@
(pickup int32 :offset-assert 16)
(pickup-amount int32 :offset-assert 20)
(event-death symbol :offset-assert 24)
(delay-before-dying-if-not-visible uint64 :offset-assert 32)
(delay-before-dying-if-not-visible int64 :offset-assert 32)
)
:method-count-assert 11
:size-assert #x28
:flag-assert #xb00000028
(:methods
(init! (_type_ symbol symbol symbol symbol int int symbol) int 9)
(set-delay! (_type_ uint) uint 10)
(set-delay! (_type_ int) int 10)
)
)
@@ -48,13 +48,13 @@
(delta-wiggle-angle float :offset-assert 416)
(wiggle-factor float :offset-assert 420)
(event-death symbol :offset-assert 424)
(delay-before-dying-if-not-visible uint64 :offset-assert 432)
(chase-rest-time uint64 :offset-assert 440)
(target-nav-time uint64 :offset-assert 448)
(delay-before-dying-if-not-visible int64 :offset-assert 432)
(chase-rest-time int64 :offset-assert 440)
(target-nav-time int64 :offset-assert 448)
(unknown00 basic :offset-assert 456)
(unknown01 basic :offset-assert 460)
(wiggle-time uint64 :offset-assert 464)
(last-visible-time uint64 :offset-assert 472)
(wiggle-time int64 :offset-assert 464)
(last-visible-time int64 :offset-assert 472)
(up-vector vector :inline :offset-assert 480)
(state-vector vector :inline :offset-assert 496)
)
@@ -62,6 +62,11 @@
:method-count-assert 76
:size-assert #x200
:flag-assert #x4c01900200
(:states
baby-spider-hatching
baby-spider-resume
baby-spider-die-fast
)
)
;; definition for method 3 of type baby-spider
@@ -137,11 +142,11 @@
:run-travel-speed (meters 7.0)
:run-rotate-speed (degrees 7999.9995)
:run-acceleration (meters 1.0)
:run-turn-time #x16
:run-turn-time (seconds 0.07333333)
:walk-travel-speed (meters 2.0)
:walk-rotate-speed (degrees 7999.9995)
:walk-acceleration (meters 1.0)
:walk-turn-time #x16
:walk-turn-time (seconds 0.07333333)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 1.0)
@@ -193,11 +198,11 @@
:run-travel-speed (meters 7.0)
:run-rotate-speed (degrees 7999.9995)
:run-acceleration (meters 1.0)
:run-turn-time #x16
:run-turn-time (seconds 0.07333333)
:walk-travel-speed (meters 2.0)
:walk-rotate-speed (degrees 7999.9995)
:walk-acceleration (meters 1.0)
:walk-turn-time #x16
:walk-turn-time (seconds 0.07333333)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 1.0)
@@ -252,7 +257,7 @@
(set! (-> obj pickup-amount) arg5)
(set! (-> obj event-death) arg6)
(let ((v0-0 600))
(set! (-> obj delay-before-dying-if-not-visible) (the-as uint v0-0))
(set! (-> obj delay-before-dying-if-not-visible) v0-0)
v0-0
)
)
@@ -261,7 +266,7 @@
(defmethod
set-delay!
baby-spider-spawn-params
((obj baby-spider-spawn-params) (arg0 uint))
((obj baby-spider-spawn-params) (arg0 int))
(set! (-> obj delay-before-dying-if-not-visible) arg0)
arg0
)
@@ -345,7 +350,8 @@ baby-spider-default-event-handler
)
;; definition for method 51 of type baby-spider
(defmethod dummy-51 baby-spider ((obj baby-spider))
;; INFO: Return type mismatch float vs object.
(defmethod dummy-51 baby-spider ((obj baby-spider) (arg0 vector))
(let* ((f0-0 (rand-vu-float-range 0.0 1.0))
(f1-1 (+ 1.0 (* 2.0 f0-0)))
(f2-2 f1-1)
@@ -356,12 +362,13 @@ baby-spider-default-event-handler
(set! (-> obj wiggle-factor) (* 1.5 f2-4))
(let ((f0-3 (* 28672.0 f0-2)))
(set! (-> obj target-speed) f0-3)
f0-3
(the-as object f0-3)
)
)
)
;; definition for method 52 of type baby-spider
;; INFO: Return type mismatch vector vs symbol.
;; Used lq/sq
(defmethod dummy-52 baby-spider ((obj baby-spider) (arg0 vector))
(+! (-> obj wiggle-angle) (-> obj delta-wiggle-angle))
@@ -384,7 +391,7 @@ baby-spider-default-event-handler
(v0-3 (-> obj nav target-pos))
)
(set! (-> v0-3 quad) (-> v1-4 quad))
v0-3
(the-as symbol v0-3)
)
)
@@ -392,21 +399,15 @@ baby-spider-default-event-handler
(defmethod dummy-53 baby-spider ((obj baby-spider))
(cond
((logtest? (-> obj draw status) 8)
(set!
(-> obj last-visible-time)
(the-as uint (-> *display* base-frame-counter))
)
(set! (-> obj last-visible-time) (-> *display* base-frame-counter))
(return #f)
)
(else
(if (-> obj die-if-not-visible?)
(return
(>=
(-
(-> *display* base-frame-counter)
(the-as int (-> obj last-visible-time))
)
(the-as int (-> obj delay-before-dying-if-not-visible))
(- (-> *display* base-frame-counter) (-> obj last-visible-time))
(-> obj delay-before-dying-if-not-visible)
)
)
)
@@ -500,7 +501,7 @@ baby-spider-default-event-handler
)
)
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self state-timeout)
)
(nonzero? (-> self draw))
@@ -733,8 +734,8 @@ baby-spider-default-event-handler
)
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(the-as int (-> self chase-rest-time))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self chase-rest-time)
)
(go-virtual nav-enemy-victory)
)
@@ -747,44 +748,30 @@ baby-spider-default-event-handler
)
:code
(behavior ()
(set!
(-> self target-nav-time)
(the-as uint (-> *display* base-frame-counter))
)
(set!
(-> self wiggle-time)
(the-as uint (+ (-> *display* base-frame-counter) -3000))
)
(set! (-> self target-nav-time) (-> *display* base-frame-counter))
(set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) -3000))
(set! (-> self wiggle-angle) 0.0)
(set! (-> self chase-rest-time) (the-as uint (rand-vu-int-range 300 1200)))
(set! (-> self chase-rest-time) (rand-vu-int-range 300 1200))
(ja-channel-push! 1 51)
(let ((gp-0 (-> self skel root-channel 0)))
(joint-control-channel-group-eval!
gp-0
(the-as art-joint-anim (-> self draw art-group data 7))
num-func-identity
)
(let* ((gp-0 (-> self skel root-channel 0))
(t9-2 joint-control-channel-group-eval!)
(a0-2 gp-0)
(a1-2 (-> self draw art-group data 7))
)
(t9-2 a0-2 (the-as art-joint-anim a1-2) num-func-identity)
(set! (-> gp-0 frame-num) 0.0)
)
(while #t
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self wiggle-time)))
300
(while #t
(when (>= (- (-> *display* base-frame-counter) (-> self wiggle-time)) 300)
(set! (-> self wiggle-time) (-> *display* base-frame-counter))
(dummy-51 self (the-as vector a1-2))
)
(set!
(-> self wiggle-time)
(the-as uint (-> *display* base-frame-counter))
)
(dummy-51 self)
)
(suspend)
(let ((a0-5 (-> self skel root-channel 0)))
(set! (-> a0-5 param 0) 1.0)
(joint-control-channel-group-eval!
a0-5
(the-as art-joint-anim #f)
num-func-loop!
(suspend)
(let ((a0-5 (-> self skel root-channel 0)))
(set! (-> a0-5 param 0) 1.0)
(let ((t9-4 joint-control-channel-group-eval!))
(set! a1-2 (the-as art-element #f))
(t9-4 a0-5 (the-as art-joint-anim a1-2) num-func-loop!)
)
)
)
)
@@ -1211,10 +1198,7 @@ baby-spider-default-event-handler
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defmethod TODO-RENAME-48 baby-spider ((obj baby-spider))
(set!
(-> obj last-visible-time)
(the-as uint (-> *display* base-frame-counter))
)
(set! (-> obj last-visible-time) (-> *display* base-frame-counter))
(dummy-14 obj *baby-spider-sg* '())
(if (= (-> obj parent 0 type) cave-trap)
(TODO-RENAME-45 obj *baby-spider-nav-enemy-info-for-cave-trap*)
@@ -1232,7 +1216,7 @@ baby-spider-default-event-handler
(set! (-> obj delta-wiggle-angle) 910.2222)
(set! (-> obj wiggle-factor) 1.5)
(set! (-> obj reaction-time) (rand-vu-int-range 30 240))
(set! (-> obj chase-rest-time) (the-as uint 300))
(set! (-> obj chase-rest-time) 300)
(set! (-> obj up-vector quad) (-> *y-vector* quad))
0
(none)
@@ -1292,7 +1276,7 @@ baby-spider-default-event-handler
;; definition for method 11 of type baby-spider
(defmethod copy-defaults! baby-spider ((obj baby-spider) (arg0 res-lump))
(set! (-> obj die-if-not-visible?) #f)
(set! (-> obj delay-before-dying-if-not-visible) (the-as uint 600))
(set! (-> obj delay-before-dying-if-not-visible) 600)
(set! (-> obj hack-move-above-ground?) #f)
(set! (-> obj event-death) #f)
(initialize-collision obj)
@@ -41,6 +41,10 @@
:method-count-assert 20
:size-assert #xb4
:flag-assert #x14005000b4
(:states
spiderwebs-idle
spiderwebs-bounce
)
)
;; definition for method 3 of type spiderwebs
@@ -345,7 +349,3 @@
(go spiderwebs-idle)
(none)
)
+3 -6
View File
@@ -190,10 +190,7 @@
(the-as object (when (= v1-0 'attack)
(when
(>=
(-
(-> *display* base-frame-counter)
(the-as int (-> self state-time))
)
(- (-> *display* base-frame-counter) (-> self state-time))
150
)
(nav-enemy-set-hit-from-direction arg0)
@@ -1128,11 +1125,11 @@ nav-enemy-default-event-handler
:run-travel-speed (meters 6.0)
:run-rotate-speed (degrees 2880.0)
:run-acceleration (meters 1.0)
:run-turn-time #x1e
:run-turn-time (seconds 0.1)
:walk-travel-speed (meters 3.0)
:walk-rotate-speed (degrees 2880.0)
:walk-acceleration (meters 1.0)
:walk-turn-time #x1e
:walk-turn-time (seconds 0.1)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 2.0)
@@ -374,10 +374,7 @@
(while #t
(if
(>=
(the
float
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
)
(the float (- (-> *display* base-frame-counter) (-> self state-time)))
f30-0
)
(go keg-on-path)
@@ -385,13 +382,7 @@
(let
((f28-0
(/
(the
float
(-
(-> *display* base-frame-counter)
(the-as int (-> self state-time))
)
)
(the float (- (-> *display* base-frame-counter) (-> self state-time)))
f30-0
)
)
@@ -655,11 +646,7 @@
(vector-normalize! gp-0 1.0)
(set! (-> self state-time) (-> *display* base-frame-counter))
(while #t
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
300
)
(if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
(go keg-die)
)
(let ((v1-23 (-> self root-override trans)))
+8 -80
View File
@@ -1202,25 +1202,8 @@
:mask #x1
:num 0.05
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x72
#x65
#x6c
#x65
#x61
#x73
#x65
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x65722d6d61657473)
:volume #x400
)
)
@@ -1310,25 +1293,8 @@
:mask #x1
:num 0.05
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x72
#x65
#x6c
#x65
#x61
#x73
#x65
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x65722d6d61657473)
:volume #x400
)
)
@@ -1419,25 +1385,8 @@
:mask #x1
:num 0.05
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x72
#x65
#x6c
#x65
#x61
#x73
#x65
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x65722d6d61657473)
:volume #x400
)
)
@@ -1528,25 +1477,8 @@
:mask #x1
:num 0.05
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x72
#x65
#x6c
#x65
#x61
#x73
#x65
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x65722d6d61657473)
:volume #x400
)
)
@@ -1572,7 +1504,3 @@
)
)
)
+21 -10
View File
@@ -205,8 +205,8 @@
)
;; definition for method 51 of type muse
;; INFO: Return type mismatch int vs float.
(defmethod dummy-51 muse ((obj muse))
;; INFO: Return type mismatch int vs object.
(defmethod dummy-51 muse ((obj muse) (arg0 vector))
(dotimes (s5-0 2)
(let ((v1-2 (rand-vu-int-range 3 (+ (-> obj node-list length) -1))))
(sp-launch-particles-var
@@ -222,13 +222,18 @@
)
)
)
(the-as float 0)
(the-as object 0)
)
;; definition for method 39 of type muse
(defmethod common-post muse ((obj muse))
(spool-push *art-control* (-> obj anim name) 0 obj -99.0)
(dummy-51 obj)
(let* ((a0-1 *art-control*)
(t9-0 (method-of-object a0-1 spool-push))
(a1-0 (-> obj anim name))
)
(t9-0 a0-1 a1-0 0 obj -99.0)
(dummy-51 obj (the-as vector a1-0))
)
((method-of-type nav-enemy common-post) obj)
(none)
)
@@ -409,8 +414,13 @@ nav-enemy-default-event-handler
)
)
(until (ja-done? 0)
(spool-push *art-control* (-> self anim name) 0 self -99.0)
(dummy-51 self)
(let* ((a0-10 *art-control*)
(t9-7 (method-of-object a0-10 spool-push))
(a1-5 (-> self anim name))
)
(t9-7 a0-10 a1-5 0 self -99.0)
(dummy-51 self (the-as vector a1-5))
)
(suspend)
(let ((a0-12 (-> self skel root-channel 0)))
(set!
@@ -883,7 +893,8 @@ nav-enemy-default-event-handler
)
:post
(behavior ()
(dummy-51 self)
(local-vars (a1-0 none))
(dummy-51 self (the-as vector a1-0))
(level-hint-surpress!)
(kill-current-level-hint '() '() 'exit)
(ja-post)
@@ -910,11 +921,11 @@ nav-enemy-default-event-handler
:run-travel-speed (meters 10.0)
:run-rotate-speed (degrees 999.99994)
:run-acceleration (meters 5.0)
:run-turn-time #x2d
:run-turn-time (seconds 0.15)
:walk-travel-speed (meters 10.0)
:walk-rotate-speed (degrees 999.99994)
:walk-acceleration (meters 1.0)
:walk-turn-time #x2d
:walk-turn-time (seconds 0.15)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 2.0)
@@ -2678,7 +2678,10 @@
(when (>= (ja-aframe-num 0) 1055.0)
(dummy-11
(-> self draw)
(&-> (the-as process-taskable (-> self parent 0)) stack 288)
(the-as
lod-set
(&-> (the-as process-taskable (-> self parent 0)) stack 288)
)
)
(let ((a1-1 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-1 from) self)
@@ -3158,7 +3161,3 @@
(dummy-42 obj)
(none)
)
@@ -263,7 +263,7 @@
(define
*RACER-bank*
(new 'static 'racer-bank
:slide-hold-time #x3c
:slide-hold-time (seconds 0.2)
:heat-max 100.0
:hotcoals-heat-inc 3.0
:lava-heat-inc 20.0
@@ -278,7 +278,7 @@
:boost-curve-max (meters 5.0)
:boost-level-max (meters 12.5)
:boost-level-inc (meters 2.0)
:boost-duration #x2ee
:boost-duration (seconds 2.5)
:yellow-projectile-speed (meters 80.0)
)
)
+3 -3
View File
@@ -92,11 +92,11 @@
:run-travel-speed (meters 6.0)
:run-rotate-speed (degrees 2880.0)
:run-acceleration (meters 1.0)
:run-turn-time #x1e
:run-turn-time (seconds 0.1)
:walk-travel-speed (meters 3.0)
:walk-rotate-speed (degrees 720.0)
:walk-acceleration (meters 1.0)
:walk-turn-time #x96
:walk-turn-time (seconds 0.5)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 2.0)
@@ -1420,7 +1420,7 @@
(else
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(-> self spawn-delay)
)
(let ((gp-0 (new 'stack-no-clear 'vector))
+2 -10
View File
@@ -843,11 +843,7 @@
(-> s5-0 ppointer)
)
)
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
420
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 420)
(suspend)
)
)
@@ -876,11 +872,7 @@
(-> s5-1 ppointer)
)
)
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
300
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
(suspend)
)
)
+2 -10
View File
@@ -297,11 +297,7 @@
)
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
300
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
(let ((gp-4 (-> self skel root-channel 0)))
(set! (-> gp-4 num-func) num-func-identity)
(set! (-> gp-4 frame-num) (ja-aframe 100.0 0))
@@ -589,11 +585,7 @@
)
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
300
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
(let ((gp-4 (-> self skel root-channel 0)))
(set! (-> gp-4 num-func) num-func-identity)
(set! (-> gp-4 frame-num) (ja-aframe 100.0 0))
+4 -21
View File
@@ -370,13 +370,7 @@ swamp-bat-slave-event-handler
(forward-up->quaternion gp-0 s2-0 (new 'static 'vector :y 1.0 :w 1.0))
(while #t
(let
((v1-17
(-
(-> *display* base-frame-counter)
(the-as int (-> self state-time))
)
)
)
((v1-17 (- (-> *display* base-frame-counter) (-> self state-time))))
(when (>= v1-17 s3-0)
0
(goto cfg-10)
@@ -485,11 +479,7 @@ swamp-bat-slave-event-handler
)
)
(while #t
(let
((s4-0
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
)
)
(let ((s4-0 (- (-> *display* base-frame-counter) (-> self state-time))))
(if (>= s4-0 90)
(go swamp-bat-slave-swoop)
)
@@ -903,10 +893,7 @@ swamp-bat-slave-event-handler
(while #t
(when
(and
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
60
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 60)
*target*
(>=
(-> self fact-override idle-distance)
@@ -971,11 +958,7 @@ swamp-bat-slave-event-handler
(set! (-> self state-time) (-> *display* base-frame-counter))
(while #t
(swamp-bat-update-path)
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
150
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150)
(set! (-> self state-time) (-> *display* base-frame-counter))
(if (not (swamp-bat-launch-slave))
(go swamp-bat-idle)
@@ -1221,11 +1221,7 @@
(-> gp-0 ppointer)
)
)
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
30
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)
(suspend)
)
(ja-channel-set! 0)
@@ -1579,7 +1575,7 @@ swamp-rat-nest-default-event-handler
(swamp-rat-nest-check-dummy)
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the-as int (-> self test-interval))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
@@ -1625,7 +1621,7 @@ swamp-rat-nest-default-event-handler
(swamp-rat-nest-check-dummy)
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the int (* (-> self spawn-period-scale) (-> self spawn-period)))
)
(let ((a1-0 (new 'stack-no-clear 'event-message-block)))
+4 -10
View File
@@ -372,7 +372,7 @@ swamp-rat-default-event-handler
(behavior ()
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the-as int (-> self chase-rest-time))
)
(go-virtual nav-enemy-victory)
@@ -736,13 +736,7 @@ swamp-rat-default-event-handler
(logtest? (-> self collide-info status) 4)
(or
(< (-> self collide-info trans y) (-> self min-height))
(>=
(-
(-> *display* base-frame-counter)
(the-as int (-> self state-time))
)
300
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
)
)
0
@@ -838,11 +832,11 @@ swamp-rat-default-event-handler
:run-travel-speed (meters 7.0)
:run-rotate-speed (degrees 7999.9995)
:run-acceleration (meters 1.0)
:run-turn-time #x16
:run-turn-time (seconds 0.07333333)
:walk-travel-speed (meters 2.0)
:walk-rotate-speed (degrees 7999.9995)
:walk-acceleration (meters 1.0)
:walk-turn-time #x16
:walk-turn-time (seconds 0.07333333)
:attack-shove-back (meters 3.0)
:attack-shove-up (meters 2.0)
:shadow-size (meters 1.0)
@@ -198,25 +198,8 @@
:mask #xc0
:num 0.1
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x67
#x65
#x79
#x73
#x65
#x72
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x726573796567)
:volume #x400
:fo-min 50
:fo-max #xc8
+35 -12
View File
@@ -88,9 +88,9 @@
(defmethod play-anim! assistant ((obj assistant) (arg0 symbol))
(with-pp
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(case (current-task (-> obj tasks))
((2)
(((game-task jungle-eggtop))
(when arg0
(let* ((s5-1 (-> obj tasks))
(s4-0 (method-of-object s5-1 save-reminder))
@@ -253,10 +253,10 @@
)
)
)
((5 4)
(((task-status need-reminder) (task-status need-reminder-a))
(set! (-> obj skippable) #t)
(cond
((zero? (current-task (-> obj tasks)))
((= (current-task (-> obj tasks)) (game-task none))
(new 'static 'spool-anim
:name "assistant-reminder-1-generic"
:index 14
@@ -327,9 +327,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 3)
@@ -366,19 +364,44 @@
#f
)
((< 0.8 f0-2)
(dummy-11 (-> obj ambient) "ASSTLP01" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"ASSTLP01"
#f
(-> obj root-override trans)
)
)
((< 0.6 f0-2)
(dummy-11 (-> obj ambient) "ASSTLP04" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"ASSTLP04"
#f
(-> obj root-override trans)
)
)
((< 0.4 f0-2)
(dummy-11 (-> obj ambient) "ASSTLP05" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"ASSTLP05"
#f
(-> obj root-override trans)
)
)
((< 0.2 f0-2)
(dummy-11 (-> obj ambient) "ASSTLP02" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"ASSTLP02"
#f
(-> obj root-override trans)
)
)
(else
(dummy-11 (-> obj ambient) "ASSTLP03" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"ASSTLP03"
#f
(-> obj root-override trans)
)
)
)
)
+22 -17
View File
@@ -87,7 +87,7 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 260))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(if arg0
(close-status! (-> obj tasks) (task-status need-introduction))
)
@@ -119,7 +119,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(cond
((zero? (get-reminder (-> obj tasks) 0))
@@ -175,13 +175,10 @@
)
)
)
((6)
(((task-status need-reward-speech))
(cond
(arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((a1-7 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-7 from) pp)
@@ -216,9 +213,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 3)
@@ -248,7 +243,7 @@
)
(cond
((< 0.85714287 f0-2)
(dummy-11 (-> obj ambient) "EXP-AM05" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "EXP-AM05" #f (-> obj root-override trans))
)
((< 0.71428573 f0-2)
(if
@@ -259,17 +254,22 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "EXP-LO02" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"EXP-LO02"
#f
(-> obj root-override trans)
)
)
)
((< 0.5714286 f0-2)
(dummy-11 (-> obj ambient) "EXP-AM04" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "EXP-AM04" #f (-> obj root-override trans))
)
((< 0.42857143 f0-2)
(dummy-11 (-> obj ambient) "EXP-AM03" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "EXP-AM03" #f (-> obj root-override trans))
)
((< 0.2857143 f0-2)
(dummy-11 (-> obj ambient) "EXP-AM02" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "EXP-AM02" #f (-> obj root-override trans))
)
((< 0.14285715 f0-2)
(if
@@ -280,11 +280,16 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "EXP-AM01" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"EXP-AM01"
#f
(-> obj root-override trans)
)
)
)
(else
(dummy-11 (-> obj ambient) "EXP-LO1A" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "EXP-LO1A" #f (-> obj root-override trans))
)
)
)
+18 -15
View File
@@ -42,7 +42,7 @@
;; definition for method 32 of type farmer
(defmethod play-anim! farmer ((obj farmer) (arg0 symbol))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(if arg0
(close-status! (-> obj tasks) (task-status need-introduction))
)
@@ -53,7 +53,7 @@
:command-list '()
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(cond
((zero? (get-reminder (-> obj tasks) 0))
@@ -80,12 +80,9 @@
)
)
)
((6)
(((task-status need-reward-speech))
(when arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
)
(new 'static 'spool-anim
@@ -101,7 +98,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 4)
@@ -111,9 +108,15 @@
;; definition for method 31 of type farmer
(defmethod get-art-elem farmer ((obj farmer))
(let ((v1-1 (current-status (-> obj tasks))))
(if (or (= v1-1 2) (= v1-1 3) (= v1-1 7) (zero? v1-1))
(-> obj draw art-group data 4)
(case (current-status (-> obj tasks))
(((task-status need-hint)
(task-status need-introduction)
(task-status need-resolution)
(task-status invalid)
)
(-> obj draw art-group data 4)
)
(else
(-> obj draw art-group data 5)
)
)
@@ -135,19 +138,19 @@
)
(cond
((< 0.8333333 f0-2)
(dummy-11 (-> obj ambient) "FAR-LO1A" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "FAR-LO1A" #f (-> obj root-override trans))
)
((< 0.6666667 f0-2)
(dummy-11 (-> obj ambient) "FAR-AM01" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "FAR-AM01" #f (-> obj root-override trans))
)
((< 0.5 f0-2)
#f
)
((< 0.33333334 f0-2)
(dummy-11 (-> obj ambient) "FAR-AM2A" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "FAR-AM2A" #f (-> obj root-override trans))
)
((< 0.16666667 f0-2)
(dummy-11 (-> obj ambient) "FAR-AM02" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "FAR-AM02" #f (-> obj root-override trans))
)
(else
#f
@@ -1219,10 +1219,7 @@
)
)
(not (level-hint-displayed?))
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
900
)
(>= (- (-> *display* base-frame-counter) (-> self state-time)) 900)
(file-status *art-control* (-> self anim name) 0)
)
(hide-hud)
@@ -1995,11 +1992,7 @@
(set! (-> self measure-parameters) #t)
(set! (-> self controller steering) 1.0)
(set! (-> self state-time) (-> *display* base-frame-counter))
(until
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
300
)
(until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300)
(let
((f0-6
(/
+43 -20
View File
@@ -94,9 +94,9 @@
)
)
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(case (current-task (-> obj tasks))
((109)
(((game-task intro))
(when arg0
(close-status! (-> obj tasks) (task-status need-introduction))
(set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0)
@@ -307,7 +307,7 @@
)
)
)
((15)
(((game-task beach-ecorocks))
(when arg0
(let* ((s5-1 (-> obj tasks))
(s4-0 (method-of-object s5-1 save-reminder))
@@ -510,7 +510,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(if arg0
(set! (-> obj reminder-played) #t)
@@ -625,7 +625,7 @@
)
)
)
((6)
(((task-status need-reward-speech))
(when arg0
(set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0)
(copy-settings-from-target! *setting-control*)
@@ -985,9 +985,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(get-art-elem obj)
@@ -1039,19 +1037,19 @@
(defmethod get-art-elem sage ((obj sage))
(cond
((and
(= (current-task (-> obj tasks)) 15)
(= (current-task (-> obj tasks)) (game-task beach-ecorocks))
(or
(= (current-status (-> obj tasks)) 2)
(= (current-status (-> obj tasks)) 3)
(= (current-status (-> obj tasks)) (task-status need-hint))
(= (current-status (-> obj tasks)) (task-status need-introduction))
)
)
(save-reminder (-> obj tasks) 0 0)
)
((and
(= (current-task (-> obj tasks)) 26)
(= (current-task (-> obj tasks)) (game-task misty-cannon))
(or
(= (current-status (-> obj tasks)) 2)
(= (current-status (-> obj tasks)) 3)
(= (current-status (-> obj tasks)) (task-status need-hint))
(= (current-status (-> obj tasks)) (task-status need-introduction))
)
)
(save-reminder (-> obj tasks) 1 0)
@@ -1059,7 +1057,7 @@
((dummy-45 obj)
(set! (-> obj reminder-played) #f)
(cond
((zero? (current-task (-> obj tasks)))
((= (current-task (-> obj tasks)) (game-task none))
(case (get-reminder (-> obj tasks) 0)
((2)
(save-reminder (-> obj tasks) 3 0)
@@ -1140,19 +1138,44 @@
#f
)
((< 0.8 f0-2)
(dummy-11 (-> obj ambient) "SAGELP03" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"SAGELP03"
#f
(-> obj root-override trans)
)
)
((< 0.6 f0-2)
(dummy-11 (-> obj ambient) "SAGELP04" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"SAGELP04"
#f
(-> obj root-override trans)
)
)
((< 0.4 f0-2)
(dummy-11 (-> obj ambient) "SAGELP05" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"SAGELP05"
#f
(-> obj root-override trans)
)
)
((< 0.2 f0-2)
(dummy-11 (-> obj ambient) "SAGELP06" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"SAGELP06"
#f
(-> obj root-override trans)
)
)
(else
(dummy-11 (-> obj ambient) "SAGELP11" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"SAGELP11"
#f
(-> obj root-override trans)
)
)
)
)
@@ -1702,25 +1702,8 @@
:mask #x1
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x64
#x72
#x69
#x70
#x2d
#x6f
#x6e
#x2d
#x77
#x6f
#x6f
#x64
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x2d6e6f2d70697264)
:volume #x200
)
)
@@ -871,25 +871,8 @@
:mask #x1
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x66
#x69
#x72
#x65
#x2d
#x70
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x706f702d65726966)
:volume #x400
)
)
+4 -12
View File
@@ -773,7 +773,7 @@ yakow-default-event-handler
(if
(and
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the-as int (-> *YAKOW-bank* default-patrol-time))
)
(and
@@ -940,7 +940,7 @@ yakow-default-event-handler
(if
(and
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
(- (-> *display* base-frame-counter) (-> self state-time))
(the-as int (-> *YAKOW-bank* default-patrol-time))
)
(not (-> self in-pen))
@@ -958,11 +958,7 @@ yakow-default-event-handler
)
(go yakow-notice)
)
(when
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
15
)
(when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15)
(when
(or
(logtest? (nav-control-flags bit19) (-> self nav flags))
@@ -1328,11 +1324,7 @@ yakow-default-event-handler
)
:trans
(behavior ()
(if
(>=
(- (-> *display* base-frame-counter) (the-as int (-> self state-time)))
60
)
(if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60)
(set!
(-> self travel-speed)
(seek
@@ -140,12 +140,15 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 292))
(case (current-status (-> obj tasks))
((1 2 3)
(((task-status unknown)
(task-status need-hint)
(task-status need-introduction)
)
(if (not arg0)
(set! (-> obj will-talk) #t)
)
(case (current-task (-> obj tasks))
((103)
(((game-task village2-levitator))
(when arg0
(close-status! (-> obj tasks) (task-status need-introduction))
(let ((a1-5 (new 'stack-no-clear 'event-message-block)))
@@ -793,7 +796,7 @@
)
)
)
((47)
(((game-task sunken-room))
(when arg0
(let* ((s5-2 (-> obj tasks))
(s4-0 (method-of-object s5-2 save-reminder))
@@ -909,7 +912,7 @@
)
)
)
((53)
(((game-task rolling-robbers))
(when arg0
(let* ((s5-5 (-> obj tasks))
(s4-1 (method-of-object s5-5 save-reminder))
@@ -994,7 +997,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1)))
(if (< (the-as uint 2) (the-as uint s4-2))
@@ -1071,9 +1074,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 5)
@@ -1190,10 +1191,10 @@
#f
)
((< 0.5 f30-0)
(dummy-11 (-> obj ambient) "ASSTLP23" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "ASSTLP23" #f (-> obj root-override trans))
)
(else
(dummy-11 (-> obj ambient) "ASSTLP24" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "ASSTLP24" #f (-> obj root-override trans))
)
)
)
@@ -2572,7 +2573,7 @@
((obj assistant-levitator) (arg0 symbol))
(with-pp
(case (current-status (-> obj tasks))
((6)
(((task-status need-reward-speech))
(when arg0
(close-current! (-> obj tasks))
(let ((a1-1 (new 'stack-no-clear 'event-message-block)))
@@ -2635,9 +2636,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 5)
@@ -2732,13 +2731,7 @@
(logtest? (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3))
)
)
(<
(-
(-> *display* base-frame-counter)
(the-as int (-> self state-time))
)
3000
)
(< (- (-> *display* base-frame-counter) (-> self state-time)) 3000)
)
)
(hide-hud)
@@ -3159,25 +3152,8 @@
:mask #x80
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x6c
#x65
#x76
#x2d
#x6d
#x61
#x63
#x68
#x2d
#x69
#x64
#x6c
#x65
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6863616d2d76656c)
:volume #x400
:fo-max 30
)
@@ -44,7 +44,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(the-as basic (get-art-elem obj))
@@ -355,7 +355,3 @@
(dummy-42 obj)
(none)
)
+25 -28
View File
@@ -46,7 +46,7 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 260))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(when arg0
(close-status! (-> obj tasks) (task-status need-introduction))
(close-specific-task!
@@ -133,7 +133,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(cond
((closed?
@@ -184,17 +184,14 @@
)
)
)
((6)
(((task-status need-reward-speech))
(if (not arg0)
(set! (-> obj will-talk) #t)
)
(case (current-task (-> obj tasks))
((52)
(((game-task rolling-race))
(when arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
)
(new 'static 'spool-anim
@@ -207,10 +204,7 @@
(else
(cond
(arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((a1-10 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-10 from) pp)
@@ -243,9 +237,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 7)
@@ -275,45 +267,50 @@
)
(cond
((< 0.9230769 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM01" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM01" #f (-> obj root-override trans))
)
((< 0.84615386 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM02" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM02" #f (-> obj root-override trans))
)
((< 0.7692308 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM03" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM03" #f (-> obj root-override trans))
)
((< 0.6923077 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM04" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM04" #f (-> obj root-override trans))
)
((< 0.61538464 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM05" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM05" #f (-> obj root-override trans))
)
((< 0.53846157 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM06" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM06" #f (-> obj root-override trans))
)
((< 0.46153846 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM07" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM07" #f (-> obj root-override trans))
)
((< 0.3846154 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM08" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM08" #f (-> obj root-override trans))
)
((< 0.30769232 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM09" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM09" #f (-> obj root-override trans))
)
((< 0.23076923 f0-2)
(if (not (task-closed? (game-task ogre-boss) (task-status need-reminder)))
(dummy-11 (-> obj ambient) "GAM-AM10" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"GAM-AM10"
#f
(-> obj root-override trans)
)
)
)
((< 0.15384616 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM11" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM11" #f (-> obj root-override trans))
)
((< 0.07692308 f0-2)
(dummy-11 (-> obj ambient) "GAM-AM12" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM12" #f (-> obj root-override trans))
)
(else
(dummy-11 (-> obj ambient) "GAM-AM13" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GAM-AM13" #f (-> obj root-override trans))
)
)
)
+32 -25
View File
@@ -46,7 +46,7 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 260))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(when arg0
(close-status! (-> obj tasks) (task-status need-introduction))
(close-specific-task!
@@ -97,7 +97,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(cond
((closed?
@@ -148,17 +148,14 @@
)
)
)
((6)
(((task-status need-reward-speech))
(if (not arg0)
(set! (-> obj will-talk) #t)
)
(case (current-task (-> obj tasks))
((54)
(((game-task rolling-moles))
(when arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
)
(new 'static 'spool-anim
@@ -171,10 +168,7 @@
(else
(cond
(arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((a1-10 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-10 from) pp)
@@ -207,9 +201,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 5)
@@ -239,7 +231,7 @@
)
(cond
((< 0.8888889 f0-2)
(dummy-11 (-> obj ambient) "GEO-AM01" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GEO-AM01" #f (-> obj root-override trans))
)
((< 0.7777778 f0-2)
(if
@@ -250,11 +242,16 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "GEO-AM02" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"GEO-AM02"
#f
(-> obj root-override trans)
)
)
)
((< 0.6666667 f0-2)
(dummy-11 (-> obj ambient) "GEO-AM03" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GEO-AM03" #f (-> obj root-override trans))
)
((< 0.5555556 f0-2)
(if
@@ -263,14 +260,19 @@
(game-task village2-geologist-money)
(task-status need-introduction)
)
(dummy-11 (-> obj ambient) "GEO-AM04" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"GEO-AM04"
#f
(-> obj root-override trans)
)
)
)
((< 0.44444445 f0-2)
(dummy-11 (-> obj ambient) "GEO-AM05" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GEO-AM05" #f (-> obj root-override trans))
)
((< 0.33333334 f0-2)
(dummy-11 (-> obj ambient) "GEO-AM06" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GEO-AM06" #f (-> obj root-override trans))
)
((< 0.22222222 f0-2)
(if
@@ -281,21 +283,26 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "GEO-AM07" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"GEO-AM07"
#f
(-> obj root-override trans)
)
)
)
((< 0.11111111 f0-2)
(dummy-11 (-> obj ambient) "GEO-LO02" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GEO-LO02" #f (-> obj root-override trans))
)
((closed?
(-> obj tasks)
(game-task village2-geologist-money)
(task-status need-resolution)
)
(dummy-11 (-> obj ambient) "GEO-AM08" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GEO-AM08" #f (-> obj root-override trans))
)
(else
(dummy-11 (-> obj ambient) "GEO-LO01" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "GEO-LO01" #f (-> obj root-override trans))
)
)
)
+17 -19
View File
@@ -70,12 +70,12 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 291))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(if (not arg0)
(set! (-> obj will-talk) #t)
)
(case (current-task (-> obj tasks))
((55)
(((game-task rolling-plants))
(when arg0
(let* ((s5-1 (-> obj tasks))
(s4-0 (method-of-object s5-1 save-reminder))
@@ -177,7 +177,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(if arg0
(set! (-> obj reminder-played) #t)
@@ -221,9 +221,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(get-art-elem obj)
@@ -236,9 +234,9 @@
;; INFO: Return type mismatch symbol vs none.
(defmethod dummy-45 sage-bluehut ((obj sage-bluehut))
(cond
((= (current-status (-> obj tasks)) 1)
((= (current-status (-> obj tasks)) (task-status unknown))
)
((zero? (current-status (-> obj tasks)))
((= (current-status (-> obj tasks)) (task-status invalid))
)
((and
(closed?
@@ -275,19 +273,19 @@
(defmethod get-art-elem sage-bluehut ((obj sage-bluehut))
(cond
((and
(= (current-task (-> obj tasks)) 55)
(= (current-task (-> obj tasks)) (game-task rolling-plants))
(or
(= (current-status (-> obj tasks)) 2)
(= (current-status (-> obj tasks)) 3)
(= (current-status (-> obj tasks)) (task-status need-hint))
(= (current-status (-> obj tasks)) (task-status need-introduction))
)
)
(save-reminder (-> obj tasks) 0 0)
)
((and
(= (current-task (-> obj tasks)) 104)
(= (current-task (-> obj tasks)) (game-task swamp-arm))
(or
(= (current-status (-> obj tasks)) 2)
(= (current-status (-> obj tasks)) 3)
(= (current-status (-> obj tasks)) (task-status need-hint))
(= (current-status (-> obj tasks)) (task-status need-introduction))
)
)
(save-reminder (-> obj tasks) 1 0)
@@ -404,19 +402,19 @@
)
(cond
((< 0.8 f0-2)
(dummy-11 (-> obj ambient) "SAGELP20" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP20" #f (-> obj root-override trans))
)
((< 0.6 f0-2)
(dummy-11 (-> obj ambient) "SAGELP21" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP21" #f (-> obj root-override trans))
)
((< 0.4 f0-2)
(dummy-11 (-> obj ambient) "SAGELP22" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP22" #f (-> obj root-override trans))
)
((< 0.2 f0-2)
(dummy-11 (-> obj ambient) "SAGELP23" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP23" #f (-> obj root-override trans))
)
((nonzero? (get-task-status (game-task citadel-sage-blue)))
(dummy-11 (-> obj ambient) "SAGELP24" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP24" #f (-> obj root-override trans))
)
)
)
@@ -2185,25 +2185,8 @@
:mask #x1
:num 0.1
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x70
#x61
#x72
#x6b
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6b72617073)
:volume #x400
)
)
@@ -2249,25 +2232,8 @@
:mask #x1
:num 0.1
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x70
#x61
#x72
#x6b
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6b72617073)
:volume #x400
)
)
@@ -2557,25 +2523,8 @@
:mask #x1
:num 0.1
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x70
#x61
#x72
#x6b
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6b72617073)
:volume #x400
)
)
@@ -2618,25 +2567,8 @@
:mask #x1
:num 0.1
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x70
#x61
#x72
#x6b
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x6b72617073)
:volume #x400
)
)
+8 -13
View File
@@ -89,7 +89,7 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 260))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(if arg0
(close-status! (-> obj tasks) (task-status need-introduction))
)
@@ -145,7 +145,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(new 'static 'spool-anim
:name "warrior-reminder-1"
@@ -154,13 +154,10 @@
:command-list '()
)
)
((6)
(((task-status need-reward-speech))
(cond
(arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-4 from) pp)
@@ -228,9 +225,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 5)
@@ -276,13 +271,13 @@
)
(cond
((< 0.66 f0-2)
(dummy-11 (-> obj ambient) "WAR-LO1A" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "WAR-LO1A" #f (-> obj root-override trans))
)
((< 0.33 f0-2)
(dummy-11 (-> obj ambient) "WAR-LO1B" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "WAR-LO1B" #f (-> obj root-override trans))
)
(else
(dummy-11 (-> obj ambient) "WAR-LO1C" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "WAR-LO1C" #f (-> obj root-override trans))
)
)
)
@@ -92,7 +92,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(get-art-elem obj)
@@ -143,13 +143,13 @@
)
(cond
((< 0.85714287 f0-2)
(dummy-11 (-> obj ambient) "ASSTLP31" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "ASSTLP31" #f (-> obj root-override trans))
)
((< 0.71428573 f0-2)
(dummy-11 (-> obj ambient) "ASSTLP32" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "ASSTLP32" #f (-> obj root-override trans))
)
((< 0.5714286 f0-2)
(dummy-11 (-> obj ambient) "ASSTLP33" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "ASSTLP33" #f (-> obj root-override trans))
)
((< 0.42857143 f0-2)
(let ((v1-16 (get-task-status (game-task lavatube-end))))
@@ -160,7 +160,12 @@
(= v1-16 (task-status invalid))
)
)
(dummy-11 (-> obj ambient) "ASSTLP34" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"ASSTLP34"
#f
(-> obj root-override trans)
)
)
)
)
@@ -173,7 +178,12 @@
(= v1-21 (task-status invalid))
)
)
(dummy-11 (-> obj ambient) "ASSTLP35" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"ASSTLP35"
#f
(-> obj root-override trans)
)
)
)
)
@@ -186,12 +196,17 @@
(= v1-26 (task-status invalid))
)
)
(dummy-11 (-> obj ambient) "ASSTLP36" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"ASSTLP36"
#f
(-> obj root-override trans)
)
)
)
)
((nonzero? (get-task-status (game-task citadel-sage-green)))
(dummy-11 (-> obj ambient) "ASSTLP37" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "ASSTLP37" #f (-> obj root-override trans))
)
)
)
+37 -42
View File
@@ -122,7 +122,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string (the-as task-status (current-status (-> obj tasks))))
(task-status->string (current-status (-> obj tasks)))
)
)
(the-as basic (-> obj draw art-group data 3))
@@ -364,12 +364,12 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 260))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(if (not arg0)
(set! (-> obj will-talk) #t)
)
(case (current-task (-> obj tasks))
((96)
(((game-task village3-miner-money1))
(when arg0
(let* ((s5-1 (-> obj tasks))
(s4-0 (method-of-object s5-1 save-reminder))
@@ -457,7 +457,7 @@
)
)
)
((78)
(((game-task cave-gnawers))
(when arg0
(let* ((s5-2 (-> obj tasks))
(s4-1 (method-of-object s5-2 save-reminder))
@@ -553,7 +553,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1)))
(if (< (the-as uint 3) (the-as uint s4-2))
@@ -707,7 +707,7 @@
)
)
)
((6)
(((task-status need-reward-speech))
(let ((s4-3 (get-reminder (-> obj tasks) 2)))
(cond
(arg0
@@ -718,10 +718,7 @@
(set! (-> a1-22 param 0) (the-as uint (process->handle obj)))
(send-event-function (-> obj other-miner ppointer 3) a1-22)
)
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((a1-23 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-23 from) pp)
@@ -770,9 +767,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 3)
@@ -818,91 +813,91 @@
)
(cond
((< 0.9655172 f0-2)
(dummy-11 (-> obj ambient) "MIN-LO01" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MIN-LO01" #f (-> obj root-override trans))
)
((< 0.9310345 f0-2)
(dummy-11 (-> obj ambient) "MIN-LO03" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MIN-LO03" #f (-> obj root-override trans))
)
((< 0.8965517 f0-2)
(dummy-11 (-> obj ambient) "MIN-LO04" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MIN-LO04" #f (-> obj root-override trans))
)
((< 0.86206895 f0-2)
(dummy-11 (-> obj ambient) "MIN-LO05" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MIN-LO05" #f (-> obj root-override trans))
)
((< 0.82758623 f0-2)
(dummy-11 (-> obj ambient) "MIN-LO06" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MIN-LO06" #f (-> obj root-override trans))
)
((< 0.79310346 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM01" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM01" #f (-> obj root-override trans))
)
((< 0.7586207 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM02" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM02" #f (-> obj root-override trans))
)
((< 0.7241379 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM03" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM03" #f (-> obj root-override trans))
)
((< 0.6896552 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM04" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM04" #f (-> obj root-override trans))
)
((< 0.6551724 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM05" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM05" #f (-> obj root-override trans))
)
((< 0.62068963 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM06" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM06" #f (-> obj root-override trans))
)
((< 0.5862069 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM07" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM07" #f (-> obj root-override trans))
)
((< 0.55172414 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM08" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM08" #f (-> obj root-override trans))
)
((< 0.51724136 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM09" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM09" #f (-> obj root-override trans))
)
((< 0.4827586 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM10" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM10" #f (-> obj root-override trans))
)
((< 0.44827586 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM11" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM11" #f (-> obj root-override trans))
)
((< 0.41379312 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM12" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM12" #f (-> obj root-override trans))
)
((< 0.37931034 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM1A" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM1A" #f (-> obj root-override trans))
)
((< 0.3448276 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM2A" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM2A" #f (-> obj root-override trans))
)
((< 0.31034482 f0-2)
(dummy-11 (-> obj ambient) "MSH-AM3A" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MSH-AM3A" #f (-> obj root-override trans))
)
((< 0.27586207 f0-2)
(dummy-11 (-> obj ambient) "MTA-AM01" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MTA-AM01" #f (-> obj root-override trans))
)
((< 0.2413793 f0-2)
(dummy-11 (-> obj ambient) "MTA-AM02" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MTA-AM02" #f (-> obj root-override trans))
)
((< 0.20689656 f0-2)
(dummy-11 (-> obj ambient) "MTA-AM03" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MTA-AM03" #f (-> obj root-override trans))
)
((< 0.1724138 f0-2)
(dummy-11 (-> obj ambient) "MTA-AM04" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MTA-AM04" #f (-> obj root-override trans))
)
((< 0.13793103 f0-2)
(dummy-11 (-> obj ambient) "MTA-AM05" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MTA-AM05" #f (-> obj root-override trans))
)
((< 0.10344828 f0-2)
(dummy-11 (-> obj ambient) "MTA-AM06" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MTA-AM06" #f (-> obj root-override trans))
)
((< 0.06896552 f0-2)
(dummy-11 (-> obj ambient) "MTA-AM07" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MTA-AM07" #f (-> obj root-override trans))
)
((< 0.03448276 f0-2)
(dummy-11 (-> obj ambient) "MTA-AM08" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MTA-AM08" #f (-> obj root-override trans))
)
(else
(dummy-11 (-> obj ambient) "MTA-AM09" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "MTA-AM09" #f (-> obj root-override trans))
)
)
)
@@ -83,12 +83,15 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 291))
(case (current-status (-> obj tasks))
((1 2 3)
(((task-status unknown)
(task-status need-hint)
(task-status need-introduction)
)
(if (not arg0)
(set! (-> obj will-talk) #t)
)
(case (current-task (-> obj tasks))
((105)
(((game-task village3-button))
(when arg0
(close-status! (-> obj tasks) (task-status need-introduction))
(let ((a1-5 (new 'stack-no-clear 'event-message-block)))
@@ -342,7 +345,7 @@
)
)
)
((79)
(((game-task cave-dark-crystals))
(when arg0
(let* ((s5-3 (-> obj tasks))
(s4-0 (method-of-object s5-3 save-reminder))
@@ -410,7 +413,7 @@
)
)
)
((4 5)
(((task-status need-reminder-a) (task-status need-reminder))
(set! (-> obj skippable) #t)
(let ((s4-1 (+ (get-reminder (-> obj tasks) 0) 1)))
(if (< (the-as uint 1) (the-as uint s4-1))
@@ -471,9 +474,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(get-art-elem obj)
@@ -516,7 +517,7 @@
)
(cond
((< 0.875 f0-2)
(dummy-11 (-> obj ambient) "SAGELP31" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP31" #f (-> obj root-override trans))
)
((< 0.75 f0-2)
(if
@@ -527,33 +528,48 @@
(task-status need-reminder)
)
)
(dummy-11 (-> obj ambient) "SAGELP32" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"SAGELP32"
#f
(-> obj root-override trans)
)
)
)
((< 0.625 f0-2)
(if (nonzero? (get-task-status (game-task citadel-sage-green)))
(dummy-11 (-> obj ambient) "SAGELP33" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"SAGELP33"
#f
(-> obj root-override trans)
)
)
)
((< 0.5 f0-2)
(dummy-11 (-> obj ambient) "SAGELP34" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP34" #f (-> obj root-override trans))
)
((< 0.375 f0-2)
(dummy-11 (-> obj ambient) "SAGELP35" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP35" #f (-> obj root-override trans))
)
((< 0.25 f0-2)
(dummy-11 (-> obj ambient) "SAGELP36" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP36" #f (-> obj root-override trans))
)
((< 0.125 f0-2)
(if (nonzero? (get-task-status (game-task citadel-sage-green)))
(dummy-11 (-> obj ambient) "SAGELP37" #f (-> obj root-override trans))
(play-ambient
(-> obj ambient)
"SAGELP37"
#f
(-> obj root-override trans)
)
)
)
((!=
(get-task-status (game-task citadel-sage-green))
(task-status need-resolution)
)
(dummy-11 (-> obj ambient) "SAGELP38" #f (-> obj root-override trans))
(play-ambient (-> obj ambient) "SAGELP38" #f (-> obj root-override trans))
)
)
)
+18 -171
View File
@@ -871,25 +871,8 @@
:mask #x1
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x66
#x69
#x72
#x65
#x2d
#x70
#x6f
#x70
#x0
#x0
#x0
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x706f702d65726966)
:volume #x400
)
)
@@ -1824,25 +1807,8 @@
(new 'static 'sound-spec
:num 0.02
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x73
#x68
#x6f
#x72
#x74
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x68732d6d61657473)
:volume #x400
)
)
@@ -1885,25 +1851,8 @@
(new 'static 'sound-spec
:num 0.02
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x73
#x68
#x6f
#x72
#x74
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x68732d6d61657473)
:volume #x400
)
)
@@ -1946,25 +1895,8 @@
(new 'static 'sound-spec
:num 0.02
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x73
#x68
#x6f
#x72
#x74
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x68732d6d61657473)
:volume #x400
)
)
@@ -2007,25 +1939,8 @@
(new 'static 'sound-spec
:num 0.02
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x73
#x68
#x6f
#x72
#x74
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x68732d6d61657473)
:volume #x400
)
)
@@ -2068,25 +1983,8 @@
(new 'static 'sound-spec
:num 0.02
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x73
#x68
#x6f
#x72
#x74
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x68732d6d61657473)
:volume #x400
)
)
@@ -2229,25 +2127,8 @@
(new 'static 'sound-spec
:num 0.02
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x73
#x68
#x6f
#x72
#x74
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x68732d6d61657473)
:volume #x400
)
)
@@ -2969,25 +2850,8 @@
(new 'static 'sound-spec
:num 0.02
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x73
#x68
#x6f
#x72
#x74
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x68732d6d61657473)
:volume #x400
)
)
@@ -3051,25 +2915,8 @@
(new 'static 'sound-spec
:num 0.02
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x73
#x74
#x65
#x61
#x6d
#x2d
#x73
#x68
#x6f
#x72
#x74
#x0
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x68732d6d61657473)
:volume #x400
)
)
@@ -48,7 +48,7 @@
(with-pp
(set! (-> obj talk-message) (the-as uint 260))
(case (current-status (-> obj tasks))
((2 3)
(((task-status need-hint) (task-status need-introduction))
(when arg0
(close-specific-task!
(the-as game-task (-> obj first-task))
@@ -414,7 +414,7 @@
)
)
)
((5)
(((task-status need-reminder))
(set! (-> obj skippable) #t)
(case (-> (level-get-target-inside *level*) name)
(('village1)
@@ -443,13 +443,10 @@
)
)
)
((6)
(((task-status need-reward-speech))
(cond
(arg0
(set!
(-> obj cell-for-task)
(the-as game-task (current-task (-> obj tasks)))
)
(set! (-> obj cell-for-task) (current-task (-> obj tasks)))
(close-current! (-> obj tasks))
(let ((a1-5 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-5 from) pp)
@@ -549,9 +546,7 @@
0
"ERROR: <GMJ>: ~S playing anim for task status ~S~%"
(-> obj name)
(task-status->string
(the-as task-status (current-status (-> obj tasks)))
)
(task-status->string (current-status (-> obj tasks)))
)
)
(-> obj draw art-group data 2)
@@ -603,25 +598,8 @@
:mask #x80
:num 1.0
:group #x1
:sound-name-char
(new 'static 'array uint8 16
#x6f
#x72
#x61
#x63
#x6c
#x65
#x2d
#x73
#x6c
#x65
#x65
#x70
#x0
#x0
#x0
#x0
)
:sound-name
(new 'static 'sound-name :lo #x732d656c6361726f)
:volume #x400
:fo-max 50
)
+4 -1
View File
@@ -106,7 +106,10 @@
// anim-tester
"(method 3 anim-tester)",
"anim-tester-save-object-seqs" // anim-tester -- new basic on the stack
"anim-tester-save-object-seqs", // anim-tester -- new basic on the stack
// sage-finalboss
"(method 7 sage-finalboss)" // inline-array stuff
],
"skip_compile_states": {