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
+32 -41
View File
@@ -3,15 +3,12 @@
;; definition of type chain-physics-setup
(deftype chain-physics-setup (structure)
((joint-index int32 :offset-assert 0)
((joint-index int32)
)
:method-count-assert 9
:size-assert #x4
:flag-assert #x900000004
)
;; definition for method 3 of type chain-physics-setup
(defmethod inspect chain-physics-setup ((this chain-physics-setup))
(defmethod inspect ((this chain-physics-setup))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -24,18 +21,15 @@
;; definition of type chain-physics-joint
(deftype chain-physics-joint (structure)
((position vector :inline :offset-assert 0)
(velocity vector :inline :offset-assert 16)
(old-x vector :inline :offset-assert 32)
(joint-mod joint-mod :offset-assert 48)
((position vector :inline)
(velocity vector :inline)
(old-x vector :inline)
(joint-mod joint-mod)
)
:method-count-assert 9
:size-assert #x34
:flag-assert #x900000034
)
;; definition for method 3 of type chain-physics-joint
(defmethod inspect chain-physics-joint ((this chain-physics-joint))
(defmethod inspect ((this chain-physics-joint))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -51,40 +45,37 @@
;; definition of type chain-physics
(deftype chain-physics (basic)
((chain-joints chain-physics-joint 20 :inline :offset-assert 16)
(num-joints uint8 :offset-assert 1296)
(root-joint-index uint8 :offset-assert 1297)
(joint-length float :offset-assert 1300)
(gravity vector :inline :offset-assert 1312)
(gravity-target vector :inline :offset-assert 1328)
(stretch-vel float :offset-assert 1344)
(stretch-vel-parallel float :offset-assert 1348)
(compress-vel float :offset-assert 1352)
(compress-vel-parallel float :offset-assert 1356)
(negate-y symbol :offset-assert 1360)
(axial-slop float :offset-assert 1364)
(maximum-stretch float :offset-assert 1368)
(turn-off-start time-frame :offset-assert 1376)
(turn-off-duration time-frame :offset-assert 1384)
((chain-joints chain-physics-joint 20 :inline)
(num-joints uint8)
(root-joint-index uint8)
(joint-length float)
(gravity vector :inline)
(gravity-target vector :inline)
(stretch-vel float)
(stretch-vel-parallel float)
(compress-vel float)
(compress-vel-parallel float)
(negate-y symbol)
(axial-slop float)
(maximum-stretch float)
(turn-off-start time-frame)
(turn-off-duration time-frame)
)
:method-count-assert 18
:size-assert #x570
:flag-assert #x1200000570
(:methods
(initialize-chain-joints (_type_) symbol 9)
(turn-off (_type_ time-frame) none :behavior process 10)
(update (_type_ process-drawable) none :behavior process 11)
(gravity-update (_type_ process-drawable) none 12)
(apply-gravity (_type_ vector int process-drawable) none :behavior process 13)
(chain-physics-method-14 (_type_ vector int) none 14)
(clamp-length (_type_ vector vector object process-drawable) vector 15)
(chain-physics-method-16 (_type_ int) float 16)
(chain-physics-method-17 (_type_ vector int) none 17)
(initialize-chain-joints (_type_) symbol)
(turn-off (_type_ time-frame) none :behavior process)
(update (_type_ process-drawable) none :behavior process)
(gravity-update (_type_ process-drawable) none)
(apply-gravity (_type_ vector int process-drawable) none :behavior process)
(chain-physics-method-14 (_type_ vector int) none)
(clamp-length (_type_ vector vector object process-drawable) vector)
(chain-physics-method-16 (_type_ int) float)
(chain-physics-method-17 (_type_ vector int) none)
)
)
;; definition for method 3 of type chain-physics
(defmethod inspect chain-physics ((this chain-physics))
(defmethod inspect ((this chain-physics))
(when (not this)
(set! this this)
(goto cfg-4)
+10 -10
View File
@@ -3,7 +3,7 @@
;; definition for method 12 of type chain-physics
;; WARN: Return type mismatch int vs none.
(defmethod gravity-update chain-physics ((this chain-physics) (arg0 process-drawable))
(defmethod gravity-update ((this chain-physics) (arg0 process-drawable))
(vector-seek-3d-smooth! (-> this gravity) (-> this gravity-target) 0.05 0.1)
0
(none)
@@ -11,7 +11,7 @@
;; definition for method 13 of type chain-physics
;; WARN: Return type mismatch int vs none.
(defmethod apply-gravity chain-physics ((this chain-physics) (arg0 vector) (arg1 int) (arg2 process-drawable))
(defmethod apply-gravity ((this chain-physics) (arg0 vector) (arg1 int) (arg2 process-drawable))
(vector-float*!
arg0
(-> this gravity)
@@ -23,7 +23,7 @@
;; definition for method 14 of type chain-physics
;; WARN: Return type mismatch int vs none.
(defmethod chain-physics-method-14 chain-physics ((this chain-physics) (arg0 vector) (arg1 int))
(defmethod chain-physics-method-14 ((this chain-physics) (arg0 vector) (arg1 int))
(vector-float*!
arg0
(the-as vector (+ (the-as uint (-> this chain-joints 0 velocity)) (* (+ arg1 1) 64)))
@@ -34,7 +34,7 @@
)
;; definition for method 15 of type chain-physics
(defmethod clamp-length chain-physics ((this chain-physics) (arg0 vector) (arg1 vector) (arg2 object) (arg3 process-drawable))
(defmethod clamp-length ((this chain-physics) (arg0 vector) (arg1 vector) (arg2 object) (arg3 process-drawable))
(let ((gp-0 (new 'stack-no-clear 'vector)))
(vector-! gp-0 arg0 arg1)
(vector-normalize! gp-0 (-> this joint-length))
@@ -43,19 +43,19 @@
)
;; definition for method 16 of type chain-physics
(defmethod chain-physics-method-16 chain-physics ((this chain-physics) (arg0 int))
(defmethod chain-physics-method-16 ((this chain-physics) (arg0 int))
(lerp-scale 5461.3335 10922.667 (the float arg0) 0.0 8.0)
)
;; definition for method 17 of type chain-physics
;; WARN: Return type mismatch int vs none.
(defmethod chain-physics-method-17 chain-physics ((this chain-physics) (arg0 vector) (arg1 int))
(defmethod chain-physics-method-17 ((this chain-physics) (arg0 vector) (arg1 int))
0
(none)
)
;; definition for method 9 of type chain-physics
(defmethod initialize-chain-joints chain-physics ((this chain-physics))
(defmethod initialize-chain-joints ((this chain-physics))
(set! (-> this turn-off-start) 0)
(dotimes (s5-0 (the-as int (-> this num-joints)))
(let ((s4-0 (-> this chain-joints s5-0)))
@@ -69,7 +69,7 @@
;; definition for method 10 of type chain-physics
;; WARN: Return type mismatch int vs none.
(defmethod turn-off chain-physics ((this chain-physics) (arg0 time-frame))
(defmethod turn-off ((this chain-physics) (arg0 time-frame))
(set-time! (-> this turn-off-start))
(set! (-> this turn-off-duration) arg0)
0
@@ -79,7 +79,7 @@
;; definition for method 11 of type chain-physics
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod update chain-physics ((this chain-physics) (arg0 process-drawable))
(defmethod update ((this chain-physics) (arg0 process-drawable))
(local-vars
(v1-78 float)
(f0-11 float)
@@ -356,7 +356,7 @@
)
;; definition for method 7 of type chain-physics
(defmethod relocate chain-physics ((this chain-physics) (arg0 int))
(defmethod relocate ((this chain-physics) (arg0 int))
(dotimes (v1-0 (the-as int (-> this num-joints)))
(if (nonzero? (-> this chain-joints v1-0 joint-mod))
(&+! (-> this chain-joints v1-0 joint-mod) arg0)
+10 -13
View File
@@ -3,24 +3,21 @@
;; definition of type dynamics
(deftype dynamics (basic)
((name symbol :offset-assert 4)
(gravity-max meters :offset-assert 8)
(gravity-length meters :offset-assert 12)
(gravity vector :inline :offset-assert 16)
(gravity-normal vector :inline :offset-assert 32)
(walk-distance meters :offset-assert 48)
(run-distance meters :offset-assert 52)
((name symbol)
(gravity-max meters)
(gravity-length meters)
(gravity vector :inline)
(gravity-normal vector :inline)
(walk-distance meters)
(run-distance meters)
)
:method-count-assert 10
:size-assert #x38
:flag-assert #xa00000038
(:methods
(set-gravity-length (_type_ float) none 9)
(set-gravity-length (_type_ float) none)
)
)
;; definition for method 3 of type dynamics
(defmethod inspect dynamics ((this dynamics))
(defmethod inspect ((this dynamics))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -39,7 +36,7 @@
;; definition for method 9 of type dynamics
;; WARN: Return type mismatch int vs none.
(defmethod set-gravity-length dynamics ((this dynamics) (arg0 float))
(defmethod set-gravity-length ((this dynamics) (arg0 float))
(set! (-> this gravity-length) arg0)
(vector-float*! (-> this gravity) (-> this gravity-normal) arg0)
0
+172 -195
View File
@@ -3,29 +3,26 @@
;; definition of type rigid-body-info
(deftype rigid-body-info (structure)
((mass float :offset-assert 0)
(inv-mass float :offset-assert 4)
(linear-damping float :offset-assert 8)
(angular-damping float :offset-assert 12)
(bounce-factor float :offset-assert 16)
(friction-factor float :offset-assert 20)
(bounce-mult-factor float :offset-assert 24)
(unknown-k1hbn23 float :offset-assert 28)
(cm-offset-joint vector :inline :offset-assert 32)
(inv-inertial-tensor matrix :inline :offset-assert 48)
(inertial-tensor matrix :inline :offset-assert 112)
(inertial-tensor-box meters 3 :offset-assert 176)
((mass float)
(inv-mass float)
(linear-damping float)
(angular-damping float)
(bounce-factor float)
(friction-factor float)
(bounce-mult-factor float)
(unknown-k1hbn23 float)
(cm-offset-joint vector :inline)
(inv-inertial-tensor matrix :inline)
(inertial-tensor matrix :inline)
(inertial-tensor-box meters 3)
)
:method-count-assert 10
:size-assert #xbc
:flag-assert #xa000000bc
(:methods
(rigid-body-info-method-9 (_type_) none 9)
(rigid-body-info-method-9 (_type_) none)
)
)
;; definition for method 3 of type rigid-body-info
(defmethod inspect rigid-body-info ((this rigid-body-info))
(defmethod inspect ((this rigid-body-info))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -48,19 +45,16 @@
;; definition of type rigid-body-object-extra-info
(deftype rigid-body-object-extra-info (structure)
((max-time-step float :offset-assert 0)
(gravity meters :offset-assert 4)
(idle-distance meters :offset-assert 8)
(attack-force-scale float :offset-assert 12)
((max-time-step float)
(gravity meters)
(idle-distance meters)
(attack-force-scale float)
)
:pack-me
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type rigid-body-object-extra-info
(defmethod inspect rigid-body-object-extra-info ((this rigid-body-object-extra-info))
(defmethod inspect ((this rigid-body-object-extra-info))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -76,29 +70,26 @@
;; definition of type rigid-body-object-constants
(deftype rigid-body-object-constants (structure)
((info rigid-body-info :inline :offset-assert 0)
(cm-joint vector :inline :offset 32)
(cm-joint-x meters :offset 32)
(cm-joint-y meters :offset 36)
(cm-joint-z meters :offset 40)
(cm-joint-w meters :offset 44)
(linear-damping float :offset 8)
(angular-damping float :offset 12)
(bounce-factor float :offset 16)
(friction-factor float :offset 20)
(inertial-tensor-x meters :offset 176)
(inertial-tensor-y meters :offset 180)
(inertial-tensor-z meters :offset 184)
(extra rigid-body-object-extra-info :inline :offset-assert 188)
(name symbol :offset-assert 204)
((info rigid-body-info :inline)
(cm-joint vector :inline :overlay-at (-> info cm-offset-joint))
(cm-joint-x meters :overlay-at (-> info cm-offset-joint data 0))
(cm-joint-y meters :overlay-at (-> info cm-offset-joint data 1))
(cm-joint-z meters :overlay-at (-> info cm-offset-joint data 2))
(cm-joint-w meters :overlay-at (-> info cm-offset-joint data 3))
(linear-damping float :overlay-at (-> info linear-damping))
(angular-damping float :overlay-at (-> info angular-damping))
(bounce-factor float :overlay-at (-> info bounce-factor))
(friction-factor float :overlay-at (-> info friction-factor))
(inertial-tensor-x meters :overlay-at (-> info inertial-tensor-box 0))
(inertial-tensor-y meters :overlay-at (-> info inertial-tensor-box 1))
(inertial-tensor-z meters :overlay-at (-> info inertial-tensor-box 2))
(extra rigid-body-object-extra-info :inline)
(name symbol)
)
:method-count-assert 9
:size-assert #xd0
:flag-assert #x9000000d0
)
;; definition for method 3 of type rigid-body-object-constants
(defmethod inspect rigid-body-object-constants ((this rigid-body-object-constants))
(defmethod inspect ((this rigid-body-object-constants))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -129,21 +120,18 @@
;; definition of type rigid-body-impact
(deftype rigid-body-impact (structure)
((point vector :inline :offset-assert 0)
(normal vector :inline :offset-assert 16)
(velocity vector :inline :offset-assert 32)
(impulse float :offset-assert 48)
(pat pat-surface :offset-assert 52)
(rbody basic :offset-assert 56)
(prim-id uint32 :offset-assert 60)
((point vector :inline)
(normal vector :inline)
(velocity vector :inline)
(impulse float)
(pat pat-surface)
(rbody basic)
(prim-id uint32)
)
:method-count-assert 9
:size-assert #x40
:flag-assert #x900000040
)
;; definition for method 3 of type rigid-body-impact
(defmethod inspect rigid-body-impact ((this rigid-body-impact))
(defmethod inspect ((this rigid-body-impact))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -162,57 +150,54 @@
;; definition of type rigid-body
(deftype rigid-body (structure)
((work rigid-body-work :offset-assert 0)
(info rigid-body-info :offset-assert 4)
(flags rigid-body-flag :offset-assert 8)
(force-callback (function object float none) :offset-assert 12)
(blocked-by rigid-body-object :offset-assert 16)
(time-remaining float :offset-assert 20)
(step-count int16 :offset-assert 24)
(position vector :inline :offset-assert 32)
(rot vector :inline :offset-assert 48)
(rotation quaternion :inline :offset 48)
(lin-momentum vector :inline :offset-assert 64)
(ang-momentum vector :inline :offset-assert 80)
(force vector :inline :offset-assert 96)
(torque vector :inline :offset-assert 112)
(lin-velocity vector :inline :offset-assert 128)
(ang-velocity vector :inline :offset-assert 144)
(matrix matrix :inline :offset-assert 160)
(inv-i-world matrix :inline :offset-assert 224)
((work rigid-body-work)
(info rigid-body-info)
(flags rigid-body-flag)
(force-callback (function object float none))
(blocked-by rigid-body-object)
(time-remaining float)
(step-count int16)
(position vector :inline)
(rot vector :inline)
(rotation quaternion :inline :overlay-at (-> rot data 0))
(lin-momentum vector :inline)
(ang-momentum vector :inline)
(force vector :inline)
(torque vector :inline)
(lin-velocity vector :inline)
(ang-velocity vector :inline)
(matrix matrix :inline)
(inv-i-world matrix :inline)
)
:method-count-assert 32
:size-assert #x120
:flag-assert #x2000000120
(:methods
(rigid-body-method-9 (_type_ collide-shape-moving float) none 9)
(rigid-body-method-10 (_type_) none 10)
(rigid-body-method-11 (_type_ collide-shape-moving) none 11)
(rigid-body-method-12 (_type_ float) none 12)
(rigid-body-method-13 (_type_) none 13)
(rigid-body-method-14 (_type_ float) none 14)
(rigid-body-method-15 (_type_ collide-shape-moving float) none 15)
(clear-force-torque! (_type_) none 16)
(clear-momentum! (_type_) none 17)
(rigid-body-method-18 (_type_ vector vector) none 18)
(rigid-body-method-19 (_type_ vector vector) none 19)
(rigid-body-method-20 (_type_ vector) none 20)
(rigid-body-method-21 (_type_ vector vector float) none 21)
(rigid-body-method-22 (_type_ vector vector) vector 22)
(rigid-body-method-23 (_type_ vector) vector 23)
(rigid-body-method-24 (_type_) none 24)
(rigid-body-method-25 (_type_ rigid-body-info vector quaternion function) none 25)
(rigid-body-method-26 (_type_ vector quaternion) none 26)
(print-physics (_type_ object) none 27)
(print-force-torque (_type_ object) none 28)
(print-position-rotation (_type_ object) none 29)
(print-momentum (_type_ object) none 30)
(print-velocity (_type_ object) none 31)
(rigid-body-method-9 (_type_ collide-shape-moving float) none)
(rigid-body-method-10 (_type_) none)
(rigid-body-method-11 (_type_ collide-shape-moving) none)
(rigid-body-method-12 (_type_ float) none)
(rigid-body-method-13 (_type_) none)
(rigid-body-method-14 (_type_ float) none)
(rigid-body-method-15 (_type_ collide-shape-moving float) none)
(clear-force-torque! (_type_) none)
(clear-momentum! (_type_) none)
(rigid-body-method-18 (_type_ vector vector) none)
(rigid-body-method-19 (_type_ vector vector) none)
(rigid-body-method-20 (_type_ vector) none)
(rigid-body-method-21 (_type_ vector vector float) none)
(rigid-body-method-22 (_type_ vector vector) vector)
(rigid-body-method-23 (_type_ vector) vector)
(rigid-body-method-24 (_type_) none)
(rigid-body-method-25 (_type_ rigid-body-info vector quaternion function) none)
(rigid-body-method-26 (_type_ vector quaternion) none)
(print-physics (_type_ object) none)
(print-force-torque (_type_ object) none)
(print-position-rotation (_type_ object) none)
(print-momentum (_type_ object) none)
(print-velocity (_type_ object) none)
)
)
;; definition for method 3 of type rigid-body
(defmethod inspect rigid-body ((this rigid-body))
(defmethod inspect ((this rigid-body))
(when (not this)
(set! this this)
(goto cfg-16)
@@ -263,36 +248,33 @@
;; definition of type rigid-body-control
(deftype rigid-body-control (basic)
((process process :offset-assert 4)
(state rigid-body :inline :offset-assert 16)
((process process)
(state rigid-body :inline)
)
:method-count-assert 26
:size-assert #x130
:flag-assert #x1a00000130
(:methods
(new (symbol type process) _type_ 0)
(rigid-body-control-method-9 (_type_ collide-shape-moving float) none 9)
(rigid-body-control-method-10 (_type_ rigid-body-object float float) object 10)
(rigid-body-control-method-11 (_type_ collide-shape-moving) none 11)
(rigid-body-control-method-12 (_type_ float) none 12)
(rigid-body-control-method-13 (_type_) none 13)
(rigid-body-control-method-14 (_type_ float) none 14)
(clear-force-torque! (_type_) none 15)
(clear-momentum! (_type_) none 16)
(rigid-body-control-method-17 (_type_ vector vector) none 17)
(rigid-body-control-method-18 (_type_ vector vector) none 18)
(rigid-body-control-method-19 (_type_ vector) none 19)
(rigid-body-control-method-20 (_type_ vector vector float) none 20)
(rigid-body-control-method-21 (_type_ vector vector) vector 21)
(rigid-body-control-method-22 (_type_ vector) vector 22)
(rigid-body-control-method-23 (_type_) none 23)
(rigid-body-control-method-24 (_type_ rigid-body-info vector quaternion basic) none 24)
(rigid-body-control-method-25 (_type_ vector quaternion) none 25)
(new (symbol type process) _type_)
(rigid-body-control-method-9 (_type_ collide-shape-moving float) none)
(rigid-body-control-method-10 (_type_ rigid-body-object float float) object)
(rigid-body-control-method-11 (_type_ collide-shape-moving) none)
(rigid-body-control-method-12 (_type_ float) none)
(rigid-body-control-method-13 (_type_) none)
(rigid-body-control-method-14 (_type_ float) none)
(clear-force-torque! (_type_) none)
(clear-momentum! (_type_) none)
(rigid-body-control-method-17 (_type_ vector vector) none)
(rigid-body-control-method-18 (_type_ vector vector) none)
(rigid-body-control-method-19 (_type_ vector) none)
(rigid-body-control-method-20 (_type_ vector vector float) none)
(rigid-body-control-method-21 (_type_ vector vector) vector)
(rigid-body-control-method-22 (_type_ vector) vector)
(rigid-body-control-method-23 (_type_) none)
(rigid-body-control-method-24 (_type_ rigid-body-info vector quaternion basic) none)
(rigid-body-control-method-25 (_type_ vector quaternion) none)
)
)
;; definition for method 3 of type rigid-body-control
(defmethod inspect rigid-body-control ((this rigid-body-control))
(defmethod inspect ((this rigid-body-control))
(when (not this)
(set! this this)
(goto cfg-16)
@@ -344,153 +326,151 @@
)
;; definition for method 9 of type rigid-body-control
(defmethod rigid-body-control-method-9 rigid-body-control ((this rigid-body-control) (arg0 collide-shape-moving) (arg1 float))
(defmethod rigid-body-control-method-9 ((this rigid-body-control) (arg0 collide-shape-moving) (arg1 float))
(rigid-body-method-9 (-> this state) arg0 arg1)
(none)
)
;; definition for method 10 of type rigid-body-control
;; WARN: Return type mismatch none vs object.
(defmethod rigid-body-control-method-10 rigid-body-control ((this rigid-body-control) (arg0 rigid-body-object) (arg1 float) (arg2 float))
(defmethod rigid-body-control-method-10 ((this rigid-body-control) (arg0 rigid-body-object) (arg1 float) (arg2 float))
(rigid-body-method-10 (-> this state))
)
;; definition for method 11 of type rigid-body-control
(defmethod rigid-body-control-method-11 rigid-body-control ((this rigid-body-control) (arg0 collide-shape-moving))
(defmethod rigid-body-control-method-11 ((this rigid-body-control) (arg0 collide-shape-moving))
(rigid-body-method-11 (-> this state) arg0)
(none)
)
;; definition for method 12 of type rigid-body-control
(defmethod rigid-body-control-method-12 rigid-body-control ((this rigid-body-control) (arg0 float))
(defmethod rigid-body-control-method-12 ((this rigid-body-control) (arg0 float))
(rigid-body-method-12 (-> this state) arg0)
(none)
)
;; definition for method 13 of type rigid-body-control
(defmethod rigid-body-control-method-13 rigid-body-control ((this rigid-body-control))
(defmethod rigid-body-control-method-13 ((this rigid-body-control))
(rigid-body-method-13 (-> this state))
(none)
)
;; definition for method 14 of type rigid-body-control
(defmethod rigid-body-control-method-14 rigid-body-control ((this rigid-body-control) (arg0 float))
(defmethod rigid-body-control-method-14 ((this rigid-body-control) (arg0 float))
(rigid-body-method-14 (-> this state) arg0)
(none)
)
;; definition for method 15 of type rigid-body-control
(defmethod clear-force-torque! rigid-body-control ((this rigid-body-control))
(defmethod clear-force-torque! ((this rigid-body-control))
(clear-force-torque! (-> this state))
(none)
)
;; definition for method 16 of type rigid-body-control
(defmethod clear-momentum! rigid-body-control ((this rigid-body-control))
(defmethod clear-momentum! ((this rigid-body-control))
(clear-momentum! (-> this state))
(none)
)
;; definition for method 17 of type rigid-body-control
(defmethod rigid-body-control-method-17 rigid-body-control ((this rigid-body-control) (arg0 vector) (arg1 vector))
(defmethod rigid-body-control-method-17 ((this rigid-body-control) (arg0 vector) (arg1 vector))
(rigid-body-method-18 (-> this state) arg0 arg1)
(none)
)
;; definition for method 18 of type rigid-body-control
(defmethod rigid-body-control-method-18 rigid-body-control ((this rigid-body-control) (arg0 vector) (arg1 vector))
(defmethod rigid-body-control-method-18 ((this rigid-body-control) (arg0 vector) (arg1 vector))
(rigid-body-method-19 (-> this state) arg0 arg1)
(none)
)
;; definition for method 19 of type rigid-body-control
(defmethod rigid-body-control-method-19 rigid-body-control ((this rigid-body-control) (arg0 vector))
(defmethod rigid-body-control-method-19 ((this rigid-body-control) (arg0 vector))
(rigid-body-method-20 (-> this state) arg0)
(none)
)
;; definition for method 20 of type rigid-body-control
(defmethod rigid-body-control-method-20 rigid-body-control ((this rigid-body-control) (arg0 vector) (arg1 vector) (arg2 float))
(defmethod rigid-body-control-method-20 ((this rigid-body-control) (arg0 vector) (arg1 vector) (arg2 float))
(rigid-body-method-21 (-> this state) arg0 arg1 arg2)
(none)
)
;; definition for method 21 of type rigid-body-control
(defmethod rigid-body-control-method-21 rigid-body-control ((this rigid-body-control) (arg0 vector) (arg1 vector))
(defmethod rigid-body-control-method-21 ((this rigid-body-control) (arg0 vector) (arg1 vector))
(rigid-body-method-22 (-> this state) arg0 arg1)
)
;; definition for method 22 of type rigid-body-control
(defmethod rigid-body-control-method-22 rigid-body-control ((this rigid-body-control) (arg0 vector))
(defmethod rigid-body-control-method-22 ((this rigid-body-control) (arg0 vector))
(rigid-body-method-23 (-> this state) arg0)
)
;; definition for method 23 of type rigid-body-control
(defmethod rigid-body-control-method-23 rigid-body-control ((this rigid-body-control))
(defmethod rigid-body-control-method-23 ((this rigid-body-control))
(rigid-body-method-24 (-> this state))
(none)
)
;; definition for method 24 of type rigid-body-control
(defmethod rigid-body-control-method-24 rigid-body-control ((this rigid-body-control) (arg0 rigid-body-info) (arg1 vector) (arg2 quaternion) (arg3 basic))
(defmethod rigid-body-control-method-24 ((this rigid-body-control) (arg0 rigid-body-info) (arg1 vector) (arg2 quaternion) (arg3 basic))
(rigid-body-method-25 (-> this state) arg0 arg1 arg2 (the-as function arg3))
(none)
)
;; definition for method 25 of type rigid-body-control
(defmethod rigid-body-control-method-25 rigid-body-control ((this rigid-body-control) (arg0 vector) (arg1 quaternion))
(defmethod rigid-body-control-method-25 ((this rigid-body-control) (arg0 vector) (arg1 quaternion))
(rigid-body-method-26 (-> this state) arg0 arg1)
(none)
)
;; definition of type rigid-body-object
(deftype rigid-body-object (process-focusable)
((root collide-shape-moving :override)
(info rigid-body-object-constants :offset-assert 204)
(flags rigid-body-object-flag :offset-assert 208)
(max-time-step float :offset-assert 216)
(incoming-attack-id uint32 :offset-assert 220)
(player-touch-time time-frame :offset-assert 224)
(disturbed-time time-frame :offset-assert 232)
(player-force-position vector :inline :offset-assert 240)
(player-force vector :inline :offset-assert 256)
((root collide-shape-moving :override)
(info rigid-body-object-constants)
(flags rigid-body-object-flag)
(max-time-step float)
(incoming-attack-id uint32)
(player-touch-time time-frame)
(disturbed-time time-frame)
(player-force-position vector :inline)
(player-force vector :inline)
)
:heap-base #x90
:method-count-assert 53
:size-assert #x110
:flag-assert #x3500900110
(:state-methods
idle
active
)
(:methods
(idle () _type_ :state 27)
(active () _type_ :state 28)
(rigid-body-object-method-29 (_type_ float) none 29)
(rigid-body-object-method-30 (_type_) none 30)
(alloc-and-init-rigid-body-control (_type_ rigid-body-object-constants) none 31)
(allocate-and-init-cshape (_type_) none 32)
(init-skel-and-rigid-body (_type_) none 33)
(rigid-body-object-method-34 (_type_) none 34)
(rigid-body-object-method-35 (_type_) none 35)
(do-engine-sounds (_type_) none 36)
(rigid-body-object-method-37 (_type_) none 37)
(rigid-body-object-method-38 (_type_) none 38)
(rigid-body-object-method-39 (_type_) none 39)
(rigid-body-object-method-40 (_type_) none 40)
(rigid-body-object-method-41 (_type_) none 41)
(rigid-body-object-method-42 (_type_) none :behavior rigid-body-object 42)
(rigid-body-object-method-43 (_type_) none 43)
(apply-damage (_type_ float rigid-body-impact) none 44)
(rigid-body-object-method-45 (_type_ rigid-body-impact) none 45)
(rigid-body-object-method-46 (_type_ process-drawable int symbol event-message-block) object :behavior rigid-body-object 46)
(rigid-body-object-method-47 (_type_ process-drawable attack-info touching-shapes-entry penetrate) symbol 47)
(rigid-body-object-method-48 (_type_ process-focusable touching-shapes-entry) symbol 48)
(rigid-body-object-method-49 (_type_ rigid-body-impact touching-shapes-entry) none 49)
(rigid-body-object-method-50 (_type_ float) none 50)
(rigid-body-object-method-51 (_type_) none 51)
(rigid-body-object-method-52 (_type_) none 52)
(rigid-body-object-method-29 (_type_ float) none)
(rigid-body-object-method-30 (_type_) none)
(alloc-and-init-rigid-body-control (_type_ rigid-body-object-constants) none)
(allocate-and-init-cshape (_type_) none)
(init-skel-and-rigid-body (_type_) none)
(rigid-body-object-method-34 (_type_) none)
(rigid-body-object-method-35 (_type_) none)
(do-engine-sounds (_type_) none)
(rigid-body-object-method-37 (_type_) none)
(rigid-body-object-method-38 (_type_) none)
(rigid-body-object-method-39 (_type_) none)
(rigid-body-object-method-40 (_type_) none)
(rigid-body-object-method-41 (_type_) none)
(rigid-body-object-method-42 (_type_) none :behavior rigid-body-object)
(rigid-body-object-method-43 (_type_) none)
(apply-damage (_type_ float rigid-body-impact) none)
(rigid-body-object-method-45 (_type_ rigid-body-impact) none)
(rigid-body-object-method-46 (_type_ process-drawable int symbol event-message-block) object :behavior rigid-body-object)
(rigid-body-object-method-47 (_type_ process-drawable attack-info touching-shapes-entry penetrate) symbol)
(rigid-body-object-method-48 (_type_ process-focusable touching-shapes-entry) symbol)
(rigid-body-object-method-49 (_type_ rigid-body-impact touching-shapes-entry) none)
(rigid-body-object-method-50 (_type_ float) none)
(rigid-body-object-method-51 (_type_) none)
(rigid-body-object-method-52 (_type_) none)
)
)
;; definition for method 3 of type rigid-body-object
(defmethod inspect rigid-body-object ((this rigid-body-object))
(defmethod inspect ((this rigid-body-object))
(when (not this)
(set! this this)
(goto cfg-22)
@@ -542,26 +522,23 @@
;; definition of type rigid-body-queue
(deftype rigid-body-queue (structure)
((count int8 :offset-assert 0)
(array handle 128 :offset 8)
((count int8)
(array handle 128 :offset 8)
)
:method-count-assert 17
:size-assert #x408
:flag-assert #x1100000408
(:methods
(rigid-body-queue-method-9 (_type_) none 9)
(rigid-body-queue-method-10 (_type_) none 10)
(rigid-body-queue-method-11 (_type_ rigid-body-object) none 11)
(rigid-body-queue-method-12 (_type_ int int) none 12)
(rigid-body-queue-method-13 (_type_ int rigid-body-object) none 13)
(rigid-body-queue-method-14 (_type_ int) none 14)
(rigid-body-queue-method-15 (_type_ rigid-body-object) none 15)
(validate (_type_) symbol 16)
(rigid-body-queue-method-9 (_type_) none)
(rigid-body-queue-method-10 (_type_) none)
(rigid-body-queue-method-11 (_type_ rigid-body-object) none)
(rigid-body-queue-method-12 (_type_ int int) none)
(rigid-body-queue-method-13 (_type_ int rigid-body-object) none)
(rigid-body-queue-method-14 (_type_ int) none)
(rigid-body-queue-method-15 (_type_ rigid-body-object) none)
(validate (_type_) symbol)
)
)
;; definition for method 3 of type rigid-body-queue
(defmethod inspect rigid-body-queue ((this rigid-body-queue))
(defmethod inspect ((this rigid-body-queue))
(when (not this)
(set! this this)
(goto cfg-4)
+12 -16
View File
@@ -3,7 +3,7 @@
;; definition for method 9 of type rigid-body-queue
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-queue-method-9 rigid-body-queue ((this rigid-body-queue))
(defmethod rigid-body-queue-method-9 ((this rigid-body-queue))
(set! (-> this count) 0)
(dotimes (v1-0 128)
(set! (-> this array v1-0) (the-as handle #f))
@@ -13,7 +13,7 @@
)
;; definition for method 16 of type rigid-body-queue
(defmethod validate rigid-body-queue ((this rigid-body-queue))
(defmethod validate ((this rigid-body-queue))
(let ((gp-0 0))
(dotimes (v1-0 (-> this count))
(let ((a1-2 (-> this array v1-0))
@@ -36,7 +36,7 @@
;; definition for method 10 of type rigid-body-queue
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-queue-method-10 rigid-body-queue ((this rigid-body-queue))
(defmethod rigid-body-queue-method-10 ((this rigid-body-queue))
(local-vars (s4-0 process))
(with-pp
(let ((f0-0 (seconds-per-frame))
@@ -117,7 +117,7 @@
;; definition for method 11 of type rigid-body-queue
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-queue-method-11 rigid-body-queue ((this rigid-body-queue) (arg0 rigid-body-object))
(defmethod rigid-body-queue-method-11 ((this rigid-body-queue) (arg0 rigid-body-object))
(let ((v1-0 -1))
(let ((a2-0 0))
(b! #t cfg-9 :delay (nop!))
@@ -147,7 +147,7 @@
;; definition for method 12 of type rigid-body-queue
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-queue-method-12 rigid-body-queue ((this rigid-body-queue) (arg0 int) (arg1 int))
(defmethod rigid-body-queue-method-12 ((this rigid-body-queue) (arg0 int) (arg1 int))
(when (< arg0 arg1)
(let ((v1-1 arg1)
(a3-0 (+ arg1 -1))
@@ -167,7 +167,7 @@
;; definition for method 13 of type rigid-body-queue
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-queue-method-13 rigid-body-queue ((this rigid-body-queue) (arg0 int) (arg1 rigid-body-object))
(defmethod rigid-body-queue-method-13 ((this rigid-body-queue) (arg0 int) (arg1 rigid-body-object))
(let ((v1-2 (process->handle arg1))
(a2-4 (+ arg0 1))
)
@@ -189,7 +189,7 @@
;; definition for method 14 of type rigid-body-queue
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-queue-method-14 rigid-body-queue ((this rigid-body-queue) (arg0 int))
(defmethod rigid-body-queue-method-14 ((this rigid-body-queue) (arg0 int))
(let ((v1-0 arg0)
(a1-1 (+ arg0 1))
)
@@ -206,7 +206,7 @@
;; definition for method 15 of type rigid-body-queue
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-queue-method-15 rigid-body-queue ((this rigid-body-queue) (arg0 rigid-body-object))
(defmethod rigid-body-queue-method-15 ((this rigid-body-queue) (arg0 rigid-body-object))
(let ((v1-2 (process->handle arg0))
(a1-4 0)
)
@@ -228,19 +228,15 @@
;; definition of type rigid-body-queue-manager
(deftype rigid-body-queue-manager (process)
((queue rigid-body-queue :offset-assert 128)
((queue rigid-body-queue)
)
:heap-base #x10
:method-count-assert 15
:size-assert #x84
:flag-assert #xf00100084
(:methods
(idle () _type_ :state 14)
(:state-methods
idle
)
)
;; definition for method 3 of type rigid-body-queue-manager
(defmethod inspect rigid-body-queue-manager ((this rigid-body-queue-manager))
(defmethod inspect ((this rigid-body-queue-manager))
(when (not this)
(set! this this)
(goto cfg-4)
+61 -64
View File
@@ -3,16 +3,13 @@
;; definition of type rigid-body-work
(deftype rigid-body-work (structure)
((max-ang-momentum float :offset-assert 0)
(max-ang-velocity float :offset-assert 4)
((max-ang-momentum float)
(max-ang-velocity float)
)
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
)
;; definition for method 3 of type rigid-body-work
(defmethod inspect rigid-body-work ((this rigid-body-work))
(defmethod inspect ((this rigid-body-work))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -36,14 +33,14 @@
)
;; definition for method 7 of type rigid-body-control
(defmethod relocate rigid-body-control ((this rigid-body-control) (arg0 int))
(defmethod relocate ((this rigid-body-control) (arg0 int))
(&+! (-> this process) arg0)
this
)
;; definition for method 9 of type rigid-body-info
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-info-method-9 rigid-body-info ((this rigid-body-info))
(defmethod rigid-body-info-method-9 ((this rigid-body-info))
(let ((f24-0 (-> this mass))
(f28-0 (-> this inertial-tensor-box 0))
(f30-0 (-> this inertial-tensor-box 1))
@@ -83,7 +80,7 @@
;; definition for method 16 of type rigid-body
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod clear-force-torque! rigid-body ((this rigid-body))
(defmethod clear-force-torque! ((this rigid-body))
(set! (-> this force quad) (the-as uint128 0))
(set! (-> this torque quad) (the-as uint128 0))
0
@@ -93,7 +90,7 @@
;; definition for method 17 of type rigid-body
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod clear-momentum! rigid-body ((this rigid-body))
(defmethod clear-momentum! ((this rigid-body))
(set! (-> this lin-momentum quad) (the-as uint128 0))
(set! (-> this ang-momentum quad) (the-as uint128 0))
0
@@ -102,7 +99,7 @@
;; definition for method 24 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-24 rigid-body ((this rigid-body))
(defmethod rigid-body-method-24 ((this rigid-body))
(when #t
(quaternion->matrix (-> this matrix) (-> this rotation))
(let ((s5-0 (new 'stack-no-clear 'vector)))
@@ -116,7 +113,7 @@
;; definition for method 26 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-26 rigid-body ((this rigid-body) (arg0 vector) (arg1 quaternion))
(defmethod rigid-body-method-26 ((this rigid-body) (arg0 vector) (arg1 quaternion))
(let ((s3-0 (new 'stack-no-clear 'inline-array 'vector 8)))
(quaternion->matrix (the-as matrix (-> s3-0 1)) arg1)
(vector-rotate*! (-> s3-0 0) (-> this info cm-offset-joint) (the-as matrix (-> s3-0 1)))
@@ -132,7 +129,7 @@
;; definition for method 25 of type rigid-body
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-25 rigid-body ((this rigid-body) (arg0 rigid-body-info) (arg1 vector) (arg2 quaternion) (arg3 function))
(defmethod rigid-body-method-25 ((this rigid-body) (arg0 rigid-body-info) (arg1 vector) (arg2 quaternion) (arg3 function))
(set! (-> this work) *rigid-body-work*)
(set! (-> this info) arg0)
(set! (-> this force-callback) (the-as (function object float none) arg3))
@@ -150,7 +147,7 @@
)
;; definition for method 22 of type rigid-body
(defmethod rigid-body-method-22 rigid-body ((this rigid-body) (arg0 vector) (arg1 vector))
(defmethod rigid-body-method-22 ((this rigid-body) (arg0 vector) (arg1 vector))
(let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> this position))))
(vector-cross! arg1 (-> this ang-velocity) v1-1)
)
@@ -185,7 +182,7 @@
;; definition for method 12 of type rigid-body
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-12 rigid-body ((this rigid-body) (arg0 float))
(defmethod rigid-body-method-12 ((this rigid-body) (arg0 float))
(local-vars (v1-6 float))
(rlet ((acc :class vf)
(vf0 :class vf)
@@ -252,7 +249,7 @@
;; definition for method 13 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-13 rigid-body ((this rigid-body))
(defmethod rigid-body-method-13 ((this rigid-body))
(let ((v1-0 (-> this info)))
(vector-float*! (-> this lin-velocity) (-> this lin-momentum) (-> v1-0 inv-mass))
(matrix-3x3-triple-transpose-product (-> this inv-i-world) (-> this matrix) (-> v1-0 inv-inertial-tensor))
@@ -265,7 +262,7 @@
;; definition for method 14 of type rigid-body
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-14 rigid-body ((this rigid-body) (arg0 float))
(defmethod rigid-body-method-14 ((this rigid-body) (arg0 float))
(rlet ((acc :class vf)
(vf0 :class vf)
(vf4 :class vf)
@@ -319,7 +316,7 @@
;; definition for method 9 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-9 rigid-body ((this rigid-body) (arg0 collide-shape-moving) (arg1 float))
(defmethod rigid-body-method-9 ((this rigid-body) (arg0 collide-shape-moving) (arg1 float))
(rigid-body-method-12 this arg1)
(let ((v1-2 (-> this info)))
(let* ((a0-2 (-> this lin-momentum))
@@ -356,7 +353,7 @@
;; definition for method 67 of type collide-shape-moving
;; WARN: Return type mismatch int vs none.
(defmethod collide-with-all-collide-cache-prims collide-shape-moving ((this collide-shape-moving) (arg0 matrix) (arg1 collide-query))
(defmethod collide-with-all-collide-cache-prims ((this collide-shape-moving) (arg0 matrix) (arg1 collide-query))
(rlet ((acc :class vf)
(vf0 :class vf)
(vf1 :class vf)
@@ -460,7 +457,7 @@
;; definition for method 63 of type collide-shape-moving
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod collide-shape-moving-method-63 collide-shape-moving ((this collide-shape-moving) (arg0 rigid-body) (arg1 float))
(defmethod collide-shape-moving-method-63 ((this collide-shape-moving) (arg0 rigid-body) (arg1 float))
(local-vars (s3-0 rigid-body))
(with-pp
(rlet ((acc :class vf)
@@ -665,7 +662,7 @@
;; WARN: Stack slot offset 632 signed mismatch
;; WARN: Stack slot offset 632 signed mismatch
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-15 rigid-body ((this rigid-body) (arg0 collide-shape-moving) (arg1 float))
(defmethod rigid-body-method-15 ((this rigid-body) (arg0 collide-shape-moving) (arg1 float))
(local-vars
(sv-576 vector)
(sv-624 vector)
@@ -763,7 +760,7 @@
;; definition for method 18 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-18 rigid-body ((this rigid-body) (arg0 vector) (arg1 vector))
(defmethod rigid-body-method-18 ((this rigid-body) (arg0 vector) (arg1 vector))
(vector+! (-> this force) (-> this force) arg1)
(let ((a3-1 (new 'stack-no-clear 'vector))
(v1-1 (new 'stack-no-clear 'vector))
@@ -778,7 +775,7 @@
;; definition for method 21 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-21 rigid-body ((this rigid-body) (arg0 vector) (arg1 vector) (arg2 float))
(defmethod rigid-body-method-21 ((this rigid-body) (arg0 vector) (arg1 vector) (arg2 float))
(vector+! (-> this force) (-> this force) arg1)
(let* ((t0-2 (vector-! (new 'stack-no-clear 'vector) arg0 (-> this position)))
(v1-3 (vector-cross! (new 'stack-no-clear 'vector) t0-2 arg1))
@@ -796,7 +793,7 @@
;; definition for method 19 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-19 rigid-body ((this rigid-body) (arg0 vector) (arg1 vector))
(defmethod rigid-body-method-19 ((this rigid-body) (arg0 vector) (arg1 vector))
(let ((s5-0 (new 'stack-no-clear 'vector))
(s4-0 (new 'stack-no-clear 'vector))
)
@@ -812,14 +809,14 @@
;; definition for method 20 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-20 rigid-body ((this rigid-body) (arg0 vector))
(defmethod rigid-body-method-20 ((this rigid-body) (arg0 vector))
(vector+! (-> this force) (-> this force) arg0)
0
(none)
)
;; definition for method 23 of type rigid-body
(defmethod rigid-body-method-23 rigid-body ((this rigid-body) (arg0 vector))
(defmethod rigid-body-method-23 ((this rigid-body) (arg0 vector))
(let ((gp-0 (new 'stack-no-clear 'vector)))
(vector-rotate*! gp-0 (-> this info cm-offset-joint) (-> this matrix))
(vector-! arg0 (-> this position) gp-0)
@@ -829,7 +826,7 @@
;; definition for method 28 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod print-force-torque rigid-body ((this rigid-body) (arg0 object))
(defmethod print-force-torque ((this rigid-body) (arg0 object))
(format arg0 " force ~M ~M ~M" (-> this force x) (-> this force y) (-> this force z))
(format arg0 " torque ~M ~M ~M~%" (-> this torque x) (-> this torque y) (-> this torque z))
0
@@ -838,7 +835,7 @@
;; definition for method 30 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod print-momentum rigid-body ((this rigid-body) (arg0 object))
(defmethod print-momentum ((this rigid-body) (arg0 object))
(format arg0 " lin-mom ~M ~M ~M" (-> this lin-momentum x) (-> this lin-momentum y) (-> this lin-momentum z))
(format
arg0
@@ -853,7 +850,7 @@
;; definition for method 31 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod print-velocity rigid-body ((this rigid-body) (arg0 object))
(defmethod print-velocity ((this rigid-body) (arg0 object))
(format arg0 " lin-vel ~M ~M ~M" (-> this lin-velocity x) (-> this lin-velocity y) (-> this lin-velocity z))
(format
arg0
@@ -868,7 +865,7 @@
;; definition for method 29 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod print-position-rotation rigid-body ((this rigid-body) (arg0 object))
(defmethod print-position-rotation ((this rigid-body) (arg0 object))
(format arg0 " position ~M ~M ~M" (-> this position x) (-> this position y) (-> this position z))
(format
arg0
@@ -884,7 +881,7 @@
;; definition for method 27 of type rigid-body
;; WARN: Return type mismatch int vs none.
(defmethod print-physics rigid-body ((this rigid-body) (arg0 object))
(defmethod print-physics ((this rigid-body) (arg0 object))
(print-force-torque this arg0)
(print-position-rotation this arg0)
(print-momentum this arg0)
@@ -895,7 +892,7 @@
;; definition for method 10 of type rigid-body-control
;; WARN: Return type mismatch int vs object.
(defmethod rigid-body-control-method-10 rigid-body-control ((this rigid-body-control) (arg0 rigid-body-object) (arg1 float) (arg2 float))
(defmethod rigid-body-control-method-10 ((this rigid-body-control) (arg0 rigid-body-object) (arg1 float) (arg2 float))
(let* ((s4-1 (max 1 (min 4 (+ (the int (* 0.9999 (/ arg1 arg2))) 1))))
(f30-0 (/ arg1 (the float s4-1)))
(s3-0 (-> this state force-callback))
@@ -917,7 +914,7 @@
;; definition for method 11 of type rigid-body
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-method-11 rigid-body ((this rigid-body) (arg0 collide-shape-moving))
(defmethod rigid-body-method-11 ((this rigid-body) (arg0 collide-shape-moving))
(quaternion-copy! (-> arg0 quat) (-> this rotation))
(rigid-body-method-23 this (-> arg0 trans))
(set! (-> arg0 transv quad) (-> this lin-velocity quad))
@@ -926,13 +923,13 @@
)
;; definition for method 26 of type rigid-body-object
(defmethod get-inv-mass rigid-body-object ((this rigid-body-object))
(defmethod get-inv-mass ((this rigid-body-object))
(-> this info info inv-mass)
)
;; definition for method 35 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-35 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-35 ((this rigid-body-object))
(let ((a0-1 (-> this info name)))
(when (nonzero? a0-1)
(set! (-> this info) (the-as rigid-body-object-constants (-> a0-1 value)))
@@ -947,7 +944,7 @@
;; definition for method 50 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-50 rigid-body-object ((this rigid-body-object) (arg0 float))
(defmethod rigid-body-object-method-50 ((this rigid-body-object) (arg0 float))
(when (logtest? (-> this flags) (rigid-body-object-flag player-impulse-force player-contact-force))
(when (logtest? (-> this flags) (rigid-body-object-flag player-impulse-force))
(logclear! (-> this flags) (rigid-body-object-flag player-impulse-force))
@@ -966,7 +963,7 @@
;; definition for method 29 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-29 rigid-body-object ((this rigid-body-object) (arg0 float))
(defmethod rigid-body-object-method-29 ((this rigid-body-object) (arg0 float))
(let ((a1-1 (new 'stack-no-clear 'vector)))
(vector-reset! a1-1)
(set! (-> a1-1 y) (* -1.0 (-> this info extra gravity) (-> this rbody state info mass)))
@@ -978,7 +975,7 @@
;; definition for method 30 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-30 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-30 ((this rigid-body-object))
(rigid-body-control-method-10 (-> this rbody) this (seconds-per-frame) (-> this max-time-step))
(logclear! (-> this flags) (rigid-body-object-flag player-impulse-force player-contact-force))
0
@@ -987,7 +984,7 @@
;; definition for method 51 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-51 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-51 ((this rigid-body-object))
(rigid-body-control-method-10
(-> this rbody)
this
@@ -1000,7 +997,7 @@
;; definition for method 52 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-52 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-52 ((this rigid-body-object))
(logclear! (-> this flags) (rigid-body-object-flag player-impulse-force player-contact-force))
0
(none)
@@ -1008,7 +1005,7 @@
;; definition for method 34 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-34 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-34 ((this rigid-body-object))
(go (method-of-object this idle))
0
(none)
@@ -1016,7 +1013,7 @@
;; definition for method 31 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod alloc-and-init-rigid-body-control rigid-body-object ((this rigid-body-object) (arg0 rigid-body-object-constants))
(defmethod alloc-and-init-rigid-body-control ((this rigid-body-object) (arg0 rigid-body-object-constants))
(set! (-> this info) arg0)
(set! (-> this rbody) (new 'process 'rigid-body-control this))
(update-transforms (-> this root))
@@ -1040,7 +1037,7 @@
;; definition for method 32 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod allocate-and-init-cshape rigid-body-object ((this rigid-body-object))
(defmethod allocate-and-init-cshape ((this rigid-body-object))
(let ((s5-0 (new 'process 'collide-shape-moving this (collide-list-enum hit-by-player))))
(set! (-> s5-0 dynam) (copy *standard-dynamics* 'process))
(set! (-> s5-0 reaction) cshape-reaction-default)
@@ -1092,7 +1089,7 @@
;; definition for method 33 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod init-skel-and-rigid-body rigid-body-object ((this rigid-body-object))
(defmethod init-skel-and-rigid-body ((this rigid-body-object))
(alloc-and-init-rigid-body-control this *rigid-body-object-constants*)
0
(none)
@@ -1100,7 +1097,7 @@
;; definition for method 11 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod init-from-entity! rigid-body-object ((this rigid-body-object) (arg0 entity-actor))
(defmethod init-from-entity! ((this rigid-body-object) (arg0 entity-actor))
"Typically the method that does the initial setup on the process, potentially using the [[entity-actor]] provided as part of that.
This commonly includes things such as:
- stack size
@@ -1117,14 +1114,14 @@ This commonly includes things such as:
;; definition for method 36 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod do-engine-sounds rigid-body-object ((this rigid-body-object))
(defmethod do-engine-sounds ((this rigid-body-object))
0
(none)
)
;; definition for method 37 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-37 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-37 ((this rigid-body-object))
(rigid-body-object-method-30 this)
(do-engine-sounds this)
(let ((v1-4 (-> this rbody))
@@ -1139,7 +1136,7 @@ This commonly includes things such as:
;; definition for method 40 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-40 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-40 ((this rigid-body-object))
(logior! (-> this flags) (rigid-body-object-flag enable-collision))
(let ((v1-3 (-> this root root-prim)))
(set! (-> v1-3 prim-core collide-as) (-> this root backup-collide-as))
@@ -1151,7 +1148,7 @@ This commonly includes things such as:
;; definition for method 41 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-41 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-41 ((this rigid-body-object))
(logclear! (-> this flags) (rigid-body-object-flag enable-collision))
(let ((v1-3 (-> this root root-prim)))
(set! (-> v1-3 prim-core collide-as) (collide-spec))
@@ -1164,7 +1161,7 @@ This commonly includes things such as:
;; definition for method 38 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-38 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-38 ((this rigid-body-object))
(when (not (logtest? (-> this rbody state flags) (rigid-body-flag enable-physics)))
(logior! (-> this rbody state flags) (rigid-body-flag enable-physics))
(rigid-body-method-26 (-> this rbody state) (-> this root trans) (-> this root quat))
@@ -1177,7 +1174,7 @@ This commonly includes things such as:
;; definition for method 39 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-39 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-39 ((this rigid-body-object))
(logclear! (-> this rbody state flags) (rigid-body-flag enable-physics))
0
(none)
@@ -1185,7 +1182,7 @@ This commonly includes things such as:
;; definition for method 42 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-42 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-42 ((this rigid-body-object))
(logior! (-> this flags) (rigid-body-object-flag disturbed))
(set-time! (-> this disturbed-time))
(if (not (logtest? (-> this rbody state flags) (rigid-body-flag enable-physics)))
@@ -1197,7 +1194,7 @@ This commonly includes things such as:
;; definition for method 43 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-43 rigid-body-object ((this rigid-body-object))
(defmethod rigid-body-object-method-43 ((this rigid-body-object))
(go (method-of-object this active))
0
(none)
@@ -1205,14 +1202,14 @@ This commonly includes things such as:
;; definition for method 44 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod apply-damage rigid-body-object ((this rigid-body-object) (arg0 float) (arg1 rigid-body-impact))
(defmethod apply-damage ((this rigid-body-object) (arg0 float) (arg1 rigid-body-impact))
0
(none)
)
;; definition for method 45 of type rigid-body-object
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-45 rigid-body-object ((this rigid-body-object) (arg0 rigid-body-impact))
(defmethod rigid-body-object-method-45 ((this rigid-body-object) (arg0 rigid-body-impact))
0
(none)
)
@@ -1220,7 +1217,7 @@ This commonly includes things such as:
;; definition for method 49 of type rigid-body-object
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod rigid-body-object-method-49 rigid-body-object ((this rigid-body-object) (arg0 rigid-body-impact) (arg1 touching-shapes-entry))
(defmethod rigid-body-object-method-49 ((this rigid-body-object) (arg0 rigid-body-impact) (arg1 touching-shapes-entry))
(set! (-> arg0 rbody) #f)
(set! (-> arg0 prim-id) (the-as uint 0))
(vector-reset! (-> arg0 normal))
@@ -1252,12 +1249,12 @@ This commonly includes things such as:
;; definition for method 47 of type rigid-body-object
;; INFO: Used lq/sq
(defmethod rigid-body-object-method-47 rigid-body-object ((this rigid-body-object)
(arg0 process-drawable)
(arg1 attack-info)
(arg2 touching-shapes-entry)
(arg3 penetrate)
)
(defmethod rigid-body-object-method-47 ((this rigid-body-object)
(arg0 process-drawable)
(arg1 attack-info)
(arg2 touching-shapes-entry)
(arg3 penetrate)
)
(local-vars (f0-2 float))
(when arg2
(let ((s5-0 (new 'stack-no-clear 'rigid-body-impact)))
@@ -1336,7 +1333,7 @@ This commonly includes things such as:
;; definition for method 48 of type rigid-body-object
;; INFO: Used lq/sq
(defmethod rigid-body-object-method-48 rigid-body-object ((this rigid-body-object) (arg0 process-focusable) (arg1 touching-shapes-entry))
(defmethod rigid-body-object-method-48 ((this rigid-body-object) (arg0 process-focusable) (arg1 touching-shapes-entry))
(local-vars (v1-2 symbol))
(b! (not (logtest? (process-mask target crate enemy) (-> arg0 mask))) cfg-5 :likely-delay (set! v1-2 #t))
(b! (not (logtest? (-> arg0 mask) (process-mask target))) cfg-5 :likely-delay (set! v1-2 #f))
@@ -1409,7 +1406,7 @@ This commonly includes things such as:
;; definition for method 46 of type rigid-body-object
;; INFO: Used lq/sq
(defmethod rigid-body-object-method-46 rigid-body-object ((this rigid-body-object) (arg0 process-drawable) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(defmethod rigid-body-object-method-46 ((this rigid-body-object) (arg0 process-drawable) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(case arg2
(('impact-impulse)
(let ((s5-1 (-> arg3 param 0)))
+60 -81
View File
@@ -3,29 +3,26 @@
;; definition of type trajectory
(deftype trajectory (structure)
((initial-position vector :inline :offset-assert 0)
(initial-velocity vector :inline :offset-assert 16)
(time float :offset-assert 32)
(gravity meters :offset-assert 36)
((initial-position vector :inline)
(initial-velocity vector :inline)
(time float)
(gravity meters)
)
:method-count-assert 18
:size-assert #x28
:flag-assert #x1200000028
(:methods
(compute-trans-at-time (_type_ float vector) vector 9)
(compute-transv-at-time (_type_ float vector) vector 10)
(compute-time-until-apex (_type_) float 11)
(setup-from-to-duration! (_type_ vector vector float float) none 12)
(setup-from-to-xz-vel! (_type_ vector vector float float) none 13)
(setup-from-to-y-vel! (_type_ vector vector float float) none 14)
(setup-from-to-height! (_type_ vector vector float float) none 15)
(setup-from-to-duration-and-height! (_type_ vector vector float float) none 16)
(debug-draw (_type_) none 17)
(compute-trans-at-time (_type_ float vector) vector)
(compute-transv-at-time (_type_ float vector) vector)
(compute-time-until-apex (_type_) float)
(setup-from-to-duration! (_type_ vector vector float float) none)
(setup-from-to-xz-vel! (_type_ vector vector float float) none)
(setup-from-to-y-vel! (_type_ vector vector float float) none)
(setup-from-to-height! (_type_ vector vector float float) none)
(setup-from-to-duration-and-height! (_type_ vector vector float float) none)
(debug-draw (_type_) none)
)
)
;; definition for method 3 of type trajectory
(defmethod inspect trajectory ((this trajectory))
(defmethod inspect ((this trajectory))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -41,27 +38,24 @@
;; definition of type impact-control
(deftype impact-control (structure)
((process (pointer process-drawable) :offset-assert 0)
(radius float :offset-assert 4)
(joint int32 :offset-assert 8)
(collide-with collide-spec :offset-assert 12)
(start-time time-frame :offset-assert 16)
(trans vector 2 :inline :offset-assert 32)
(dir vector :inline :offset-assert 64)
((process (pointer process-drawable))
(radius float)
(joint int32)
(collide-with collide-spec)
(start-time time-frame)
(trans vector 2 :inline)
(dir vector :inline)
)
:method-count-assert 12
:size-assert #x50
:flag-assert #xc00000050
(:methods
(new (symbol type process-drawable int float collide-spec) _type_ 0)
(initialize (_type_ process-drawable int float collide-spec) impact-control :behavior process 9)
(update-from-cspace (_type_) none 10)
(impact-control-method-11 (_type_ collide-query process pat-surface) float 11)
(new (symbol type process-drawable int float collide-spec) _type_)
(initialize (_type_ process-drawable int float collide-spec) impact-control :behavior process)
(update-from-cspace (_type_) none)
(impact-control-method-11 (_type_ collide-query process pat-surface) float)
)
)
;; definition for method 3 of type impact-control
(defmethod inspect impact-control ((this impact-control))
(defmethod inspect ((this impact-control))
(when (not this)
(set! this this)
(goto cfg-7)
@@ -99,21 +93,18 @@
;; definition of type point-tracker
(deftype point-tracker (structure)
((trans vector 2 :inline :offset-assert 0)
((trans vector 2 :inline)
)
:method-count-assert 12
:size-assert #x20
:flag-assert #xc00000020
(:methods
(new (symbol type vector vector) _type_ 0)
(initialize (_type_ vector vector) point-tracker 9)
(point-tracker-method-10 (_type_ vector vector vector float) vector 10)
(point-tracker-method-11 (_type_ vector vector vector float) vector 11)
(new (symbol type vector vector) _type_)
(initialize (_type_ vector vector) point-tracker)
(point-tracker-method-10 (_type_ vector vector vector float) vector)
(point-tracker-method-11 (_type_ vector vector vector float) vector)
)
)
;; definition for method 3 of type point-tracker
(defmethod inspect point-tracker ((this point-tracker))
(defmethod inspect ((this point-tracker))
(when (not this)
(set! this this)
(goto cfg-7)
@@ -139,20 +130,17 @@
;; definition of type combo-tracker
(deftype combo-tracker (point-tracker)
((target handle :offset-assert 32)
(move-start-time time-frame :offset-assert 40)
((target handle)
(move-start-time time-frame)
)
:method-count-assert 14
:size-assert #x30
:flag-assert #xe00000030
(:methods
(combo-tracker-method-12 (_type_ vector vector process time-frame) combo-tracker 12)
(combo-tracker-method-13 (_type_ handle vector float vector float) basic 13)
(combo-tracker-method-12 (_type_ vector vector process time-frame) combo-tracker)
(combo-tracker-method-13 (_type_ handle vector float vector float) basic)
)
)
;; definition for method 3 of type combo-tracker
(defmethod inspect combo-tracker ((this combo-tracker))
(defmethod inspect ((this combo-tracker))
(when (not this)
(set! this this)
(goto cfg-7)
@@ -170,20 +158,17 @@
;; definition of type traj2d-params
(deftype traj2d-params (structure)
((x float :offset-assert 0)
(y float :offset-assert 4)
(gravity float :offset-assert 8)
(initial-tilt float :offset-assert 12)
(initial-speed float :offset-assert 16)
(time float :offset-assert 20)
((x float)
(y float)
(gravity float)
(initial-tilt float)
(initial-speed float)
(time float)
)
:method-count-assert 9
:size-assert #x18
:flag-assert #x900000018
)
;; definition for method 3 of type traj2d-params
(defmethod inspect traj2d-params ((this traj2d-params))
(defmethod inspect ((this traj2d-params))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -201,22 +186,19 @@
;; definition of type traj3d-params
(deftype traj3d-params (structure)
((gravity float :offset-assert 0)
(initial-tilt float :offset-assert 4)
(initial-speed float :offset-assert 8)
(time float :offset-assert 12)
(src vector :inline :offset-assert 16)
(dest vector :inline :offset-assert 32)
(diff vector :inline :offset-assert 48)
(initial-velocity vector :inline :offset-assert 64)
((gravity float)
(initial-tilt float)
(initial-speed float)
(time float)
(src vector :inline)
(dest vector :inline)
(diff vector :inline)
(initial-velocity vector :inline)
)
:method-count-assert 9
:size-assert #x50
:flag-assert #x900000050
)
;; definition for method 3 of type traj3d-params
(defmethod inspect traj3d-params ((this traj3d-params))
(defmethod inspect ((this traj3d-params))
(when (not this)
(set! this this)
(goto cfg-4)
@@ -236,22 +218,19 @@
;; definition of type cubic-curve
(deftype cubic-curve (structure)
((mat matrix :inline :offset-assert 0)
((mat matrix :inline)
)
:method-count-assert 14
:size-assert #x40
:flag-assert #xe00000040
(:methods
(cubic-curve-method-9 (_type_ vector vector vector vector) none 9)
(cubic-curve-method-10 (_type_ vector float) vector 10)
(cubic-curve-method-11 (_type_ vector float) vector 11)
(cubic-curve-method-12 (_type_ vector float) vector 12)
(debug-draw-curve (_type_) none 13)
(cubic-curve-method-9 (_type_ vector vector vector vector) none)
(cubic-curve-method-10 (_type_ vector float) vector)
(cubic-curve-method-11 (_type_ vector float) vector)
(cubic-curve-method-12 (_type_ vector float) vector)
(debug-draw-curve (_type_) none)
)
)
;; definition for method 3 of type cubic-curve
(defmethod inspect cubic-curve ((this cubic-curve))
(defmethod inspect ((this cubic-curve))
(when (not this)
(set! this this)
(goto cfg-4)
+23 -23
View File
@@ -2,7 +2,7 @@
(in-package goal)
;; definition for method 9 of type trajectory
(defmethod compute-trans-at-time trajectory ((this trajectory) (arg0 float) (arg1 vector))
(defmethod compute-trans-at-time ((this trajectory) (arg0 float) (arg1 vector))
(vector+float*! arg1 (-> this initial-position) (-> this initial-velocity) arg0)
(+! (-> arg1 y) (* 0.5 arg0 arg0 (-> this gravity)))
arg1
@@ -10,21 +10,21 @@
;; definition for method 10 of type trajectory
;; INFO: Used lq/sq
(defmethod compute-transv-at-time trajectory ((this trajectory) (arg0 float) (arg1 vector))
(defmethod compute-transv-at-time ((this trajectory) (arg0 float) (arg1 vector))
(set! (-> arg1 quad) (-> this initial-velocity quad))
(+! (-> arg1 y) (* arg0 (-> this gravity)))
arg1
)
;; definition for method 11 of type trajectory
(defmethod compute-time-until-apex trajectory ((this trajectory))
(defmethod compute-time-until-apex ((this trajectory))
(/ (- (-> this initial-velocity y)) (-> this gravity))
)
;; definition for method 12 of type trajectory
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod setup-from-to-duration! trajectory ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(defmethod setup-from-to-duration! ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(set! (-> this initial-position quad) (-> arg0 quad))
(set! (-> this gravity) arg3)
(set! (-> this time) arg2)
@@ -39,7 +39,7 @@
;; definition for method 13 of type trajectory
;; WARN: Return type mismatch int vs none.
(defmethod setup-from-to-xz-vel! trajectory ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(defmethod setup-from-to-xz-vel! ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(let ((f0-1 (/ (vector-vector-xz-distance arg1 arg0) arg2)))
(setup-from-to-duration! this arg0 arg1 f0-1 arg3)
)
@@ -49,7 +49,7 @@
;; definition for method 14 of type trajectory
;; WARN: Return type mismatch int vs none.
(defmethod setup-from-to-y-vel! trajectory ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(defmethod setup-from-to-y-vel! ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(let* ((f0-0 arg2)
(f1-3 (- (* f0-0 f0-0) (* 2.0 (- (-> arg0 y) (-> arg1 y)) arg3)))
(f0-3 900.0)
@@ -67,7 +67,7 @@
;; definition for method 15 of type trajectory
;; WARN: Return type mismatch int vs none.
(defmethod setup-from-to-height! trajectory ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(defmethod setup-from-to-height! ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(let* ((f0-1 (+ arg2 (fmax (-> arg0 y) (-> arg1 y))))
(f1-4 (* 2.0 (- (-> arg0 y) f0-1) arg3))
(f0-4 4096.0)
@@ -84,7 +84,7 @@
;; definition for method 16 of type trajectory
;; WARN: Return type mismatch int vs none.
;; WARN: Function (method 16 trajectory) has a return type of none, but the expression builder found a return statement.
(defmethod setup-from-to-duration-and-height! trajectory ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(defmethod setup-from-to-duration-and-height! ((this trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
(let ((f0-1 (- (-> arg1 y) (-> arg0 y))))
(cond
((= f0-1 0.0)
@@ -119,7 +119,7 @@
;; definition for method 17 of type trajectory
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod debug-draw trajectory ((this trajectory))
(defmethod debug-draw ((this trajectory))
(let ((s5-0 (new 'stack-no-clear 'vector))
(s4-0 (new 'stack-no-clear 'vector))
(s3-0 10)
@@ -147,7 +147,7 @@
;; definition for method 9 of type impact-control
;; INFO: Used lq/sq
(defmethod initialize impact-control ((this impact-control) (arg0 process-drawable) (arg1 int) (arg2 float) (arg3 collide-spec))
(defmethod initialize ((this impact-control) (arg0 process-drawable) (arg1 int) (arg2 float) (arg3 collide-spec))
(set-time! (-> this start-time))
(set! (-> this process) (the-as (pointer process-drawable) (process->ppointer arg0)))
(set! (-> this joint) arg1)
@@ -161,7 +161,7 @@
;; definition for method 10 of type impact-control
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod update-from-cspace impact-control ((this impact-control))
(defmethod update-from-cspace ((this impact-control))
(when (>= (-> this joint) 0)
(set! (-> this trans 1 quad) (-> this trans 0 quad))
(vector<-cspace! (the-as vector (-> this trans)) (-> this process 0 node-list data (-> this joint)))
@@ -173,7 +173,7 @@
;; definition for method 11 of type impact-control
;; INFO: Used lq/sq
(defmethod impact-control-method-11 impact-control ((this impact-control) (arg0 collide-query) (arg1 process) (arg2 pat-surface))
(defmethod impact-control-method-11 ((this impact-control) (arg0 collide-query) (arg1 process) (arg2 pat-surface))
(set! (-> arg0 start-pos quad) (-> this trans 1 quad))
(set! (-> arg0 move-dist quad) (-> this dir quad))
(let ((v1-2 (ppointer->process (-> this process)))
@@ -222,7 +222,7 @@
;; definition for method 9 of type point-tracker
;; INFO: Used lq/sq
(defmethod initialize point-tracker ((this point-tracker) (arg0 vector) (arg1 vector))
(defmethod initialize ((this point-tracker) (arg0 vector) (arg1 vector))
(set! (-> this trans 0 quad) (-> arg0 quad))
(set! (-> this trans 1 quad) (-> arg1 quad))
this
@@ -230,7 +230,7 @@
;; definition for method 10 of type point-tracker
;; INFO: Used lq/sq
(defmethod point-tracker-method-10 point-tracker ((this point-tracker) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
(defmethod point-tracker-method-10 ((this point-tracker) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
(cond
((>= 0.0 arg3)
(set! (-> arg0 quad) (-> arg1 quad))
@@ -248,7 +248,7 @@
)
;; definition for method 11 of type point-tracker
(defmethod point-tracker-method-11 point-tracker ((this point-tracker) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
(defmethod point-tracker-method-11 ((this point-tracker) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
(with-pp
(let ((v1-1 (point-tracker-method-10 this (new 'stack-no-clear 'vector) arg1 arg2 arg3)))
(vector-! arg0 v1-1 arg1)
@@ -259,7 +259,7 @@
)
;; definition for method 13 of type combo-tracker
(defmethod combo-tracker-method-13 combo-tracker ((this combo-tracker) (arg0 handle) (arg1 vector) (arg2 float) (arg3 vector) (arg4 float))
(defmethod combo-tracker-method-13 ((this combo-tracker) (arg0 handle) (arg1 vector) (arg2 float) (arg3 vector) (arg4 float))
(cond
((send-event (handle->process arg0) 'combo)
(let ((gp-1 (handle->process arg0)))
@@ -311,7 +311,7 @@
)
;; definition for method 12 of type combo-tracker
(defmethod combo-tracker-method-12 combo-tracker ((this combo-tracker) (arg0 vector) (arg1 vector) (arg2 process) (arg3 time-frame))
(defmethod combo-tracker-method-12 ((this combo-tracker) (arg0 vector) (arg1 vector) (arg2 process) (arg3 time-frame))
(initialize this arg0 arg1)
(set! (-> this target) (process->handle arg2))
(set! (-> this move-start-time) arg3)
@@ -320,7 +320,7 @@
;; definition for method 11 of type combo-tracker
;; INFO: Used lq/sq
(defmethod point-tracker-method-11 combo-tracker ((this combo-tracker) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
(defmethod point-tracker-method-11 ((this combo-tracker) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
(local-vars (at-0 int))
(with-pp
(rlet ((vf0 :class vf)
@@ -431,7 +431,7 @@
;; definition for method 9 of type cubic-curve
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod cubic-curve-method-9 cubic-curve ((this cubic-curve) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
(defmethod cubic-curve-method-9 ((this cubic-curve) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
(rlet ((acc :class vf)
(vf0 :class vf)
(vf4 :class vf)
@@ -476,7 +476,7 @@
)
;; definition for method 10 of type cubic-curve
(defmethod cubic-curve-method-10 cubic-curve ((this cubic-curve) (arg0 vector) (arg1 float))
(defmethod cubic-curve-method-10 ((this cubic-curve) (arg0 vector) (arg1 float))
(let ((v1-0 (new 'stack-no-clear 'trajectory)))
(let ((f0-1 (* arg1 arg1)))
(set-vector! (-> v1-0 initial-position) 1.0 arg1 f0-1 (* f0-1 arg1))
@@ -488,7 +488,7 @@
)
;; definition for method 11 of type cubic-curve
(defmethod cubic-curve-method-11 cubic-curve ((this cubic-curve) (arg0 vector) (arg1 float))
(defmethod cubic-curve-method-11 ((this cubic-curve) (arg0 vector) (arg1 float))
(let ((v1-0 (new 'stack-no-clear 'trajectory)))
(set-vector! (-> v1-0 initial-position) 0.0 1.0 (* 2.0 arg1) (* 3.0 arg1 arg1))
(vector-matrix*! arg0 (-> v1-0 initial-position) (-> this mat))
@@ -498,7 +498,7 @@
)
;; definition for method 12 of type cubic-curve
(defmethod cubic-curve-method-12 cubic-curve ((this cubic-curve) (arg0 vector) (arg1 float))
(defmethod cubic-curve-method-12 ((this cubic-curve) (arg0 vector) (arg1 float))
(let ((v1-0 (new 'stack-no-clear 'trajectory)))
(set-vector! (-> v1-0 initial-position) 0.0 0.0 2.0 (* 6.0 arg1))
(vector-matrix*! arg0 (-> v1-0 initial-position) (-> this mat))
@@ -510,7 +510,7 @@
;; definition for method 13 of type cubic-curve
;; INFO: Used lq/sq
;; WARN: Return type mismatch int vs none.
(defmethod debug-draw-curve cubic-curve ((this cubic-curve))
(defmethod debug-draw-curve ((this cubic-curve))
(let ((s5-0 (new 'stack-no-clear 'trajectory))
(s4-0 10)
)