open-goal-jak-project/goal_src/engine/game/main-h.gc

164 lines
5.0 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: main-h.gc
;; name in dgo: main-h
;; dgos: GAME, ENGINE
;; Global engine settings:
(define *stats-poly* #f)
(define *stats-memory* #f)
(define *stats-memory-short* #f)
(define *stats-collide* #f)
(define *stats-bsp* #f)
(define *stats-buffer* #f)
(define *stats-target* #f)
(define *stats-dma-test* #f)
(define *artist-all-visible* #f)
(define *artist-flip-visible* #f)
(define *artist-fix-visible* #f)
(define *artist-fix-frustum* #f)
(define *artist-error-spheres* #f)
(define *artist-use-menu-subdiv* #f)
(define *display-profile* #t)
(define *display-sidekick-stats* #f)
(define *display-quad-stats* #f)
(define *display-tri-stats* #f)
(define *display-perf-stats* #f)
(define *display-ground-stats* #f)
(define *display-collision-marks* #f)
(define *display-collide-cache* #f)
(define *display-render-collision* #f)
(define *display-hipri-collision-marks* #f)
(define *display-edge-collision-marks* #f)
(define *display-geo-marks* #f)
(define *display-target-marks* #f)
(define *display-collide-history* 0)
(define *display-xyz-axes* #f)
(define *display-cam-collide-history* #f)
(define *record-cam-collide-history* #f)
(define *display-cam-master-marks* #f)
(define *display-cam-other* #f)
(define *display-camera-marks* #f)
(define *camera-no-mip-correction* #f)
(define *display-cam-los-info* #f)
(define *display-cam-los-debug* #f)
(define *display-cam-los-marks* #f)
(define *display-cam-coll-marks* #f)
(define *display-camera-info* #f)
(define *display-camera-old-stats* #f)
(define *display-camera-last-attacker* #f)
(define *display-file-info* #f)
(define *display-actor-marks* #f)
(define *display-ambient-hint-marks* #f)
(define *display-ambient-sound-marks* #f)
(define *display-ambient-poi-marks* #f)
(define *display-ambient-light-marks* #f)
(define *display-ambient-dark-marks* #f)
(define *display-ambient-weather-off-marks* #f)
(define *display-ambient-ocean-off-marks* #f)
(define *display-ambient-ocean-near-off-marks* #f)
(define *display-ambient-music-marks* #f)
(define *display-sprite-info* #f)
(define *display-entity-errors* #t)
(define *display-lights* #f)
(define *display-instance-info* #f)
(define *display-deci-count* #f)
(define *sync-dma* #f)
(define *display-strip-lines* 0)
(define *display-nav-marks* #f)
(define *display-path-marks* #f)
(define *display-vol-marks* #f)
(define *display-water-marks* #f)
(define *display-actor-anim* (the string #f))
(define *display-process-anim* (the-as (pointer process) #f))
(define *display-actor-vis* #f)
(define *display-actor-graph* #f)
(define *display-level-border* #f)
(define *display-load-boundaries* #f)
(define *display-memcard-info* #f)
(define *display-split-boxes* #f)
(define *display-split-box-info* #f)
(define *display-texture-download* #f)
(define *display-art-control* #f)
(define *display-level-spheres* #f)
(define *time-of-day-effects* #t)
(define *time-of-day-fast* #t)
(define *display-iop-info* #f)
(define *ambient-sound-class* #t)
(define *slow-frame-rate* #f)
(define *weather-off* #f)
(define *debug-pause* #f)
(define *subdivide-draw-mode* 0)
(define *ocean-subdivide-draw-mode* 0)
;;;;;;;;;;;;;;;;;;;;;;;
;; Main Loop interface
;;;;;;;;;;;;;;;;;;;;;;;
;; *dproc* is the display process.
;; It is the main loop of the game.
;; don't overwrite the dproc if we're reloading this file
(define-perm *dproc* process #f)
;; is the main display loop running? Set to #f to kill it.
(define *run* #f)
;; did we teleport on the last frame? If so, it allows mood values to change immediately
;; instead of slowly fading between.
(define *teleport* #f)
;; set to a nonzero amount to apply the *teleport* for several frames.
(define *teleport-count* 0)
;; function to call in the main loop for drawing.
(define *draw-hook* nothing)
;; function to call in the main loop to run debug code
(define *debug-hook* nothing)
;; function to call in the main loop to run the debug menu
(declare-type debug-menu-context basic)
(define-extern *menu-hook* (function debug-menu-context))
;; function to call in the main loop to run the progress menu
(define *progress-hook* nothing)
;; function to call if main DMA transfer times out, to attempt to recover.
(define *dma-timeout-hook* nothing)
;; unused.
(deftype frame-stats (structure)
((field-time int64 2 :offset-assert 0)
(field int32 :offset-assert 16)
)
:method-count-assert 9
:size-assert #x14
:flag-assert #x900000014
)
(define *frame-stats* (new 'static 'frame-stats))
;; full screen "filter" (just a giant quad over the whole screen)
(deftype screen-filter (basic)
((draw? basic :offset-assert 4)
(color rgba :offset-assert 8)
)
:method-count-assert 10
:size-assert #xc
:flag-assert #xa0000000c
(:methods
(draw (_type_) none 9)
)
)
(defun-extern movie? symbol)
(defun-extern set-blackout-frames int int)
(defun-extern on symbol process)
(defun-extern off int)
(define-extern set-master-mode (function symbol none))
(define-extern paused? (function symbol))
(define-extern toggle-pause (function int))
(defun-extern menu-respond-to-pause symbol)