aboutsummaryrefslogtreecommitdiff
path: root/dialogues/dialogues.gbasm
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-03-13 19:08:09 +0900
committerAstatin <[email protected]>2025-03-13 19:08:09 +0900
commit62701690d1c7b95b639d63d0cb9cd6ebeb9ac876 (patch)
tree833c88d35818c4d63e7d440355254aeb47af2cfd /dialogues/dialogues.gbasm
parentab45947d3fdc9885c497d9fc3dd124c7986f6ea4 (diff)
Adding multi-step dialogue
Diffstat (limited to 'dialogues/dialogues.gbasm')
-rw-r--r--dialogues/dialogues.gbasm94
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"