riven: start adding cho text

This commit is contained in:
Vince Weaver
2024-07-11 17:38:56 -04:00
parent e7b23b93a6
commit 3d5a5ad8af
2 changed files with 184 additions and 0 deletions

View File

@@ -52,8 +52,39 @@ cho_start:
cho_loop:
; draw scene with overlay
jsr draw_scene
; draw text (only frames 30..102)
lda WHICH_OVERLAY
cmp #30
bcc no_text
cmp #101
bcs no_text
do_text:
bit TEXTGR ; set split mode
jsr clear_bottom ; clear bottom to empty spaces
ldx WHICH_OVERLAY
lda text_l,X
sta OUTL
lda text_h,X
sta OUTH
jsr move_and_print_list
jmp done_text
no_text:
bit FULLGR
done_text:
; flip pages
jsr flip_pages
inc WHICH_OVERLAY
@@ -61,6 +92,7 @@ cho_loop:
cmp #NUM_OVERLAYS
beq done_cho
; in theory we are 500ms (10*50) long here...
ldx #7
@@ -176,6 +208,156 @@ frames_h:
.byte >cho_overlay105,>cho_overlay106,>cho_overlay107 ; 105,106,107
.byte >cho_overlay108,>cho_overlay109,>cho_overlay110 ; 108,109,110
text_l:
.byte <empty_text,<empty_text,<empty_text ; 0,1,2
.byte <empty_text,<empty_text,<empty_text ; 3,4,5
.byte <empty_text,<empty_text,<empty_text ; 6,7,8
.byte <empty_text,<empty_text,<empty_text ; 9,10,11
.byte <empty_text,<empty_text,<empty_text ; 12,13,14
.byte <empty_text,<empty_text,<empty_text ; 15,16,17
.byte <empty_text,<empty_text,<empty_text ; 18,19,20
.byte <empty_text,<empty_text,<empty_text ; 21,22,23
.byte <empty_text,<empty_text,<empty_text ; 24,25,26
.byte <empty_text,<empty_text,<empty_text ; 27,28,29
.byte <cho_text,<cho_text,<cho_text ; 30,31,32
.byte <cho_text,<cho_text,<cho_text ; 33,34,35
.byte <faleaay_text,<faleaay_text,<faleaay_text ; 36,37,38
.byte <empty_text,<kaka_text,<kaka_text ; 39,40,41
.byte <empty_text,<olua_text,<olua_text ; 42,43,44
.byte <olua_text,<olua_text,<olua_text ; 45,46,47
.byte <olua_text,<empty_text,<empty_text ; 48,49,50
.byte <empty_text,<tahg_text,<tahg_text ; 51,52,53
.byte <tahg_text,<tahg_text,<tahg_text ; 54,55,56
.byte <tahg_text,<re_text,<re_text ; 57,58,59
.byte <re_text,<tah_text,<tah_text ; 60,61,62
.byte <tah_text,<tah_text,<empty_text ; 63,64,65
.byte <empty_text,<empty_text,<empty_text ; 66,67,68
.byte <empty_text,<empty_text,<empty_text ; 69,70,71
.byte <empty_text,<empty_text,<empty_text ; 72,73,74
.byte <empty_text,<empty_text,<empty_text ; 75,76,77
.byte <empty_text,<empty_text,<empty_text ; 78,79,80
.byte <empty_text,<empty_text,<empty_text ; 81,82,83
.byte <empty_text,<empty_text,<empty_text ; 84,85,86
.byte <empty_text,<empty_text,<empty_text ; 87,88,89
.byte <empty_text,<empty_text,<empty_text ; 90,91,92
.byte <empty_text,<empty_text,<empty_text ; 93,94,95
.byte <empty_text,<empty_text,<empty_text ; 96,97,98
.byte <empty_text,<empty_text,<empty_text ; 99,100,101
.byte <empty_text,<empty_text,<empty_text ; 102,103,104
text_h:
.byte >empty_text,>empty_text,>empty_text ; 0,1,2
.byte >empty_text,>empty_text,>empty_text ; 3,4,5
.byte >empty_text,>empty_text,>empty_text ; 6,7,8
.byte >empty_text,>empty_text,>empty_text ; 9,10,11
.byte >empty_text,>empty_text,>empty_text ; 12,13,14
.byte >empty_text,>empty_text,>empty_text ; 15,16,17
.byte >empty_text,>empty_text,>empty_text ; 18,19,20
.byte >empty_text,>empty_text,>empty_text ; 21,22,23
.byte >empty_text,>empty_text,>empty_text ; 24,25,26
.byte >empty_text,>empty_text,>empty_text ; 27,28,29
.byte >cho_text,>cho_text,>cho_text ; 30,31,32
.byte >cho_text,>cho_text,>cho_text ; 33,34,35
.byte >faleaay_text,>faleaay_text,>faleaay_text ; 36,37,38
.byte >empty_text,>kaka_text,>kaka_text ; 39,40,41
.byte >empty_text,>olua_text,>olua_text ; 42,43,44
.byte >olua_text,>olua_text,>olua_text ; 45,46,47
.byte >olua_text,>empty_text,>empty_text ; 48,49,50
.byte >empty_text,>tahg_text,>tahg_text ; 51,52,53
.byte >tahg_text,>tahg_text,>tahg_text ; 54,55,56
.byte >tahg_text,>re_text,>re_text ; 57,58,59
.byte >re_text,>tah_text,>tah_text ; 60,61,62
.byte >tah_text,>tah_text,>empty_text ; 63,64,65
.byte >empty_text,>empty_text,>empty_text ; 66,67,68
.byte >empty_text,>empty_text,>empty_text ; 69,70,71
.byte >empty_text,>empty_text,>empty_text ; 72,73,74
.byte >empty_text,>empty_text,>empty_text ; 75,76,77
.byte >empty_text,>empty_text,>empty_text ; 78,79,80
.byte >empty_text,>empty_text,>empty_text ; 81,82,83
.byte >empty_text,>empty_text,>empty_text ; 84,85,86
.byte >empty_text,>empty_text,>empty_text ; 87,88,89
.byte >empty_text,>empty_text,>empty_text ; 90,91,92
.byte >empty_text,>empty_text,>empty_text ; 93,94,95
.byte >empty_text,>empty_text,>empty_text ; 96,97,98
.byte >empty_text,>empty_text,>empty_text ; 99,100,101
.byte >empty_text,>empty_text,>empty_text ; 102,103,104
; video 192s roughly frame 6
; 204s "Cho?" +12 frames 30..35
; 207s Faleeay +15 36
; 209s Kaka wadevol. +17 40
; 210s Olua wipol wipol. +18 42
; 213s thinks +21 48
; 215s Tahg-em-ah +23 52
; 218s re-ko-ah +26 58
; 219s tah. tah. tah +27 60
; 220s tahg-em-ah b'soo re-ko-ah+28 64
; 224 off +32 70
; 225 Me selap... +33 72
; 230 Me selap... +38 82
; 236 Me selap... +44 94
; 239 Boku! +47 100
; 240 Boku! (grabs book) +48 102
; 102 back to normal!
; 30-102 FULLGR
; based on http://www.florestica.com/hpotd/dni_dictionary/cho.html
; and https://mystjourney.com/riven/faqs/
; Originally thought I'd write this directly to the graphics images,
; but space being $A0 interferes with using $A as transparency
; and the overlay code is by byte rather than by line so hard
; to turn it off for just the bottom 4 lines
; Questions: make D'NI lowercase so auto-case kicks in?
empty_text:
.byte 0,20," ",0,$FF
cho_text:
.byte 29,21,"CHO?",0,$FF
faleaay_text:
.byte 27,20," __",0
.byte 27,21,"FALEAAY.",0,$FF
kaka_text:
.byte 25,21,"KAKA WADEVOL.",0,$FF
olua_text:
.byte 23,20," _",0
.byte 23,21,"OLUA WIPOL WIPOL.",0,$FF
tahg_text:
.byte 25,21,"TAHG-EM-AH",0,$FF
re_text:
.byte 25,21,"RE-KO-AH",0,$FF
tah_text:
.byte 21,21,"TAH... TAH... TAH...",0,$FF
tahg2_text:
.byte 20,21,"TAHG-EM-AH B'SOO RE-KO-AH",0,$FF
me_text:
.byte 0,20," _ _ _ _ _ _ _",0
.byte 0,21," ME SELAP. ME SELAP. MU TEKA BOKU ANA.",0,$FF
me2_text:
.byte 0,20," _ _ _ _ _ _ _",0
.byte 0,21," ME SELAP. MU TEKA BOKU ANA. BOKU ANA.",0,$FF
me3_text:
.byte 0,20," _ _ _ _ _",0
.byte 0,21," ME SELAP. IM BOKU ANA. BOKU ANA.",0,$FF
boku_text:
.byte 10,20," _ _ _ _",0
.byte 10,21," BOKU ANA! BOKU ANA!",0,$FF
cho_graphics:
.include "graphics_cho/cho_graphics.inc"

View File

@@ -137,6 +137,8 @@ clear_bottom_loop_outer:
sta OUTL
iny
lda gr_offsets,Y
clc
adc DRAW_PAGE
sta OUTH
clear_value_smc: