diff options
author | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-05-18 14:19:10 -0400 |
---|---|---|
committer | U-Fish-PC\Daniel <corrnondacqb@yahoo.com> | 2014-05-18 14:19:10 -0400 |
commit | 24c01b09bb2b617812bd826d1cf9ab5e3ec6a023 (patch) | |
tree | 07d2ed81b23de081f2003d9f8d50170344dd5ada /scripts/silphco9.asm | |
parent | 4e4e72d02a5a202daea3a73363d2a4c3ba34e724 (diff) |
Pull map scripts out of main.asm
Diffstat (limited to 'scripts/silphco9.asm')
-rwxr-xr-x | scripts/silphco9.asm | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/scripts/silphco9.asm b/scripts/silphco9.asm new file mode 100755 index 00000000..ee6e6fdc --- /dev/null +++ b/scripts/silphco9.asm @@ -0,0 +1,248 @@ +SilphCo9Script: ; 5d7bb (17:57bb) + call SilphCo9Script_5d7d1 + call EnableAutoTextBoxDrawing + ld hl, SilphCo9TrainerHeaders + ld de, SilphCo9ScriptPointers + ld a, [W_SILPHCO9CURSCRIPT] + call ExecuteCurMapScriptInTable + ld [W_SILPHCO9CURSCRIPT], a + ret + +SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1) + ld hl, $d126 + bit 5, [hl] + res 5, [hl] + ret z + ld hl, DataTable_5d82e ; $582e + call SilphCo9Script_5d837 + call SilphCo9Script_5d863 + ld a, [$d834] + bit 0, a + jr nz, .asm_5d7f8 + push af + ld a, $5f + ld [$d09f], a + ld bc, $401 + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + pop af +.asm_5d7f8 + bit 1, a + jr nz, .asm_5d80b + push af + ld a, $54 + ld [$d09f], a + ld bc, $209 + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + pop af +.asm_5d80b + bit 2, a + jr nz, .asm_5d81e + push af + ld a, $54 + ld [$d09f], a + ld bc, $509 + ld a, $17 + call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + pop af +.asm_5d81e + bit 3, a + ret nz + ld a, $5f + ld [$d09f], a + ld bc, $605 + ld a, $17 + jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) + +DataTable_5d82e: ; 5d82e (17:582e) + db $04,$01,$02,$09,$05,$09,$06,$05,$FF + +SilphCo9Script_5d837: ; 5d837 (17:5837) + push hl + ld hl, $d73f + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + xor a + ld [$ffe0], a + pop hl +.asm_5d843 + ld a, [hli] + cp $ff + jr z, .asm_5d85f + push hl + ld hl, $ffe0 + inc [hl] + pop hl + cp b + jr z, .asm_5d854 + inc hl + jr .asm_5d843 +.asm_5d854 + ld a, [hli] + cp c + jr nz, .asm_5d843 + ld hl, $d73f + xor a + ld [hli], a + ld [hl], a + ret +.asm_5d85f + xor a + ld [$ffe0], a + ret + +SilphCo9Script_5d863: ; 5d863 (17:5863) + ld hl, $d834 + ld a, [$ffe0] + and a + ret z + cp $1 + jr nz, .asm_5d871 + set 0, [hl] + ret +.asm_5d871 + cp $2 + jr nz, .asm_5d878 + set 1, [hl] + ret +.asm_5d878 + cp $3 + jr nz, .asm_5d87f + set 2, [hl] + ret +.asm_5d87f + cp $4 + ret nz + set 3, [hl] + ret + +SilphCo9ScriptPointers: ; 5d885 (17:5885) + dw CheckFightingMapTrainers + dw Func_324c + dw EndTrainerBattle + +SilphCo9TextPointers: ; 5d88b (17:588b) + dw SilphCo9Text1 + dw SilphCo9Text2 + dw SilphCo9Text3 + dw SilphCo9Text4 + +SilphCo9TrainerHeaders: ; 5d893 (17:5893) +SilphCo9TrainerHeader0: ; 5d893 (17:5893) + db $2 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d833 ; flag's byte + dw SilphCo9BattleText1 ; 0x5912 TextBeforeBattle + dw SilphCo9AfterBattleText1 ; 0x591c TextAfterBattle + dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle + dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle + +SilphCo9TrainerHeader1: ; 5d89f (17:589f) + db $3 ; flag's bit + db ($2 << 4) ; trainer's view range + dw $d833 ; flag's byte + dw SilphCo9BattleText2 ; 0x5921 TextBeforeBattle + dw SilphCo9AfterBattleText2 ; 0x592b TextAfterBattle + dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle + dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle + +SilphCo9TrainerHeader2: ; 5d8ab (17:58ab) + db $4 ; flag's bit + db ($4 << 4) ; trainer's view range + dw $d833 ; flag's byte + dw SilphCo9BattleText3 ; 0x5930 TextBeforeBattle + dw SilphCo9AfterBattleText3 ; 0x593a TextAfterBattle + dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle + dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle + + db $ff + +SilphCo9Text1: ; 5d8b8 (17:58b8) + db $08 ; asm + ld a, [$d838] + bit 7, a + jr nz, .asm_a14c3 ; 0x5d8be + ld hl, SilphCo9Text_5d8e5 + call PrintText + ld a, $7 + call Predef + call GBFadeOut2 + call Delay3 + call GBFadeIn2 + ld hl, SilphCo9Text_5d8ea + call PrintText + jr .asm_b6e28 ; 0x5d8da +.asm_a14c3 ; 0x5d8dc + ld hl, SilphCo9Text_5d8ef + call PrintText +.asm_b6e28 ; 0x5d8e2 + jp TextScriptEnd + +SilphCo9Text_5d8e5: ; 5d8e5 (17:58e5) + TX_FAR _SilphCo9Text_5d8e5 + db "@" + +SilphCo9Text_5d8ea: ; 5d8ea (17:58ea) + TX_FAR _SilphCo9Text_5d8ea + db "@" + +SilphCo9Text_5d8ef: ; 5d8ef (17:58ef) + TX_FAR _SilphCo9Text_5d8ef + db "@" + +SilphCo9Text2: ; 5d8f4 (17:58f4) + db $08 ; asm + ld hl, SilphCo9TrainerHeader0 + call TalkToTrainer + jp TextScriptEnd + +SilphCo9Text3: ; 5d8fe (17:58fe) + db $08 ; asm + ld hl, SilphCo9TrainerHeader1 + call TalkToTrainer + jp TextScriptEnd + +SilphCo9Text4: ; 5d908 (17:5908) + db $08 ; asm + ld hl, SilphCo9TrainerHeader2 + call TalkToTrainer + jp TextScriptEnd + +SilphCo9BattleText1: ; 5d912 (17:5912) + TX_FAR _SilphCo9BattleText1 + db "@" + +SilphCo9EndBattleText1: ; 5d917 (17:5917) + TX_FAR _SilphCo9EndBattleText1 + db "@" + +SilphCo9AfterBattleText1: ; 5d91c (17:591c) + TX_FAR _SilphCo9AfterBattleText1 + db "@" + +SilphCo9BattleText2: ; 5d921 (17:5921) + TX_FAR _SilphCo9BattleText2 + db "@" + +SilphCo9EndBattleText2: ; 5d926 (17:5926) + TX_FAR _SilphCo9EndBattleText2 + db "@" + +SilphCo9AfterBattleText2: ; 5d92b (17:592b) + TX_FAR _SilphCo9AfterBattleText2 + db "@" + +SilphCo9BattleText3: ; 5d930 (17:5930) + TX_FAR _SilphCo9BattleText3 + db "@" + +SilphCo9EndBattleText3: ; 5d935 (17:5935) + TX_FAR _SilphCo9EndBattleText3 + db "@" + +SilphCo9AfterBattleText3: ; 5d93a (17:593a) + TX_FAR _SilphCo9AfterBattleText3 + db "@" |