;;-*-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* #f) (define *display-process-anim* #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) ;; *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) (define *run* #f) (define *teleport* #f) (define *teleport-count* 0) (define *draw-hook* nothing) (define *debug-hook* nothing) (declare-type debug-menu-context basic) (define-extern *menu-hook* (function debug-menu-context)) (define *progress-hook* nothing) (define *dma-timeout-hook* nothing) (deftype frame-stats (structure) ((field-time uint64 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)) (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)