Files
jak-project/goal_src/engine/ui/progress/progress.gc
T
2021-08-04 21:30:08 -04:00

79 lines
2.0 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: progress.gc
;; name in dgo: progress
;; dgos: GAME, ENGINE
(defmethod relocate game-count-info ((this game-count-info) (offset int))
"Load in the game-count-info. This is a bit of a hack."
(set! *game-counts* this)
)
(defmethod hidden? progress ((obj progress))
(or (not *progress-process*)
(= (-> *progress-process* 0 in-out-position) 4096)
)
)
(defun deactivate-progress ()
;; todo stub
)
(defun progress-allowed? ()
(with-pp
(not
(or
(-> *setting-control* current talking)
(-> *setting-control* current movie)
(movie?)
(handle->process (-> *game-info* pov-camera-handle))
(handle->process (-> *game-info* other-camera-handle))
(<
(the-as int (-> *display* base-frame-counter))
(the-as int (-> *game-info* letterbox-time))
)
(<
(the-as int (-> *display* base-frame-counter))
(the-as int (-> *game-info* blackout-time))
)
(!= (-> *setting-control* current bg-a) 0.0)
(!= (-> *setting-control* current bg-a-force) 0.0)
(not (-> *setting-control* current allow-progress))
(or
(and
(handle->process (-> *game-info* auto-save-proc))
(let ((a1-3 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-3 from) pp)
(set! (-> a1-3 num-params) 0)
(set! (-> a1-3 message) 'progress-allowed?)
(not
(send-event-function
(handle->process (-> *game-info* auto-save-proc))
a1-3
)
)
)
)
(not *target*)
)
)
)
)
)
(defun pause-allowed? ()
(not
(or
(<
(the-as int (-> *display* base-frame-counter))
(the-as int (-> *game-info* blackout-time))
)
(!= (-> *setting-control* current bg-a) 0.0)
(!= (-> *setting-control* current bg-a-force) 0.0)
(not (-> *setting-control* current allow-pause))
(handle->process (-> *game-info* auto-save-proc))
(not *target*)
)
)
)