mirror of
https://github.com/open-goal/jak-project
synced 2026-08-06 01:49:17 -04:00
[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:
+2
-2
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
|
||||
|
||||
+39
-26
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user