mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
656489e942
* temp * temp2 * basic case support * working for or without else * support more cases * clean up to drawable headers * ocean * format json
230 lines
5.1 KiB
Common Lisp
230 lines
5.1 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: text-h.gc
|
|
;; name in dgo: text-h
|
|
;; dgos: GAME, ENGINE
|
|
|
|
;; This file contains types related to game text.
|
|
;; Each game string is assigned an ID number.
|
|
;; This ID is used to lookup the string for the currently selected language.
|
|
|
|
(defenum game-text-id
|
|
:type uint32
|
|
:bitfield #f
|
|
(zero 0)
|
|
(pause #x109)
|
|
(sfx-volume #x10a)
|
|
(music-volume #x10b)
|
|
(speech-volume #x10c)
|
|
(language #x10d)
|
|
(vibrations #x10e)
|
|
(play-hints #x10f)
|
|
(center-screen #x110)
|
|
(english #x114)
|
|
(french #x115)
|
|
(german #x116)
|
|
(spanish #x117)
|
|
(italian #x118)
|
|
(japanese #x119)
|
|
(aspect-ratio #x125)
|
|
(video-mode #x126)
|
|
(game-options #x127)
|
|
(graphic-options #x128)
|
|
(sound-options #x129)
|
|
|
|
(hidden-power-cell #x12f) ;; why is this here??
|
|
|
|
(continue-without-saving #x13f)
|
|
(back #x13e)
|
|
(load-game #x14b)
|
|
(save-game #x14c)
|
|
(options #x150)
|
|
(new-game #x15c)
|
|
(ok #x15e)
|
|
(exit-demo #x15f)
|
|
(quit-game #x16f)
|
|
|
|
(village1-mayor-money #x200)
|
|
(vollage1-uncle-money #x201)
|
|
(village1-yakow-herd #x202)
|
|
(village1-yakow-return #x203)
|
|
(village1-oracle #x204)
|
|
(beach-ecorocks #x205)
|
|
(beach-flutflut-push #x206)
|
|
(beach-flutflut-meet #x207)
|
|
(beach-pelican #x208)
|
|
(beach-seagull #x209)
|
|
(beach-cannon #x20a)
|
|
(beach-buzzer #x20b)
|
|
(jungle-lurkerm-connect #x20c)
|
|
(jungle-tower #x20d)
|
|
(jungle-eggtop #x20e)
|
|
(jungle-plant #x20f)
|
|
(jungle-fishgame #x210)
|
|
(misty-muse-catch #x211)
|
|
(misty-muse-return #x212)
|
|
(misty-boat #x213)
|
|
(misty-cannon #x214)
|
|
(misty-return-to-pool #x215) ;; task name??
|
|
(misty-find-transpad #x216) ;; task name?
|
|
(misty-balloon-lurkers #x217)
|
|
|
|
(village1-level-name #x220)
|
|
(beach-level-name #x221)
|
|
(jungle-level-name #x222)
|
|
(misty-level-name #x223)
|
|
|
|
(beach-seagull-get #x22e)
|
|
|
|
(jungle-lurkerm-unblock #x22f)
|
|
(jungle-lurkerm-return #x230)
|
|
|
|
(MISSING-orb-hint #x233)
|
|
|
|
(beach-gimmie #x262)
|
|
(beach-sentinel #x263)
|
|
(jungle-canyon-end #x264)
|
|
(jungle-temple-door #x265)
|
|
(misty-bike-jump #x266)
|
|
(misty-eco-challenge #x267)
|
|
|
|
(village2-gambler-money #x300)
|
|
(village2-geologist-money #x301)
|
|
(village2-warrior-money #x302)
|
|
(village2-oracle-money #x303)
|
|
(swamp-tether #x304)
|
|
|
|
(swamp-flutflut #x307)
|
|
|
|
(swamp-billy #x309)
|
|
|
|
(sunken-elevator-raise #x30a)
|
|
(sunken-elevator-get-to-roof #x30b)
|
|
(sunken-pipe #x30c)
|
|
(sunken-climb-tube #x30d) ;; task name?
|
|
(sunken-pool #x30e) ;; task name?
|
|
(sunken-platforms #x30f)
|
|
|
|
(rolling-moles #x310)
|
|
(rolling-moles-return #x311)
|
|
(rolling-robbers #x312)
|
|
(rolling-race #x313)
|
|
(rolling-race-return #x314)
|
|
(rolling-lake #x315)
|
|
(rolling-plants #x316)
|
|
|
|
(unknown-buzzers #x317)
|
|
|
|
(village2-level-name #x319)
|
|
|
|
(rolling-level-name #x31b)
|
|
(swamp-level-name #x31c)
|
|
(sunken-level-name #x31d)
|
|
(ogre-level-name #x31e)
|
|
|
|
(swamp-battle #x321)
|
|
(sunken-bottom #x322) ;; task name?
|
|
(reach-center #x323) ;; task name?
|
|
(rolling-ring-chase-1 #x324)
|
|
(rolling-ring-chase-2 #x325)
|
|
|
|
(village3-miner-money #x400)
|
|
(village3-oracle-money #x401)
|
|
(snow-ram-3-left #x402)
|
|
(snow-ram-2-left #x403)
|
|
(snow-ram-1-left #x404)
|
|
(snow-fort #x405)
|
|
(snow-bunnies #x406)
|
|
(snow-open-door #x408) ;; task name?
|
|
|
|
(cave-robot-climb #x40e)
|
|
(cave-dark-climb #x40f) ;; destroy crystals
|
|
|
|
(cave-gnawers #x410)
|
|
(cave-dark-crystals #x411)
|
|
|
|
(village3-buzzer #x413)
|
|
|
|
(village3-level-name #x415)
|
|
|
|
(snowy-level-name #x417)
|
|
|
|
(cave-level-name #x419)
|
|
|
|
(lavatube-level-name #x41b)
|
|
|
|
(snow-eggtop #x421)
|
|
|
|
(cave-spider-tunnel #x423)
|
|
(cave-platforms #x424)
|
|
|
|
(cave-swing-poles #x426)
|
|
|
|
(snow-frozen-crate #x42b) ;; task name?
|
|
(snow-bumpers #x42c)
|
|
|
|
(fire-canyon-end #x500)
|
|
(fire-canyon-buzzer #x501)
|
|
|
|
(fire-canyon-level-name #x50c)
|
|
|
|
(ogre-end #x600)
|
|
(ogre-buzzer #x601)
|
|
(ogre-boss #x603)
|
|
|
|
(lavatube-end #x700)
|
|
(lavatube-buzzer #x701)
|
|
|
|
(citadel-buzzer #x800)
|
|
(citadel-level-name #x801)
|
|
(citadel-sage-blue #x802)
|
|
(citadel-sage-red #x803)
|
|
(citadel-sage-yellow #x804)
|
|
(citadel-sage-green #x805)
|
|
|
|
(training-gimmie-task-name #x91b)
|
|
(training-buzzer-task-name #x91c)
|
|
(training-door-task-name #x91d)
|
|
(training-climb-task-name #x91e)
|
|
(training-level-name #x91f)
|
|
|
|
(inc #xf10)
|
|
(europe #xf11)
|
|
)
|
|
|
|
|
|
;; an individual string.
|
|
(deftype game-text (structure)
|
|
((id uint32 :offset-assert 0)
|
|
(text string :offset-assert 4)
|
|
)
|
|
:pack-me
|
|
:method-count-assert 9
|
|
:size-assert #x8
|
|
:flag-assert #x900000008
|
|
)
|
|
|
|
;; A table of all strings.
|
|
(deftype game-text-info (basic)
|
|
((length int32 :offset-assert 4)
|
|
(language-id int32 :offset-assert 8)
|
|
(group-name string :offset-assert 12)
|
|
(data game-text :inline :dynamic :offset-assert 16)
|
|
)
|
|
:method-count-assert 10
|
|
:size-assert #x10
|
|
:flag-assert #xa00000010
|
|
(:methods
|
|
(lookup-text! (_type_ game-text-id symbol) string 9)
|
|
)
|
|
)
|
|
|
|
(define *text-group-names* (new 'static 'boxed-array :type string :length 1 "common"))
|
|
|
|
;; The heap for storing text
|
|
(define *common-text-heap* (new 'global 'kheap))
|
|
|
|
;; will store the COMMON text when it is loaded.
|
|
(define *common-text* (the-as game-text-info #f))
|