diff options
author | Astatin <[email protected]> | 2025-06-10 18:27:13 +0200 |
---|---|---|
committer | Astatin <[email protected]> | 2025-06-10 18:27:13 +0200 |
commit | a9142d0163f41c89196ea201ce8245899c701b82 (patch) | |
tree | fee05913dc30343798c4ccc9062ece30bdacbbec /dialogues/dialogues.gbasm | |
parent | 9690f6f39bdabcaa62211fd10027c3dba3169e94 (diff) |
Add support for multi bank data
Diffstat (limited to 'dialogues/dialogues.gbasm')
-rw-r--r-- | dialogues/dialogues.gbasm | 254 |
1 files changed, 1 insertions, 253 deletions
diff --git a/dialogues/dialogues.gbasm b/dialogues/dialogues.gbasm index 02b6f79..1f974cf 100644 --- a/dialogues/dialogues.gbasm +++ b/dialogues/dialogues.gbasm @@ -1,255 +1,3 @@ -Dialogue_script_step: - LD A, ($mem_dialogue_script_program_counter) - LD H, A - LD A, ($mem_dialogue_script_program_counter+1) - LD L, A - - .next: - 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 - - ; 03 - JP =.Learn_Attack - NOP - - ; 04 - JP =.TextB_Indirect - NOP - - ; 05 - JP =.Learn_Attack_Return - 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, $mem_display_flag - AND $40 ; Keeping the object ones - OR $05 - LD $mem_display_flag, A - - RET - - .TextB: - 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, $mem_display_flag - AND $40 ; Keeping the object ones - OR $07 - LD $mem_display_flag, A - - RET - - .TextB_Indirect: - 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 DE - LD A, (BC) - LD D, A - INC BC - LD A, (BC) - LD E, A - LD B, D - LD C, E - POP DE - 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, $mem_display_flag - AND $40 ; Keeping the object ones - OR $07 - LD $mem_display_flag, A - - RET - - .Learn_Attack: - LD A, (HL+) - LD E, A - - LD B, $00 - LD C, A - SLA C - RR B - SLA C - RR B - SLA C - RR B - LD A, C - ADD low(=Attack_List) - LD C, A - LD A, B - ADC high(=Attack_List) - LD B, A - - LD A, (BC) - LD ($mem_learn_attack_attack_name_ptr), A - INC BC - LD A, (BC) - LD ($mem_learn_attack_attack_name_ptr+1), A - - LD A, H - LD ($mem_learn_attack_dialogue_ret_ptr), A - LD A, L - LD ($mem_learn_attack_dialogue_ret_ptr+1), A - - CALL =Check_attack_already_learnt - CP $01 - JR Z, =.Learn_Attack.Duplicate - - LD A, $mem_number_of_attacks - CP $04 - JR NC, =.Learn_Attack.Not_enough_slot - - .Learn_Attack.Success: - LD A, $mem_number_of_attacks - LD HL, $mem_bunny_attacks - ADD L - LD L, A - LD (HL), E - LD A, $mem_number_of_attacks - INC A - LD $mem_number_of_attacks, A - - LD HL, =.Learn_Attack.Dialogue - JP =Dialogue_script_step.next - .Learn_Attack.Dialogue: - .TEXT =New_attack_1t =New_attack_1b - .TEXTB_INDIRECT $mem_learn_attack_attack_name_ptr =Double_Exclamation - .LEARN_ATTACK_RET - - - .Learn_Attack.Not_enough_slot: - - LD HL, =.Learn_Attack.Not_enough_slot.Dialogue - JP =Dialogue_script_step.next - .Learn_Attack.Not_enough_slot.Dialogue: - .TEXT =No_attslot_1t =No_attslot_1b - .TEXTB_INDIRECT $mem_learn_attack_attack_name_ptr =Double_Exclamation - .TEXT =No_attslot_3t =No_attslot_3b - .TEXT =No_attslot_4t =Empty - .LEARN_ATTACK_RET - - .Learn_Attack.Duplicate: - LD HL, =.Learn_Attack.Duplicate.Dialogue - JP =Dialogue_script_step.next - .Learn_Attack.Duplicate.Dialogue: - .TEXT =dup_attack_1t =dup_attack_1b - .TEXTB_INDIRECT $mem_learn_attack_attack_name_ptr =Double_Exclamation - .TEXT =dup_attack_3t =dup_attack_3b - .TEXT =dup_attack_4t =Empty - .LEARN_ATTACK_RET - - .Learn_Attack_Return: - LD A, ($mem_learn_attack_dialogue_ret_ptr) - LD H, A - LD A, ($mem_learn_attack_dialogue_ret_ptr+1) - LD L, A - JP =Dialogue_script_step.next - .INCLUDE "dialogues/text.gbasm" +.INCLUDE "dialogues/game.gbasm" .INCLUDE "dialogues/demo_quest.gbasm" |