jak-project/goal_src/jak1/pc/features/speedruns-h.gc
2023-02-26 13:42:24 -05:00

56 lines
2 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
(defenum speedrun-category
:type uint32
;; Main Categories
(full-game 0) ;; Full game run (any category for now, can repurpose as Any% if we split them out later)
;; (full-game-100 1) ;; 100%
;; (full-game-noLTS 2) ;; No Lava Tube skip
;; (full-game-noFCS 3) ;; No Fire Canyon skip
;; (full-game-orbless 4) ;; Orbless
;; (full-game-all-flies 5) ;; All Flies
;; (full-game-all-orbs 6) ;; All Orbs
;; Individual Levels
(il-training 100) ;; Geyser Rock IL
(il-village1 101) ;; Sandover Village IL
(il-beach 102) ;; Sentinel Beach IL
(il-jungle 103) ;; Forbidden Jungle IL
(il-misty 104) ;; Misty Island IL
(il-firecanyon 105) ;; Fire Canyon IL
(il-village2 106) ;; Rock Village IL
(il-sunken 107) ;; Lost Precursor City IL
(il-swamp 108) ;; Boggy Swamp IL
(il-rolling 109) ;; Precursor Basin IL
(il-ogre 110) ;; Mountain Pass IL
(il-village3 111) ;; Volcanic Crater IL
(il-snow 112) ;; Snowy Mountain IL
(il-cave 113) ;; Spider Cave IL
(il-lavatube 114) ;; Lava Tube IL
(il-citadel 115) ;; Gol and Maia's Citadel IL
;; Category Extensions
(new-game-plus 116) ;; NG+
(hub1-100 117) ;; Hub 1 100% (same as full game)
(hub2-100 118) ;; Hub 2 100% (all of Hub 1 completed)
(hub3-100 119) ;; Hub 3 100% (all of Hub 1+2 completed)
(all-cutscenes 120) ;; All Cutscenes
)
(deftype speedrun-info-jak1 (structure)
(
(category speedrun-category)
(needs-post-blackout-setup? symbol)
(should-display? symbol)
)
)
(define-extern start-speedrun (function speedrun-category none))
(define-extern is-speedrun-category? (function symbol symbol))
(define-extern hide-speedrun-display (function none))
(define-extern speedrun-start-full-game-run (function none))
(define-extern setup-speedrun-post-blackout (function none))
(define-extern speedrun-mode-update (function none))
(define-extern speedrun-draw-settings (function none))