diff options
author | Astatin <[email protected]> | 2025-03-13 19:08:09 +0900 |
---|---|---|
committer | Astatin <[email protected]> | 2025-03-13 19:08:09 +0900 |
commit | 62701690d1c7b95b639d63d0cb9cd6ebeb9ac876 (patch) | |
tree | 833c88d35818c4d63e7d440355254aeb47af2cfd /dialogues/dialogues.gbasm | |
parent | ab45947d3fdc9885c497d9fc3dd124c7986f6ea4 (diff) |
Adding multi-step dialogue
Diffstat (limited to 'dialogues/dialogues.gbasm')
-rw-r--r-- | dialogues/dialogues.gbasm | 94 |
1 files changed, 94 insertions, 0 deletions
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" |