mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
2b28d9b5f6
* decomp: finish `battlecontroller` * address feedback
338 lines
7.4 KiB
Common Lisp
338 lines
7.4 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)
|
|
(confirm #x103)
|
|
(press-to-use #x105)
|
|
(confirm-play #x106)
|
|
(quit #x108)
|
|
(pause #x109)
|
|
(sfx-volume #x10a)
|
|
(music-volume #x10b)
|
|
(speech-volume #x10c)
|
|
(language #x10d)
|
|
(vibrations #x10e)
|
|
(play-hints #x10f)
|
|
(center-screen #x110)
|
|
(on #x111)
|
|
(off #x112)
|
|
(move-dpad #x113)
|
|
(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)
|
|
(4x3 #x12a)
|
|
(16x9 #x12b)
|
|
(60hz #x12c)
|
|
(50hz #x12d)
|
|
(game-title #x12e)
|
|
(hidden-power-cell #x12f) ;; why is this here??
|
|
(memcard-no-space #x130)
|
|
(memcard-not-inserted #x131)
|
|
(card-not-formatted-title #x132)
|
|
(memcard-space-requirement1 #x133)
|
|
(memcard-space-requirement2 #x134)
|
|
(card-not-formatted-msg #x135)
|
|
(saving-data #x136)
|
|
(loading-data #x137)
|
|
(do-not-remove-mem-card #x138)
|
|
(overwrite? #x139)
|
|
(format? #x13a)
|
|
|
|
(yes #x13c)
|
|
(no #x13d)
|
|
(back #x13e)
|
|
(continue-without-saving #x13f)
|
|
(select-file-to-save #x140)
|
|
(select-file-to-load #x141)
|
|
(save-data-already-exists #x142)
|
|
(insert-memcard #x143)
|
|
(continue? #x144)
|
|
(load-game #x14b)
|
|
(save-game #x14c)
|
|
(formatting #x14d)
|
|
(creating-save-data #x14e)
|
|
(empty #x14f)
|
|
(options #x150)
|
|
(error-loading #x151)
|
|
(error-saving #x152)
|
|
(error-formatting #x153)
|
|
(error-creating-data #x154)
|
|
(memcard-removed #x156)
|
|
(autosave-disabled-title #x157)
|
|
(autosave-disabled-msg #x158)
|
|
(no-save-data #x159)
|
|
(create-save-data? #x15a)
|
|
(check-memcard #x15b)
|
|
(new-game #x15c)
|
|
(back? #x15d)
|
|
(ok #x15e)
|
|
(exit-demo #x15f)
|
|
(autosave-warn-title #x160)
|
|
(autosave-warn-msg #x161)
|
|
(task-completed #x162)
|
|
(check-memcard-and-retry #x163)
|
|
(screen-change-to-60hz #x164)
|
|
(screen-60hz-warn-support #x165)
|
|
(screen-60hz-warn-timer #x166)
|
|
(screen-now-60hz #x167)
|
|
(screen-60hz-keep? #x168)
|
|
(warp-gate-use-dpad #x169)
|
|
(no-disc-title #x16a)
|
|
(no-disc-msg #x16b)
|
|
(bad-disc-title #x16c)
|
|
(bad-disc-msg #x16d)
|
|
(press-start #x16e)
|
|
(quit-game #x16f)
|
|
(quit? #x170)
|
|
(total-collected #x171)
|
|
|
|
(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)
|
|
|
|
(firecanyon-not-enough-cells #x24f)
|
|
|
|
(beach-gimmie #x262)
|
|
(beach-sentinel #x263)
|
|
(jungle-canyon-end #x264)
|
|
(jungle-temple-door #x265)
|
|
(misty-bike-jump #x266)
|
|
(misty-eco-challenge #x267)
|
|
|
|
(misty-daxter-scared #x26f)
|
|
|
|
(beach-seagulls-avalanche #x273)
|
|
|
|
(misty-teetertotter-bonk-dax-tutorial #x2a4)
|
|
|
|
(daxter-blue-eco-plat-tutorial #x2a7)
|
|
|
|
(firecanyon-collect-cells-text #x2b3)
|
|
|
|
(yakow-owed-powercell #x297)
|
|
|
|
(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)
|
|
|
|
(sunken-blue-eco-charger-hint #x345)
|
|
|
|
(sunken-qbert-hint #x34a)
|
|
|
|
(sunken-blue-eco-charger-all-hint #x34d)
|
|
|
|
(swamp-rats-nest-hint #x358)
|
|
|
|
(swamp-bats-hint #x364) ;; maybe we can ???? the bats. lol
|
|
(flutflut-reminder #x368)
|
|
|
|
(village2-not-enough-cells-levitator #x36c)
|
|
(villlage2-levitator-cell-req-text #x372)
|
|
|
|
(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)
|
|
|
|
(assistant-lavatube-powercell-hint #x428)
|
|
|
|
(snow-frozen-crate #x42b) ;; task name?
|
|
(snow-bumpers #x42c)
|
|
|
|
(cave-trap-nest-hint #x440)
|
|
|
|
(ice-cube-hint #x448)
|
|
|
|
(lavatube-powercell-req-text #x455)
|
|
|
|
(fire-canyon-end #x500)
|
|
(fire-canyon-buzzer #x501)
|
|
|
|
(fire-canyon-level-name #x50c)
|
|
|
|
(ogre-end #x600)
|
|
(ogre-buzzer #x601)
|
|
(ogre-boss #x603)
|
|
|
|
(assistant-voicebox-intro-ogre-race #x605)
|
|
|
|
(sidekick-speech-hint-ogre-race #x61c)
|
|
|
|
(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)
|
|
|
|
(misty-battle-finished #x813)
|
|
|
|
(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))
|
|
|
|
|
|
(defun-extern print-game-text string font-context symbol int int float)
|
|
|
|
|
|
|