From 62701690d1c7b95b639d63d0cb9cd6ebeb9ac876 Mon Sep 17 00:00:00 2001 From: Astatin Date: Thu, 13 Mar 2025 19:08:09 +0900 Subject: Adding multi-step dialogue --- dialogues/dialogues.gbasm | 94 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 dialogues/dialogues.gbasm (limited to 'dialogues/dialogues.gbasm') diff --git a/dialogues/dialogues.gbasm b/dialogues/dialogues.gbasm new file mode 100644 index 0000000..1fdcc80 --- /dev/null +++ b/dialogues/dialogues.gbasm @@ -0,0 +1,94 @@ +Dialogue_script_step: + LD A, ($mem_dialogue_script_program_counter) + LD H, A + LD A, ($mem_dialogue_script_program_counter+1) + LD L, A + + LD A, (HL+) + + LD BC, =Dialogue_script_instruction_Jump_Table + + .JUMP_TABLE + + LD A, H + LD ($mem_dialogue_script_program_counter), A + LD A, L + LD ($mem_dialogue_script_program_counter+1), A + + RET + +Dialogue_script_instruction_Jump_Table: + ; 00 + JP =Exit_Menu + NOP + + ; 01 + JP =.Text + NOP + + ;02 + JP =.TextB + NOP + + .Text: + PUSH HL + LD HL, $dialogue_first_line + LD BC, $12 + CALL =bzero + POP HL + + LD A, (HL+) + LD B, A + LD A, (HL+) + LD C, A + PUSH HL + LD HL, $dialogue_first_line + CALL =Print_str + POP HL + + PUSH HL + LD HL, $dialogue_third_line + LD BC, $12 + CALL =bzero + POP HL + + LD A, (HL+) + LD B, A + LD A, (HL+) + LD C, A + PUSH HL + LD HL, $dialogue_third_line + CALL =Print_str + POP HL + + LD A, $05 + LD $mem_display_flag, A + + RET + + .TextB: + LD A, (HL+) + LD B, A + LD A, (HL+) + LD C, A + PUSH HL + LD HL, $dialogue_first_line + CALL =Print_str + POP HL + + LD A, (HL+) + LD B, A + LD A, (HL+) + LD C, A + PUSH HL + LD HL, $dialogue_third_line + CALL =Print_str + POP HL + + LD A, $07 + LD $mem_display_flag, A + + RET + +.INCLUDE "dialogues/text.gbasm" +.INCLUDE "dialogues/demo_quest.gbasm" -- cgit v1.2.3-70-g09d2