unused version of collide line sphere collide list (#1071)

This commit is contained in:
water111
2022-01-09 17:45:19 -05:00
committed by GitHub
parent 90e860aef8
commit 38c805ca7c
70 changed files with 2160 additions and 826 deletions
+12 -1
View File
@@ -387,7 +387,18 @@
(vector--float*! s5-2 (-> self tpos-curr) (-> self local-down) (-> self target-height))
(vector-float*! gp-5 (-> self tgt-rot-mat vector 2) 4915.2)
(vector-! s5-2 s5-2 gp-5)
(let ((f0-20 (dummy-10 *collide-cache* s5-2 gp-5 4300.8 1 (the-as process #f) s4-2 4098)))
(let ((f0-20 (fill-and-probe-using-line-sphere
*collide-cache*
s5-2
gp-5
4300.8
(collide-kind background)
(the-as process #f)
s4-2
4098
)
)
)
(if (and (< 0.0 f0-20) (< f0-20 1.0))
(vector+float*! (-> self tpos-curr) (-> self tpos-curr) gp-5 (+ -1.0 f0-20))
)
+59 -18
View File
@@ -1336,12 +1336,12 @@
(set! (-> arg0 quad) (-> s5-0 quad))
(while #t
(vector--float*! s4-0 arg0 (-> *camera* local-down) (-> *camera* target-height))
(if (< (dummy-10
(if (< (fill-and-probe-using-line-sphere
*collide-cache*
(-> *camera* tpos-curr-adj)
arg0
(the-as float 409.6)
#x4a09
(collide-kind background cak-3 wall-object ground-object cak-14)
(the-as process #f)
s3-0
2
@@ -1713,7 +1713,15 @@
)
0.0
(vector-! s5-0 arg1 arg0)
(dummy-14 s4-0 arg0 s5-0 (-> *CAM_STRING-bank* los-coll-rad2) #x4a09 (the-as process #f) (the-as int arg2))
(fill-using-line-sphere
s4-0
arg0
s5-0
(-> *CAM_STRING-bank* los-coll-rad2)
(collide-kind background cak-3 wall-object ground-object cak-14)
(the-as process-drawable #f)
(the-as int arg2)
)
(let* ((f0-2 (vector-length s5-0))
(f28-0
(cond
@@ -1932,7 +1940,15 @@
(f26-0 (vector-length arg1))
(f30-0 (vector-normalize-ret-len! s4-0 (the-as float 1.0)))
)
(dummy-14 s0-0 arg0 arg1 (-> *CAM_STRING-bank* los-coll-rad) #x4a09 (the-as process #f) arg3)
(fill-using-line-sphere
s0-0
arg0
arg1
(-> *CAM_STRING-bank* los-coll-rad)
(collide-kind background cak-3 wall-object ground-object cak-14)
(the-as process-drawable #f)
arg3
)
(let ((s1-1 (-> s0-0 tris))
(f28-0 (/ 2048.0 f26-0))
(f26-1 (/ (+ -8192.0 f26-0) f26-0))
@@ -2592,7 +2608,16 @@
(vector--float*! s5-0 (-> *camera* tpos-curr-adj) (-> *camera* local-down) (-> *camera* target-height))
(vector-! s5-0 s5-0 (-> self string-trans))
(cond
((< (dummy-10 *collide-cache* (-> self string-trans) s5-0 (the-as float 40.96) #x4a09 (the-as process #f) s4-0 2)
((< (fill-and-probe-using-line-sphere
*collide-cache*
(-> self string-trans)
s5-0
(the-as float 40.96)
(collide-kind background cak-3 wall-object ground-object cak-14)
(the-as process #f)
s4-0
2
)
0.0
)
(set! (-> self time-dist-too-far) (the-as uint 0))
@@ -2688,12 +2713,12 @@
(cam-collision-record-save (-> self string-trans) s5-2 gp-2 'normal self)
)
(let ((f28-1 (if (logtest? (-> self options) 32)
(dummy-10
(fill-and-probe-using-line-sphere
*collide-cache*
(-> self string-trans)
s5-2
(-> *CAMERA-bank* collide-move-rad)
#x4a09
(collide-kind background cak-3 wall-object ground-object cak-14)
(the-as process #f)
s4-2
2
@@ -2993,9 +3018,17 @@
)
(vector--float*! s5-0 (-> *camera* tpos-curr-adj) (-> *camera* local-down) (-> *camera* target-height))
(vector-! gp-1 (-> self string-trans) s5-0)
(let ((f0-31
(dummy-10 *collide-cache* s5-0 gp-1 (-> *CAMERA-bank* collide-move-rad) #x4a09 (the-as process #f) s4-0 4098)
)
(let ((f0-31 (fill-and-probe-using-line-sphere
*collide-cache*
s5-0
gp-1
(-> *CAMERA-bank* collide-move-rad)
(collide-kind background cak-3 wall-object ground-object cak-14)
(the-as process #f)
s4-0
4098
)
)
)
(when (and (< 0.0 f0-31) (< f0-31 1.0))
(vector-float*! gp-1 gp-1 f0-31)
@@ -3137,12 +3170,12 @@
(+! s4-0 -1)
(vector-float*! gp-2 (-> self velocity) f30-1)
(let ((f28-0 (if (logtest? (-> self options) 32)
(dummy-10
(fill-and-probe-using-line-sphere
*collide-cache*
(-> self trans)
gp-2
(-> *CAMERA-bank* collide-move-rad)
#x4a09
(collide-kind background cak-3 wall-object ground-object cak-14)
(the-as process #f)
s3-0
2
@@ -3420,12 +3453,20 @@
)
(+! s5-3 -1)
(vector-float*! gp-3 (-> self velocity) f30-2)
(let ((f28-0
(if (logtest? (-> self options) 32)
(dummy-10 *collide-cache* (-> self trans) gp-3 (the-as float 4096.0) #x4a09 (the-as process #f) s4-3 2)
-100000000.0
)
)
(let ((f28-0 (if (logtest? (-> self options) 32)
(fill-and-probe-using-line-sphere
*collide-cache*
(-> self trans)
gp-3
(the-as float 4096.0)
(collide-kind background cak-3 wall-object ground-object cak-14)
(the-as process #f)
s4-3
2
)
-100000000.0
)
)
)
(cond
((>= f28-0 0.0)
+31 -30
View File
@@ -76,7 +76,7 @@
;; definition of type collide-puyp-work
(deftype collide-puyp-work (structure)
((best-u float :offset-assert 0)
(ignore-pat uint32 :offset-assert 4)
(ignore-pat pat-surface :offset-assert 4)
(tri-out collide-tri-result :offset-assert 8)
(start-pos vector :inline :offset-assert 16)
(move-dist vector :inline :offset-assert 32)
@@ -124,24 +124,24 @@
;; definition of type collide-cache-prim
(deftype collide-cache-prim (structure)
((prim-core collide-prim-core :inline :offset-assert 0)
(ccache collide-cache :offset-assert 32)
(prim (pointer collide-shape-prim) :offset-assert 36)
(first-tri uint16 :offset-assert 40)
(num-tris uint16 :offset-assert 42)
(unused uint8 4 :offset-assert 44)
(world-sphere vector :inline :offset 0)
(collide-as collide-kind :offset 16)
(action collide-action :offset 24)
(offense collide-offense :offset 28)
(prim-type int8 :offset 29)
((prim-core collide-prim-core :inline :offset-assert 0)
(ccache collide-cache :offset-assert 32)
(prim collide-shape-prim :offset-assert 36)
(first-tri uint16 :offset-assert 40)
(num-tris uint16 :offset-assert 42)
(unused uint8 4 :offset-assert 44)
(world-sphere vector :inline :offset 0)
(collide-as collide-kind :offset 16)
(action collide-action :offset 24)
(offense collide-offense :offset 28)
(prim-type int8 :offset 29)
)
:method-count-assert 11
:size-assert #x30
:flag-assert #xb00000030
(:methods
(dummy-9 (_type_ collide-mesh-cache-tri collide-prim-core vector float collide-action) float 9)
(dummy-10 (_type_ collide-mesh-cache-tri collide-prim-core vector float collide-action) float 10)
(resolve-moving-sphere-tri (_type_ collide-tri-result collide-prim-core vector float collide-action) float 9)
(resolve-moving-sphere-sphere (_type_ collide-tri-result collide-prim-core vector float collide-action) float 10)
)
)
@@ -167,7 +167,8 @@
(deftype collide-cache (basic)
((num-tris int32 :offset-assert 4)
(num-prims int32 :offset-assert 8)
(ignore-mask uint32 :offset-assert 12)
(num-prims-u uint32 :offset 8)
(ignore-mask pat-surface :offset-assert 12)
(proc process-drawable :offset-assert 16)
(collide-box bounding-box :inline :offset-assert 32)
(collide-box4w bounding-box4w :inline :offset-assert 64)
@@ -180,22 +181,22 @@
:flag-assert #x2100008670
(:methods
(dummy-9 (_type_) none 9)
(dummy-10 (_type_ vector vector float int process collide-tri-result int) float 10)
(dummy-11 (_type_ collide-using-spheres-params) none 11)
(fill-and-probe-using-line-sphere (_type_ vector vector float collide-kind process collide-tri-result int) float 10)
(fill-and-probe-using-spheres (_type_ collide-using-spheres-params) none 11)
(fill-and-probe-using-y-probe (_type_ vector float collide-kind process collide-tri-result uint) float 12)
(dummy-13 (_type_ bounding-box collide-kind process-drawable pat-surface) none 13)
(dummy-14 (_type_ vector vector float int process int) none 14)
(dummy-15 (_type_ collide-using-spheres-params) none 15)
(dummy-16 (_type_ vector float uint process-drawable uint) none 16)
(fill-using-bounding-box (_type_ bounding-box collide-kind process-drawable pat-surface) none 13)
(fill-using-line-sphere (_type_ vector vector float collide-kind process-drawable int) none 14)
(fill-using-spheres (_type_ collide-using-spheres-params) none 15)
(fill-using-y-probe (_type_ vector float collide-kind process-drawable uint) none 16)
(initialize (_type_) none 17)
(dummy-18 (_type_ vector vector float collide-kind collide-tri-result int) float 18)
(probe-using-line-sphere (_type_ vector vector float collide-kind collide-tri-result int) float 18)
(probe-using-spheres (_type_) none 19)
(dummy-20 (_type_ vector float uint collide-tri-result uint) float 20)
(dummy-21 (_type_ (function bsp-header int collide-list none) (function collide-cache none)) none 21)
(dummy-22 (_type_) none 22)
(dummy-23 (_type_) none 23)
(dummy-24 (_type_) none 24)
(dummy-25 (_type_ water-control) none 25)
(probe-using-y-probe (_type_ vector float collide-kind collide-tri-result uint) float 20)
(fill-from-background (_type_ (function bsp-header int collide-list none) (function collide-cache none)) none 21)
(fill-from-foreground-using-spheres (_type_) none 22)
(fill-from-foreground-using-line-sphere (_type_) none 23)
(fill-from-foreground-using-y-probe (_type_) none 24)
(fill-from-water (_type_ water-control) none 25)
(dummy-26 (_type_) none 26)
(dummy-27 (_type_) none 27)
(dummy-28 (_type_) none 28)
@@ -223,8 +224,8 @@
;; definition of type collide-list-item
(deftype collide-list-item (structure)
((mesh basic :offset-assert 0)
(inst basic :offset-assert 4)
((mesh collide-frag-mesh :offset-assert 0)
(inst basic :offset-assert 4)
)
:method-count-assert 9
:size-assert #x8
+1 -1
View File
@@ -58,7 +58,7 @@
(:methods
(debug-draw-tris (_type_ process-drawable int) none 9)
(dummy-10 (_type_ object vector) none 10)
(dummy-11 (_type_) none 11)
(dummy-11 (_type_ collide-mesh-cache-tri collide-tri-result vector float) none 11)
(dummy-12 (_type_ collide-mesh-cache-tri collide-tri-result vector float) float 12)
(dummy-13 (_type_) none 13)
(dummy-14 (_type_) none 14)
+2 -2
View File
@@ -394,7 +394,7 @@
(TODO-RENAME-28 (_type_ vector) object 28)
(dummy-29 (_type_ int) none 29)
(TODO-RENAME-30 (_type_ vector) object 30)
(dummy-31 (_type_) none 31)
(debug-draw (_type_) none 31)
(dummy-32 (_type_ object collide-kind) none 32)
(dummy-33 (_type_ vector collide-kind) none 33)
(dummy-34 (_type_ uint) collide-shape-prim 34)
@@ -483,7 +483,7 @@
:size-assert #x1bc
:flag-assert #x41000001bc
(:methods
(dummy-56 (_type_ pat-surface) none 56)
(set-and-handle-pat! (_type_ pat-surface) none 56)
(dummy-57 (_type_ vector) none 57)
(dummy-58 (_type_ vector) symbol 58)
(dummy-59 (_type_ vector uint float symbol symbol symbol) none 59)
+1 -1
View File
@@ -158,7 +158,7 @@
:flag-assert #xf00000208
(:methods
(new (symbol type) _type_ 0)
(dummy-9 (_type_ collide-shape-prim collide-shape-prim float collide-shape collide-mesh-cache-tri) none 9)
(add-touching-prims (_type_ collide-shape-prim collide-shape-prim float collide-tri-result collide-tri-result) none 9)
(dummy-10 () none 10)
(dummy-11 (_type_ float) none 11)
(dummy-12 (_type_) none 12)
+14 -14
View File
@@ -159,16 +159,16 @@
;; definition for method 9 of type touching-list
;; INFO: Return type mismatch int vs none.
;; WARN: Expression building failed: Function (method 9 touching-list) has a return type of none, but the expression builder found a return statement.
(defmethod dummy-9 touching-list ((obj touching-list)
(arg0 collide-shape-prim)
(arg1 collide-shape-prim)
(arg2 float)
(arg3 collide-shape)
(arg4 collide-mesh-cache-tri)
)
(let ((gp-0 (new 'stack-no-clear 'touching-shapes-entry)))
(set! (-> gp-0 cshape1) arg3)
(set! (-> gp-0 cshape2) (the-as collide-shape arg4))
(defmethod add-touching-prims touching-list ((obj touching-list)
(arg0 collide-shape-prim)
(arg1 collide-shape-prim)
(arg2 float)
(arg3 collide-tri-result)
(arg4 collide-tri-result)
)
(let ((gp-0 (new 'stack-no-clear 'add-prims-touching-work)))
(set! (-> gp-0 tri1) arg3)
(set! (-> gp-0 tri2) arg4)
(let ((s2-0 (get-shapes-entry obj (-> arg0 cshape) (-> arg1 cshape))))
(when s2-0
(when (= (-> s2-0 cshape1) (-> arg1 cshape))
@@ -183,7 +183,7 @@
(when (< arg2 (-> s0-0 u))
(-> s0-0 u)
(let ((v1-12 (-> s0-0 prim1))
(a1-2 (-> gp-0 cshape1))
(a1-2 (-> gp-0 tri1))
)
(cond
(a1-2
@@ -196,7 +196,7 @@
)
)
(let ((v1-15 (-> s0-0 prim2))
(a1-3 (-> gp-0 cshape2))
(a1-3 (-> gp-0 tri2))
)
(cond
(a1-3
@@ -230,7 +230,7 @@
(set! (-> obj resolve-u) 1)
)
(let ((v1-26 (-> s0-1 prim1))
(a1-4 (-> gp-0 cshape1))
(a1-4 (-> gp-0 tri1))
)
(set! (-> v1-26 cprim) arg0)
(cond
@@ -244,7 +244,7 @@
)
)
(let ((v1-29 (-> s0-1 prim2))
(a1-5 (-> gp-0 cshape2))
(a1-5 (-> gp-0 tri2))
)
(set! (-> v1-29 cprim) arg1)
(cond
+1 -1
View File
@@ -130,7 +130,7 @@
(vector-float*! a1-1 (-> arg1 move-vec) (-> arg1 best-u))
(TODO-RENAME-28 arg0 a1-1)
)
(dummy-56 arg0 (-> arg1 best-tri pat))
(set-and-handle-pat! arg0 (-> arg1 best-tri pat))
(case (-> arg1 best-tri pat material)
(((pat-material stopproj))
(send-event (-> arg0 process) 'die)
+1 -1
View File
@@ -965,7 +965,7 @@
(set! (-> gp-0 proc) #f)
(set! (-> gp-0 ignore-pat) (the-as uint 1))
(set! (-> gp-0 solid-only) #t)
(if (dummy-11 *collide-cache* gp-0)
(if (fill-and-probe-using-spheres *collide-cache* gp-0)
#f
#t
)
+1 -1
View File
@@ -1559,7 +1559,7 @@
(set! (-> a1-2 proc) #f)
(set! (-> a1-2 ignore-pat) (the-as uint 1))
(set! (-> a1-2 solid-only) #t)
(when (not (dummy-11 *collide-cache* a1-2))
(when (not (fill-and-probe-using-spheres *collide-cache* a1-2))
(remove-exit)
(go
target-edge-grab-jump
+12 -1
View File
@@ -1182,7 +1182,18 @@
(let ((gp-0 (new 'stack-no-clear 'vector)))
(set! (-> self root-override transv y) (* 4096.0 (- arg0)))
(set! (-> gp-0 quad) (-> self root-override transv quad))
(let ((f30-0 (dummy-10 *collide-cache* (-> self root-override trans) gp-0 409.6 1 self s5-0 1)))
(let ((f30-0 (fill-and-probe-using-line-sphere
*collide-cache*
(-> self root-override trans)
gp-0
409.6
(collide-kind background)
self
s5-0
1
)
)
)
(when (or (< f30-0 0.0) (or (< 1.0 f30-0) (nonzero? (-> s5-0 pat mode))))
(suspend)
(go seagull-soaring)
+4 -2
View File
@@ -500,7 +500,7 @@
;; definition for method 22 of type joint-exploder
;; Used lq/sq
(defmethod TODO-RENAME-22 joint-exploder ((obj joint-exploder) (arg0 joint-exploder-list))
(dummy-13
(fill-using-bounding-box
*collide-cache*
(-> arg0 bbox)
(collide-kind background)
@@ -517,7 +517,9 @@
(s3-0 (new 'stack-no-clear 'collide-tri-result))
)
(vector-! a2-1 s4-0 (-> s5-1 prev-pos))
(when (>= (dummy-18 *collide-cache* (-> s5-1 prev-pos) a2-1 40.96 (collide-kind background) s3-0 1) 0.0)
(when (>= (probe-using-line-sphere *collide-cache* (-> s5-1 prev-pos) a2-1 40.96 (collide-kind background) s3-0 1)
0.0
)
(set! (-> s4-0 quad) (-> s3-0 intersect quad))
(let ((f28-0 (vector-xz-length (-> s5-1 transv))))
(vector-reflect! (-> s5-1 transv) (-> s5-1 transv) (-> s3-0 normal))
+12 -1
View File
@@ -1068,7 +1068,18 @@
)
0.0
(vector-! a2-1 (the-as vector v1-5) (the-as vector a1-2))
(when (< (dummy-10 *collide-cache* (the-as vector a1-2) a2-1 40.96 1 self (the-as collide-tri-result t2-0) 1) 0.0)
(when (< (fill-and-probe-using-line-sphere
*collide-cache*
(the-as vector a1-2)
a2-1
40.96
(collide-kind background)
self
(the-as collide-tri-result t2-0)
1
)
0.0
)
(cond
((= (-> arg0 type) target)
(let ((a1-3 (new 'stack-no-clear 'event-message-block)))
+12 -1
View File
@@ -3943,7 +3943,18 @@
(a2-0 (new 'stack-no-clear 'vector))
)
(vector-! a2-0 gp-0 s4-0)
(when (>= (dummy-10 *collide-cache* s4-0 a2-0 (the-as float 4096.0) 16 self t2-0 1) 0.0)
(when (>= (fill-and-probe-using-line-sphere
*collide-cache*
s4-0
a2-0
(the-as float 4096.0)
(collide-kind target)
self
t2-0
1
)
0.0
)
(let ((a1-13 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-13 from) self)
(set! (-> a1-13 num-params) 2)
+12 -1
View File
@@ -2457,7 +2457,18 @@
(vector-length s4-1)
(let ((t2-0 (new 'stack-no-clear 'collide-mesh-cache-tri)))
0.0
(if (>= (dummy-10 *collide-cache* arg0 s4-1 6144.0 16 (the-as process #f) (the-as collide-tri-result t2-0) 1) 0.0)
(if (>= (fill-and-probe-using-line-sphere
*collide-cache*
arg0
s4-1
6144.0
(collide-kind target)
(the-as process #f)
(the-as collide-tri-result t2-0)
1
)
0.0
)
(send-event *target* 'get-pickup 3 5.0)
)
)
+3 -1
View File
@@ -709,7 +709,9 @@
(when (>= (-> obj explode-danger-radius) (vector-vector-distance s5-0 s3-0))
(vector-! s4-0 s3-0 s5-0)
(let ((t2-0 (new 'stack-no-clear 'collide-tri-result)))
(if (< (dummy-10 *collide-cache* s5-0 s4-0 819.2 1 obj t2-0 1) 0.0)
(if (< (fill-and-probe-using-line-sphere *collide-cache* s5-0 s4-0 819.2 (collide-kind background) obj t2-0 1)
0.0
)
(send-event *target* 'attack #f (new 'static 'attack-info))
)
)
+3 -1
View File
@@ -217,7 +217,9 @@
(set! (-> a1-1 y) (+ 1228.8 (-> a1-1 y)))
(set-vector! a2-1 0.0 -61440.0 0.0 1.0)
(cond
((>= (dummy-10 *collide-cache* a1-1 a2-1 7372.8 1 obj s5-0 1) 0.0)
((>= (fill-and-probe-using-line-sphere *collide-cache* a1-1 a2-1 7372.8 (collide-kind background) obj s5-0 1)
0.0
)
(let ((v1-11 (-> obj draw shadow-ctrl)))
(set! (-> v1-11 settings flags) (logand -33 (-> v1-11 settings flags)))
)
+51 -5
View File
@@ -113,7 +113,18 @@
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-1 quad) vf1)
)
(when (>= (dummy-10 *collide-cache* (-> self root trans) a2-0 3276.8 1 self gp-0 1) 0.0)
(when (>= (fill-and-probe-using-line-sphere
*collide-cache*
(-> self root trans)
a2-0
3276.8
(collide-kind background)
self
gp-0
1
)
0.0
)
(let ((f28-0 (vector-xz-length (-> self transv))))
(vector-reflect! (-> self transv) (-> self transv) (-> gp-0 normal))
(let ((f30-0 (-> self transv y)))
@@ -466,7 +477,9 @@
(set-vector! a2-0 0.0 -81920.0 0.0 1.0)
(set! (-> a1-0 y) (+ -8192.0 (-> a1-0 y)))
(cond
((>= (dummy-10 *collide-cache* a1-0 a2-0 8192.0 1 obj s5-0 1) 0.0)
((>= (fill-and-probe-using-line-sphere *collide-cache* a1-0 a2-0 8192.0 (collide-kind background) obj s5-0 1)
0.0
)
(let ((v1-11 (-> obj draw shadow-ctrl)))
(set! (-> v1-11 settings flags) (logand -33 (-> v1-11 settings flags)))
)
@@ -765,7 +778,18 @@
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-20 quad) vf1)
)
(when (>= (dummy-10 *collide-cache* s4-0 s3-0 4915.2 1 obj (the-as collide-tri-result s5-1) 1) 0.0)
(when (>= (fill-and-probe-using-line-sphere
*collide-cache*
s4-0
s3-0
4915.2
(collide-kind background)
obj
(the-as collide-tri-result s5-1)
1
)
0.0
)
(vector-reflect! (-> obj swing-vel) (-> obj swing-vel) (the-as vector (&-> s5-1 param 6)))
(set! (-> obj swing-vel y) 0.0)
(vector-normalize! (-> obj swing-vel) (* 0.5 (vector-length (-> obj swing-vel))))
@@ -1590,7 +1614,18 @@
(vector+! arg0 (-> obj root-override trans) (-> obj nav travel))
(let ((s2-2 (new 'stack-no-clear 'collide-tri-result)))
(cond
((>= (dummy-10 *collide-cache* arg0 (new 'static 'vector :y -69632.0 :w 1.0) 40.96 1 obj s2-2 1) 0.0)
((>= (fill-and-probe-using-line-sphere
*collide-cache*
arg0
(new 'static 'vector :y -69632.0 :w 1.0)
40.96
(collide-kind background)
obj
s2-2
1
)
0.0
)
(set! (-> arg0 y) (-> s2-2 intersect y))
(set! (-> arg1 quad) (-> s2-2 normal quad))
(return #t)
@@ -1613,7 +1648,18 @@
(set! (-> a1-12 quad) (-> arg0 quad))
(set! (-> a1-12 y) (+ 8192.0 (-> a1-12 y)))
(cond
((>= (dummy-10 *collide-cache* a1-12 (new 'static 'vector :y -69632.0 :w 1.0) 40.96 1 obj s3-2 1) 0.0)
((>= (fill-and-probe-using-line-sphere
*collide-cache*
a1-12
(new 'static 'vector :y -69632.0 :w 1.0)
40.96
(collide-kind background)
obj
s3-2
1
)
0.0
)
(set! (-> arg0 y) (-> s3-2 intersect y))
(set! (-> arg1 quad) (-> s3-2 normal quad))
(return #t)
+3 -1
View File
@@ -489,7 +489,9 @@
(set! (-> a1-1 quad) (-> obj root trans quad))
(set! (-> a1-1 y) (+ -8192.0 (-> a1-1 y)))
(set-vector! a2-0 0.0 -81920.0 0.0 1.0)
(when (>= (dummy-10 *collide-cache* a1-1 a2-0 8192.0 1 pp s3-1 1) 0.0)
(when (>= (fill-and-probe-using-line-sphere *collide-cache* a1-1 a2-0 8192.0 (collide-kind background) pp s3-1 1)
0.0
)
(set! (-> s3-1 intersect w) 8192.0)
(when (and (sphere-in-view-frustum? (the-as sphere (-> s3-1 intersect)))
(< 822083600.0 (vector-vector-distance-squared (-> s3-1 intersect) (camera-pos)))
@@ -22,7 +22,7 @@
(vector-float*! a1-3 (-> arg1 move-vec) (-> arg1 best-u))
(TODO-RENAME-28 arg0 a1-3)
)
(dummy-56 arg0 (-> arg1 best-tri pat))
(set-and-handle-pat! arg0 (-> arg1 best-tri pat))
(if (= (-> arg0 poly-pat mode) (pat-mode wall))
(set! sv-104 (logior sv-104 1))
)
+11 -1
View File
@@ -180,7 +180,17 @@
(set! (-> gp-0 quad) (-> self root-override trans quad))
(let ((t2-0 (new 'stack-no-clear 'collide-tri-result)))
(set! (-> gp-0 y) (+ 8192.0 (-> gp-0 y)))
(let ((f0-2 (dummy-10 *collide-cache* gp-0 (new 'static 'vector :y -81920.0 :w 1.0) 40.96 1 self t2-0 1))
(let ((f0-2 (fill-and-probe-using-line-sphere
*collide-cache*
gp-0
(new 'static 'vector :y -81920.0 :w 1.0)
40.96
(collide-kind background)
self
t2-0
1
)
)
(v1-5 (new 'stack-no-clear 'vector))
)
(set! (-> v1-5 quad) (-> self root-override trans quad))
+12 -1
View File
@@ -939,7 +939,18 @@
)
(set! (-> a1-5 quad) (-> arg0 quad))
(set! (-> a1-5 y) (+ 8192.0 (-> a1-5 y)))
(when (>= (dummy-10 *collide-cache* a1-5 (new 'static 'vector :y -40960.0 :w 1.0) 40.96 1 obj s4-0 1) 0.0)
(when (>= (fill-and-probe-using-line-sphere
*collide-cache*
a1-5
(new 'static 'vector :y -40960.0 :w 1.0)
40.96
(collide-kind background)
obj
s4-0
1
)
0.0
)
(set! (-> arg0 y) (-> s4-0 intersect y))
(return #t)
)
+12 -1
View File
@@ -195,7 +195,18 @@
(set! (-> a1-0 quad) (-> obj root-override trans quad))
(set-vector! a2-0 0.0 -40960.0 0.0 1.0)
(cond
((>= (dummy-10 *collide-cache* a1-0 a2-0 8192.0 2057 obj s5-0 1) 0.0)
((>= (fill-and-probe-using-line-sphere
*collide-cache*
a1-0
a2-0
8192.0
(collide-kind background cak-3 ground-object)
obj
s5-0
1
)
0.0
)
(let ((v1-11 (-> obj draw shadow-ctrl)))
(set! (-> v1-11 settings flags) (logand -33 (-> v1-11 settings flags)))
)
+6
View File
@@ -1121,6 +1121,12 @@
(process-entity-status! self (entity-perm-status bit-3) #t)
(none)
)
:exit
(behavior ()
(set! (-> self target) (the-as handle #f))
(process-entity-status! self (entity-perm-status bit-3) #f)
(none)
)
:trans
(behavior ()
(let ((gp-0 (handle->process (-> self target))))
+12 -1
View File
@@ -964,7 +964,18 @@
(v1-1 (-> self tongue-control target-pos))
(s5-1 (vector-! (new 'stack-no-clear 'vector) v1-1 gp-0))
(t2-0 (new 'stack 'collide-tri-result))
(f30-0 (dummy-10 *collide-cache* gp-0 s5-1 409.6 3973 self t2-0 1))
(f30-0
(fill-and-probe-using-line-sphere
*collide-cache*
gp-0
s5-1
409.6
(collide-kind background cak-2 crate enemy wall-object projectile ground-object)
self
t2-0
1
)
)
(gp-1 (< f30-0 0.0))
)
(set! (-> self tongue-control forward-scale-max)
+12 -1
View File
@@ -1578,7 +1578,18 @@
(vector-! s4-0 gp-0 s5-0)
(let ((t2-0 (new 'stack-no-clear 'collide-tri-result)))
0.0
(when (>= (dummy-10 *collide-cache* s5-0 s4-0 6144.0 16 (the-as process #f) t2-0 1) 0.0)
(when (>= (fill-and-probe-using-line-sphere
*collide-cache*
s5-0
s4-0
6144.0
(collide-kind target)
(the-as process #f)
t2-0
1
)
0.0
)
(let ((a1-7 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-7 from) self)
(set! (-> a1-7 num-params) 2)