deftype and defmethod syntax major changes (#3094)

Major change to how `deftype` shows up in our code:
- the decompiler will no longer emit the `offset-assert`,
`method-count-assert`, `size-assert` and `flag-assert` parameters. There
are extremely few cases where having this in the decompiled code is
helpful, as the types there come from `all-types` which already has
those parameters. This also doesn't break type consistency because:
  - the asserts aren't compared.
- the first step of the test uses `all-types`, which has the asserts,
which will throw an error if they're bad.
- the decompiler won't emit the `heap-base` parameter unless necessary
now.
- the decompiler will try its hardest to turn a fixed-offset field into
an `overlay-at` field. It falls back to the old offset if all else
fails.
- `overlay-at` now supports field "dereferencing" to specify the offset
that's within a field that's a structure, e.g.:
```lisp
(deftype foobar (structure)
  ((vec    vector  :inline)
   (flags  int32   :overlay-at (-> vec w))
   )
  )
```
in this structure, the offset of `flags` will be 12 because that is the
final offset of `vec`'s `w` field within this structure.
- **removed ID from all method declarations.** IDs are only ever
automatically assigned now. Fixes #3068.
- added an `:overlay` parameter to method declarations, in order to
declare a new method that goes on top of a previously-defined method.
Syntax is `:overlay <method-name>`. Please do not ever use this.
- added `state-methods` list parameter. This lets you quickly specify a
list of states to be put in the method table. Same syntax as the
`states` list parameter. The decompiler will try to put as many states
in this as it can without messing with the method ID order.

Also changes `defmethod` to make the first type definition (before the
arguments) optional. The type can now be inferred from the first
argument. Fixes #3093.

---------

Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
This commit is contained in:
ManDude
2023-10-30 03:20:02 +00:00
committed by GitHub
parent 09536c68ac
commit cd68cb671e
2079 changed files with 94384 additions and 117066 deletions
+42 -54
View File
@@ -36,30 +36,27 @@
;; definition of type cam-dbg-scratch
(deftype cam-dbg-scratch (structure)
((linevec4w vector4w 2 :inline :offset-assert 0)
(color vector4w :inline :offset-assert 32)
(plotvec vector4w 2 :inline :offset-assert 48)
(linevec vector4w 2 :inline :offset-assert 80)
(rel-vec vector :inline :offset-assert 112)
(sphere-v-start vector :inline :offset-assert 128)
(sphere-v-end vector :inline :offset-assert 144)
(sphere-v-down vector :inline :offset-assert 160)
(sphere-vec vector :inline :offset-assert 176)
(crossvec vector 3 :inline :offset-assert 192)
(bboxvec vector 6 :inline :offset-assert 240)
(fov-vv vector 4 :inline :offset-assert 336)
(fov-src vector :inline :offset-assert 400)
(fov-dest vector :inline :offset-assert 416)
(fov-vert vector :inline :offset-assert 432)
(fov-horz vector :inline :offset-assert 448)
((linevec4w vector4w 2 :inline)
(color vector4w :inline)
(plotvec vector4w 2 :inline)
(linevec vector4w 2 :inline)
(rel-vec vector :inline)
(sphere-v-start vector :inline)
(sphere-v-end vector :inline)
(sphere-v-down vector :inline)
(sphere-vec vector :inline)
(crossvec vector 3 :inline)
(bboxvec vector 6 :inline)
(fov-vv vector 4 :inline)
(fov-src vector :inline)
(fov-dest vector :inline)
(fov-vert vector :inline)
(fov-horz vector :inline)
)
:method-count-assert 9
:size-assert #x1d0
:flag-assert #x9000001d0
)
;; definition for method 3 of type cam-dbg-scratch
(defmethod inspect cam-dbg-scratch ((this cam-dbg-scratch))
(defmethod inspect ((this cam-dbg-scratch))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -620,17 +617,14 @@
;; definition of type cam-debug-tri
(deftype cam-debug-tri (structure)
((vertex vector 3 :inline :offset-assert 0)
(intersect vector :inline :offset-assert 48)
(color vector4w :offset-assert 64)
((vertex vector 3 :inline)
(intersect vector :inline)
(color vector4w)
)
:method-count-assert 9
:size-assert #x44
:flag-assert #x900000044
)
;; definition for method 3 of type cam-debug-tri
(defmethod inspect cam-debug-tri ((this cam-debug-tri))
(defmethod inspect ((this cam-debug-tri))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -900,7 +894,7 @@
;; definition for method 11 of type tracking-spline
;; WARN: Return type mismatch int vs none.
(defmethod debug-point-info tracking-spline ((this tracking-spline) (arg0 int))
(defmethod debug-point-info ((this tracking-spline) (arg0 int))
(if (= arg0 (-> this used-point))
(format 0 "u")
(format 0 " ")
@@ -930,7 +924,7 @@
;; definition for method 12 of type tracking-spline
;; WARN: Return type mismatch int vs none.
(defmethod debug-all-points tracking-spline ((this tracking-spline))
(defmethod debug-all-points ((this tracking-spline))
(let ((s5-0 (-> this used-point)))
(while (!= s5-0 -134250495)
(debug-point-info this s5-0)
@@ -944,7 +938,7 @@
;; definition for method 23 of type tracking-spline
;; WARN: Return type mismatch int vs none.
(defmethod debug-draw-spline tracking-spline ((this tracking-spline))
(defmethod debug-draw-spline ((this tracking-spline))
(let ((s5-0 (-> this used-point)))
(let ((s4-0 (-> this point (-> this used-point) next)))
(let ((s3-0 (new 'stack-no-clear 'vector)))
@@ -1385,29 +1379,26 @@
;; definition of type cam-collision-record
(deftype cam-collision-record (structure)
((pos vector :inline :offset-assert 0)
(vel vector :inline :offset-assert 16)
(desired-pos vector :inline :offset-assert 32)
(cam-tpos-cur vector :inline :offset-assert 48)
(cam-tpos-old vector :inline :offset-assert 64)
(view-flat vector :inline :offset-assert 80)
(string-min-val vector :inline :offset-assert 96)
(string-max-val vector :inline :offset-assert 112)
(view-off vector :inline :offset-assert 128)
(min-z-override float :offset-assert 144)
(string-push-z float :offset-assert 148)
(view-off-param float :offset-assert 152)
(frame int32 :offset-assert 156)
(iteration int32 :offset-assert 160)
(move-type symbol :offset-assert 164)
((pos vector :inline)
(vel vector :inline)
(desired-pos vector :inline)
(cam-tpos-cur vector :inline)
(cam-tpos-old vector :inline)
(view-flat vector :inline)
(string-min-val vector :inline)
(string-max-val vector :inline)
(view-off vector :inline)
(min-z-override float)
(string-push-z float)
(view-off-param float)
(frame int32)
(iteration int32)
(move-type symbol)
)
:method-count-assert 9
:size-assert #xa8
:flag-assert #x9000000a8
)
;; definition for method 3 of type cam-collision-record
(defmethod inspect cam-collision-record ((this cam-collision-record))
(defmethod inspect ((this cam-collision-record))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -1434,15 +1425,12 @@
;; definition of type cam-collision-record-array
(deftype cam-collision-record-array (inline-array-class)
((data cam-collision-record :dynamic :offset-assert 16)
((data cam-collision-record :dynamic)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type cam-collision-record-array
(defmethod inspect cam-collision-record-array ((this cam-collision-record-array))
(defmethod inspect ((this cam-collision-record-array))
(when (not this)
(set! this this)
(goto cfg-4)
+60 -93
View File
@@ -9,20 +9,17 @@
;; definition of type cam-layout-bank
(deftype cam-layout-bank (basic)
((spline-t float :offset-assert 4)
(spline-step float :offset-assert 8)
(intro-t float :offset-assert 12)
(intro-step float :offset-assert 16)
(debug-t float :offset-assert 20)
(debug-step float :offset-assert 24)
((spline-t float)
(spline-step float)
(intro-t float)
(intro-step float)
(debug-t float)
(debug-step float)
)
:method-count-assert 9
:size-assert #x1c
:flag-assert #x90000001c
)
;; definition for method 3 of type cam-layout-bank
(defmethod inspect cam-layout-bank ((this cam-layout-bank))
(defmethod inspect ((this cam-layout-bank))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -55,13 +52,10 @@
;; definition of type clm-basic
(deftype clm-basic (basic)
()
:method-count-assert 9
:size-assert #x4
:flag-assert #x900000004
)
;; definition for method 3 of type clm-basic
(defmethod inspect clm-basic ((this clm-basic))
(defmethod inspect ((this clm-basic))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -73,22 +67,19 @@
;; definition of type clm-item-action
(deftype clm-item-action (structure)
((button uint64 :offset-assert 0)
(options uint64 :offset-assert 8)
(func symbol :offset-assert 16)
(parm0 int32 :offset 20)
(parm0-symbol symbol :offset 20)
(parm0-basic basic :offset 20)
(parm1 symbol :offset 24)
(parm1-basic basic :offset 24)
((button uint64)
(options uint64)
(func symbol)
(parm0 int32 :offset 20)
(parm0-symbol symbol :overlay-at parm0)
(parm0-basic basic :overlay-at parm0-symbol)
(parm1 symbol :offset 24)
(parm1-basic basic :overlay-at parm1)
)
:method-count-assert 9
:size-assert #x1c
:flag-assert #x90000001c
)
;; definition for method 3 of type clm-item-action
(defmethod inspect clm-item-action ((this clm-item-action))
(defmethod inspect ((this clm-item-action))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -105,17 +96,14 @@
;; definition of type clm-item
(deftype clm-item (clm-basic)
((description string :offset-assert 4)
(button-symbol symbol :offset-assert 8)
(action clm-item-action :inline :offset-assert 16)
((description string)
(button-symbol symbol)
(action clm-item-action :inline)
)
:method-count-assert 9
:size-assert #x2c
:flag-assert #x90000002c
)
;; definition for method 3 of type clm-item
(defmethod inspect clm-item ((this clm-item))
(defmethod inspect ((this clm-item))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -130,23 +118,20 @@
;; definition of type clm-list-item
(deftype clm-list-item (basic)
((description string :offset-assert 4)
(track-val symbol :offset-assert 8)
(val-func symbol :offset-assert 12)
(val-parm0 int32 :offset 16)
(val-parm0-symbol symbol :offset 16)
(val-parm0-basic basic :offset 16)
(val-parm1 symbol :offset 20)
(val-parm1-basic basic :offset 20)
(actions (array clm-item-action) :offset-assert 24)
((description string)
(track-val symbol)
(val-func symbol)
(val-parm0 int32 :offset 16)
(val-parm0-symbol symbol :overlay-at val-parm0)
(val-parm0-basic basic :overlay-at val-parm0-symbol)
(val-parm1 symbol :offset 20)
(val-parm1-basic basic :overlay-at val-parm1)
(actions (array clm-item-action))
)
:method-count-assert 9
:size-assert #x1c
:flag-assert #x90000001c
)
;; definition for method 3 of type clm-list-item
(defmethod inspect clm-list-item ((this clm-list-item))
(defmethod inspect ((this clm-list-item))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -164,17 +149,14 @@
;; definition of type clm-list
(deftype clm-list (clm-basic)
((tracker symbol :offset-assert 4)
(cur-list-item int32 :offset-assert 8)
(items (array clm-list-item) :offset-assert 12)
((tracker symbol)
(cur-list-item int32)
(items (array clm-list-item))
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type clm-list
(defmethod inspect clm-list ((this clm-list))
(defmethod inspect ((this clm-list))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -189,16 +171,13 @@
;; definition of type clm
(deftype clm (basic)
((title string :offset-assert 4)
(items (array clm-basic) :offset-assert 8)
((title string)
(items (array clm-basic))
)
:method-count-assert 9
:size-assert #xc
:flag-assert #x90000000c
)
;; definition for method 3 of type clm
(defmethod inspect clm ((this clm))
(defmethod inspect ((this clm))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -224,15 +203,12 @@
;; definition of type volume-descriptor-array
(deftype volume-descriptor-array (inline-array-class)
((data plane-volume :inline :dynamic :offset 16)
((data plane-volume :inline :dynamic :offset 16)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type volume-descriptor-array
(defmethod inspect volume-descriptor-array ((this volume-descriptor-array))
(defmethod inspect ((this volume-descriptor-array))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -256,26 +232,23 @@
;; definition of type cam-layout
(deftype cam-layout (process)
((cam-entity entity-camera :offset-assert 128)
(num-entities int32 :offset-assert 132)
(cur-entity int32 :offset-assert 136)
(num-volumes int32 :offset-assert 140)
(cur-volume int32 :offset-assert 144)
(first-pvol int32 :offset-assert 148)
(first-cutoutvol int32 :offset-assert 152)
(res-key float :offset-assert 156)
((cam-entity entity-camera)
(num-entities int32)
(cur-entity int32)
(num-volumes int32)
(cur-volume int32)
(first-pvol int32)
(first-cutoutvol int32)
(res-key float)
)
:heap-base #x200
:method-count-assert 14
:size-assert #xa0
:flag-assert #xe020000a0
(:states
cam-layout-active
)
)
;; definition for method 3 of type cam-layout
(defmethod inspect cam-layout ((this cam-layout))
(defmethod inspect ((this cam-layout))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -609,20 +582,17 @@
;; definition of type interp-test-info
(deftype interp-test-info (structure)
((from vector :inline :offset-assert 0)
(to vector :inline :offset-assert 16)
(origin vector :inline :offset-assert 32)
(color vector4w :offset-assert 48)
(axis vector :offset-assert 52)
(disp string :offset-assert 56)
((from vector :inline)
(to vector :inline)
(origin vector :inline)
(color vector4w)
(axis vector)
(disp string)
)
:method-count-assert 9
:size-assert #x3c
:flag-assert #x90000003c
)
;; definition for method 3 of type interp-test-info
(defmethod inspect interp-test-info ((this interp-test-info))
(defmethod inspect ((this interp-test-info))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -2268,17 +2238,14 @@
;; definition of type clmf-cam-flag-toggle-info
(deftype clmf-cam-flag-toggle-info (structure)
((key float :offset-assert 0)
(force-on int32 :offset-assert 4)
(force-off int32 :offset-assert 8)
((key float)
(force-on int32)
(force-off int32)
)
:method-count-assert 9
:size-assert #xc
:flag-assert #x90000000c
)
;; definition for method 3 of type clmf-cam-flag-toggle-info
(defmethod inspect clmf-cam-flag-toggle-info ((this clmf-cam-flag-toggle-info))
(defmethod inspect ((this clmf-cam-flag-toggle-info))
(when (not this)
(set! this this)
(goto cfg-4)
+3 -3
View File
@@ -2,7 +2,7 @@
(in-package goal)
;; definition for method 16 of type camera-master
(defmethod camera-master-method-16 camera-master ((this camera-master) (arg0 symbol))
(defmethod camera-master-method-16 ((this camera-master) (arg0 symbol))
(let ((a2-0 (the-as target (handle->process (-> this focus handle))))
(v1-4 0)
)
@@ -1088,7 +1088,7 @@
)
;; definition for method 14 of type camera-master
(defmethod camera-master-method-14 camera-master ((this camera-master) (arg0 vector))
(defmethod camera-master-method-14 ((this camera-master) (arg0 vector))
(if (handle->process (-> this focus handle))
(vector-! arg0 (-> this tpos-curr) (-> this tpos-old))
(vector-reset! arg0)
@@ -1098,7 +1098,7 @@
;; definition for method 15 of type camera-master
;; INFO: Used lq/sq
(defmethod camera-master-method-15 camera-master ((this camera-master) (arg0 vector))
(defmethod camera-master-method-15 ((this camera-master) (arg0 vector))
(if (and (-> this slave) (-> this slave 0 next-state) (= (-> this slave 0 next-state name) 'cam-string))
(set! (-> arg0 quad) (-> this slave 0 view-flat quad))
(vector-reset! arg0)
+11 -20
View File
@@ -3,16 +3,13 @@
;; definition of type cam-point-watch-bank
(deftype cam-point-watch-bank (basic)
((speed float :offset-assert 4)
(rot-speed degrees :offset-assert 8)
((speed float)
(rot-speed degrees)
)
:method-count-assert 9
:size-assert #xc
:flag-assert #x90000000c
)
;; definition for method 3 of type cam-point-watch-bank
(defmethod inspect cam-point-watch-bank ((this cam-point-watch-bank))
(defmethod inspect ((this cam-point-watch-bank))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -98,16 +95,13 @@
;; definition of type cam-free-bank
(deftype cam-free-bank (basic)
((speed float :offset-assert 4)
(rot-speed degrees :offset-assert 8)
((speed float)
(rot-speed degrees)
)
:method-count-assert 9
:size-assert #xc
:flag-assert #x90000000c
)
;; definition for method 3 of type cam-free-bank
(defmethod inspect cam-free-bank ((this cam-free-bank))
(defmethod inspect ((this cam-free-bank))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -412,18 +406,15 @@
;; definition of type camera-free-floating-move-info
(deftype camera-free-floating-move-info (structure)
((rv vector :inline :offset-assert 0)
(tv vector :inline :offset-assert 16)
(up vector :inline :offset-assert 32)
(tm matrix :inline :offset-assert 48)
((rv vector :inline)
(tv vector :inline)
(up vector :inline)
(tm matrix :inline)
)
:method-count-assert 9
:size-assert #x70
:flag-assert #x900000070
)
;; definition for method 3 of type camera-free-floating-move-info
(defmethod inspect camera-free-floating-move-info ((this camera-free-floating-move-info))
(defmethod inspect ((this camera-free-floating-move-info))
(when (not this)
(set! this this)
(goto cfg-4)
+38 -59
View File
@@ -444,18 +444,15 @@
;; definition of type cam-eye-bank
(deftype cam-eye-bank (basic)
((rot-speed float :offset-assert 4)
(max-degrees float :offset-assert 8)
(max-fov float :offset-assert 12)
(min-fov float :offset-assert 16)
((rot-speed float)
(max-degrees float)
(max-fov float)
(min-fov float)
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
)
;; definition for method 3 of type cam-eye-bank
(defmethod inspect cam-eye-bank ((this cam-eye-bank))
(defmethod inspect ((this cam-eye-bank))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -1192,16 +1189,13 @@
;; definition of type cam-string-bank
(deftype cam-string-bank (basic)
((los-coll-rad meters :offset-assert 4)
(los-coll-rad2 meters :offset-assert 8)
((los-coll-rad meters)
(los-coll-rad2 meters)
)
:method-count-assert 9
:size-assert #xc
:flag-assert #x90000000c
)
;; definition for method 3 of type cam-string-bank
(defmethod inspect cam-string-bank ((this cam-string-bank))
(defmethod inspect ((this cam-string-bank))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -1314,17 +1308,14 @@
;; definition of type los-dist
(deftype los-dist (structure)
((par-dist float :offset-assert 0)
(lat-dist float :offset-assert 4)
(vert-dist float :offset-assert 8)
((par-dist float)
(lat-dist float)
(vert-dist float)
)
:method-count-assert 9
:size-assert #xc
:flag-assert #x90000000c
)
;; definition for method 3 of type los-dist
(defmethod inspect los-dist ((this los-dist))
(defmethod inspect ((this los-dist))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -1339,23 +1330,20 @@
;; definition of type collide-los-dist-info
(deftype collide-los-dist-info (structure)
((min-par float :offset-assert 0)
(max-par float :offset-assert 4)
(min-lat float :offset-assert 8)
(max-lat float :offset-assert 12)
(min-vp float :offset-assert 16)
(max-vp float :offset-assert 20)
(min-vn float :offset-assert 24)
(max-vn float :offset-assert 28)
(count int32 :offset-assert 32)
((min-par float)
(max-par float)
(min-lat float)
(max-lat float)
(min-vp float)
(max-vp float)
(min-vn float)
(max-vn float)
(count int32)
)
:method-count-assert 9
:size-assert #x24
:flag-assert #x900000024
)
;; definition for method 3 of type collide-los-dist-info
(defmethod inspect collide-los-dist-info ((this collide-los-dist-info))
(defmethod inspect ((this collide-los-dist-info))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -1481,19 +1469,16 @@
;; definition of type collide-los-result
(deftype collide-los-result (structure)
((lateral vector :inline :offset-assert 0)
(cw collide-los-dist-info :inline :offset-assert 16)
(ccw collide-los-dist-info :inline :offset-assert 64)
(straddle collide-los-dist-info :inline :offset-assert 112)
(lateral-valid symbol :offset-assert 148)
((lateral vector :inline)
(cw collide-los-dist-info :inline)
(ccw collide-los-dist-info :inline)
(straddle collide-los-dist-info :inline)
(lateral-valid symbol)
)
:method-count-assert 9
:size-assert #x98
:flag-assert #x900000098
)
;; definition for method 3 of type collide-los-result
(defmethod inspect collide-los-result ((this collide-los-result))
(defmethod inspect ((this collide-los-result))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -3320,18 +3305,15 @@
;; definition of type cam-stick-bank
(deftype cam-stick-bank (basic)
((max-z meters :offset-assert 4)
(min-z meters :offset-assert 8)
(max-y meters :offset-assert 12)
(min-y meters :offset-assert 16)
((max-z meters)
(min-z meters)
(max-y meters)
(min-y meters)
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
)
;; definition for method 3 of type cam-stick-bank
(defmethod inspect cam-stick-bank ((this cam-stick-bank))
(defmethod inspect ((this cam-stick-bank))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -3550,18 +3532,15 @@
;; definition of type cam-bike-bank
(deftype cam-bike-bank (basic)
((max-z meters :offset-assert 4)
(min-z meters :offset-assert 8)
(max-y meters :offset-assert 12)
(min-y meters :offset-assert 16)
((max-z meters)
(min-z meters)
(max-y meters)
(min-y meters)
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
)
;; definition for method 3 of type cam-bike-bank
(defmethod inspect cam-bike-bank ((this cam-bike-bank))
(defmethod inspect ((this cam-bike-bank))
(when (not this)
(set! this this)
(goto cfg-4)
+20 -26
View File
@@ -3,24 +3,21 @@
;; definition of type camera-bank
(deftype camera-bank (basic)
((collide-move-rad float :offset-assert 4)
(joypad uint32 :offset-assert 8)
(min-detectable-velocity float :offset-assert 12)
(attack-timeout time-frame :offset-assert 16)
(default-string-max-y meters :offset-assert 24)
(default-string-min-y meters :offset-assert 28)
(default-string-max-z meters :offset-assert 32)
(default-string-min-z meters :offset-assert 36)
(default-string-push-z meters :offset-assert 40)
(default-tilt-adjust degrees :offset-assert 44)
((collide-move-rad float)
(joypad uint32)
(min-detectable-velocity float)
(attack-timeout time-frame)
(default-string-max-y meters)
(default-string-min-y meters)
(default-string-max-z meters)
(default-string-min-z meters)
(default-string-push-z meters)
(default-tilt-adjust degrees)
)
:method-count-assert 9
:size-assert #x30
:flag-assert #x900000030
)
;; definition for method 3 of type camera-bank
(defmethod inspect camera-bank ((this camera-bank))
(defmethod inspect ((this camera-bank))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -56,22 +53,19 @@
;; definition of type camera-master-bank
(deftype camera-master-bank (basic)
((onscreen-head-height meters :offset-assert 4)
(onscreen-foot-height meters :offset-assert 8)
(target-height meters :offset-assert 12)
(up-move-to-pitch-ratio-in-air float :offset-assert 16)
(down-move-to-pitch-ratio-in-air float :offset-assert 20)
(up-move-to-pitch-on-ground float :offset-assert 24)
(down-move-to-pitch-on-ground float :offset-assert 28)
(pitch-off-blend float :offset-assert 32)
((onscreen-head-height meters)
(onscreen-foot-height meters)
(target-height meters)
(up-move-to-pitch-ratio-in-air float)
(down-move-to-pitch-ratio-in-air float)
(up-move-to-pitch-on-ground float)
(down-move-to-pitch-on-ground float)
(pitch-off-blend float)
)
:method-count-assert 9
:size-assert #x24
:flag-assert #x900000024
)
;; definition for method 3 of type camera-master-bank
(defmethod inspect camera-master-bank ((this camera-master-bank))
(defmethod inspect ((this camera-master-bank))
(when (not this)
(set! this this)
(goto cfg-4)
+196 -229
View File
@@ -3,20 +3,17 @@
;; definition of type cam-index
(deftype cam-index (structure)
((flags cam-index-options :offset-assert 0)
(vec vector 2 :inline :offset-assert 16)
((flags cam-index-options)
(vec vector 2 :inline)
)
:method-count-assert 11
:size-assert #x30
:flag-assert #xb00000030
(:methods
(cam-index-method-9 (_type_ symbol entity vector curve) symbol 9)
(cam-index-method-10 (_type_ vector) float 10)
(cam-index-method-9 (_type_ symbol entity vector curve) symbol)
(cam-index-method-10 (_type_ vector) float)
)
)
;; definition for method 3 of type cam-index
(defmethod inspect cam-index ((this cam-index))
(defmethod inspect ((this cam-index))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -30,19 +27,16 @@
;; definition of type tracking-point
(deftype tracking-point (structure)
((position vector :inline :offset-assert 0)
(direction vector :inline :offset-assert 16)
(tp-length float :offset-assert 32)
(next int32 :offset-assert 36)
(incarnation int32 :offset-assert 40)
((position vector :inline)
(direction vector :inline)
(tp-length float)
(next int32)
(incarnation int32)
)
:method-count-assert 9
:size-assert #x2c
:flag-assert #x90000002c
)
;; definition for method 3 of type tracking-point
(defmethod inspect tracking-point ((this tracking-point))
(defmethod inspect ((this tracking-point))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -59,16 +53,13 @@
;; definition of type tracking-spline-sampler
(deftype tracking-spline-sampler (structure)
((cur-pt int32 :offset-assert 0)
(partial-pt float :offset-assert 4)
((cur-pt int32)
(partial-pt float)
)
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
)
;; definition for method 3 of type tracking-spline-sampler
(defmethod inspect tracking-spline-sampler ((this tracking-spline-sampler))
(defmethod inspect ((this tracking-spline-sampler))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -82,45 +73,42 @@
;; definition of type tracking-spline
(deftype tracking-spline (structure)
((point tracking-point 32 :inline :offset-assert 0)
(summed-len float :offset-assert 1536)
(free-point int32 :offset-assert 1540)
(used-point int32 :offset-assert 1544)
(partial-point float :offset-assert 1548)
(end-point int32 :offset-assert 1552)
(next-to-last-point int32 :offset-assert 1556)
(max-move float :offset-assert 1560)
(sample-len float :offset-assert 1564)
(used-count int32 :offset-assert 1568)
(old-position vector :inline :offset-assert 1584)
(debug-old-position vector :inline :offset-assert 1600)
(debug-out-position vector :inline :offset-assert 1616)
(debug-last-point int32 :offset-assert 1632)
((point tracking-point 32 :inline)
(summed-len float)
(free-point int32)
(used-point int32)
(partial-point float)
(end-point int32)
(next-to-last-point int32)
(max-move float)
(sample-len float)
(used-count int32)
(old-position vector :inline)
(debug-old-position vector :inline)
(debug-out-position vector :inline)
(debug-last-point int32)
)
:method-count-assert 24
:size-assert #x664
:flag-assert #x1800000664
(:methods
(tracking-spline-method-9 (_type_) none 9)
(tracking-spline-method-10 (_type_ vector) none 10)
(debug-point-info (_type_ int) none 11)
(debug-all-points (_type_) none 12)
(tracking-spline-method-13 (_type_ int) none 13)
(tracking-spline-method-14 (_type_ tracking-spline-sampler) none 14)
(tracking-spline-method-15 (_type_) none 15)
(tracking-spline-method-16 (_type_ float) none 16)
(tracking-spline-method-17 (_type_ vector float float symbol) int 17)
(tracking-spline-method-18 (_type_ float vector tracking-spline-sampler) vector 18)
(tracking-spline-method-19 (_type_ float vector tracking-spline-sampler) vector 19)
(tracking-spline-method-20 (_type_ vector int) none 20)
(tracking-spline-method-21 (_type_ vector float float float) vector 21)
(tracking-spline-method-22 (_type_ float) symbol 22)
(debug-draw-spline (_type_) none 23)
(tracking-spline-method-9 (_type_) none)
(tracking-spline-method-10 (_type_ vector) none)
(debug-point-info (_type_ int) none)
(debug-all-points (_type_) none)
(tracking-spline-method-13 (_type_ int) none)
(tracking-spline-method-14 (_type_ tracking-spline-sampler) none)
(tracking-spline-method-15 (_type_) none)
(tracking-spline-method-16 (_type_ float) none)
(tracking-spline-method-17 (_type_ vector float float symbol) int)
(tracking-spline-method-18 (_type_ float vector tracking-spline-sampler) vector)
(tracking-spline-method-19 (_type_ float vector tracking-spline-sampler) vector)
(tracking-spline-method-20 (_type_ vector int) none)
(tracking-spline-method-21 (_type_ vector float float float) vector)
(tracking-spline-method-22 (_type_ float) symbol)
(debug-draw-spline (_type_) none)
)
)
;; definition for method 3 of type tracking-spline
(defmethod inspect tracking-spline ((this tracking-spline))
(defmethod inspect ((this tracking-spline))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -146,27 +134,24 @@
;; definition of type cam-float-seeker
(deftype cam-float-seeker (structure)
((target float :offset-assert 0)
(value float :offset-assert 4)
(vel float :offset-assert 8)
(accel float :offset-assert 12)
(max-vel float :offset-assert 16)
(max-partial float :offset-assert 20)
((target float)
(value float)
(vel float)
(accel float)
(max-vel float)
(max-partial float)
)
:pack-me
:method-count-assert 13
:size-assert #x18
:flag-assert #xd00000018
(:methods
(init (_type_ float float float float) none 9)
(copy-to (_type_ _type_) none 10)
(update! (_type_ float) none 11)
(jump-to-target! (_type_ float) float 12)
(init (_type_ float float float float) none)
(copy-to (_type_ _type_) none)
(update! (_type_ float) none)
(jump-to-target! (_type_ float) float)
)
)
;; definition for method 3 of type cam-float-seeker
(defmethod inspect cam-float-seeker ((this cam-float-seeker))
(defmethod inspect ((this cam-float-seeker))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -184,7 +169,7 @@
;; definition for method 9 of type cam-float-seeker
;; WARN: Return type mismatch int vs none.
(defmethod init cam-float-seeker ((this cam-float-seeker) (arg0 float) (arg1 float) (arg2 float) (arg3 float))
(defmethod init ((this cam-float-seeker) (arg0 float) (arg1 float) (arg2 float) (arg3 float))
(set! (-> this target) arg0)
(set! (-> this value) arg0)
(set! (-> this vel) 0.0)
@@ -197,7 +182,7 @@
;; definition for method 10 of type cam-float-seeker
;; WARN: Return type mismatch int vs none.
(defmethod copy-to cam-float-seeker ((this cam-float-seeker) (arg0 cam-float-seeker))
(defmethod copy-to ((this cam-float-seeker) (arg0 cam-float-seeker))
(set! (-> this target) (-> arg0 target))
(set! (-> this value) (-> arg0 value))
(set! (-> this vel) (-> arg0 vel))
@@ -210,7 +195,7 @@
;; definition for method 11 of type cam-float-seeker
;; WARN: Return type mismatch int vs none.
(defmethod update! cam-float-seeker ((this cam-float-seeker) (arg0 float))
(defmethod update! ((this cam-float-seeker) (arg0 float))
(with-pp
0.0
0.0
@@ -237,7 +222,7 @@
)
;; definition for method 12 of type cam-float-seeker
(defmethod jump-to-target! cam-float-seeker ((this cam-float-seeker) (arg0 float))
(defmethod jump-to-target! ((this cam-float-seeker) (arg0 float))
(set! (-> this value) (+ (-> this target) arg0))
(set! (-> this vel) 0.0)
0.0
@@ -245,24 +230,21 @@
;; definition of type cam-vector-seeker
(deftype cam-vector-seeker (structure)
((target vector :inline :offset-assert 0)
(value vector :inline :offset-assert 16)
(vel vector :inline :offset-assert 32)
(accel float :offset-assert 48)
(max-vel float :offset-assert 52)
(max-partial float :offset-assert 56)
((target vector :inline)
(value vector :inline)
(vel vector :inline)
(accel float)
(max-vel float)
(max-partial float)
)
:method-count-assert 11
:size-assert #x3c
:flag-assert #xb0000003c
(:methods
(init (_type_ vector float float float) none 9)
(update! (_type_ vector) none 10)
(init (_type_ vector float float float) none)
(update! (_type_ vector) none)
)
)
;; definition for method 3 of type cam-vector-seeker
(defmethod inspect cam-vector-seeker ((this cam-vector-seeker))
(defmethod inspect ((this cam-vector-seeker))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -281,7 +263,7 @@
;; definition for method 9 of type cam-vector-seeker
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod init cam-vector-seeker ((this cam-vector-seeker) (arg0 vector) (arg1 float) (arg2 float) (arg3 float))
(defmethod init ((this cam-vector-seeker) (arg0 vector) (arg1 float) (arg2 float) (arg3 float))
(cond
(arg0
(set! (-> this target quad) (-> arg0 quad))
@@ -302,7 +284,7 @@
;; definition for method 10 of type cam-vector-seeker
;; WARN: Return type mismatch int vs none.
(defmethod update! cam-vector-seeker ((this cam-vector-seeker) (arg0 vector))
(defmethod update! ((this cam-vector-seeker) (arg0 vector))
(with-pp
(let ((v1-0 (new 'stack-no-clear 'vector)))
0.0
@@ -336,26 +318,23 @@
;; definition of type cam-rotation-tracker
(deftype cam-rotation-tracker (structure)
((inv-mat matrix :inline :offset-assert 0)
(no-follow basic :offset-assert 64)
(follow-pt vector :inline :offset-assert 80)
(follow-off vector :inline :offset-assert 96)
(follow-blend float :offset-assert 112)
(tilt-adjust cam-float-seeker :inline :offset-assert 116)
(point-of-interest-blend cam-float-seeker :inline :offset-assert 140)
(underwater-blend cam-float-seeker :inline :offset-assert 164)
(looking-at vector :inline :offset-assert 192)
(looking-interesting vector :inline :offset-assert 208)
(old-cam-trans vector :inline :offset-assert 224)
(follow-height-extra cam-float-seeker :inline :offset-assert 240)
((inv-mat matrix :inline)
(no-follow basic)
(follow-pt vector :inline)
(follow-off vector :inline)
(follow-blend float)
(tilt-adjust cam-float-seeker :inline)
(point-of-interest-blend cam-float-seeker :inline)
(underwater-blend cam-float-seeker :inline)
(looking-at vector :inline)
(looking-interesting vector :inline)
(old-cam-trans vector :inline)
(follow-height-extra cam-float-seeker :inline)
)
:method-count-assert 9
:size-assert #x108
:flag-assert #x900000108
)
;; definition for method 3 of type cam-rotation-tracker
(defmethod inspect cam-rotation-tracker ((this cam-rotation-tracker))
(defmethod inspect ((this cam-rotation-tracker))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -379,31 +358,27 @@
;; definition of type camera-combiner
(deftype camera-combiner (process)
((trans vector :inline :offset-assert 128)
(inv-camera-rot matrix :inline :offset-assert 144)
(fov float :offset-assert 208)
(interp-val float :offset-assert 212)
(interp-step float :offset-assert 216)
(dist-from-src float :offset-assert 220)
(dist-from-dest float :offset-assert 224)
(flip-control-axis vector :inline :offset-assert 240)
(velocity vector :inline :offset-assert 256)
(tracking-status uint64 :offset-assert 272)
(tracking-options int32 :offset-assert 280)
(tracking cam-rotation-tracker :inline :offset-assert 288)
(fast-rot basic :offset-assert 552)
((trans vector :inline)
(inv-camera-rot matrix :inline)
(fov float)
(interp-val float)
(interp-step float)
(dist-from-src float)
(dist-from-dest float)
(flip-control-axis vector :inline)
(velocity vector :inline)
(tracking-status uint64)
(tracking-options int32)
(tracking cam-rotation-tracker :inline)
(fast-rot basic)
)
:heap-base #x1b0
:method-count-assert 14
:size-assert #x22c
:flag-assert #xe01b0022c
(:states
cam-combiner-active
)
)
;; definition for method 3 of type camera-combiner
(defmethod inspect camera-combiner ((this camera-combiner))
(defmethod inspect ((this camera-combiner))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -430,66 +405,62 @@
;; definition of type camera-slave
(deftype camera-slave (process)
((trans vector :inline :offset-assert 128)
(fov float :offset-assert 144)
(fov0 float :offset-assert 148)
(fov1 float :offset-assert 152)
(fov-index cam-index :inline :offset-assert 160)
(tracking cam-rotation-tracker :inline :offset-assert 208)
(view-off-param float :offset-assert 472)
(view-off vector :inline :offset-assert 480)
(joystick-saved-view-off vector :inline :offset-assert 496)
(min-z-override float :offset-assert 512)
(view-flat vector :inline :offset-assert 528)
(string-vel-dir uint32 :offset-assert 544)
(string-trans vector :inline :offset-assert 560)
(position-spline tracking-spline :inline :offset-assert 576)
(pivot-pt vector :inline :offset-assert 2224)
(pivot-rad float :offset-assert 2240)
(circular-follow vector :inline :offset-assert 2256)
(max-angle-offset float :offset-assert 2272)
(max-angle-curr float :offset-assert 2276)
(options cam-slave-options-u32 :offset-assert 2280)
(cam-entity entity :offset-assert 2284)
(butt-timer uint64 :offset-assert 2288)
(butt-seek basic :offset-assert 2296)
(butt-vector vector :inline :offset-assert 2304)
(velocity vector :inline :offset-assert 2320)
(desired-pos vector :inline :offset-assert 2336)
(time-dist-too-far uint32 :offset-assert 2352)
(los-state slave-los-state :offset-assert 2356)
(good-point vector :inline :offset-assert 2368)
(los-tgt-spline-pt int32 :offset-assert 2384)
(los-tgt-spline-pt-incarnation int32 :offset-assert 2388)
(los-last-pos vector :inline :offset-assert 2400)
(intro-curve curve :inline :offset-assert 2416)
(intro-offset vector :inline :offset-assert 2448)
(intro-t float :offset-assert 2464)
(intro-t-step float :offset-assert 2468)
(outro-exit-value float :offset-assert 2472)
(spline-exists basic :offset-assert 2476)
(spline-curve curve :inline :offset-assert 2480)
(spline-offset vector :inline :offset-assert 2512)
(index cam-index :inline :offset-assert 2528)
(saved-pt vector :inline :offset-assert 2576)
(spline-tt float :offset-assert 2592)
(spline-follow-dist float :offset-assert 2596)
(enter-has-run symbol :offset-assert 2600)
(blend-from-type uint64 :offset-assert 2608)
(blend-to-type camera-blend-to-type :offset-assert 2616)
(have-phony-joystick basic :offset-assert 2624)
(phony-joystick-x float :offset-assert 2628)
(phony-joystick-y float :offset-assert 2632)
(string-min-val vector :inline :offset-assert 2640)
(string-max-val vector :inline :offset-assert 2656)
(string-val-locked basic :offset-assert 2672)
(relative-position vector :inline :offset-assert 2688)
(string-relative basic :offset-assert 2704)
((trans vector :inline)
(fov float)
(fov0 float)
(fov1 float)
(fov-index cam-index :inline)
(tracking cam-rotation-tracker :inline)
(view-off-param float)
(view-off vector :inline)
(joystick-saved-view-off vector :inline)
(min-z-override float)
(view-flat vector :inline)
(string-vel-dir uint32)
(string-trans vector :inline)
(position-spline tracking-spline :inline)
(pivot-pt vector :inline)
(pivot-rad float)
(circular-follow vector :inline)
(max-angle-offset float)
(max-angle-curr float)
(options cam-slave-options-u32)
(cam-entity entity)
(butt-timer uint64)
(butt-seek basic)
(butt-vector vector :inline)
(velocity vector :inline)
(desired-pos vector :inline)
(time-dist-too-far uint32)
(los-state slave-los-state)
(good-point vector :inline)
(los-tgt-spline-pt int32)
(los-tgt-spline-pt-incarnation int32)
(los-last-pos vector :inline)
(intro-curve curve :inline)
(intro-offset vector :inline)
(intro-t float)
(intro-t-step float)
(outro-exit-value float)
(spline-exists basic)
(spline-curve curve :inline)
(spline-offset vector :inline)
(index cam-index :inline)
(saved-pt vector :inline)
(spline-tt float)
(spline-follow-dist float)
(enter-has-run symbol)
(blend-from-type uint64)
(blend-to-type camera-blend-to-type)
(have-phony-joystick basic)
(phony-joystick-x float)
(phony-joystick-y float)
(string-min-val vector :inline)
(string-max-val vector :inline)
(string-val-locked basic)
(relative-position vector :inline)
(string-relative basic)
)
:heap-base #xa20
:method-count-assert 14
:size-assert #xa94
:flag-assert #xe0a200a94
(:states
cam-bike
cam-circular
@@ -519,7 +490,7 @@
)
;; definition for method 3 of type camera-slave
(defmethod inspect camera-slave ((this camera-slave))
(defmethod inspect ((this camera-slave))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -588,54 +559,50 @@
;; definition of type camera-master
(deftype camera-master (process)
((master-options cam-master-options-u32 :offset-assert 128)
(settings cam-setting-data :offset-assert 132)
(slave (pointer camera-slave) :offset-assert 136)
(decel (pointer camera-slave) :offset-assert 140)
(slave-options uint32 :offset-assert 144)
(view-off-param-save float :offset-assert 148)
(changer uint32 :offset-assert 152)
(string-min cam-vector-seeker :inline :offset-assert 160)
(string-max cam-vector-seeker :inline :offset-assert 224)
(string-push-z float :offset-assert 284)
(local-down vector :inline :offset-assert 288)
(focus focus :inline :offset-assert 304)
(being-attacked symbol :offset-assert 316)
(attack-start time-frame :offset-assert 320)
(on-ground symbol :offset-assert 328)
(under-water int32 :offset-assert 332)
(on-pole symbol :offset-assert 336)
(tgt-rot-mat matrix :inline :offset-assert 352)
(tgt-face-mat matrix :inline :offset-assert 416)
(tpos-old vector :inline :offset-assert 480)
(tpos-curr vector :inline :offset-assert 496)
(tpos-old-adj vector :inline :offset-assert 512)
(tpos-curr-adj vector :inline :offset-assert 528)
(tpos-tgt vector :inline :offset-assert 544)
(upspeed float :offset-assert 560)
(pitch-off vector :inline :offset-assert 576)
(target-spline tracking-spline :inline :offset-assert 592)
(ease-from vector :inline :offset-assert 2240)
(ease-t float :offset-assert 2256)
(ease-step float :offset-assert 2260)
(ease-to vector :inline :offset-assert 2272)
(outro-curve curve :inline :offset-assert 2288)
(outro-t float :offset-assert 2308)
(outro-t-step float :offset-assert 2312)
(outro-exit-value float :offset-assert 2316)
(water-drip-time time-frame :offset-assert 2320)
(water-drip sparticle-launch-control :offset-assert 2328)
(water-drip-mult float :offset-assert 2332)
(water-drip-speed float :offset-assert 2336)
((master-options cam-master-options-u32)
(settings cam-setting-data)
(slave (pointer camera-slave))
(decel (pointer camera-slave))
(slave-options uint32)
(view-off-param-save float)
(changer uint32)
(string-min cam-vector-seeker :inline)
(string-max cam-vector-seeker :inline)
(string-push-z float)
(local-down vector :inline)
(focus focus :inline)
(being-attacked symbol)
(attack-start time-frame)
(on-ground symbol)
(under-water int32)
(on-pole symbol)
(tgt-rot-mat matrix :inline)
(tgt-face-mat matrix :inline)
(tpos-old vector :inline)
(tpos-curr vector :inline)
(tpos-old-adj vector :inline)
(tpos-curr-adj vector :inline)
(tpos-tgt vector :inline)
(upspeed float)
(pitch-off vector :inline)
(target-spline tracking-spline :inline)
(ease-from vector :inline)
(ease-t float)
(ease-step float)
(ease-to vector :inline)
(outro-curve curve :inline)
(outro-t float)
(outro-t-step float)
(outro-exit-value float)
(water-drip-time time-frame)
(water-drip sparticle-launch-control)
(water-drip-mult float)
(water-drip-speed float)
)
:heap-base #x8b0
:method-count-assert 17
:size-assert #x924
:flag-assert #x1108b00924
(:methods
(camera-master-method-14 (_type_ vector) vector 14)
(camera-master-method-15 (_type_ vector) vector 15)
(camera-master-method-16 (_type_ symbol) int 16)
(camera-master-method-14 (_type_ vector) vector)
(camera-master-method-15 (_type_ vector) vector)
(camera-master-method-16 (_type_ symbol) int)
)
(:states
cam-master-active
@@ -643,7 +610,7 @@
)
;; definition for method 3 of type camera-master
(defmethod inspect camera-master ((this camera-master))
(defmethod inspect ((this camera-master))
(when (not this)
(set! this this)
(goto cfg-4)
+14 -14
View File
@@ -375,7 +375,7 @@
;; definition for method 9 of type cam-index
;; INFO: Used lq/sq
(defmethod cam-index-method-9 cam-index ((this cam-index) (arg0 symbol) (arg1 entity) (arg2 vector) (arg3 curve))
(defmethod cam-index-method-9 ((this cam-index) (arg0 symbol) (arg1 entity) (arg2 vector) (arg3 curve))
(local-vars (sv-32 (function _varargs_ object)))
(format (clear *cam-res-string*) "~S-flags" arg0)
(set! (-> this flags) (the-as cam-index-options (cam-slave-get-flags arg1 (string->symbol *cam-res-string*))))
@@ -453,7 +453,7 @@
;; definition for method 10 of type cam-index
;; INFO: Used lq/sq
(defmethod cam-index-method-10 cam-index ((this cam-index) (arg0 vector))
(defmethod cam-index-method-10 ((this cam-index) (arg0 vector))
(let ((s5-0 (new-stack-vector0)))
0.0
(vector-! s5-0 arg0 (the-as vector (-> this vec)))
@@ -475,7 +475,7 @@
;; definition for method 10 of type tracking-spline
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-10 tracking-spline ((this tracking-spline) (arg0 vector))
(defmethod tracking-spline-method-10 ((this tracking-spline) (arg0 vector))
(set! (-> this point 0 position quad) (-> arg0 quad))
(set! (-> this point 0 next) -134250495)
(set! (-> this summed-len) 0.0)
@@ -501,7 +501,7 @@
;; definition for method 13 of type tracking-spline
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-13 tracking-spline ((this tracking-spline) (arg0 int))
(defmethod tracking-spline-method-13 ((this tracking-spline) (arg0 int))
(let ((v1-3 (-> this point arg0 next)))
(cond
((= v1-3 -134250495)
@@ -536,7 +536,7 @@
;; definition for method 14 of type tracking-spline
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-14 tracking-spline ((this tracking-spline) (arg0 tracking-spline-sampler))
(defmethod tracking-spline-method-14 ((this tracking-spline) (arg0 tracking-spline-sampler))
(let ((v1-0 (-> this used-point)))
(set! (-> this partial-point) (-> arg0 partial-pt))
(when (= (-> this next-to-last-point) v1-0)
@@ -577,7 +577,7 @@
;; definition for method 15 of type tracking-spline
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-15 tracking-spline ((this tracking-spline))
(defmethod tracking-spline-method-15 ((this tracking-spline))
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
(let ((a2-0 (new 'stack-no-clear 'vector)))
(set! (-> s5-0 cur-pt) (-> this used-point))
@@ -625,7 +625,7 @@
;; definition for method 16 of type tracking-spline
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-16 tracking-spline ((this tracking-spline) (arg0 float))
(defmethod tracking-spline-method-16 ((this tracking-spline) (arg0 float))
(let ((s4-0 (new 'stack-no-clear 'tracking-spline-sampler)))
(let ((a2-0 (new 'stack-no-clear 'vector)))
(set! (-> s4-0 cur-pt) (-> this used-point))
@@ -665,7 +665,7 @@
;; definition for method 17 of type tracking-spline
;; INFO: Used lq/sq
(defmethod tracking-spline-method-17 tracking-spline ((this tracking-spline) (arg0 vector) (arg1 float) (arg2 float) (arg3 symbol))
(defmethod tracking-spline-method-17 ((this tracking-spline) (arg0 vector) (arg1 float) (arg2 float) (arg3 symbol))
(let ((s3-0 (-> this free-point))
(s2-0 (-> this end-point))
)
@@ -708,7 +708,7 @@
;; definition for method 18 of type tracking-spline
;; WARN: new jak 2 until loop case, check carefully
(defmethod tracking-spline-method-18 tracking-spline ((this tracking-spline) (arg0 float) (arg1 vector) (arg2 tracking-spline-sampler))
(defmethod tracking-spline-method-18 ((this tracking-spline) (arg0 float) (arg1 vector) (arg2 tracking-spline-sampler))
(local-vars (f0-4 float))
(when (not arg2)
(set! arg2 (new 'stack-no-clear 'tracking-spline-sampler))
@@ -752,7 +752,7 @@
)
;; definition for method 19 of type tracking-spline
(defmethod tracking-spline-method-19 tracking-spline ((this tracking-spline) (arg0 float) (arg1 vector) (arg2 tracking-spline-sampler))
(defmethod tracking-spline-method-19 ((this tracking-spline) (arg0 float) (arg1 vector) (arg2 tracking-spline-sampler))
(vector-reset! arg1)
(tracking-spline-method-18 this arg0 arg1 arg2)
arg1
@@ -760,7 +760,7 @@
;; definition for method 20 of type tracking-spline
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-20 tracking-spline ((this tracking-spline) (arg0 vector) (arg1 int))
(defmethod tracking-spline-method-20 ((this tracking-spline) (arg0 vector) (arg1 int))
(let ((s3-0 (new 'stack-no-clear 'vector)))
(vector-!
s3-0
@@ -844,7 +844,7 @@
;; definition for method 21 of type tracking-spline
;; INFO: Used lq/sq
(defmethod tracking-spline-method-21 tracking-spline ((this tracking-spline) (arg0 vector) (arg1 float) (arg2 float) (arg3 float))
(defmethod tracking-spline-method-21 ((this tracking-spline) (arg0 vector) (arg1 float) (arg2 float) (arg3 float))
(with-pp
(let ((v1-0 (-> this used-point))
(f0-0 (-> this partial-point))
@@ -895,7 +895,7 @@
;; definition for method 22 of type tracking-spline
;; WARN: Return type mismatch int vs symbol.
(defmethod tracking-spline-method-22 tracking-spline ((this tracking-spline) (arg0 float))
(defmethod tracking-spline-method-22 ((this tracking-spline) (arg0 float))
(when (< arg0 (-> this summed-len))
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
(let ((a2-0 (new 'stack-no-clear 'vector)))
@@ -911,7 +911,7 @@
;; definition for method 9 of type tracking-spline
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-9 tracking-spline ((this tracking-spline))
(defmethod tracking-spline-method-9 ((this tracking-spline))
(let ((v1-0 (-> this used-point))
(s4-0 0)
(s5-0 0)
+21 -23
View File
@@ -3,35 +3,33 @@
;; definition of type pov-camera
(deftype pov-camera (process-drawable)
((flags pov-camera-flag :offset-assert 200)
(debounce-start-time time-frame :offset-assert 208)
(notify-handle handle :offset-assert 216)
(anim-name string :offset-assert 224)
(command-list pair :offset-assert 228)
(mask-to-clear process-mask :offset-assert 232)
(music-volume-movie float :offset-assert 236)
(sfx-volume-movie float :offset-assert 240)
((flags pov-camera-flag)
(debounce-start-time time-frame)
(notify-handle handle)
(anim-name string)
(command-list pair)
(mask-to-clear process-mask)
(music-volume-movie float)
(sfx-volume-movie float)
)
:heap-base #x80
:method-count-assert 30
:size-assert #xf4
:flag-assert #x1e008000f4
(:state-methods
pov-camera-abort
pov-camera-done-playing
pov-camera-playing
pov-camera-start-playing
pov-camera-startup
)
(:methods
(pov-camera-abort () _type_ :state 20)
(pov-camera-done-playing () _type_ :state 21)
(pov-camera-playing () _type_ :state 22)
(pov-camera-start-playing () _type_ :state 23)
(pov-camera-startup () _type_ :state 24)
(abort? (_type_) symbol :behavior pov-camera 25)
(target-grabbed? (_type_) symbol 26)
(pov-camera-method-27 () none 27)
(pov-camera-method-28 () none 28)
(target-released? (_type_) symbol 29)
(abort? (_type_) symbol :behavior pov-camera)
(target-grabbed? (_type_) symbol)
(pov-camera-method-27 () none)
(pov-camera-method-28 () none)
(target-released? (_type_) symbol)
)
)
;; definition for method 3 of type pov-camera
(defmethod inspect pov-camera ((this pov-camera))
(defmethod inspect ((this pov-camera))
(when (not this)
(set! this this)
(goto cfg-4)