summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2014-04-30 23:44:44 -0400
committeryenatch <yenatch@gmail.com>2014-04-30 23:44:44 -0400
commit95af7dd873165ca197372a7b6e896fe3bd66e24a (patch)
tree1d215128aab24b24e3b930648c98a04aedeb5d19 /engine
parentc58a5b8b7a8dcdf47ea87b4f43c93e00f0de5106 (diff)
Move RegionCheck into engine/landmarks.asm.
Diffstat (limited to 'engine')
-rw-r--r--engine/landmarks.asm37
1 files changed, 37 insertions, 0 deletions
diff --git a/engine/landmarks.asm b/engine/landmarks.asm
index 1d050da77..28c0d60a9 100644
--- a/engine/landmarks.asm
+++ b/engine/landmarks.asm
@@ -255,3 +255,40 @@ UndergroundName: db "UNDERGROUND@"
BattleTowerName: db "BATTLE", $1f, "TOWER@"
SpecialMapName: db "SPECIAL@"
+
+RegionCheck: ; 0x1caea1
+; Checks if the player is in Kanto or Johto.
+; If in Johto, returns 0 in e.
+; If in Kanto, returns 1 in e.
+ ld a, [MapGroup]
+ ld b, a
+ ld a, [MapNumber]
+ ld c, a
+ call GetWorldMapLocation
+ cp FAST_SHIP ; S.S. Aqua
+ jr z, .johto
+ cp SPECIAL_MAP
+ jr nz, .checkagain
+
+; In a special map, get the backup map group / map id
+ ld a, [BackupMapGroup]
+ ld b, a
+ ld a, [BackupMapNumber]
+ ld c, a
+ call GetWorldMapLocation
+
+.checkagain
+ cp KANTO_LANDMARK
+ jr c, .johto
+
+; Victory Road area is considered to be Johto.
+ cp VICTORY_ROAD
+ jr c, .kanto
+
+.johto
+ ld e, 0
+ ret
+.kanto
+ ld e, 1
+ ret
+