[jak3] implement autocollect and city turbo board cheats, fix actor heap and level flags (#3541)

This commit is contained in:
ManDude
2024-05-31 17:41:35 +02:00
committed by GitHub
parent cefb371681
commit ea1271cfd0
41 changed files with 901 additions and 968 deletions
+5 -3
View File
@@ -1300,7 +1300,7 @@
(let ((s5-0 (-> *level* draw-level v1-2)))
(when (and s5-0 (= (-> s5-0 status) 'active))
(when (= (-> s5-0 display?) 'display)
(if (logtest? (-> s5-0 info level-flags) (level-flags lf13))
(if (logtest? (-> s5-0 info level-flags) (level-flags ocean-far))
(set! (-> this far-on) #t)
)
(let ((a0-13 (-> s5-0 info ocean)))
@@ -1314,10 +1314,12 @@
((and a0-13 (nonzero? (-> a0-13 value)))
(set! *ocean-map* (the-as ocean-map (-> a0-13 value)))
(set-height! *ocean-map* (-> s5-0 info ocean-height))
(if (logtest? (level-flags lf20) (-> s5-0 info level-flags))
(if (logtest? (level-flags ocean-all) (-> s5-0 info level-flags))
(set! (-> this all-on) #t)
)
(set! (-> this ocean-near-translucent?) (logtest? (-> s5-0 info level-flags) (level-flags lf12)))
(set! (-> this ocean-near-translucent?)
(logtest? (-> s5-0 info level-flags) (level-flags ocean-near-translucent))
)
(goto cfg-24)
)
)
+1 -1
View File
@@ -714,7 +714,7 @@
(dotimes (a0-1 (-> *level* length))
(let ((a1-3 (-> *level* level a0-1)))
(when (= (-> a1-3 status) 'active)
(if (and (= (-> a1-3 display?) 'display) (logtest? (-> a1-3 info level-flags) (level-flags lf9)))
(if (and (= (-> a1-3 display?) 'display) (logtest? (-> a1-3 info level-flags) (level-flags sky)))
(set! v1-0 #t)
)
)
File diff suppressed because it is too large Load Diff
+12 -12
View File
@@ -432,7 +432,7 @@
(let ((s0-0 (-> s2-0 master-level)))
(when s0-0
(let ((a0-10 (lookup-level-info s0-0)))
(when (not (logtest? (level-flags lf17) (-> a0-10 level-flags)))
(when (not (logtest? (level-flags allow-unloaded) (-> a0-10 level-flags)))
(dotimes (v1-16 (-> this length))
(let ((a0-15 (-> this level v1-16)))
(when (or (= (-> a0-15 status) 'active) (= (-> a0-15 status) 'alive) (= (-> a0-15 status) 'loaded))
@@ -532,7 +532,7 @@
(while (and (> s4-1 0) (car s5-1))
(when (and (!= (car s5-1) 'dummy)
(or (= arg1 'all) (let ((a0-31 (lookup-level-info (the-as symbol (car s5-1)))))
(and a0-31 (not (logtest? (-> a0-31 level-flags) (level-flags lf15))))
(and a0-31 (not (logtest? (-> a0-31 level-flags) (level-flags city-borrow-available))))
)
)
)
@@ -1612,7 +1612,7 @@
)
)
(-> this borrow-from-level)
(logtest? (-> this info level-flags) (level-flags lf6))
(logtest? (-> this info level-flags) (level-flags borrow-load))
)
(set! (-> this load-buffer-mode) (level-memory-mode borrow))
(let ((t0-2 (logand -64 (&+ (-> this heap current) 63))))
@@ -2170,7 +2170,7 @@
"Remove level from memory."
(deactivate this)
(when (!= (-> this status) 'inactive)
(when (not (logtest? (level-flags lf17) (-> this info level-flags)))
(when (not (logtest? (level-flags allow-unloaded) (-> this info level-flags)))
(dotimes (s5-0 (-> *level* length))
(let ((v1-10 (-> *level* level s5-0)))
(when (or (= (-> v1-10 status) 'active) (= (-> v1-10 status) 'alive) (= (-> v1-10 status) 'loaded))
@@ -2579,7 +2579,7 @@
(dotimes (a0-3 (-> this length))
(let ((a1-3 (-> this level a0-3)))
(when (= (-> a1-3 status) 'active)
(if (and (= (-> a1-3 name) v1-1) (not (logtest? (-> a1-3 info level-flags) (level-flags lf1))))
(if (and (= (-> a1-3 name) v1-1) (not (logtest? (-> a1-3 info level-flags) (level-flags not-physical))))
(return a1-3)
)
)
@@ -2591,7 +2591,7 @@
(dotimes (a0-5 (-> this length))
(let ((a1-8 (-> this level a0-5)))
(when (= (-> a1-8 status) 'active)
(if (and (= (-> a1-8 name) v1-5) (not (logtest? (-> a1-8 info level-flags) (level-flags lf1))))
(if (and (= (-> a1-8 name) v1-5) (not (logtest? (-> a1-8 info level-flags) (level-flags not-physical))))
(return a1-8)
)
)
@@ -2605,7 +2605,7 @@
(when (= (-> s2-0 status) 'active)
(let ((f0-0 (vector-vector-distance (-> s2-0 bsp bsphere) s5-0)))
(if (and (-> s2-0 inside-boxes?)
(not (logtest? (-> s2-0 info level-flags) (level-flags lf1)))
(not (logtest? (-> s2-0 info level-flags) (level-flags not-physical)))
(or (not s4-0) (< f0-0 f30-0))
)
(set! s4-0 s2-0)
@@ -2623,7 +2623,7 @@
(dotimes (v1-26 (-> this length))
(let ((a0-11 (-> this level v1-26)))
(when (= (-> a0-11 status) 'active)
(if (and (-> a0-11 meta-inside?) (not (logtest? (-> a0-11 info level-flags) (level-flags lf1))))
(if (and (-> a0-11 meta-inside?) (not (logtest? (-> a0-11 info level-flags) (level-flags not-physical))))
(return a0-11)
)
)
@@ -2634,7 +2634,7 @@
(dotimes (v1-29 (-> this length))
(let ((a0-16 (-> this level v1-29)))
(when (= (-> a0-16 status) 'active)
(if (and (not v0-1) (not (logtest? (-> a0-16 info level-flags) (level-flags lf1))))
(if (and (not v0-1) (not (logtest? (-> a0-16 info level-flags) (level-flags not-physical))))
(set! v0-1 a0-16)
)
)
@@ -3335,7 +3335,7 @@
(set! (-> s3-2 display?) (-> this target s5-2 display?))
)
(else
(if (and (logtest? (-> s3-2 info level-flags) (level-flags lf11))
(if (and (logtest? (-> s3-2 info level-flags) (level-flags display-wait))
(!= (-> this target s5-2 display?) 'display-no-wait)
)
(send-event *target* 'loading)
@@ -3398,7 +3398,7 @@
(if (= (-> a2-32 name) (-> this vis-nick))
(goto cfg-137)
)
(if (or (not v1-131) (not (logtest? (-> a2-32 info level-flags) (level-flags lf1))))
(if (or (not v1-131) (not (logtest? (-> a2-32 info level-flags) (level-flags not-physical))))
(set! v1-131 a2-32)
)
(+! a0-55 1)
@@ -3525,7 +3525,7 @@
)
(or (-> *level* border?) (logtest? (-> *game-info* current-continue flags) (continue-flags change-continue)))
(and (or (and (!= (-> s3-0 name) (-> *game-info* current-continue level))
(or (not (logtest? (level-flags lf18) (-> s3-0 info level-flags)))
(or (not (logtest? (level-flags check-taskname-for-continue) (-> s3-0 info level-flags)))
(!= (-> s3-0 info taskname) (-> (lookup-level-info (-> *game-info* current-continue level)) taskname))
)
)
+1 -1
View File
@@ -414,7 +414,7 @@
)
((and (!= (-> *level* loading-level) (-> *level* level-default))
(or (< 81920.0 (-> this load-file-priority))
(logtest? (-> *level* loading-level info level-flags) (level-flags lf4))
(logtest? (-> *level* loading-level info level-flags) (level-flags external))
)
)
)
+2 -2
View File
@@ -1180,12 +1180,12 @@
(set! (-> self flut entity) (-> v1-41 entity))
)
)
(when (not (and (-> self flut entity) (logtest? (-> self flut entity extra level info level-flags) (level-flags lf8)))
(when (not (and (-> self flut entity) (logtest? (-> self flut entity extra level info level-flags) (level-flags flut)))
)
(dotimes (v1-49 (-> *level* length))
(let ((a0-40 (-> *level* level v1-49)))
(when (= (-> a0-40 status) 'active)
(when (logtest? (-> a0-40 info level-flags) (level-flags lf8))
(when (logtest? (-> a0-40 info level-flags) (level-flags flut))
(let ((a0-42 (-> a0-40 entity data 0 entity)))
(when a0-42
(set! (-> self flut entity) (the-as entity-actor a0-42))
+2 -2
View File
@@ -497,11 +497,11 @@
;; INFO: Used lq/sq
(defbehavior mech-target-init mech ((arg0 vector) (arg1 quaternion) (arg2 entity-actor))
(process-entity-set! self arg2)
(when (not (and (-> self level) (logtest? (level-flags lf16) (-> self level info level-flags))))
(when (not (and (-> self level) (logtest? (level-flags mech) (-> self level info level-flags))))
(dotimes (v1-4 (-> *level* length))
(let ((a0-7 (-> *level* level v1-4)))
(when (= (-> a0-7 status) 'active)
(when (logtest? (level-flags lf16) (-> a0-7 info level-flags))
(when (logtest? (level-flags mech) (-> a0-7 info level-flags))
(set! (-> self level) a0-7)
(goto cfg-12)
)
+2 -2
View File
@@ -1246,12 +1246,12 @@
(set! (-> self mech entity) (-> v1-31 entity))
)
)
(when (not (and (-> self mech entity) (logtest? (level-flags lf16) (-> self mech entity extra level info level-flags)))
(when (not (and (-> self mech entity) (logtest? (level-flags mech) (-> self mech entity extra level info level-flags)))
)
(dotimes (v1-39 (-> *level* length))
(let ((a0-18 (-> *level* level v1-39)))
(when (= (-> a0-18 status) 'active)
(when (logtest? (level-flags lf16) (-> a0-18 info level-flags))
(when (logtest? (level-flags mech) (-> a0-18 info level-flags))
(let ((a0-20 (-> a0-18 entity data 0 entity)))
(when a0-20
(set! (-> self mech entity) (the-as entity-actor a0-20))
+3 -3
View File
@@ -743,7 +743,7 @@
(('level-deactivate)
(cond
((and (focus-test? self pilot) (let ((a0-19 (lookup-level-info (the-as symbol (-> arg3 param 0)))))
(or (and a0-19 (logtest? (-> a0-19 level-flags) (level-flags lf7)))
(or (and a0-19 (logtest? (-> a0-19 level-flags) (level-flags end-mode)))
(and (= (-> arg3 param 0) 'lctypatk) (-> self pilot as-daxter?))
(= (-> arg3 param 0) 'desliz)
)
@@ -774,7 +774,7 @@
)
((and (focus-test? self flut)
(begin (set! a0-35 (lookup-level-info (the-as symbol (-> arg3 param 0)))) a0-35)
(logtest? (-> a0-35 level-flags) (level-flags lf8))
(logtest? (-> a0-35 level-flags) (level-flags flut))
)
(ja-channel-set! 0)
(target-gun-end-mode #t)
@@ -785,7 +785,7 @@
)
((and (focus-test? self mech)
(begin (set! a1-13 (lookup-level-info (the-as symbol (-> arg3 param 0)))) a1-13)
(logtest? (level-flags lf16) (-> a1-13 level-flags))
(logtest? (level-flags mech) (-> a1-13 level-flags))
)
(ja-channel-set! 0)
(when (not (focus-test? self grabbed teleporting))
@@ -32,13 +32,13 @@
;; definition for method 18 of type cty-borrow-manager
(defmethod cty-borrow-manager-method-18 ((this cty-borrow-manager) (arg0 level-load-info))
(cond
((logtest? (-> arg0 level-flags) (level-flags lf2))
((logtest? (-> arg0 level-flags) (level-flags ctycar))
1.0
)
((logtest? (-> arg0 level-flags) (level-flags lf3))
((logtest? (-> arg0 level-flags) (level-flags ctypes))
3.0
)
((logtest? (level-flags lf19) (-> arg0 level-flags))
((logtest? (level-flags city-borrow-high-priority) (-> arg0 level-flags))
1000.0
)
(else
@@ -782,7 +782,3 @@
0
(none)
)
+2 -6
View File
@@ -64,7 +64,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factoryd)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -876,7 +876,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factory)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -2198,7 +2198,3 @@
(:next-launcher 4594)
)
)
+10 -14
View File
@@ -570,7 +570,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factoryd)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -588,7 +588,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factory)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -691,7 +691,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factoryc)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -710,7 +710,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factory)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -799,7 +799,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factoryc)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -818,7 +818,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factory)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -907,7 +907,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factoryc)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -926,7 +926,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factory)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -1015,7 +1015,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-factoryc)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -1034,7 +1034,7 @@
((the-as (function level none) #f) (the-as level (-> gp-0 mood-context)))
)
(set! (-> gp-0 info mood-func) 'update-mood-factory)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -1581,7 +1581,3 @@
;; failed to figure out what this is:
(set! (-> *part-hellcat-dust-landing-fac-curve-settings* scale-y-scalar) *curve-fac-dust-scale-y*)
+4 -4
View File
@@ -676,7 +676,7 @@
((the-as (function mood-context symbol) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-default)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(set! (-> *sky-work* disable-day-star) (the-as basic #t))
@@ -825,7 +825,7 @@
((the-as (function mood-context symbol) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'default)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(set! (-> *sky-work* disable-day-star) #f)
@@ -1015,7 +1015,7 @@
((the-as (function mood-context symbol) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-default)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -1114,7 +1114,7 @@
((the-as (function mood-context symbol) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'default)
(logior! (-> gp-0 info level-flags) (level-flags lf9))
(logior! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -98,7 +98,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-waspala)
(logclear! (-> gp-0 info level-flags) (level-flags lf9))
(logclear! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -381,7 +381,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-copy-wasstada)
(logclear! (-> gp-0 info level-flags) (level-flags lf9))
(logclear! (-> gp-0 info level-flags) (level-flags sky))
)
)
(cond
@@ -506,7 +506,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-copy-wasstada)
(logclear! (-> gp-0 info level-flags) (level-flags lf9))
(logclear! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -525,7 +525,7 @@
((the-as (function mood-context none) #f) (-> gp-0 mood-context))
)
(set! (-> gp-0 info mood-func) 'update-mood-waspala)
(logclear! (-> gp-0 info level-flags) (level-flags lf9))
(logclear! (-> gp-0 info level-flags) (level-flags sky))
)
)
(none)
@@ -1448,7 +1448,3 @@
:on-complete #f
)
)