[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
+1
View File
@@ -447,3 +447,4 @@
(define-extern paused? (function symbol))
;; TODO - for cam-start
(define-extern cam-master-init (function none :behavior camera-master))
(define-extern v-slrp3! (function vector vector vector vector float vector))
+8 -73
View File
@@ -5,11 +5,10 @@
;; name in dgo: camera
;; dgos: GAME, ENGINE
;; definition for symbol *cam-res-string*, type string
;; DECOMP BEGINS
(define *cam-res-string* (new 'global 'string 64 (the-as string #f)))
;; definition for function cam-slave-get-vector-with-offset
;; Used lq/sq
(defun
cam-slave-get-vector-with-offset
((arg0 entity-actor) (arg1 vector) (arg2 symbol))
@@ -57,7 +56,6 @@
)
)
;; definition for function cam-slave-get-flags
(defun cam-slave-get-flags ((arg0 entity) (arg1 symbol))
(let ((gp-0 (res-lump-value arg0 arg1 uint128))
(s3-0 (method-of-type res-lump get-property-value))
@@ -98,7 +96,6 @@
)
)
;; definition for function cam-slave-get-float
(defun cam-slave-get-float ((arg0 entity) (arg1 symbol) (arg2 float))
(let ((f30-0 (res-lump-float arg0 arg1 :default arg2))
(s4-0 (method-of-type res-lump get-property-value-float))
@@ -119,7 +116,6 @@
)
)
;; definition for function cam-slave-get-fov
(defun cam-slave-get-fov ((arg0 entity))
(let ((f30-0 (res-lump-float arg0 'fov))
(s5-0 (method-of-type res-lump get-property-value-float))
@@ -146,7 +142,6 @@
)
)
;; definition for function cam-slave-get-intro-step
(defun cam-slave-get-intro-step ((arg0 entity))
(let ((f30-0 (res-lump-float arg0 'intro-time))
(s5-0 (method-of-type res-lump get-property-value-float))
@@ -176,7 +171,6 @@
)
)
;; definition for function cam-slave-get-interp-time
(defun cam-slave-get-interp-time ((arg0 entity))
(let ((f30-0 (res-lump-float arg0 'interpTime))
(s5-0 (method-of-type res-lump get-property-value-float))
@@ -206,7 +200,6 @@
)
)
;; definition for function cam-slave-get-rot
(defun cam-slave-get-rot ((arg0 entity-actor) (arg1 quaternion))
(let ((s4-0 (method-of-type res-lump get-property-struct))
(s3-0 arg0)
@@ -242,7 +235,6 @@
arg1
)
;; definition for function cam-state-from-entity
(defun cam-state-from-entity ((arg0 entity))
(let ((s5-0 (new 'stack 'curve)))
(cond
@@ -268,12 +260,10 @@
)
)
;; definition for function parameter-ease-none
(defun parameter-ease-none ((arg0 object))
arg0
)
;; definition for function parameter-ease-clamp
(defun parameter-ease-clamp ((arg0 float))
(cond
((>= arg0 1.0)
@@ -286,7 +276,6 @@
arg0
)
;; definition for function parameter-ease-lerp-clamp
(defun parameter-ease-lerp-clamp ((arg0 float))
(cond
((>= arg0 1.0)
@@ -307,7 +296,6 @@
)
)
;; definition for function parameter-ease-sqrt-clamp
(defun parameter-ease-sqrt-clamp ((arg0 float))
(cond
((>= arg0 1.0)
@@ -325,19 +313,16 @@
)
)
;; definition for function fourth-power
(defun fourth-power ((arg0 float))
(let ((f0-2 (* arg0 arg0)))
(* f0-2 f0-2)
)
)
;; definition for function third-power
(defun third-power ((arg0 float))
(* arg0 arg0 arg0)
)
;; definition for function parameter-ease-sqr-clamp
(defun parameter-ease-sqr-clamp ((arg0 float))
(cond
((>= arg0 1.0)
@@ -364,7 +349,6 @@
)
)
;; definition for function parameter-ease-sin-clamp
(defun parameter-ease-sin-clamp ((arg0 float))
(cond
((>= arg0 1.0)
@@ -379,8 +363,6 @@
)
)
;; definition for method 9 of type cam-index
;; Used lq/sq
(defmethod
dummy-9
cam-index
@@ -391,10 +373,9 @@
(-> obj flags)
(the-as uint (cam-slave-get-flags arg1 (string->symbol *res-key-string*)))
)
(let
((s3-2 (res-lump-data arg1 arg0 pointer))
(s0-1 (method-of-type res-lump get-property-struct))
)
(let ((s3-2 (res-lump-data arg1 arg0 pointer))
(s0-1 (method-of-type res-lump get-property-struct))
)
(set! sv-32 format)
(let ((a0-7 (clear *res-key-string*))
(a1-4 "~S~S")
@@ -485,8 +466,6 @@
#t
)
;; definition for method 10 of type cam-index
;; Used lq/sq
(defmethod dummy-10 cam-index ((obj cam-index) (arg0 vector))
(let ((s5-0 (new-stack-vector0)))
0.0
@@ -506,9 +485,6 @@
)
)
;; definition for method 10 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defmethod TODO-RENAME-10 tracking-spline ((obj tracking-spline) (arg0 vector))
(set! (-> obj point 0 position quad) (-> arg0 quad))
(set! (-> obj point 0 next) -134250495)
@@ -533,8 +509,6 @@
(none)
)
;; definition for method 13 of type tracking-spline
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-13 tracking-spline ((obj tracking-spline) (arg0 int))
(let ((v1-3 (-> obj point arg0 next)))
(cond
@@ -578,8 +552,6 @@
(none)
)
;; definition for method 14 of type tracking-spline
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-14 tracking-spline ((obj tracking-spline) (arg0 vector))
(let ((v1-0 (-> obj used-point)))
(set! (-> obj partial-point) (-> arg0 y))
@@ -630,8 +602,6 @@
(none)
)
;; definition for method 15 of type tracking-spline
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-15 tracking-spline ((obj tracking-spline))
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
(let ((a2-0 (new 'stack-no-clear 'tracking-point)))
@@ -691,8 +661,6 @@
(none)
)
;; definition for method 16 of type tracking-spline
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-16 tracking-spline ((obj tracking-spline) (arg0 float))
(let ((s4-0 (new 'stack-no-clear 'tracking-spline-sampler)))
(let ((a2-0 (new 'stack-no-clear 'vector)))
@@ -748,8 +716,6 @@
(none)
)
;; definition for method 17 of type tracking-spline
;; Used lq/sq
(defmethod
TODO-RENAME-17
tracking-spline
@@ -798,7 +764,6 @@
0
)
;; definition for method 18 of type tracking-spline
(defmethod
TODO-RENAME-18
tracking-spline
@@ -864,7 +829,6 @@
(the-as vector #f)
)
;; definition for method 19 of type tracking-spline
(defmethod
TODO-RENAME-19
tracking-spline
@@ -878,8 +842,6 @@
arg1
)
;; definition for method 20 of type tracking-spline
;; INFO: Return type mismatch int vs none.
(defmethod
TODO-RENAME-20
tracking-spline
@@ -989,8 +951,6 @@
(none)
)
;; definition for method 21 of type tracking-spline
;; Used lq/sq
(defmethod
TODO-RENAME-21
tracking-spline
@@ -1052,8 +1012,6 @@
arg0
)
;; definition for method 22 of type tracking-spline
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-22 tracking-spline ((obj tracking-spline) (arg0 float))
(when (< arg0 (-> obj summed-len))
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
@@ -1069,8 +1027,6 @@
(none)
)
;; definition for method 9 of type tracking-spline
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-9 tracking-spline ((obj tracking-spline))
(let ((v1-0 (-> obj used-point))
(s4-0 0)
@@ -1123,8 +1079,6 @@
(none)
)
;; definition for function cam-slave-init-vars
;; Used lq/sq
(defbehavior cam-slave-init-vars camera-slave ()
(cond
(*camera*
@@ -1212,13 +1166,11 @@
(none)
)
;; 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
@@ -1226,8 +1178,6 @@
)
)
;; definition for function cam-slave-init
;; INFO: Return type mismatch int vs none.
(defbehavior cam-slave-init camera-slave ((arg0 state) (arg1 entity))
(stack-size-set! (-> self main-thread) 512)
(change-to-last-brother self)
@@ -1252,7 +1202,7 @@
(set! (-> a1-3 param 0) (the-as uint self))
(let ((t9-4 send-event-function))
(set! a0-4 *camera*)
(t9-4 (the-as process a0-4) a1-3)
(t9-4 (the-as camera-master a0-4) a1-3)
)
)
)
@@ -1273,13 +1223,10 @@
(none)
)
;; definition for function cam-standard-event-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?
;; 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
cam-standard-event-handler camera-slave
((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
@@ -1361,8 +1308,6 @@
)
)
;; definition for function cam-curve-pos
;; Used lq/sq
(defbehavior
cam-curve-pos camera-slave
((arg0 vector) (arg1 vector) (arg2 curve) (arg3 symbol))
@@ -1456,8 +1401,6 @@
arg0
)
;; definition for function cam-curve-setup
;; INFO: Return type mismatch int vs none.
(defbehavior cam-curve-setup camera-slave ((arg0 vector))
(when
(get-curve-data!
@@ -1513,8 +1456,6 @@
(none)
)
;; definition for function cam-calc-follow!
;; Used lq/sq
(defun cam-calc-follow! ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 symbol))
(with-pp
(cond
@@ -1684,8 +1625,6 @@
)
)
;; definition for function mat-remove-z-rot
;; Used lq/sq
(defun mat-remove-z-rot ((arg0 matrix) (arg1 vector))
(let ((s4-0 (new-stack-vector0)))
0.0
@@ -1711,8 +1650,6 @@
arg0
)
;; definition for function slave-matrix-blend-2
;; Used lq/sq
(defun
slave-matrix-blend-2
((arg0 matrix) (arg1 float) (arg2 vector) (arg3 matrix))
@@ -1775,8 +1712,6 @@
)
)
;; definition for function vector-into-frustum-nosmooth!
;; Used lq/sq
(defun vector-into-frustum-nosmooth! ((arg0 matrix) (arg1 vector) (arg2 float))
(local-vars
(sv-112 (inline-array vector))
+3 -2
View File
@@ -211,7 +211,8 @@
(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) ; array of references
(prim collide-shape-prim 1 :offset-assert 80)
(prims collide-shape-prim :dynamic :score 20 :offset 80) ;; added
)
:method-count-assert 30
:size-assert #x54
@@ -375,7 +376,7 @@
(set! (-> obj prim-core prim-type) 0)
(while (nonzero? elt-count)
(+! elt-count -1)
(set! (-> obj prim elt-count) (the uint #f))
(set! (-> obj prim elt-count) (the collide-shape-prim #f))
(nop!)
)
obj
+2 -1
View File
@@ -121,10 +121,11 @@
(unknown-dword40 int64 :offset 2160) ;; from logic-target::target-compute-edge
(unknown-dword41 int64 :offset 2168) ;; from logic-target::target-compute-edge
(unknown-handle10 handle :offset 2176) ;; from logic-target::target-compute-pole - probably a swingpole
(unknown-int11 int32 :offset 2184) ;; from (anon-function 1 basebutton)
(unknown-symbol20 symbol :offset 2184) ;; from (anon-function 1 basebutton)
(unknown-int20 int32 :offset 2188) ;; from logic-target::target-compute-pole
(unknown-vector102 vector :inline :offset 2224) ;; from (anon-function 3 basebutton)
(unknown-vector103 vector :inline :offset 2240) ;; from (anon-function 3 basebutton)
(unknown-smush00 smush-control :inline :offset 2288) ;; from (event target-fishing)
(unknown-vector110 vector :inline :offset 2320) ;; from logic-target::flag-setup
(unknown-vector111 vector :inline :offset 2336) ;; from logic-target::flag-setup
(unknown-int30 int32 :offset 2384) ;; from target-util::target-danger-set!
+1 -1
View File
@@ -292,7 +292,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)
)
)
+2 -2
View File
@@ -11,7 +11,7 @@
(define-extern *compact-actors* symbol)
(define-extern find-instance-by-name (function string instance))
(define-extern *edit-instance* string)
(define-extern cam-free-floating state)
(define-extern cam-free-floating (state camera-slave))
(define-extern cam-standoff state)
(define-extern cam-pov state)
(define-extern cam-pov180 state)
@@ -26,7 +26,7 @@
(define-extern cam-eye state)
(define-extern cam-point-watch state)
(define-extern cam-orbit state)
(define-extern cam-robotboss state)
(define-extern cam-robotboss (state camera-slave))
(define-extern cam-layout-stop (function none))
(define-extern cam-layout-start (function none))
(define-extern prototype-bucket-recalc-fields (function instance none))
+1 -1
View File
@@ -219,7 +219,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
)
+1 -1
View File
@@ -28,7 +28,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
+7 -5
View File
@@ -12,6 +12,8 @@
(define-extern ja-anim-done? (function symbol))
(define-extern draw-eco-beam (function vector vector none))
;; decomp begins
(deftype manipy (process-drawable)
@@ -24,7 +26,7 @@
(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)
(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)
@@ -133,10 +135,10 @@
(deftype gui-query (structure)
((x-position int32 :offset-assert 0)
(y-position int32 :offset-assert 4)
(message symbol :offset-assert 8) ;; a guess, i suspect its an `event-message-block`
(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
@@ -144,8 +146,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)
)
)
+7 -88
View File
@@ -5,7 +5,8 @@
;; name in dgo: projectiles
;; dgos: GAME, ENGINE
;; definition of type search-info
;; DECOMP BEGINS
(deftype search-info (structure)
((point vector :inline :offset-assert 0)
(best-point vector :inline :offset-assert 16)
@@ -24,11 +25,9 @@
:flag-assert #x900000054
)
;; definition for symbol *search-info*, type search-info
(define *search-info* (new 'global 'search-info))
;; definition for function find-nearest-attackable
;; Used lq/sq
(defun
find-nearest-attackable
((arg0 vector)
@@ -197,9 +196,6 @@
)
)
;; definition for function projectile-collision-reaction
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defun
projectile-collision-reaction
((arg0 collide-shape-moving)
@@ -318,7 +314,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 102)
(new 'static 'sparticle-launch-group
@@ -367,7 +362,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 349)
(new 'static 'sparticle-launcher
@@ -386,7 +380,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 350)
(new 'static 'sparticle-launcher
@@ -412,7 +405,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 351)
(new 'static 'sparticle-launcher
@@ -438,7 +430,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 352)
(new 'static 'sparticle-launcher
@@ -463,7 +454,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 353)
(new 'static 'sparticle-launcher
@@ -497,7 +487,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 354)
(new 'static 'sparticle-launcher
@@ -509,7 +498,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 103)
(new 'static 'sparticle-launch-group
@@ -545,7 +533,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 355)
(new 'static 'sparticle-launcher
@@ -570,7 +557,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 357)
(new 'static 'sparticle-launcher
@@ -601,7 +587,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 356)
(new 'static 'sparticle-launcher
@@ -631,7 +616,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 360)
(new 'static 'sparticle-launcher
@@ -661,7 +645,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 358)
(new 'static 'sparticle-launcher
@@ -684,7 +667,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 361)
(new 'static 'sparticle-launcher
@@ -707,7 +689,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 359)
(new 'static 'sparticle-launcher
@@ -738,7 +719,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 104)
(new 'static 'sparticle-launch-group
@@ -758,7 +738,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2060)
(new 'static 'sparticle-launcher
@@ -789,7 +768,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2063)
(new 'static 'sparticle-launcher
@@ -804,7 +782,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2062)
(new 'static 'sparticle-launcher
@@ -828,7 +805,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2059)
(new 'static 'sparticle-launcher
@@ -850,7 +826,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2061)
(new 'static 'sparticle-launcher
@@ -883,7 +858,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2064)
(new 'static 'sparticle-launcher
@@ -898,8 +872,6 @@
)
)
;; definition for method 24 of type projectile
;; INFO: Return type mismatch int vs none.
(defmethod dummy-24 projectile ((obj projectile))
(spawn
(-> obj part)
@@ -909,14 +881,11 @@
(none)
)
;; definition for method 28 of type projectile
;; INFO: Return type mismatch int vs none.
(defmethod dummy-28 projectile ((obj projectile))
0
(none)
)
;; failed to figure out what this is:
(defstate projectile-moving (projectile)
:virtual #t
:event
@@ -996,10 +965,7 @@
)
:enter
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(none)
)
:code
@@ -1007,7 +973,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))))
@@ -1087,9 +1053,6 @@
)
)
;; definition for function projectile-update-velocity-space-wars
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defun projectile-update-velocity-space-wars ((arg0 projectile))
(let
((s5-1
@@ -1151,7 +1114,6 @@
(none)
)
;; failed to figure out what this is:
(defstate projectile-impact (projectile)
:virtual #t
:code
@@ -1197,7 +1159,6 @@
)
)
;; failed to figure out what this is:
(defstate projectile-dissipate (projectile)
:virtual #t
:code
@@ -1243,15 +1204,11 @@
)
)
;; definition for method 27 of type projectile
;; INFO: Return type mismatch int vs none.
(defmethod dummy-27 projectile ((obj projectile))
0
(none)
)
;; definition for method 26 of type projectile
;; INFO: Return type mismatch int vs none.
(defmethod dummy-26 projectile ((obj projectile))
(let
((s5-0
@@ -1279,15 +1236,12 @@
(none)
)
;; definition for method 25 of type projectile
;; INFO: Return type mismatch int vs none.
(defmethod dummy-25 projectile ((obj projectile))
(go (method-of-object obj projectile-moving))
0
(none)
)
;; failed to figure out what this is:
(defstate projectile-die (projectile)
:virtual #t
:code
@@ -1308,7 +1262,6 @@
)
)
;; definition for method 10 of type projectile
(defmethod deactivate projectile ((obj projectile))
(if (nonzero? (-> obj sound-id))
(sound-stop (-> obj sound-id))
@@ -1317,8 +1270,6 @@
(none)
)
;; definition for function projectile-init-by-other
;; Used lq/sq
(defbehavior
projectile-init-by-other projectile
((arg0 entity) (arg1 vector) (arg2 vector) (arg3 uint) (arg4 handle))
@@ -1378,9 +1329,6 @@
(none)
)
;; definition for method 27 of type projectile-yellow
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defmethod dummy-27 projectile-yellow ((obj projectile-yellow))
(cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 30)
(set! (-> obj attack-mode) 'eco-yellow)
@@ -1518,8 +1466,6 @@
(none)
)
;; definition for method 26 of type projectile-yellow
;; INFO: Return type mismatch uint vs none.
(defmethod dummy-26 projectile-yellow ((obj projectile-yellow))
(let ((t9-0 (method-of-type projectile dummy-26)))
(t9-0 obj)
@@ -1528,8 +1474,6 @@
(none)
)
;; definition for method 24 of type projectile-yellow
;; INFO: Return type mismatch int vs none.
(defmethod dummy-24 projectile-yellow ((obj projectile-yellow))
(with-pp
(find-ground-and-draw-shadow
@@ -1558,16 +1502,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)
@@ -1618,9 +1554,6 @@
)
)
;; definition for method 28 of type projectile-yellow
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defmethod dummy-28 projectile-yellow ((obj projectile-yellow))
(cond
((or
@@ -1725,9 +1658,6 @@
(none)
)
;; definition for method 27 of type projectile-blue
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defmethod dummy-27 projectile-blue ((obj projectile-blue))
(cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 30)
(sound-play-by-name
@@ -1780,8 +1710,6 @@
(none)
)
;; definition for method 26 of type projectile-blue
;; INFO: Return type mismatch int vs none.
(defmethod dummy-26 projectile-blue ((obj projectile-blue))
(let
((s5-0
@@ -1809,9 +1737,6 @@
(none)
)
;; definition for function spawn-projectile-blue
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defun spawn-projectile-blue ((arg0 target))
(local-vars (sv-48 entity))
(with-pp
@@ -1875,8 +1800,6 @@
)
)
;; definition for method 28 of type projectile-blue
;; INFO: Return type mismatch int vs none.
(defmethod dummy-28 projectile-blue ((obj projectile-blue))
(let* ((s5-0 (handle->process (-> obj last-target)))
(v1-4
@@ -1903,8 +1826,6 @@
(none)
)
;; definition for method 24 of type projectile-blue
;; INFO: Return type mismatch int vs none.
(defmethod dummy-24 projectile-blue ((obj projectile-blue))
(if (rand-vu-percent? 0.75)
(eco-blue-glow
@@ -1915,7 +1836,6 @@
(none)
)
;; failed to figure out what this is:
(defstate projectile-impact (projectile-blue)
:virtual #t
:code
@@ -1925,7 +1845,6 @@
)
)
;; failed to figure out what this is:
(defstate projectile-dissipate (projectile-blue)
:virtual #t
:code
+48 -57
View File
@@ -28,12 +28,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)
@@ -47,7 +47,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)
@@ -77,7 +77,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
@@ -295,16 +295,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
@@ -312,20 +316,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
@@ -441,7 +445,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)))
)
)
)
@@ -461,10 +465,7 @@
:virtual #t
:enter
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(none)
)
:trans
@@ -508,7 +509,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
@@ -678,7 +679,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
@@ -770,7 +771,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!
@@ -818,7 +819,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)
@@ -850,7 +851,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)
@@ -866,12 +867,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)
)
@@ -880,8 +881,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)
)
@@ -889,10 +890,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)
@@ -904,7 +905,7 @@
)
)
)
(spool-push-anim self)
(push-reject-anim self)
(set! *camera-look-through-other* 2)
((-> self cur-trans-hook))
(none)
@@ -1018,7 +1019,7 @@
;; definition for function process-taskable-hide-enter
;; INFO: Return type mismatch none vs int.
(defbehavior process-taskable-hide-enter process-taskable ()
(set! (-> self state-time) (the-as seconds (-> *display* base-frame-counter)))
(set! (-> self state-time) (-> *display* base-frame-counter))
(let ((v1-3 (-> self draw shadow-ctrl)))
(logior! (-> v1-3 settings flags) 32)
)
@@ -1324,10 +1325,7 @@
)
:enter
(behavior ()
(set!
(-> self state-time)
(the-as seconds (-> *display* base-frame-counter))
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(process-taskable-clean-up-after-talking)
(none)
)
@@ -1415,7 +1413,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)
@@ -1639,7 +1642,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
@@ -1666,10 +1669,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)
)
@@ -1685,13 +1685,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)
)
@@ -1706,20 +1700,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)
)
+10 -10
View File
@@ -78,8 +78,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)
@@ -92,9 +92,9 @@
)
(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
@@ -102,7 +102,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)
)
)
@@ -153,10 +153,10 @@
(get-art-elem (_type_) art-element 31)
(play-anim! (_type_ symbol) basic 32) ;; ret - spool-anim | ..
(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) ;; ret - spool-anim | ..
(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) ;; ret - spool-anim | ..
(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)
+2 -2
View File
@@ -114,7 +114,7 @@
)
(else
;; look up the current cstage's task
(the-as int (-> obj stage (-> obj current-stage) game-task))
(-> obj stage (-> obj current-stage) game-task)
)
)
)
@@ -131,7 +131,7 @@
(task-status invalid)
)
(else
(the-as int (-> obj stage (-> obj current-stage) status))
(-> obj stage (-> obj current-stage) status)
)
)
+2 -2
View File
@@ -366,8 +366,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 sound-name :score 20 :offset 16)
(sound-name-char uint8 16 :offset 16) ;; moved to after sound-name
(trans float 4 :offset-assert 32) ;; guess
(volume int32 :offset-assert 48)
(pitch-mod int32 :offset-assert 52)
+11 -3
View File
@@ -16,6 +16,7 @@
(confirm #x103)
(press-to-use #x105)
(confirm-play #x106)
(play-again? #x107)
(quit #x108)
(pause #x109)
(sfx-volume #x10a)
@@ -155,13 +156,20 @@
(beach-seagulls-avalanche #x273)
(sidekick-hint-fish-powerup #x278)
(yakow-owed-powercell #x297)
(misty-teetertotter-bonk-dax-tutorial #x2a4)
(daxter-blue-eco-plat-tutorial #x2a7)
(firecanyon-collect-cells-text #x2b3)
(fish? #x2a9)
(yakow-owed-powercell #x297)
(firecanyon-collect-cells-text #x2b3)
(caught #x2b4)
(missed #x2b5)
(lose! #x2b6)
(village2-gambler-money #x300)
(village2-geologist-money #x301)
@@ -272,7 +280,7 @@
(ogre-end #x600)
(ogre-buzzer #x601)
(ogre-boss #x603)
(assistant-voicebox-intro-ogre-race #x605)
(sidekick-speech-hint-ogre-race #x61c)