mirror of
https://github.com/open-goal/jak-project
synced 2026-05-25 07:23:19 -04:00
79 lines
2.0 KiB
Common Lisp
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*)
|
|
)
|
|
)
|
|
) |