mirror of
https://github.com/open-goal/jak-project
synced 2026-08-17 05:31:46 -04:00
jak2 ref
This commit is contained in:
+176
-176
@@ -809,7 +809,6 @@
|
||||
;; WARN: new jak 2 until loop case, check carefully
|
||||
(defmethod init-from-sql! ((this mysql-nav-graph) (arg0 string) (arg1 string))
|
||||
"Query the database and initialize the [[mysql-nav-graph]] and all it's related components"
|
||||
(local-vars (sv-16 string) (sv-32 int) (sv-48 int) (sv-64 int))
|
||||
(set! (-> this node-array length) 0)
|
||||
(set! (-> this edge-array length) 0)
|
||||
(set! (-> this visnode-array length) 0)
|
||||
@@ -857,35 +856,36 @@
|
||||
(set! (-> nav-node angle) (* 182.04445 (string->float (-> s2-1 data (+ s1-0 5)))))
|
||||
(set! (-> nav-node radius) (* 4096.0 (string->float (-> s2-1 data (+ s1-0 6)))))
|
||||
(set! (-> nav-node nav_node_flag) (nav-node-flag))
|
||||
(set! sv-16 (new 'global 'string 0 (-> s2-1 data (+ s1-0 7))))
|
||||
(copy-string<-string sv-16 (-> s2-1 data (+ s1-0 7)))
|
||||
(until #f
|
||||
(cond
|
||||
((string-prefix= "visited" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag visited))
|
||||
)
|
||||
((string-prefix= "blocked" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag blocked))
|
||||
)
|
||||
((string-prefix= "pedestrian" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag pedestrian))
|
||||
)
|
||||
((string-prefix= "selected" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag selected))
|
||||
)
|
||||
((string-prefix= "hidden" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag hidden))
|
||||
)
|
||||
(else
|
||||
#t
|
||||
(goto cfg-27)
|
||||
)
|
||||
)
|
||||
(let ((a1-16 (string-skip-to-char (-> sv-16 data) (the-as uint 44))))
|
||||
(if (= (-> a1-16 0) 44)
|
||||
(set! a1-16 (&-> a1-16 1))
|
||||
(let ((sv-16 (new 'global 'string 0 (-> s2-1 data (+ s1-0 7)))))
|
||||
(copy-string<-string sv-16 (-> s2-1 data (+ s1-0 7)))
|
||||
(until #f
|
||||
(cond
|
||||
((string-prefix= "visited" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag visited))
|
||||
)
|
||||
((string-prefix= "blocked" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag blocked))
|
||||
)
|
||||
((string-prefix= "pedestrian" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag pedestrian))
|
||||
)
|
||||
((string-prefix= "selected" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag selected))
|
||||
)
|
||||
((string-prefix= "hidden" sv-16)
|
||||
(logior! (-> nav-node nav_node_flag) (nav-node-flag hidden))
|
||||
)
|
||||
(else
|
||||
#t
|
||||
(goto cfg-27)
|
||||
)
|
||||
(string-suck-up! sv-16 a1-16)
|
||||
)
|
||||
(let ((a1-16 (string-skip-to-char (-> sv-16 data) (the-as uint 44))))
|
||||
(if (= (-> a1-16 0) 44)
|
||||
(set! a1-16 (&-> a1-16 1))
|
||||
)
|
||||
(string-suck-up! sv-16 a1-16)
|
||||
)
|
||||
)
|
||||
)
|
||||
#f
|
||||
@@ -929,155 +929,155 @@
|
||||
(let ((s2-2 0))
|
||||
(while (< s2-2 (-> s3-3 len))
|
||||
(when (= (string->int (-> s3-3 data (+ s2-2 11))) (-> this nav_graph_id))
|
||||
(let ((s0-2 (string->int (-> s3-3 data (+ s2-2 1)))))
|
||||
(set! sv-32 (string->int (-> s3-3 data (+ s2-2 2))))
|
||||
(set! sv-48 (indexof-nav-node this s0-2))
|
||||
(set! sv-64 (indexof-nav-node this sv-32))
|
||||
(let ((nav-edge (-> this edge-array data (-> this edge-array length))))
|
||||
(when (and (!= sv-48 -1) (!= sv-64 -1))
|
||||
(set! (-> nav-edge nav_graph_id) (-> this nav_graph_id))
|
||||
(set! (-> nav-edge nav_edge_id) (the-as uint (string->int (-> s3-3 data s2-2))))
|
||||
(set! (-> nav-edge nav_node_id_1) (the-as uint s0-2))
|
||||
(set! (-> nav-edge nav_node_id_2) (the-as uint sv-32))
|
||||
(set! (-> nav-edge mysql-save-flag) (mysql-save-flag))
|
||||
(set! (-> nav-edge runtime-id) (the-as uint (-> this edge-array length)))
|
||||
(set! (-> nav-edge runtime-node-id-1) sv-48)
|
||||
(set! (-> nav-edge runtime-node-id-2) sv-64)
|
||||
(let ((s0-3 (-> s3-3 data (+ s2-2 3))))
|
||||
(cond
|
||||
((string= "default" s0-3)
|
||||
(set! (-> nav-edge directionality) (nav-directionality default))
|
||||
0
|
||||
)
|
||||
((string= "directed" s0-3)
|
||||
(set! (-> nav-edge directionality) (nav-directionality directed))
|
||||
)
|
||||
((string= "bi_directional" s0-3)
|
||||
(set! (-> nav-edge directionality) (nav-directionality bi_directional))
|
||||
)
|
||||
)
|
||||
(let* ((s0-2 (string->int (-> s3-3 data (+ s2-2 1))))
|
||||
(sv-32 (string->int (-> s3-3 data (+ s2-2 2))))
|
||||
(sv-48 (indexof-nav-node this s0-2))
|
||||
(sv-64 (indexof-nav-node this sv-32))
|
||||
(nav-edge (-> this edge-array data (-> this edge-array length)))
|
||||
)
|
||||
(when (and (!= sv-48 -1) (!= sv-64 -1))
|
||||
(set! (-> nav-edge nav_graph_id) (-> this nav_graph_id))
|
||||
(set! (-> nav-edge nav_edge_id) (the-as uint (string->int (-> s3-3 data s2-2))))
|
||||
(set! (-> nav-edge nav_node_id_1) (the-as uint s0-2))
|
||||
(set! (-> nav-edge nav_node_id_2) (the-as uint sv-32))
|
||||
(set! (-> nav-edge mysql-save-flag) (mysql-save-flag))
|
||||
(set! (-> nav-edge runtime-id) (the-as uint (-> this edge-array length)))
|
||||
(set! (-> nav-edge runtime-node-id-1) sv-48)
|
||||
(set! (-> nav-edge runtime-node-id-2) sv-64)
|
||||
(let ((s0-3 (-> s3-3 data (+ s2-2 3))))
|
||||
(cond
|
||||
((string= "default" s0-3)
|
||||
(set! (-> nav-edge directionality) (nav-directionality default))
|
||||
0
|
||||
)
|
||||
((string= "directed" s0-3)
|
||||
(set! (-> nav-edge directionality) (nav-directionality directed))
|
||||
)
|
||||
((string= "bi_directional" s0-3)
|
||||
(set! (-> nav-edge directionality) (nav-directionality bi_directional))
|
||||
)
|
||||
)
|
||||
(set! (-> nav-edge speed_limit) (* 4096.0 (string->float (-> s3-3 data (+ s2-2 4)))))
|
||||
(set! (-> nav-edge density) (string->float (-> s3-3 data (+ s2-2 5))))
|
||||
(set! (-> nav-edge traffic_edge_flag) 0)
|
||||
(let ((s0-4 (new 'global 'string 0 (-> s3-3 data (+ s2-2 6)))))
|
||||
(copy-string<-string s0-4 (-> s3-3 data (+ s2-2 6)))
|
||||
(until #f
|
||||
(cond
|
||||
((string-prefix= "pedestrian" s0-4)
|
||||
(logior! (-> nav-edge traffic_edge_flag) 1)
|
||||
)
|
||||
(else
|
||||
#t
|
||||
(goto cfg-58)
|
||||
)
|
||||
)
|
||||
(let ((a1-30 (string-skip-to-char (-> s0-4 data) (the-as uint 44))))
|
||||
(if (= (-> a1-30 0) 44)
|
||||
(set! a1-30 (&-> a1-30 1))
|
||||
)
|
||||
(string-suck-up! s0-4 a1-30)
|
||||
)
|
||||
)
|
||||
)
|
||||
#f
|
||||
(label cfg-58)
|
||||
(set! (-> nav-edge nav_clock_mask) (nav-clock-mask))
|
||||
(let ((s0-5 (new 'global 'string 0 (-> s3-3 data (+ s2-2 7)))))
|
||||
(copy-string<-string s0-5 (-> s3-3 data (+ s2-2 7)))
|
||||
(until #f
|
||||
(cond
|
||||
((string-prefix= "phase-1a" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-1a))
|
||||
)
|
||||
((string-prefix= "phase-1" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-1))
|
||||
)
|
||||
((string-prefix= "phase-2a" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-2a))
|
||||
)
|
||||
((string-prefix= "phase-2" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-2))
|
||||
)
|
||||
((string-prefix= "phase-3a" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-3a))
|
||||
)
|
||||
((string-prefix= "phase-3" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-3))
|
||||
)
|
||||
((string-prefix= "phase-4a" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-4a))
|
||||
)
|
||||
((string-prefix= "phase-4" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-4))
|
||||
)
|
||||
(else
|
||||
#t
|
||||
(goto cfg-80)
|
||||
)
|
||||
)
|
||||
(let ((a1-42 (string-skip-to-char (-> s0-5 data) (the-as uint 44))))
|
||||
(if (= (-> a1-42 0) 44)
|
||||
(set! a1-42 (&-> a1-42 1))
|
||||
)
|
||||
(string-suck-up! s0-5 a1-42)
|
||||
)
|
||||
)
|
||||
)
|
||||
#f
|
||||
(label cfg-80)
|
||||
(let ((s0-6 (-> s3-3 data (+ s2-2 8))))
|
||||
(cond
|
||||
((string= "no-clock" s0-6)
|
||||
(set! (-> nav-edge nav_clock_type) (nav-clock-type no-clock))
|
||||
0
|
||||
)
|
||||
((string= "clock2" s0-6)
|
||||
(set! (-> nav-edge nav_clock_type) (nav-clock-type clock2))
|
||||
)
|
||||
((string= "clock3" s0-6)
|
||||
(set! (-> nav-edge nav_clock_type) (nav-clock-type clock3))
|
||||
)
|
||||
((string= "clock4" s0-6)
|
||||
(set! (-> nav-edge nav_clock_type) (nav-clock-type clock4))
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> nav-edge width) (* 4096.0 (string->float (-> s3-3 data (+ s2-2 9)))))
|
||||
(set! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag))
|
||||
(let ((s0-7 (new 'global 'string 0 (-> s3-3 data (+ s2-2 10)))))
|
||||
(copy-string<-string s0-7 (-> s3-3 data (+ s2-2 10)))
|
||||
(until #f
|
||||
(cond
|
||||
((string-prefix= "pass-red" s0-7)
|
||||
(logior! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag pass-red))
|
||||
)
|
||||
((string-prefix= "pass-green" s0-7)
|
||||
(logior! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag pass-green))
|
||||
)
|
||||
((string-prefix= "pass-yellow" s0-7)
|
||||
(logior! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag pass-yellow))
|
||||
)
|
||||
((string-prefix= "pass-blue" s0-7)
|
||||
(logior! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag pass-blue))
|
||||
)
|
||||
(else
|
||||
#t
|
||||
(goto cfg-102)
|
||||
)
|
||||
)
|
||||
(let ((a1-54 (string-skip-to-char (-> s0-7 data) (the-as uint 44))))
|
||||
(if (= (-> a1-54 0) 44)
|
||||
(set! a1-54 (&-> a1-54 1))
|
||||
)
|
||||
(string-suck-up! s0-7 a1-54)
|
||||
)
|
||||
)
|
||||
)
|
||||
#f
|
||||
(label cfg-102)
|
||||
(+! (-> this edge-array length) 1)
|
||||
)
|
||||
(set! (-> nav-edge speed_limit) (* 4096.0 (string->float (-> s3-3 data (+ s2-2 4)))))
|
||||
(set! (-> nav-edge density) (string->float (-> s3-3 data (+ s2-2 5))))
|
||||
(set! (-> nav-edge traffic_edge_flag) 0)
|
||||
(let ((s0-4 (new 'global 'string 0 (-> s3-3 data (+ s2-2 6)))))
|
||||
(copy-string<-string s0-4 (-> s3-3 data (+ s2-2 6)))
|
||||
(until #f
|
||||
(cond
|
||||
((string-prefix= "pedestrian" s0-4)
|
||||
(logior! (-> nav-edge traffic_edge_flag) 1)
|
||||
)
|
||||
(else
|
||||
#t
|
||||
(goto cfg-58)
|
||||
)
|
||||
)
|
||||
(let ((a1-30 (string-skip-to-char (-> s0-4 data) (the-as uint 44))))
|
||||
(if (= (-> a1-30 0) 44)
|
||||
(set! a1-30 (&-> a1-30 1))
|
||||
)
|
||||
(string-suck-up! s0-4 a1-30)
|
||||
)
|
||||
)
|
||||
)
|
||||
#f
|
||||
(label cfg-58)
|
||||
(set! (-> nav-edge nav_clock_mask) (nav-clock-mask))
|
||||
(let ((s0-5 (new 'global 'string 0 (-> s3-3 data (+ s2-2 7)))))
|
||||
(copy-string<-string s0-5 (-> s3-3 data (+ s2-2 7)))
|
||||
(until #f
|
||||
(cond
|
||||
((string-prefix= "phase-1a" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-1a))
|
||||
)
|
||||
((string-prefix= "phase-1" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-1))
|
||||
)
|
||||
((string-prefix= "phase-2a" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-2a))
|
||||
)
|
||||
((string-prefix= "phase-2" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-2))
|
||||
)
|
||||
((string-prefix= "phase-3a" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-3a))
|
||||
)
|
||||
((string-prefix= "phase-3" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-3))
|
||||
)
|
||||
((string-prefix= "phase-4a" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-4a))
|
||||
)
|
||||
((string-prefix= "phase-4" s0-5)
|
||||
(logior! (-> nav-edge nav_clock_mask) (nav-clock-mask phase-4))
|
||||
)
|
||||
(else
|
||||
#t
|
||||
(goto cfg-80)
|
||||
)
|
||||
)
|
||||
(let ((a1-42 (string-skip-to-char (-> s0-5 data) (the-as uint 44))))
|
||||
(if (= (-> a1-42 0) 44)
|
||||
(set! a1-42 (&-> a1-42 1))
|
||||
)
|
||||
(string-suck-up! s0-5 a1-42)
|
||||
)
|
||||
)
|
||||
)
|
||||
#f
|
||||
(label cfg-80)
|
||||
(let ((s0-6 (-> s3-3 data (+ s2-2 8))))
|
||||
(cond
|
||||
((string= "no-clock" s0-6)
|
||||
(set! (-> nav-edge nav_clock_type) (nav-clock-type no-clock))
|
||||
0
|
||||
)
|
||||
((string= "clock2" s0-6)
|
||||
(set! (-> nav-edge nav_clock_type) (nav-clock-type clock2))
|
||||
)
|
||||
((string= "clock3" s0-6)
|
||||
(set! (-> nav-edge nav_clock_type) (nav-clock-type clock3))
|
||||
)
|
||||
((string= "clock4" s0-6)
|
||||
(set! (-> nav-edge nav_clock_type) (nav-clock-type clock4))
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> nav-edge width) (* 4096.0 (string->float (-> s3-3 data (+ s2-2 9)))))
|
||||
(set! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag))
|
||||
(let ((s0-7 (new 'global 'string 0 (-> s3-3 data (+ s2-2 10)))))
|
||||
(copy-string<-string s0-7 (-> s3-3 data (+ s2-2 10)))
|
||||
(until #f
|
||||
(cond
|
||||
((string-prefix= "pass-red" s0-7)
|
||||
(logior! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag pass-red))
|
||||
)
|
||||
((string-prefix= "pass-green" s0-7)
|
||||
(logior! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag pass-green))
|
||||
)
|
||||
((string-prefix= "pass-yellow" s0-7)
|
||||
(logior! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag pass-yellow))
|
||||
)
|
||||
((string-prefix= "pass-blue" s0-7)
|
||||
(logior! (-> nav-edge minimap_edge_flag) (nav-minimap-edge-flag pass-blue))
|
||||
)
|
||||
(else
|
||||
#t
|
||||
(goto cfg-102)
|
||||
)
|
||||
)
|
||||
(let ((a1-54 (string-skip-to-char (-> s0-7 data) (the-as uint 44))))
|
||||
(if (= (-> a1-54 0) 44)
|
||||
(set! a1-54 (&-> a1-54 1))
|
||||
)
|
||||
(string-suck-up! s0-7 a1-54)
|
||||
)
|
||||
)
|
||||
)
|
||||
#f
|
||||
(label cfg-102)
|
||||
(+! (-> this edge-array length) 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+116
-131
@@ -499,7 +499,6 @@
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod nav-graph-editor-method-28 ((this nav-graph-editor))
|
||||
(local-vars (sv-144 int) (sv-160 (function _varargs_ object)))
|
||||
(rlet ((vf0 :class vf)
|
||||
(vf4 :class vf)
|
||||
(vf5 :class vf)
|
||||
@@ -520,11 +519,7 @@
|
||||
(set! (-> v1-8 w) (-> s2-0 radius))
|
||||
)
|
||||
(set! (-> s2-0 cam-dist) (vector-vector-distance-squared s3-0 (camera-pos)))
|
||||
(let ((f0-6 (-> s2-0 cam-dist))
|
||||
(f1-0 (-> this clipping-dist))
|
||||
)
|
||||
(set! (-> s2-0 visible) (< f0-6 (* f1-0 f1-0)))
|
||||
)
|
||||
(set! (-> s2-0 visible) (< (-> s2-0 cam-dist) (square (-> this clipping-dist))))
|
||||
(if (or (and (-> this vehicle-edit-mode) (logtest? (-> s2-0 nav_node_flag) (nav-node-flag pedestrian)))
|
||||
(and (not (-> this vehicle-edit-mode)) (not (logtest? (-> s2-0 nav_node_flag) (nav-node-flag pedestrian))))
|
||||
)
|
||||
@@ -559,48 +554,46 @@
|
||||
(add-debug-x #t (bucket-id debug2) s3-0 *color-red*)
|
||||
(let ((s1-1 add-debug-text-3d)
|
||||
(s0-1 #t)
|
||||
(sv-144 324)
|
||||
)
|
||||
(set! sv-144 324)
|
||||
(set! sv-160 format)
|
||||
(let ((a0-16 (clear *temp-string*))
|
||||
(a1-8 "~D")
|
||||
(a2-6 (-> s2-0 nav_mesh_id))
|
||||
(format (clear *temp-string*) "~D" (-> s2-0 nav_mesh_id))
|
||||
(let ((a2-7 *temp-string*)
|
||||
(a3-2 s3-0)
|
||||
(v1-24 (-> s2-0 level_name))
|
||||
)
|
||||
(sv-160 a0-16 a1-8 a2-6)
|
||||
)
|
||||
(let* ((a2-7 *temp-string*)
|
||||
(a3-2 s3-0)
|
||||
(v1-24 (-> s2-0 level_name))
|
||||
(t0-1 (cond
|
||||
((= v1-24 'ctyport)
|
||||
3
|
||||
)
|
||||
((= v1-24 'ctyinda)
|
||||
4
|
||||
)
|
||||
((= v1-24 'ctyindb)
|
||||
5
|
||||
)
|
||||
((= v1-24 'ctypal)
|
||||
6
|
||||
)
|
||||
((= v1-24 'ctysluma)
|
||||
7
|
||||
)
|
||||
((= v1-24 'ctyslumb)
|
||||
8
|
||||
)
|
||||
((= v1-24 'ctyslumc)
|
||||
9
|
||||
)
|
||||
(else
|
||||
1
|
||||
)
|
||||
)
|
||||
)
|
||||
(t1-0 #f)
|
||||
(s1-1
|
||||
s0-1
|
||||
(the-as bucket-id sv-144)
|
||||
a2-7
|
||||
a3-2
|
||||
(cond
|
||||
((= v1-24 'ctyport)
|
||||
(font-color red)
|
||||
)
|
||||
(s1-1 s0-1 (the-as bucket-id sv-144) a2-7 a3-2 (the-as font-color t0-1) (the-as vector2h t1-0))
|
||||
((= v1-24 'ctyinda)
|
||||
(font-color orange)
|
||||
)
|
||||
((= v1-24 'ctyindb)
|
||||
(font-color yellow)
|
||||
)
|
||||
((= v1-24 'ctypal)
|
||||
(font-color green)
|
||||
)
|
||||
((= v1-24 'ctysluma)
|
||||
(font-color blue)
|
||||
)
|
||||
((= v1-24 'ctyslumb)
|
||||
(font-color cyan)
|
||||
)
|
||||
((= v1-24 'ctyslumc)
|
||||
(font-color pink)
|
||||
)
|
||||
(else
|
||||
(font-color white)
|
||||
)
|
||||
)
|
||||
(the-as vector2h #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s1-2 (new 'stack-no-clear 'vector)))
|
||||
@@ -1077,7 +1070,6 @@
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defmethod nav-graph-editor-method-43 ((this nav-graph-editor))
|
||||
(local-vars (sv-128 vector) (sv-144 vector))
|
||||
(rlet ((vf0 :class vf)
|
||||
(vf4 :class vf)
|
||||
(vf5 :class vf)
|
||||
@@ -1111,9 +1103,9 @@
|
||||
)
|
||||
(let ((f30-0 0.0)
|
||||
(s0-1 ray-cylinder-intersect)
|
||||
(sv-128 (-> this mouse-pos))
|
||||
(sv-144 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(set! sv-128 (-> this mouse-pos))
|
||||
(set! sv-144 (new 'stack-no-clear 'vector))
|
||||
(let ((v1-18 (-> this mouse-hit-pick))
|
||||
(a0-13 (-> this mouse-pos))
|
||||
)
|
||||
@@ -1123,18 +1115,21 @@
|
||||
(.mov.vf.w vf6 vf0)
|
||||
(.sub.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> sv-144 quad) vf6)
|
||||
(let ((a3-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) s2-0 1.0))
|
||||
(t0-0 1024.0)
|
||||
(t1-0 (vector-length s2-0))
|
||||
(t2-0 s3-0)
|
||||
)
|
||||
(when (< f30-0 (s0-1 sv-128 sv-144 s1-0 a3-3 t0-0 t1-0 t2-0))
|
||||
(let ((f0-1 (vector-vector-distance s3-0 (-> this mouse-pos))))
|
||||
(when (or (= (-> this selected-index) -1) (< f0-1 (-> this selected-dist)))
|
||||
(set! (-> this selected-index) s4-0)
|
||||
(set! (-> this selected-dist) f0-1)
|
||||
(set! (-> this selected-node-edge?) #f)
|
||||
)
|
||||
(when (< f30-0 (s0-1
|
||||
sv-128
|
||||
sv-144
|
||||
s1-0
|
||||
(vector-normalize-copy! (new 'stack-no-clear 'vector) s2-0 1.0)
|
||||
1024.0
|
||||
(vector-length s2-0)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
(let ((f0-1 (vector-vector-distance s3-0 (-> this mouse-pos))))
|
||||
(when (or (= (-> this selected-index) -1) (< f0-1 (-> this selected-dist)))
|
||||
(set! (-> this selected-index) s4-0)
|
||||
(set! (-> this selected-dist) f0-1)
|
||||
(set! (-> this selected-node-edge?) #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -2235,16 +2230,6 @@
|
||||
;; definition for function smooth-nav-graph
|
||||
;; INFO: Used lq/sq
|
||||
(defun smooth-nav-graph ((arg0 string))
|
||||
(local-vars
|
||||
(sv-96 int)
|
||||
(sv-112 int)
|
||||
(sv-128 int)
|
||||
(sv-144 mysql-nav-edge)
|
||||
(sv-160 vector)
|
||||
(sv-176 vector)
|
||||
(sv-192 vector)
|
||||
(sv-208 vector)
|
||||
)
|
||||
(rlet ((vf0 :class vf)
|
||||
(vf4 :class vf)
|
||||
(vf5 :class vf)
|
||||
@@ -2257,52 +2242,54 @@
|
||||
(s2-0 (new-stack-vector0))
|
||||
(s0-0 (new-stack-vector0))
|
||||
(s1-0 (new-stack-vector0))
|
||||
(sv-96 0)
|
||||
(sv-112 0)
|
||||
)
|
||||
(set! sv-96 0)
|
||||
(set! sv-112 0)
|
||||
(when (and (not (logtest? (-> s3-0 mysql-save-flag) (mysql-save-flag delete))) (= (-> s3-0 level_name) arg0))
|
||||
(set! sv-128 0)
|
||||
(while (< sv-128 (-> s5-0 edge-array length))
|
||||
(set! sv-144 (-> s5-0 edge-array data sv-128))
|
||||
(when (not (logtest? (-> sv-144 mysql-save-flag) (mysql-save-flag delete)))
|
||||
(when (= (-> sv-144 runtime-node-id-1) s4-0)
|
||||
(let ((v1-27 (-> s5-0 node-array data (-> sv-144 runtime-node-id-1)))
|
||||
(a1-3 (-> s5-0 node-array data (-> sv-144 runtime-node-id-2)))
|
||||
)
|
||||
(set! sv-176 s1-0)
|
||||
(set! sv-160 s1-0)
|
||||
(let ((v0-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> a1-3 position) (-> v1-27 position)) 1.0))
|
||||
(let ((sv-128 0))
|
||||
(while (< sv-128 (-> s5-0 edge-array length))
|
||||
(let ((sv-144 (-> s5-0 edge-array data sv-128)))
|
||||
(when (not (logtest? (-> sv-144 mysql-save-flag) (mysql-save-flag delete)))
|
||||
(when (= (-> sv-144 runtime-node-id-1) s4-0)
|
||||
(let ((v1-27 (-> s5-0 node-array data (-> sv-144 runtime-node-id-1)))
|
||||
(a1-3 (-> s5-0 node-array data (-> sv-144 runtime-node-id-2)))
|
||||
(sv-176 s1-0)
|
||||
)
|
||||
(let ((sv-160 s1-0)
|
||||
(v0-0 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> a1-3 position) (-> v1-27 position)) 1.0))
|
||||
)
|
||||
(.mov.vf.w vf6 vf0)
|
||||
(.lvf vf4 (&-> sv-160 quad))
|
||||
(.lvf vf5 (&-> v0-0 quad))
|
||||
)
|
||||
(.mov.vf.w vf6 vf0)
|
||||
(.lvf vf4 (&-> sv-160 quad))
|
||||
(.lvf vf5 (&-> v0-0 quad))
|
||||
(.add.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> sv-176 quad) vf6)
|
||||
)
|
||||
(+! sv-112 1)
|
||||
sv-112
|
||||
)
|
||||
(when (= (-> sv-144 runtime-node-id-2) s4-0)
|
||||
(let ((v1-40 (-> s5-0 node-array data (-> sv-144 runtime-node-id-1)))
|
||||
(a1-9 (-> s5-0 node-array data (-> sv-144 runtime-node-id-2)))
|
||||
(sv-208 s0-0)
|
||||
)
|
||||
(let ((sv-192 s0-0)
|
||||
(v0-1 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> a1-9 position) (-> v1-40 position)) 1.0))
|
||||
)
|
||||
(.mov.vf.w vf6 vf0)
|
||||
(.lvf vf4 (&-> sv-192 quad))
|
||||
(.lvf vf5 (&-> v0-1 quad))
|
||||
)
|
||||
(.add.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> sv-208 quad) vf6)
|
||||
)
|
||||
(+! sv-96 1)
|
||||
sv-96
|
||||
)
|
||||
)
|
||||
(.add.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> sv-176 quad) vf6)
|
||||
(set! sv-112 (+ sv-112 1))
|
||||
sv-112
|
||||
)
|
||||
(when (= (-> sv-144 runtime-node-id-2) s4-0)
|
||||
(let ((v1-40 (-> s5-0 node-array data (-> sv-144 runtime-node-id-1)))
|
||||
(a1-9 (-> s5-0 node-array data (-> sv-144 runtime-node-id-2)))
|
||||
)
|
||||
(set! sv-208 s0-0)
|
||||
(set! sv-192 s0-0)
|
||||
(let ((v0-1 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> a1-9 position) (-> v1-40 position)) 1.0))
|
||||
)
|
||||
(.mov.vf.w vf6 vf0)
|
||||
(.lvf vf4 (&-> sv-192 quad))
|
||||
(.lvf vf5 (&-> v0-1 quad))
|
||||
)
|
||||
)
|
||||
(.add.vf.xyz vf6 vf4 vf5)
|
||||
(.svf (&-> sv-208 quad) vf6)
|
||||
(set! sv-96 (+ sv-96 1))
|
||||
sv-96
|
||||
)
|
||||
(+! sv-128 1)
|
||||
)
|
||||
(set! sv-128 (+ sv-128 1))
|
||||
)
|
||||
(cond
|
||||
((and (>= sv-112 2) (= sv-96 1))
|
||||
@@ -2350,7 +2337,6 @@
|
||||
;; definition for function update-width
|
||||
;; INFO: Used lq/sq
|
||||
(defun update-width ((arg0 string))
|
||||
(local-vars (sv-16 (array entity-nav-mesh)) (sv-32 int) (sv-48 uint) (sv-64 entity-nav-mesh))
|
||||
(let ((s5-0 (-> (ppointer->process *nav-graph-editor*) nav-graph)))
|
||||
(dotimes (s4-0 (-> s5-0 edge-array length))
|
||||
(let ((s3-0 (-> s5-0 edge-array data s4-0)))
|
||||
@@ -2368,32 +2354,31 @@
|
||||
(dotimes (s0-0 (-> *level* length))
|
||||
(let ((v1-25 (-> *level* level s0-0)))
|
||||
(when (= (-> v1-25 status) 'active)
|
||||
(set! sv-16 (-> v1-25 bsp nav-meshes))
|
||||
(when (nonzero? sv-16)
|
||||
(set! sv-32 0)
|
||||
(while (< sv-32 (-> sv-16 length))
|
||||
(set! sv-64 (-> sv-16 sv-32))
|
||||
(set! sv-48 (-> sv-64 aid))
|
||||
(let ((v1-36 (if (type? sv-64 entity-nav-mesh)
|
||||
sv-64
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and v1-36 (= sv-48 (-> s2-0 nav_mesh_id)))
|
||||
(let* ((f0-0 (nav-mesh-method-35 (-> v1-36 nav-mesh) (-> s2-0 position) (-> s1-0 position) 16384.0))
|
||||
(f0-1 (+ -409.6 f0-0))
|
||||
(let ((sv-16 (-> v1-25 bsp nav-meshes)))
|
||||
(when (nonzero? sv-16)
|
||||
(let ((sv-32 0))
|
||||
(while (< sv-32 (-> sv-16 length))
|
||||
(let* ((sv-64 (-> sv-16 sv-32))
|
||||
(sv-48 (-> sv-64 aid))
|
||||
(v1-36 (as-type sv-64 entity-nav-mesh))
|
||||
)
|
||||
(when (and (< 0.0 f0-1) (!= f0-1 (-> s3-0 width)))
|
||||
(set! (-> s3-0 width) f0-1)
|
||||
(logior! (-> s3-0 mysql-save-flag) (mysql-save-flag update))
|
||||
)
|
||||
(if (>= 0.0 f0-1)
|
||||
(format #t "!!!! edge ~D ~D outside nav-mesh~%" (-> s2-0 nav_node_id) (-> s1-0 nav_node_id))
|
||||
(when (and v1-36 (= sv-48 (-> s2-0 nav_mesh_id)))
|
||||
(let* ((f0-0 (nav-mesh-method-35 (-> v1-36 nav-mesh) (-> s2-0 position) (-> s1-0 position) 16384.0))
|
||||
(f0-1 (+ -409.6 f0-0))
|
||||
)
|
||||
(when (and (< 0.0 f0-1) (!= f0-1 (-> s3-0 width)))
|
||||
(set! (-> s3-0 width) f0-1)
|
||||
(logior! (-> s3-0 mysql-save-flag) (mysql-save-flag update))
|
||||
)
|
||||
(if (>= 0.0 f0-1)
|
||||
(format #t "!!!! edge ~D ~D outside nav-mesh~%" (-> s2-0 nav_node_id) (-> s1-0 nav_node_id))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(+! sv-32 1)
|
||||
)
|
||||
)
|
||||
(set! sv-32 (+ sv-32 1))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user