fix dynamic element

This commit is contained in:
Tyler Wilding 2021-08-10 20:43:25 -04:00
parent 0d0442eeb4
commit 38d2b2d02e
No known key found for this signature in database
GPG key ID: A89403EB356ED106
3 changed files with 52 additions and 31 deletions

View file

@ -23311,6 +23311,7 @@
((ry float :offset-assert 0)
(max-dry float :offset-assert 4)
)
:pack-me
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
@ -23327,7 +23328,7 @@
(target float :offset-assert 28)
(ry float :offset-assert 32)
(max-speed-ry float :offset-assert 36)
(data float :dynamic :offset-assert 40)
(data twist-joint :inline :dynamic :offset-assert 40)
)
:method-count-assert 13
:size-assert #x28

View file

@ -10,6 +10,7 @@
((ry float :offset-assert 0)
(max-dry float :offset-assert 4)
)
:pack-me
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
@ -17,17 +18,17 @@
;; definition of type twister
(deftype twister (basic)
((num-joints int32 :offset-assert 4)
(first-joint int32 :offset-assert 8)
(last-joint int32 :offset-assert 12)
(something uint16 :offset 12)
(max-speed float :offset-assert 16)
(smoothing float :offset-assert 20)
(min-dist float :offset-assert 24)
(target float :offset-assert 28)
(ry float :offset-assert 32)
(max-speed-ry float :offset-assert 36)
(data float :dynamic :offset-assert 40)
((num-joints int32 :offset-assert 4)
(first-joint int32 :offset-assert 8)
(last-joint int32 :offset-assert 12)
(something uint16 :offset 12)
(max-speed float :offset-assert 16)
(smoothing float :offset-assert 20)
(min-dist float :offset-assert 24)
(target float :offset-assert 28)
(ry float :offset-assert 32)
(max-speed-ry float :offset-assert 36)
(data twist-joint :inline :dynamic :offset-assert 40)
)
:method-count-assert 13
:size-assert #x28
@ -73,8 +74,14 @@
(set! (-> v0-0 ry) 0.0)
(set! (-> v0-0 max-speed-ry) arg3)
(dotimes (v1-4 gp-0)
(set! (-> (the-as twister (+ (the-as uint v0-0) (* v1-4 16))) data 0) 0.0)
(set! (-> (the-as twister (+ (the-as uint v0-0) (* v1-4 16))) data 1) 0.0)
(set!
(-> (the-as twister (+ (the-as uint v0-0) (* v1-4 16))) data 0 ry)
0.0
)
(set!
(-> (the-as twister (+ (the-as uint v0-0) (* v1-4 16))) data 0 max-dry)
0.0
)
)
v0-0
)
@ -95,7 +102,10 @@
(a1-2 (- arg1 (-> obj first-joint)))
)
(while (>= a1-2 v1-1)
(set! (-> (the-as twister (+ (the-as uint obj) (* v1-1 16))) data 1) arg2)
(set!
(-> (the-as twister (+ (the-as uint obj) (* v1-1 16))) data 0 max-dry)
arg2
)
(+! v1-1 1)
)
)
@ -188,7 +198,7 @@
)
(matrix-rotate-y!
s4-0
(-> (the-as twister (+ (the-as uint obj) (* s3-0 16))) data 0)
(-> (the-as twister (+ (the-as uint obj) (* s3-0 16))) data 0 ry)
)
(vector-! (-> s2-0 vector 3) (-> s2-0 vector 3) (-> arg0 root trans))
(matrix*! s2-0 s2-0 s4-0)

View file

@ -6,6 +6,7 @@
((ry float :offset-assert 0)
(max-dry float :offset-assert 4)
)
:pack-me
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
@ -21,17 +22,17 @@
;; definition of type twister
(deftype twister (basic)
((num-joints int32 :offset-assert 4)
(first-joint int32 :offset-assert 8)
(last-joint int32 :offset-assert 12)
(something uint16 :offset 12)
(max-speed float :offset-assert 16)
(smoothing float :offset-assert 20)
(min-dist float :offset-assert 24)
(target float :offset-assert 28)
(ry float :offset-assert 32)
(max-speed-ry float :offset-assert 36)
(data float :dynamic :offset-assert 40)
((num-joints int32 :offset-assert 4)
(first-joint int32 :offset-assert 8)
(last-joint int32 :offset-assert 12)
(something uint16 :offset 12)
(max-speed float :offset-assert 16)
(smoothing float :offset-assert 20)
(min-dist float :offset-assert 24)
(target float :offset-assert 28)
(ry float :offset-assert 32)
(max-speed-ry float :offset-assert 36)
(data twist-joint :inline :dynamic :offset-assert 40)
)
:method-count-assert 13
:size-assert #x28
@ -93,8 +94,14 @@
(set! (-> v0-0 ry) 0.0)
(set! (-> v0-0 max-speed-ry) arg3)
(dotimes (v1-4 gp-0)
(set! (-> (the-as twister (+ (the-as uint v0-0) (* v1-4 16))) data 0) 0.0)
(set! (-> (the-as twister (+ (the-as uint v0-0) (* v1-4 16))) data 1) 0.0)
(set!
(-> (the-as twister (+ (the-as uint v0-0) (* v1-4 16))) data 0 ry)
0.0
)
(set!
(-> (the-as twister (+ (the-as uint v0-0) (* v1-4 16))) data 0 max-dry)
0.0
)
)
v0-0
)
@ -115,7 +122,10 @@
(a1-2 (- arg1 (-> obj first-joint)))
)
(while (>= a1-2 v1-1)
(set! (-> (the-as twister (+ (the-as uint obj) (* v1-1 16))) data 1) arg2)
(set!
(-> (the-as twister (+ (the-as uint obj) (* v1-1 16))) data 0 max-dry)
arg2
)
(+! v1-1 1)
)
)
@ -208,7 +218,7 @@
)
(matrix-rotate-y!
s4-0
(-> (the-as twister (+ (the-as uint obj) (* s3-0 16))) data 0)
(-> (the-as twister (+ (the-as uint obj) (* s3-0 16))) data 0 ry)
)
(vector-! (-> s2-0 vector 3) (-> s2-0 vector 3) (-> arg0 root trans))
(matrix*! s2-0 s2-0 s4-0)