From f4ae730fab4470d0e677a638c454aa1bc030c9ba Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 18 Oct 2021 14:18:13 -0400 Subject: [PATCH] peasant: optimize text box drawing --- games/peasant/Makefile | 2 +- games/peasant/NOTES | 1 + games/peasant/parse_input.s | 57 ++++++++++++++++++------------------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/games/peasant/Makefile b/games/peasant/Makefile index 61bd76c4..f27cdbd9 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -248,7 +248,7 @@ game_over.o: game_over.s zp.inc \ PEASANT1: peasant1.o ld65 -o PEASANT1 peasant1.o -C $(LINKER_SCRIPTS)/apple2_6000.inc -peasant1.o: peasant1.s zp.inc inventory.inc \ +peasant1.o: peasant1.s zp.inc inventory.inc dialog_peasant2.inc \ sprites/peasant_sprites.inc sprites/inventory_sprites.inc \ graphics_peasantry/graphics_peasant1.inc \ graphics_peasantry/priority_peasant1.inc \ diff --git a/games/peasant/NOTES b/games/peasant/NOTES index d5e9aaa2..916a2907 100644 --- a/games/peasant/NOTES +++ b/games/peasant/NOTES @@ -27,6 +27,7 @@ peasant2 18302 20050 -- parse lookup table 20493 -- more parse code (release 0.76) 16995 -- move inventory to language card + 17122 -- add all verbs in (+), optimize text box drawing (-) partial save, can we fit in 4k? 102 lines ; inventory was 115? diff --git a/games/peasant/parse_input.s b/games/peasant/parse_input.s index 546d22b7..7e86549d 100644 --- a/games/peasant/parse_input.s +++ b/games/peasant/parse_input.s @@ -610,41 +610,48 @@ verb_lookup: print_text_message: jsr count_message_lines - ldy message_len - dey - - lda message_x1h,Y + lda #0 ; always 0 sta BOX_X1H - - lda message_x1l,Y - sta BOX_X1L - - lda message_y1,Y - sta BOX_Y1 - - lda message_x2h,Y sta BOX_X2H - lda message_x2l,Y + lda #35 ; always 35 + sta BOX_X1L + + lda #24 ; always 24 + sta BOX_Y1 + + lda #253 ; always 253 sta BOX_X2L - lda message_y2,Y +; 1 2 3 4 5 6 7 8 +;message_y2: .byte 54, 62, 70, 78, 86, 94, 102, 110 + + ; y2 is 46+(8*(len)) + + lda message_len + asl + asl + asl + clc + adc #46 + +; lda message_y2,Y sta BOX_Y2 - tya - pha +; tya +; pha jsr hgr_partial_save jsr draw_box - pla - tay +; pla +; tay - lda message_tx,Y + lda #7 ; always 7 sta CURSOR_X - lda message_ty,Y + lda #36 ; always 36 sta CURSOR_Y jsr disp_put_string_cursor @@ -662,15 +669,7 @@ print_text_message: ; .byte 7,49 -; 1 2 3 4 5 6 7 8 -message_x1h: .byte 0, 0, 0, 0, 0, 0, 0, 0 -message_x1l: .byte 35, 35, 35, 35, 35, 35, 35, 35 -message_y1: .byte 24, 24, 24, 24, 24, 24, 24, 24 -message_x2h: .byte 0, 0, 0, 0, 0, 0, 0, 0 -message_x2l: .byte 253, 253, 253, 253, 253, 253, 253, 253 -message_y2: .byte 54, 62, 70, 78, 86, 94, 102, 110 -message_tx: .byte 7, 7, 7, 7, 7, 7, 7, 7 -message_ty: .byte 36, 36, 36, 36, 36, 36, 36, 36 + ;======================