mirror of
https://github.com/open-goal/jak-project
synced 2026-06-02 18:19:07 -04:00
1af0f4a1a7
* [decomp] most of `level` and some game loop functions + couple decompiler fixes * add ART.CGO to fake-iso
116 lines
2.8 KiB
Common Lisp
116 lines
2.8 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: load-boundary.gc
|
|
;; name in dgo: load-boundary
|
|
;; dgos: GAME, ENGINE
|
|
|
|
|
|
(defmethod reset! load-state ((obj load-state))
|
|
(set! (-> obj want 0 name) #f)
|
|
(set! (-> obj want 0 display?) #f)
|
|
(set! (-> obj want 0 force-vis?) #f)
|
|
(set! (-> obj want 0 force-inside?) #f)
|
|
(set! (-> obj want 1 name) #f)
|
|
(set! (-> obj want 1 display?) #f)
|
|
(set! (-> obj want 1 force-vis?) #f)
|
|
(set! (-> obj want 1 force-inside?) #f)
|
|
(set! (-> obj command-list) '())
|
|
(dotimes (v1-1 256)
|
|
(set! (-> obj object-name v1-1) #f)
|
|
(set! (-> obj object-status v1-1) (the-as basic 0))
|
|
)
|
|
obj
|
|
)
|
|
|
|
(defmethod want-levels load-state ((obj load-state) (arg0 symbol) (arg1 symbol))
|
|
(dotimes (v1-0 LEVEL_COUNT)
|
|
(cond
|
|
((= (-> obj want v1-0 name) arg0)
|
|
(set! arg0 #f)
|
|
)
|
|
((= (-> obj want v1-0 name) arg1)
|
|
(set! arg1 #f)
|
|
)
|
|
(else
|
|
(set! (-> obj want v1-0 name) #f)
|
|
)
|
|
)
|
|
)
|
|
(when arg0
|
|
(dotimes (v1-4 LEVEL_COUNT)
|
|
(when (not (-> obj want v1-4 name))
|
|
(set! (-> obj want v1-4 name) arg0)
|
|
(set! (-> obj want v1-4 display?) #f)
|
|
(set! (-> obj want v1-4 force-vis?) #f)
|
|
(set! (-> obj want v1-4 force-inside?) #f)
|
|
(set! v1-4 LEVEL_COUNT)
|
|
)
|
|
)
|
|
)
|
|
(when arg1
|
|
(dotimes (v1-10 LEVEL_COUNT)
|
|
(when (not (-> obj want v1-10 name))
|
|
(set! (-> obj want v1-10 name) arg1)
|
|
(set! (-> obj want v1-10 display?) #f)
|
|
(set! (-> obj want v1-10 force-vis?) #f)
|
|
(set! (-> obj want v1-10 force-inside?) #f)
|
|
(set! v1-10 LEVEL_COUNT)
|
|
)
|
|
)
|
|
)
|
|
0
|
|
)
|
|
|
|
(defmethod want-display-level load-state ((obj load-state) (arg0 symbol) (arg1 symbol))
|
|
(dotimes (v1-0 LEVEL_COUNT)
|
|
(when (= (-> obj want v1-0 name) arg0)
|
|
(set! (-> obj want v1-0 display?) arg1)
|
|
(return 0)
|
|
)
|
|
)
|
|
(if arg1
|
|
(format 0 "ERROR: can't display ~A because it isn't loaded~%" arg0)
|
|
)
|
|
0
|
|
)
|
|
|
|
(defmethod want-vis load-state ((obj load-state) (arg0 symbol))
|
|
(set! (-> obj vis-nick) arg0)
|
|
0
|
|
)
|
|
|
|
(defmethod want-force-vis load-state ((obj load-state) (arg0 symbol) (arg1 symbol))
|
|
(dotimes (v1-0 LEVEL_COUNT)
|
|
(if (= (-> obj want v1-0 name) arg0)
|
|
(set! (-> obj want v1-0 force-vis?) arg1)
|
|
(return 0)
|
|
)
|
|
)
|
|
(format 0 "ERROR: can't force vis on ~A because it isn't loaded~%" arg0)
|
|
0
|
|
)
|
|
|
|
(defun load-state-want-levels ((arg0 symbol) (arg1 symbol))
|
|
(want-levels *load-state* arg0 arg1)
|
|
)
|
|
|
|
(defun load-state-want-display-level ((arg0 symbol) (arg1 symbol))
|
|
(want-display-level *load-state* arg0 arg1)
|
|
)
|
|
|
|
(defun load-state-want-vis ((arg0 symbol))
|
|
(want-vis *load-state* arg0)
|
|
)
|
|
|
|
(defun load-state-want-force-vis ((arg0 symbol) (arg1 symbol))
|
|
(want-force-vis *load-state* arg0 arg1)
|
|
)
|
|
|
|
|
|
(define *display-load-commands* #f)
|
|
(define *backup-load-state* (new 'global 'load-state))
|
|
|
|
(define-perm *load-state* load-state (new 'global 'load-state))
|
|
|