diff options
Diffstat (limited to 'engine/battle/check_battle_scene.asm')
-rw-r--r-- | engine/battle/check_battle_scene.asm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/engine/battle/check_battle_scene.asm b/engine/battle/check_battle_scene.asm new file mode 100644 index 000000000..13d0c665e --- /dev/null +++ b/engine/battle/check_battle_scene.asm @@ -0,0 +1,47 @@ +CheckBattleScene: +; Return carry if battle scene is turned off. + + ld a, BANK(wLinkMode) + ld hl, wLinkMode + call GetFarWRAMByte + cp LINK_MOBILE + jr z, .mobile + + ld a, [wOptions] + bit BATTLE_SCENE, a + jr nz, .off + + and a + ret + +.mobile + ld a, [wcd2f] + and a + jr nz, .from_wram + + ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3 + call GetSRAMBank + ld a, [$a60c] ; address of MBC30 bank + ld c, a + call CloseSRAM + + ld a, c + bit 0, c + jr z, .off + + and a + ret + +.from_wram + ld a, BANK(w5_dc00) + ld hl, w5_dc00 + call GetFarWRAMByte + bit 0, a + jr z, .off + + and a + ret + +.off + scf + ret |