mirror of
https://github.com/open-goal/jak-project
synced 2026-07-31 08:16:02 -04:00
[jak2] minor decomp cleanup + add force actors and sprite pc hacks (#2291)
I didn't actually visually notice much of a difference with these hacks unlike in Jak 1, but I also avoided checking the missions thoroughly since the game crashes very often right now.
This commit is contained in:
+1
-1
@@ -1257,7 +1257,7 @@
|
||||
(defbehavior enemy-init-by-other enemy ((arg0 process-drawable) (arg1 transformq))
|
||||
(let ((a1-1 (-> arg1 scale x)))
|
||||
(if a1-1
|
||||
(process-entity-set! self (the-as entity-actor a1-1))
|
||||
(process-entity-set! self (the-as entity a1-1))
|
||||
)
|
||||
)
|
||||
(if (-> arg1 scale y)
|
||||
|
||||
+4
-4
@@ -4,11 +4,11 @@
|
||||
;; definition for symbol *traffic-manager*, type process
|
||||
(define *traffic-manager* (the-as process #f))
|
||||
|
||||
;; definition for symbol *ctywide-entity*, type object
|
||||
(define *ctywide-entity* (the-as object #f))
|
||||
;; definition for symbol *ctywide-entity*, type entity
|
||||
(define *ctywide-entity* (the-as entity #f))
|
||||
|
||||
;; definition for symbol *lwide-entity*, type object
|
||||
(define *lwide-entity* (the-as object #f))
|
||||
;; definition for symbol *lwide-entity*, type entity
|
||||
(define *lwide-entity* (the-as entity #f))
|
||||
|
||||
;; definition for symbol *race-vehicle-entity*, type entity-actor
|
||||
(define *race-vehicle-entity* (the-as entity-actor #f))
|
||||
|
||||
+1
-1
@@ -2699,7 +2699,7 @@ This commonly includes things such as:
|
||||
(logclear! (-> obj flags) (collectable-flag fadeout))
|
||||
)
|
||||
(((pickup-type board))
|
||||
(process-entity-set! obj (the-as entity-actor #f))
|
||||
(process-entity-set! obj (the-as entity #f))
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as skeleton-group (art-group-get-by-name *level* "skel-board" (the-as (pointer uint32) #f)))
|
||||
|
||||
+1
-1
@@ -496,7 +496,7 @@ If we've met or exceeded the projectiles maximum allowed hits, switch to the [[p
|
||||
(defbehavior projectile-init-by-other projectile ((arg0 projectile-init-by-other-params))
|
||||
(stack-size-set! (-> self main-thread) 512)
|
||||
(logclear! (-> self mask) (process-mask actor-pause))
|
||||
(process-entity-set! self (the-as entity-actor (-> arg0 ent)))
|
||||
(process-entity-set! self (-> arg0 ent))
|
||||
(set! (-> self charge-level) (-> arg0 charge))
|
||||
(set! (-> self options) (-> arg0 options))
|
||||
(set! (-> self notify-handle) (-> arg0 notify-handle))
|
||||
|
||||
+1
-1
@@ -657,7 +657,7 @@ This commonly includes things such as:
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior judge-init-by-other judge ((arg0 vector) (arg1 uint))
|
||||
(process-entity-set! self (the-as entity-actor #f))
|
||||
(process-entity-set! self (the-as entity #f))
|
||||
(set! (-> self score) arg1)
|
||||
(setup-collision self)
|
||||
(init self)
|
||||
|
||||
+2
-2
@@ -516,8 +516,8 @@
|
||||
)
|
||||
|
||||
;; definition for function process-entity-set!
|
||||
(defun process-entity-set! ((arg0 process) (arg1 entity-actor))
|
||||
(set! (-> arg0 entity) arg1)
|
||||
(defun process-entity-set! ((arg0 process) (arg1 entity))
|
||||
(set! (-> arg0 entity) (the-as entity-actor arg1))
|
||||
(if arg1
|
||||
(set! (-> arg0 level) (-> arg1 extra level))
|
||||
(set! (-> arg0 level) (-> *level* default-level))
|
||||
|
||||
+1
-1
@@ -1906,7 +1906,7 @@
|
||||
)
|
||||
)
|
||||
(if a1-6
|
||||
(process-entity-set! self (the-as entity-actor a1-6))
|
||||
(process-entity-set! self a1-6)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+1
-1
@@ -1761,7 +1761,7 @@
|
||||
;; WARN: Using new Jak 2 rtype-of
|
||||
(defbehavior scene-player-init scene-player ((arg0 object) (arg1 symbol) (arg2 string))
|
||||
"`object` arg can be an `(array scene)`, `pair of scene` or a `scene`"
|
||||
(process-entity-set! self (the-as entity-actor #f))
|
||||
(process-entity-set! self (the-as entity #f))
|
||||
(stack-size-set! (-> self main-thread) 512)
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(case (rtype-of arg0)
|
||||
|
||||
+1
-1
@@ -1171,7 +1171,7 @@
|
||||
(let ((s4-1 (-> self entity))
|
||||
(s3-0 (-> self level))
|
||||
)
|
||||
(process-entity-set! self (the-as entity-actor (-> self mech entity)))
|
||||
(process-entity-set! self (the-as entity (-> self mech entity)))
|
||||
(let ((s2-0 (get-process *16k-dead-pool* manipy #x4000)))
|
||||
(set! (-> self manipy)
|
||||
(the-as
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
(max-user-count uint8 :offset-assert 12)
|
||||
(user-count uint8 :offset-assert 13)
|
||||
(width uint8 :offset-assert 14)
|
||||
(flags uint8 :offset-assert 15)
|
||||
(flags nav-branch-flags :offset-assert 15)
|
||||
)
|
||||
:method-count-assert 21
|
||||
:size-assert #x10
|
||||
|
||||
+22
-22
@@ -248,7 +248,7 @@
|
||||
(city-level-info-method-12 (_type_ vector nav-branch vector) vector 12)
|
||||
(lookup-cell-by-position (_type_ vector) vis-cell 13)
|
||||
(get-first-cell-in-box (_type_ vis-grid-box) vis-cell 14)
|
||||
(sphere-in-grid? (_type_ int int) symbol 15)
|
||||
(sphere-in-grid? (_type_ vector int) symbol 15)
|
||||
(callback-on-nav-segments-in-sphere (_type_ vector int traffic-find-segment-struct (function traffic-find-segment-struct nav-segment none)) none 16)
|
||||
(update-suppressions-from-traffic-engine (_type_ traffic-engine) none 17)
|
||||
(city-level-info-method-18 (_type_) none 18)
|
||||
@@ -561,18 +561,18 @@
|
||||
|
||||
;; definition of type traffic-object-type-info
|
||||
(deftype traffic-object-type-info (structure)
|
||||
((flags uint8 :offset-assert 0)
|
||||
(target-count int8 :offset-assert 1)
|
||||
(active-count int8 :offset-assert 2)
|
||||
(inactive-count int8 :offset-assert 3)
|
||||
(reserve-count uint16 :offset-assert 4)
|
||||
(killed-count uint16 :offset-assert 6)
|
||||
(want-count int8 :offset-assert 8)
|
||||
(tracker-index uint8 :offset-assert 9)
|
||||
(parking-spot-prob uint8 :offset-assert 10)
|
||||
(guard-type uint8 :offset-assert 11)
|
||||
(array (pointer handle) :offset-assert 12)
|
||||
(level level :offset-assert 16)
|
||||
((flags traffic-type-flags :offset-assert 0)
|
||||
(target-count int8 :offset-assert 1)
|
||||
(active-count int8 :offset-assert 2)
|
||||
(inactive-count int8 :offset-assert 3)
|
||||
(reserve-count uint16 :offset-assert 4)
|
||||
(killed-count uint16 :offset-assert 6)
|
||||
(want-count int8 :offset-assert 8)
|
||||
(tracker-index uint8 :offset-assert 9)
|
||||
(parking-spot-prob uint8 :offset-assert 10)
|
||||
(guard-type uint8 :offset-assert 11)
|
||||
(array (pointer handle) :offset-assert 12)
|
||||
(level symbol :offset-assert 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x14
|
||||
@@ -722,7 +722,7 @@
|
||||
(stop-alarm-sound (_type_) none 11)
|
||||
(debug-unused (_type_) none 12)
|
||||
(add-object (_type_ traffic-type process) none 13)
|
||||
(sphere-in-loaded-city-infos? (_type_ int vector) symbol 14)
|
||||
(sphere-in-loaded-city-infos? (_type_ vector int) symbol 14)
|
||||
(activate-one-citizen (_type_ nav-segment float) none 15)
|
||||
(activate-one-vehicle (_type_ nav-segment float) none 16)
|
||||
(can-dest-be-used? (_type_ nav-branch) symbol 17)
|
||||
@@ -742,7 +742,7 @@
|
||||
(decrease-alert-level (_type_ int) none 31)
|
||||
(set-alert-level (_type_ int) none 32)
|
||||
(set-max-alert-level (_type_ int) none 33)
|
||||
(set-alert-duration (_type_ int) none 34)
|
||||
(set-alert-duration (_type_ time-frame) none 34)
|
||||
(get-alert-level (_type_) int 35)
|
||||
(get-target (_type_) target 36)
|
||||
(set-object-target-level (_type_ int float) none 37)
|
||||
@@ -769,18 +769,18 @@
|
||||
(set-object-auto-activate (_type_ int object) none 58)
|
||||
(debug-check-proc-in-tracker (_type_ process int) none 59)
|
||||
(kill-traffic-sphere (_type_ sphere) none 60)
|
||||
(level-loaded (_type_ level) none 61)
|
||||
(level-killed (_type_ level) none 62)
|
||||
(level-link (_type_ level) none 61)
|
||||
(level-unlink (_type_ level) none 62)
|
||||
(traffic-engine-method-63 (_type_) none 63)
|
||||
(traffic-engine-method-64 (_type_) none 64)
|
||||
(handle-new-vis-cell (_type_ vis-cell) none 65)
|
||||
(update-sync-from-frame-counter (_type_) none 66)
|
||||
(per-frame-guard-update (_type_) none 67)
|
||||
(per-frame-activate-deactivate (_type_) none 68)
|
||||
(per-frame-danger-update (_type_) none 69)
|
||||
(update-guards (_type_) none 67)
|
||||
(update-traffic-amount (_type_) none 68)
|
||||
(update-danger (_type_) none 69)
|
||||
(update-danger-from-target (_type_) none 70)
|
||||
(per-frame-alert-update (_type_) none 71)
|
||||
(per-frame-suppressor-update (_type_) none 72)
|
||||
(update-alert-state (_type_) none 71)
|
||||
(update-suppressor (_type_) none 72)
|
||||
(recompute-supressions (_type_) none 73)
|
||||
)
|
||||
)
|
||||
|
||||
+77
-73
@@ -636,9 +636,9 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
(when (and (> (-> v1-2 inactive-count) 0)
|
||||
(> (-> v1-2 reserve-count) 0)
|
||||
(< (-> v1-2 active-count) (-> v1-2 target-count))
|
||||
(logtest? (-> v1-2 flags) 4)
|
||||
(logtest? (-> v1-2 flags) 8)
|
||||
(or (not (logtest? (-> v1-2 flags) 1))
|
||||
(logtest? (-> v1-2 flags) (traffic-type-flags trtflags-2))
|
||||
(logtest? (-> v1-2 flags) (traffic-type-flags trtflags-3))
|
||||
(or (not (logtest? (-> v1-2 flags) (traffic-type-flags trtflags-0)))
|
||||
(zero? (logand (-> obj traffic alert-state flags) (traffic-alert-flag alert-ending)))
|
||||
)
|
||||
)
|
||||
@@ -789,7 +789,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
(let ((v1-4 (-> obj inactive-object-array)))
|
||||
(dotimes (a0-5 21)
|
||||
(let ((a1-3 (-> obj object-type-info-array a0-5)))
|
||||
(set! (-> a1-3 flags) (the-as uint 6))
|
||||
(set! (-> a1-3 flags) (traffic-type-flags trtflags-1 trtflags-2))
|
||||
(set! (-> a1-3 inactive-count) 0)
|
||||
(set! (-> a1-3 active-count) 0)
|
||||
(set! (-> a1-3 target-count) 20)
|
||||
@@ -802,7 +802,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
)
|
||||
)
|
||||
(set! (-> obj object-type-info-array 6 guard-type) (the-as uint 0))
|
||||
(set! (-> obj object-type-info-array 20 level) (the-as level 'ctywide))
|
||||
(set! (-> obj object-type-info-array 20 level) 'ctywide)
|
||||
(let ((v1-8 11))
|
||||
(dotimes (a0-6 10)
|
||||
(set! (-> obj object-type-info-array v1-8 tracker-index) (the-as uint 0))
|
||||
@@ -845,7 +845,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
(dotimes (s5-2 (-> *level* length))
|
||||
(let ((a1-12 (-> *level* level s5-2)))
|
||||
(if (= (-> a1-12 status) 'active)
|
||||
(level-loaded obj a1-12)
|
||||
(level-link obj a1-12)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -864,7 +864,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
|
||||
;; definition for method 61 of type traffic-engine
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod level-loaded traffic-engine ((obj traffic-engine) (arg0 level))
|
||||
(defmethod level-link traffic-engine ((obj traffic-engine) (arg0 level))
|
||||
"Call after loading a level to patch the data in the bsp"
|
||||
(format #t "traffic-engine: level birth ~S~%" (-> arg0 nickname))
|
||||
(cond
|
||||
@@ -998,7 +998,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
|
||||
;; definition for method 62 of type traffic-engine
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod level-killed traffic-engine ((obj traffic-engine) (arg0 level))
|
||||
(defmethod level-unlink traffic-engine ((obj traffic-engine) (arg0 level))
|
||||
"Call after removing a level. Kills processes and unlinks nav"
|
||||
(let ((s4-0 (-> arg0 bsp city-level-info nav-graph)))
|
||||
(dotimes (v1-2 2)
|
||||
@@ -1257,11 +1257,11 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
)
|
||||
|
||||
;; definition for method 14 of type traffic-engine
|
||||
(defmethod sphere-in-loaded-city-infos? traffic-engine ((obj traffic-engine) (arg0 int) (arg1 vector))
|
||||
(defmethod sphere-in-loaded-city-infos? traffic-engine ((obj traffic-engine) (arg0 vector) (arg1 int))
|
||||
(dotimes (s3-0 2)
|
||||
(let ((v1-3 (-> obj level-data-array s3-0)))
|
||||
(when (nonzero? (-> v1-3 city-info))
|
||||
(if (sphere-in-grid? (-> v1-3 city-info) arg0 (the-as int arg1))
|
||||
(if (sphere-in-grid? (-> v1-3 city-info) arg0 arg1)
|
||||
(return #t)
|
||||
)
|
||||
)
|
||||
@@ -1273,7 +1273,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
;; definition for method 17 of type traffic-engine
|
||||
(defmethod can-dest-be-used? traffic-engine ((obj traffic-engine) (arg0 nav-branch))
|
||||
(let ((v1-0 (-> arg0 src-node)))
|
||||
(or (logtest? (-> arg0 flags) 1)
|
||||
(or (logtest? (-> arg0 flags) (nav-branch-flags nabflags-0))
|
||||
(logtest? (-> v1-0 flags) (nav-node-flag-byte blocked))
|
||||
(not (-> arg0 dest-node))
|
||||
(>= (-> arg0 user-count) (-> arg0 max-user-count))
|
||||
@@ -1387,44 +1387,44 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
(let ((v1-1 (-> obj danger-sphere-array)))
|
||||
(set! (-> v1-1 0 handle) (process->handle s5-0))
|
||||
(let ((a0-4 (-> s5-0 focus-status))
|
||||
(f0-0 0.0)
|
||||
(f1-0 0.0)
|
||||
(f3-0 1.0)
|
||||
(f2-0 0.0)
|
||||
(notify-radius 0.0)
|
||||
(danger-radius 0.0)
|
||||
(decay-rate 1.0)
|
||||
(danger-level 0.0)
|
||||
)
|
||||
(cond
|
||||
((logtest? (focus-status mech dark shooting) a0-4)
|
||||
(set! f0-0 245760.0)
|
||||
(set! f1-0 163840.0)
|
||||
(set! f2-0 1.0)
|
||||
(set! f3-0 0.0)
|
||||
(set! notify-radius 245760.0)
|
||||
(set! danger-radius 163840.0)
|
||||
(set! danger-level 1.0)
|
||||
(set! decay-rate 0.0)
|
||||
)
|
||||
((logtest? (focus-status gun) a0-4)
|
||||
(set! f0-0 102400.0)
|
||||
(set! f1-0 61440.0)
|
||||
(set! f2-0 0.5)
|
||||
(set! f3-0 0.5)
|
||||
(set! notify-radius 102400.0)
|
||||
(set! danger-radius 61440.0)
|
||||
(set! danger-level 0.5)
|
||||
(set! decay-rate 0.5)
|
||||
)
|
||||
((logtest? (focus-status board pilot) a0-4)
|
||||
(set! f0-0 40960.0)
|
||||
(set! f1-0 24576.0)
|
||||
(set! f2-0 0.5)
|
||||
(set! notify-radius 40960.0)
|
||||
(set! danger-radius 24576.0)
|
||||
(set! danger-level 0.5)
|
||||
)
|
||||
((logtest? a0-4 (focus-status dangerous))
|
||||
(set! f0-0 61440.0)
|
||||
(set! f1-0 40960.0)
|
||||
(set! f3-0 0.0)
|
||||
(set! f2-0 0.5)
|
||||
(set! notify-radius 61440.0)
|
||||
(set! danger-radius 40960.0)
|
||||
(set! decay-rate 0.0)
|
||||
(set! danger-level 0.5)
|
||||
)
|
||||
(else
|
||||
(set! f3-0 1.5)
|
||||
(set! decay-rate 1.5)
|
||||
)
|
||||
)
|
||||
(set! (-> v1-1 0 decay-rate) (* 0.1 f3-0))
|
||||
(when (< (-> v1-1 0 danger-level) f2-0)
|
||||
(set! (-> v1-1 0 danger-level) f2-0)
|
||||
(set! (-> v1-1 0 sphere r) f1-0)
|
||||
(set! (-> v1-1 0 notify-radius) f0-0)
|
||||
(set! (-> v1-1 0 decay-rate) (* 0.1 decay-rate))
|
||||
(when (< (-> v1-1 0 danger-level) danger-level)
|
||||
(set! (-> v1-1 0 danger-level) danger-level)
|
||||
(set! (-> v1-1 0 sphere r) danger-radius)
|
||||
(set! (-> v1-1 0 notify-radius) notify-radius)
|
||||
)
|
||||
)
|
||||
(let ((f0-1 (-> v1-1 0 sphere r)))
|
||||
@@ -1552,7 +1552,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
;; definition for method 69 of type traffic-engine
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod per-frame-danger-update traffic-engine ((obj traffic-engine))
|
||||
(defmethod update-danger traffic-engine ((obj traffic-engine))
|
||||
"see what's dangerous and make people avoid it."
|
||||
(update-danger-from-target obj)
|
||||
(dotimes (s5-0 (-> obj danger-sphere-count))
|
||||
@@ -1667,8 +1667,8 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
;; definition for method 68 of type traffic-engine
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod per-frame-activate-deactivate traffic-engine ((obj traffic-engine))
|
||||
"per-frame activate and deactivate processes."
|
||||
(defmethod update-traffic-amount traffic-engine ((obj traffic-engine))
|
||||
"kills inactive traffic and spawns more if needed."
|
||||
(local-vars (sv-48 int) (sv-64 nav-segment))
|
||||
(set! (-> obj object-hash object-count) 0)
|
||||
(let* ((v1-1 (-> obj object-hash))
|
||||
@@ -1725,7 +1725,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
(set! (-> s5-0 quad) (-> v1-33 trans quad))
|
||||
(set! (-> s5-0 w) (-> v1-33 root-prim prim-core world-sphere w))
|
||||
)
|
||||
(sphere-in-loaded-city-infos? obj (the-as int s5-0) (the-as vector 0))
|
||||
(sphere-in-loaded-city-infos? obj s5-0 0)
|
||||
)
|
||||
(set! (-> (the-as vehicle s3-0) traffic-hash-id)
|
||||
(spatial-hash-method-39 (-> obj object-hash) s5-0 (the-as hash-object-info s3-0))
|
||||
@@ -1755,7 +1755,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
(set! (-> s5-0 quad) (-> v1-54 trans quad))
|
||||
(set! (-> s5-0 w) (-> v1-54 root-prim prim-core world-sphere w))
|
||||
)
|
||||
(sphere-in-loaded-city-infos? obj (the-as int s5-0) (the-as vector 1))
|
||||
(sphere-in-loaded-city-infos? obj s5-0 1)
|
||||
)
|
||||
(spatial-hash-method-39 (-> obj object-hash) s5-0 (the-as hash-object-info s3-1))
|
||||
)
|
||||
@@ -1835,7 +1835,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod update-traffic traffic-engine ((obj traffic-engine))
|
||||
(update-sync-from-frame-counter obj)
|
||||
(per-frame-suppressor-update obj)
|
||||
(update-suppressor obj)
|
||||
(let ((s5-0 (new 'stack-no-clear 'bounding-box)))
|
||||
(set-vector!
|
||||
(-> s5-0 min)
|
||||
@@ -1862,11 +1862,11 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
)
|
||||
(update-grid-for-objects-in-box (-> obj object-hash) 253 (-> s5-0 min) (-> s5-0 max))
|
||||
)
|
||||
(per-frame-activate-deactivate obj)
|
||||
(update-traffic-amount obj)
|
||||
(set! (-> obj alert-state guard-aim-count) 0)
|
||||
(per-frame-alert-update obj)
|
||||
(per-frame-guard-update obj)
|
||||
(per-frame-danger-update obj)
|
||||
(update-alert-state obj)
|
||||
(update-guards obj)
|
||||
(update-danger obj)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
@@ -2438,7 +2438,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
|
||||
;; definition for method 34 of type traffic-engine
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod set-alert-duration traffic-engine ((obj traffic-engine) (arg0 int))
|
||||
(defmethod set-alert-duration traffic-engine ((obj traffic-engine) (arg0 time-frame))
|
||||
(set! (-> obj alert-state duration) (the-as uint arg0))
|
||||
0
|
||||
(none)
|
||||
@@ -2765,7 +2765,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
|
||||
;; definition for method 67 of type traffic-engine
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod per-frame-guard-update traffic-engine ((obj traffic-engine))
|
||||
(defmethod update-guards traffic-engine ((obj traffic-engine))
|
||||
(dotimes (v1-0 6)
|
||||
(set! (-> obj alert-state guard-type-info-array v1-0 count) 0)
|
||||
)
|
||||
@@ -2899,7 +2899,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
;; definition for method 71 of type traffic-engine
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod per-frame-alert-update traffic-engine ((obj traffic-engine))
|
||||
(defmethod update-alert-state traffic-engine ((obj traffic-engine))
|
||||
(with-pp
|
||||
(if (and (logtest? (-> obj alert-state flags) (traffic-alert-flag target-jak)) *target*)
|
||||
(set! (-> obj alert-state target-status-array 0 handle) (process->handle *target*))
|
||||
@@ -3064,7 +3064,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
*target*
|
||||
)
|
||||
(for-all-active-processes obj (lambda ((arg0 process-focusable) (arg1 traffic-object-type-info))
|
||||
(if (logtest? (-> arg1 flags) 1)
|
||||
(if (logtest? (-> arg1 flags) (traffic-type-flags trtflags-0))
|
||||
(send-event arg0 'alert-begin *target*)
|
||||
)
|
||||
(none)
|
||||
@@ -3074,7 +3074,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
)
|
||||
(else
|
||||
(for-all-active-processes obj (lambda ((arg0 process-focusable) (arg1 traffic-object-type-info))
|
||||
(if (logtest? (-> arg1 flags) 1)
|
||||
(if (logtest? (-> arg1 flags) (traffic-type-flags trtflags-0))
|
||||
(send-event arg0 'alert-end)
|
||||
)
|
||||
(none)
|
||||
@@ -3103,54 +3103,56 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
(logclear! (-> v1-6 0 flags) (traffic-target-flag force-visible))
|
||||
)
|
||||
(set-target-level obj 1.0)
|
||||
(set-alert-duration obj 9000)
|
||||
(set-alert-duration obj (seconds 30))
|
||||
(set-max-alert-level obj 4)
|
||||
(let ((v1-13 42))
|
||||
(dotimes (a0-7 21)
|
||||
(let ((a1-6 (-> obj object-type-info-array a0-7)))
|
||||
(set! (-> a1-6 flags) (the-as uint 6))
|
||||
(set! (-> a1-6 flags) (traffic-type-flags trtflags-1 trtflags-2))
|
||||
(set! (-> a1-6 reserve-count) (the-as uint (max 1000 (min #xfde8 (* 1000 (-> a1-6 want-count))))))
|
||||
(set! (-> a1-6 killed-count) (the-as uint 0))
|
||||
(set! (-> a1-6 parking-spot-prob)
|
||||
(the-as uint (if (and (zero? (-> a1-6 tracker-index)) (zero? (logand (-> a1-6 flags) 1)))
|
||||
v1-13
|
||||
0
|
||||
)
|
||||
)
|
||||
(the-as
|
||||
uint
|
||||
(if (and (zero? (-> a1-6 tracker-index)) (zero? (logand (-> a1-6 flags) (traffic-type-flags trtflags-0))))
|
||||
v1-13
|
||||
0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((v1-16 (-> obj object-type-info-array 6)))
|
||||
(logior! (-> v1-16 flags) 1)
|
||||
(logior! (-> v1-16 flags) (traffic-type-flags trtflags-0))
|
||||
)
|
||||
(let ((v1-17 (-> obj object-type-info-array 7)))
|
||||
(logior! (-> v1-17 flags) 1)
|
||||
(logior! (-> v1-17 flags) (traffic-type-flags trtflags-0))
|
||||
)
|
||||
(let ((v1-18 (-> obj object-type-info-array 18)))
|
||||
(logior! (-> v1-18 flags) 1)
|
||||
(logior! (-> v1-18 flags) (traffic-type-flags trtflags-0))
|
||||
)
|
||||
(let ((v1-19 (-> obj object-type-info-array 19)))
|
||||
(logior! (-> v1-19 flags) 1)
|
||||
(logior! (-> v1-19 flags) (traffic-type-flags trtflags-0))
|
||||
)
|
||||
(let ((v1-20 (-> obj object-type-info-array 20)))
|
||||
(logior! (-> v1-20 flags) 1)
|
||||
(logior! (-> v1-20 flags) (traffic-type-flags trtflags-0))
|
||||
)
|
||||
(let ((v1-21 (-> obj object-type-info-array 5)))
|
||||
(set! (-> v1-21 target-count) 0)
|
||||
(set! (-> v1-21 flags) (logand -7 (-> v1-21 flags)))
|
||||
(logclear! (-> v1-21 flags) (traffic-type-flags trtflags-1 trtflags-2))
|
||||
)
|
||||
(let ((v1-22 (-> obj object-type-info-array 3)))
|
||||
(set! (-> v1-22 target-count) 0)
|
||||
(set! (-> v1-22 flags) (logand -5 (-> v1-22 flags)))
|
||||
(logclear! (-> v1-22 flags) (traffic-type-flags trtflags-2))
|
||||
)
|
||||
(let ((v1-23 (-> obj object-type-info-array 4)))
|
||||
(set! (-> v1-23 target-count) 0)
|
||||
(set! (-> v1-23 flags) (logand -5 (-> v1-23 flags)))
|
||||
(logclear! (-> v1-23 flags) (traffic-type-flags trtflags-2))
|
||||
)
|
||||
(let ((v1-24 (-> obj object-type-info-array 17)))
|
||||
(set! (-> v1-24 target-count) 0)
|
||||
(set! (-> v1-24 flags) (logand -7 (-> v1-24 flags)))
|
||||
(logclear! (-> v1-24 flags) (traffic-type-flags trtflags-1 trtflags-2))
|
||||
)
|
||||
(dotimes (v1-25 6)
|
||||
(let ((a0-28 (-> obj alert-state guard-type-info-array v1-25)))
|
||||
@@ -3222,8 +3224,8 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
(defmethod set-object-auto-activate traffic-engine ((obj traffic-engine) (arg0 int) (arg1 object))
|
||||
(let ((v1-2 (-> obj object-type-info-array arg0)))
|
||||
(if arg1
|
||||
(logior! (-> v1-2 flags) 4)
|
||||
(set! (-> v1-2 flags) (logand -5 (-> v1-2 flags)))
|
||||
(logior! (-> v1-2 flags) (traffic-type-flags trtflags-2))
|
||||
(logclear! (-> v1-2 flags) (traffic-type-flags trtflags-2))
|
||||
)
|
||||
)
|
||||
0
|
||||
@@ -3299,7 +3301,9 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
)
|
||||
(while (< (the-as uint s5-0) (the-as uint 21))
|
||||
(let ((s2-0 (-> obj object-type-info-array s5-0)))
|
||||
(when (and (logtest? (-> s2-0 flags) 8) (= (level-status *level* (the-as symbol (-> s2-0 level))) 'active))
|
||||
(when (and (logtest? (-> s2-0 flags) (traffic-type-flags trtflags-3))
|
||||
(= (level-status *level* (-> s2-0 level)) 'active)
|
||||
)
|
||||
(+! s3-0 (-> s2-0 parking-spot-prob))
|
||||
(b! (>= (the-as uint s3-0) (the-as uint s4-0)) cfg-10)
|
||||
)
|
||||
@@ -3353,7 +3357,7 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
|
||||
;; definition for method 72 of type traffic-engine
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod per-frame-suppressor-update traffic-engine ((obj traffic-engine))
|
||||
(defmethod update-suppressor traffic-engine ((obj traffic-engine))
|
||||
(let ((v1-3 (- (-> *display* game-clock frame-counter) (-> *display* game-clock old-frame-counter))))
|
||||
(dotimes (a1-3 16)
|
||||
(let ((a2-2 (-> obj suppressor array a1-3)))
|
||||
@@ -3415,12 +3419,12 @@ Process is recycled and moved to reserved, if it deactivates."
|
||||
)
|
||||
|
||||
;; definition for method 15 of type city-level-info
|
||||
(defmethod sphere-in-grid? city-level-info ((obj city-level-info) (arg0 int) (arg1 int))
|
||||
(defmethod sphere-in-grid? city-level-info ((obj city-level-info) (arg0 vector) (arg1 int))
|
||||
(let ((gp-0 #f))
|
||||
(let ((s3-0 (new 'stack-no-clear 'vis-grid-box))
|
||||
(s2-0 (new 'stack-no-clear 'vis-grid-box))
|
||||
)
|
||||
(lookup-box-for-sphere (-> obj grid-info) s2-0 (the-as vector arg0))
|
||||
(lookup-box-for-sphere (-> obj grid-info) s2-0 arg0)
|
||||
(set! (-> s3-0 min y) (-> s2-0 min y))
|
||||
(let ((v1-6 (+ (- 1 (-> s2-0 min y)) (-> s2-0 max y))))
|
||||
(b! #t cfg-13 :delay (nop!))
|
||||
|
||||
+103
-99
@@ -10,7 +10,7 @@
|
||||
;; definition of type traffic-manager
|
||||
(deftype traffic-manager (process)
|
||||
((traffic-engine traffic-engine :offset-assert 128)
|
||||
(fast-spawn basic :offset-assert 132)
|
||||
(fast-spawn symbol :offset-assert 132)
|
||||
(dark-guard-ratio int32 :offset-assert 136)
|
||||
(spawn-params traffic-object-spawn-params :inline :offset-assert 144)
|
||||
)
|
||||
@@ -21,12 +21,12 @@
|
||||
(:methods
|
||||
(idle () _type_ :state 14)
|
||||
(active () _type_ :state 15)
|
||||
(traffic-manager-method-16 (_type_) none 16)
|
||||
(update (_type_) none 16)
|
||||
(spawn-all (_type_) none 17)
|
||||
(traffic-manager-method-18 (_type_) none 18)
|
||||
(kill-all (_type_) none 19)
|
||||
(traffic-manager-method-20 (_type_) none 20)
|
||||
(traffic-manager-method-21 (_type_) none 21)
|
||||
(kill-excess-once (_type_) none 18)
|
||||
(kill-all-inactive (_type_) none 19)
|
||||
(reset-and-init (_type_) none 20)
|
||||
(init-params (_type_) none 21)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -71,9 +71,9 @@
|
||||
|
||||
;; definition for method 16 of type traffic-manager
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod traffic-manager-method-16 traffic-manager ((obj traffic-manager))
|
||||
(defmethod update traffic-manager ((obj traffic-manager))
|
||||
(update-traffic (-> obj traffic-engine))
|
||||
(traffic-manager-method-18 obj)
|
||||
(kill-excess-once obj)
|
||||
(spawn-all obj)
|
||||
(if *debug-segment*
|
||||
(debug-unused (-> obj traffic-engine))
|
||||
@@ -94,16 +94,16 @@
|
||||
|
||||
;; definition for method 18 of type traffic-manager
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod traffic-manager-method-18 traffic-manager ((obj traffic-manager))
|
||||
(let ((s5-0 0))
|
||||
(while (< (the-as uint s5-0) (the-as uint 21))
|
||||
(let ((v1-2 (-> obj traffic-engine object-type-info-array s5-0)))
|
||||
(when (logtest? (-> v1-2 flags) 2)
|
||||
(let ((a0-5 (+ (-> v1-2 active-count) (-> v1-2 inactive-count))))
|
||||
(when (< (-> v1-2 want-count) a0-5)
|
||||
(defmethod kill-excess-once traffic-manager ((obj traffic-manager))
|
||||
(let ((type-i 0))
|
||||
(while (< (the-as uint type-i) (the-as uint 21))
|
||||
(let ((traffic (-> obj traffic-engine object-type-info-array type-i)))
|
||||
(when (logtest? (-> traffic flags) (traffic-type-flags trtflags-1))
|
||||
(let ((total-count (+ (-> traffic active-count) (-> traffic inactive-count))))
|
||||
(when (< (-> traffic want-count) total-count)
|
||||
(let ((a0-10 (handle->process (get-from-inactive-by-type
|
||||
(-> obj traffic-engine tracker-array (-> v1-2 tracker-index))
|
||||
(the-as traffic-type s5-0)
|
||||
(-> obj traffic-engine tracker-array (-> traffic tracker-index))
|
||||
(the-as traffic-type type-i)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -116,7 +116,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(+! s5-0 1)
|
||||
(+! type-i 1)
|
||||
)
|
||||
)
|
||||
0
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
;; definition for method 19 of type traffic-manager
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod kill-all traffic-manager ((obj traffic-manager))
|
||||
(defmethod kill-all-inactive traffic-manager ((obj traffic-manager))
|
||||
(let ((s5-0 0))
|
||||
(while (< (the-as uint s5-0) (the-as uint 21))
|
||||
(let ((s4-0 (-> obj traffic-engine object-type-info-array s5-0)))
|
||||
@@ -157,9 +157,9 @@
|
||||
(b! #t cfg-4 :delay (nop!))
|
||||
(label cfg-1)
|
||||
(let ((s4-0 (-> obj traffic-engine object-type-info-array s5-0)))
|
||||
(set! (-> s4-0 flags) (logand -9 (-> s4-0 flags)))
|
||||
(if (= (level-status *level* (the-as symbol (-> s4-0 level))) 'active)
|
||||
(logior! (-> s4-0 flags) 8)
|
||||
(logclear! (-> s4-0 flags) (traffic-type-flags trtflags-3))
|
||||
(if (= (level-status *level* (-> s4-0 level)) 'active)
|
||||
(logior! (-> s4-0 flags) (traffic-type-flags trtflags-3))
|
||||
)
|
||||
)
|
||||
(+! s5-0 1)
|
||||
@@ -182,7 +182,11 @@
|
||||
(let ((s0-0 (-> obj traffic-engine object-type-info-array s1-0)))
|
||||
(let ((v1-21 (+ (-> s0-0 active-count) (-> s0-0 inactive-count))))
|
||||
(b!
|
||||
(not (and (logtest? (-> s0-0 flags) 2) (logtest? (-> s0-0 flags) 8) (< v1-21 (-> s0-0 want-count))))
|
||||
(not (and (logtest? (-> s0-0 flags) (traffic-type-flags trtflags-1))
|
||||
(logtest? (-> s0-0 flags) (traffic-type-flags trtflags-3))
|
||||
(< v1-21 (-> s0-0 want-count))
|
||||
)
|
||||
)
|
||||
cfg-29
|
||||
:delay (nop!)
|
||||
)
|
||||
@@ -385,7 +389,7 @@
|
||||
|
||||
;; definition for method 20 of type traffic-manager
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod traffic-manager-method-20 traffic-manager ((obj traffic-manager))
|
||||
(defmethod reset-and-init traffic-manager ((obj traffic-manager))
|
||||
(set! (-> obj traffic-engine) *traffic-engine*)
|
||||
(reset-and-init-from-manager (-> obj traffic-engine) obj)
|
||||
(restore-city-speeches)
|
||||
@@ -416,54 +420,54 @@
|
||||
|
||||
;; definition for method 21 of type traffic-manager
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod traffic-manager-method-21 traffic-manager ((obj traffic-manager))
|
||||
(let ((s5-0 (new 'stack-no-clear 'array 'int8 21)))
|
||||
(set! (-> s5-0 11) 8)
|
||||
(set! (-> s5-0 12) 8)
|
||||
(set! (-> s5-0 13) 8)
|
||||
(set! (-> s5-0 14) 7)
|
||||
(set! (-> s5-0 15) 7)
|
||||
(set! (-> s5-0 16) 7)
|
||||
(set! (-> s5-0 18) 4)
|
||||
(set! (-> s5-0 19) 3)
|
||||
(set! (-> s5-0 20) 0)
|
||||
(set! (-> s5-0 0) 15)
|
||||
(set! (-> s5-0 1) 15)
|
||||
(set! (-> s5-0 2) 14)
|
||||
(set! (-> s5-0 3) 1)
|
||||
(set! (-> s5-0 4) 1)
|
||||
(set! (-> s5-0 6) 9)
|
||||
(set! (-> s5-0 7) 0)
|
||||
(set! (-> s5-0 8) 14)
|
||||
(set! (-> s5-0 9) 14)
|
||||
(set! (-> s5-0 10) 14)
|
||||
(set! (-> obj fast-spawn) (the-as basic *traffic-fast-spawn*))
|
||||
(traffic-manager-method-20 obj)
|
||||
(defmethod init-params traffic-manager ((obj traffic-manager))
|
||||
(let ((traffic-want-counts (new 'stack-no-clear 'array 'int8 21)))
|
||||
(set! (-> traffic-want-counts 11) 8)
|
||||
(set! (-> traffic-want-counts 12) 8)
|
||||
(set! (-> traffic-want-counts 13) 8)
|
||||
(set! (-> traffic-want-counts 14) 7)
|
||||
(set! (-> traffic-want-counts 15) 7)
|
||||
(set! (-> traffic-want-counts 16) 7)
|
||||
(set! (-> traffic-want-counts 18) 4)
|
||||
(set! (-> traffic-want-counts 19) 3)
|
||||
(set! (-> traffic-want-counts 20) 0)
|
||||
(set! (-> traffic-want-counts 0) 15)
|
||||
(set! (-> traffic-want-counts 1) 15)
|
||||
(set! (-> traffic-want-counts 2) 14)
|
||||
(set! (-> traffic-want-counts 3) 1)
|
||||
(set! (-> traffic-want-counts 4) 1)
|
||||
(set! (-> traffic-want-counts 6) 9)
|
||||
(set! (-> traffic-want-counts 7) 0)
|
||||
(set! (-> traffic-want-counts 8) 14)
|
||||
(set! (-> traffic-want-counts 9) 14)
|
||||
(set! (-> traffic-want-counts 10) 14)
|
||||
(set! (-> obj fast-spawn) *traffic-fast-spawn*)
|
||||
(reset-and-init obj)
|
||||
(let ((v1-20 (-> obj traffic-engine)))
|
||||
(dotimes (a0-2 21)
|
||||
(set! (-> v1-20 object-type-info-array a0-2 want-count) (-> s5-0 a0-2))
|
||||
(set! (-> v1-20 object-type-info-array a0-2 want-count) (-> traffic-want-counts a0-2))
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s5-1 (-> obj spawn-params)))
|
||||
(set! (-> s5-1 object-type) (traffic-type crimson-guard-1))
|
||||
(set! (-> s5-1 behavior) (the-as uint 1))
|
||||
(set! (-> s5-1 id) (the-as uint 0))
|
||||
(set! (-> s5-1 nav-mesh) #f)
|
||||
(set! (-> s5-1 nav-branch) #f)
|
||||
(set! (-> s5-1 proc) #f)
|
||||
(set! (-> s5-1 handle) (the-as handle #f))
|
||||
(set! (-> s5-1 user-data) (the-as uint 0))
|
||||
(set! (-> s5-1 flags) (the-as uint 2))
|
||||
(set! (-> s5-1 guard-type) (the-as uint 7))
|
||||
(vector-reset! (-> s5-1 velocity))
|
||||
(vector-reset! (-> s5-1 position))
|
||||
(let ((params (-> obj spawn-params)))
|
||||
(set! (-> params object-type) (traffic-type crimson-guard-1))
|
||||
(set! (-> params behavior) (the-as uint 1))
|
||||
(set! (-> params id) (the-as uint 0))
|
||||
(set! (-> params nav-mesh) #f)
|
||||
(set! (-> params nav-branch) #f)
|
||||
(set! (-> params proc) #f)
|
||||
(set! (-> params handle) (the-as handle #f))
|
||||
(set! (-> params user-data) (the-as uint 0))
|
||||
(set! (-> params flags) (the-as uint 2))
|
||||
(set! (-> params guard-type) (the-as uint 7))
|
||||
(vector-reset! (-> params velocity))
|
||||
(vector-reset! (-> params position))
|
||||
(forward-up-nopitch->quaternion
|
||||
(-> s5-1 rotation)
|
||||
(-> params rotation)
|
||||
(new 'static 'vector :z 1.0 :w 1.0)
|
||||
(new 'static 'vector :y 1.0 :w 1.0)
|
||||
)
|
||||
(set! (-> s5-1 id) (the-as uint 1))
|
||||
(set! (-> params id) (the-as uint 1))
|
||||
)
|
||||
(set! (-> obj dark-guard-ratio) (if (task-node-closed? (game-task-node tomb-boss-resolution))
|
||||
5
|
||||
@@ -510,7 +514,7 @@
|
||||
)
|
||||
(('set-alert-duration)
|
||||
(let ((a1-8 (-> arg3 param 0)))
|
||||
(set-alert-duration (-> self traffic-engine) (the-as int a1-8))
|
||||
(set-alert-duration (-> self traffic-engine) (the-as time-frame a1-8))
|
||||
)
|
||||
)
|
||||
(('deactivate-all)
|
||||
@@ -647,12 +651,12 @@
|
||||
)
|
||||
(('level-loaded)
|
||||
(let ((a1-29 (-> arg3 param 0)))
|
||||
(level-loaded (-> self traffic-engine) (the-as level a1-29))
|
||||
(level-link (-> self traffic-engine) (the-as level a1-29))
|
||||
)
|
||||
)
|
||||
(('level-killed)
|
||||
(let ((s5-1 (the-as object (-> arg3 param 0))))
|
||||
(level-killed (-> self traffic-engine) (the-as level s5-1))
|
||||
(level-unlink (-> self traffic-engine) (the-as level s5-1))
|
||||
(format #t "traffic-manager : level killed ~S~%" (-> (the-as level s5-1) nickname))
|
||||
)
|
||||
)
|
||||
@@ -666,11 +670,11 @@
|
||||
(('kill-all)
|
||||
(format #t "traffic-manager::kill-all~%")
|
||||
(deactivate-all (-> self traffic-engine))
|
||||
(kill-all self)
|
||||
(kill-all-inactive self)
|
||||
)
|
||||
(('spawn-all)
|
||||
(format #t "traffic-manager::spawn-all~%")
|
||||
(set! (-> self fast-spawn) (the-as basic #t))
|
||||
(set! (-> self fast-spawn) #t)
|
||||
(spawn-all self)
|
||||
)
|
||||
(('set-density-factor)
|
||||
@@ -707,7 +711,7 @@
|
||||
(defbehavior traffic-manager-init-by-other traffic-manager ()
|
||||
(stack-size-set! (-> self main-thread) 128)
|
||||
(ctywide-entity-hack)
|
||||
(traffic-manager-method-21 self)
|
||||
(init-params self)
|
||||
(add-setting! 'task-mask 'clear 0 #x4000)
|
||||
(set! (-> self event-hook) traffic-manager-event-handler)
|
||||
(rigid-body-queue-manager-spawn *traffic-rigid-body-queue* self)
|
||||
@@ -753,7 +757,7 @@
|
||||
:event traffic-manager-event-handler
|
||||
:code (the-as (function none :behavior traffic-manager) sleep-code)
|
||||
:post (behavior ()
|
||||
(traffic-manager-method-16 self)
|
||||
(update self)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
@@ -812,54 +816,54 @@
|
||||
(when gp-0
|
||||
(case (-> arg0 name)
|
||||
(('lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 0 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 1 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 2 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 3 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 4 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 0 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 1 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 2 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 3 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 4 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 5 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 6 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 6 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 7 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 8 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 9 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 10 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 11 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 12 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 13 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 14 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 15 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 16 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 11 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 12 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 13 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 14 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 15 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 16 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 17 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 18 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 19 level) (the-as level 'lwidea))
|
||||
(set! (-> gp-0 object-type-info-array 18 level) 'lwidea)
|
||||
(set! (-> gp-0 object-type-info-array 19 level) 'lwidea)
|
||||
(logior! (-> gp-0 alert-state flags) (traffic-alert-flag target-jak))
|
||||
(set! *traffic-alert-level-force* #f)
|
||||
)
|
||||
(('lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 0 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 0 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 1 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 2 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 3 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 4 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 3 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 4 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 5 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 6 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 6 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 7 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 8 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 9 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 10 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 11 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 8 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 9 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 10 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 11 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 12 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 13 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 14 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 14 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 15 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 16 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 17 level) #f)
|
||||
(set! (-> gp-0 object-type-info-array 18 level) (the-as level 'lwideb))
|
||||
(set! (-> gp-0 object-type-info-array 18 level) 'lwideb)
|
||||
(set! (-> gp-0 object-type-info-array 19 level) #f)
|
||||
(logclear! (-> gp-0 alert-state flags) (traffic-alert-flag target-jak))
|
||||
(set-alert-level gp-0 3)
|
||||
(logior! (-> gp-0 alert-state flags) (traffic-alert-flag guard-multi-focus))
|
||||
(set-alert-duration gp-0 #x6c258c00)
|
||||
(set-alert-duration gp-0 (seconds 6048000))
|
||||
(set! *traffic-alert-level-force* #t)
|
||||
)
|
||||
)
|
||||
@@ -872,7 +876,7 @@
|
||||
;; definition for function lwide-deactivate
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun lwide-deactivate ()
|
||||
(set! *lwide-entity* (the-as object #f))
|
||||
(set! *lwide-entity* #f)
|
||||
(send-event *traffic-manager* 'kill-all)
|
||||
0
|
||||
(none)
|
||||
@@ -881,7 +885,7 @@
|
||||
;; definition for function ctywide-deactivate
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun ctywide-deactivate ()
|
||||
(set! *ctywide-entity* (the-as object #f))
|
||||
(set! *ctywide-entity* #f)
|
||||
(set! *traffic-engine* #f)
|
||||
(set! *trail-graph* #f)
|
||||
(init *city-dead-pool* 'loading-level 0)
|
||||
@@ -902,7 +906,7 @@
|
||||
)
|
||||
)
|
||||
(else
|
||||
(process-entity-set! pp (the-as entity-actor *ctywide-entity*))
|
||||
(process-entity-set! pp *ctywide-entity*)
|
||||
)
|
||||
)
|
||||
0
|
||||
@@ -914,7 +918,7 @@
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun lwide-entity-hack ()
|
||||
(with-pp
|
||||
(process-entity-set! pp (the-as entity-actor *lwide-entity*))
|
||||
(process-entity-set! pp *lwide-entity*)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
+1
-1
@@ -1059,7 +1059,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(process-entity-set! self (the-as entity-actor a1-2))
|
||||
(process-entity-set! self a1-2)
|
||||
)
|
||||
(set-setting! 'allow-pause #f 0 0)
|
||||
(set-setting! 'allow-progress #f 0 0)
|
||||
|
||||
+1
-1
@@ -201,7 +201,7 @@
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior canyon-lightning-thingy-init-by-other canyon-lightning-thingy ((arg0 vector) (arg1 vector))
|
||||
(process-entity-set! self (the-as entity-actor #f))
|
||||
(process-entity-set! self (the-as entity #f))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(let ((a2-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg1 1.0)))
|
||||
|
||||
+1
-1
@@ -955,7 +955,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(process-entity-set! self (the-as entity-actor a1-2))
|
||||
(process-entity-set! self a1-2)
|
||||
)
|
||||
(set-setting! 'allow-pause #f 0 0)
|
||||
(set-setting! 'allow-progress #f 0 0)
|
||||
|
||||
Reference in New Issue
Block a user