ref: 25c126c69beebfdf26d0de286e25c65f6f3db16e
dir: /engine/landmarks.asm/
GetLandmarkCoords: ; 0x1ca896 ; Return coordinates (d, e) of landmark e. push hl ld l, e ld h, 0 rept 2 add hl, hl endr ld de, Landmarks add hl, de ld a, [hli] ld e, a ld d, [hl] pop hl ret ; 0x1ca8a5 GetLandmarkName:: ; 0x1ca8a5 ; Copy the name of landmark e to StringBuffer1. push hl push de push bc ld l, e ld h, 0 rept 2 add hl, hl endr ld de, Landmarks + 2 add hl, de ld a, [hli] ld h, [hl] ld l, a ld de, StringBuffer1 ld c, 18 .copy ld a, [hli] ld [de], a inc de dec c jr nz, .copy pop bc pop de pop hl ret ; 0x1ca8c3 Landmarks: ; 0x1ca8c3 landmark: MACRO db \1, \2 dw \3 ENDM landmark 0, 0, SpecialMapName landmark 148, 116, NewBarkTownName landmark 136, 116, Route29Name landmark 108, 116, CherrygroveCityName landmark 108, 96, Route30Name landmark 104, 76, Route31Name landmark 92, 76, VioletCityName landmark 93, 74, SproutTowerName landmark 92, 108, Route32Name landmark 84, 92, RuinsOfAlphName landmark 92, 140, UnionCaveName landmark 90, 140, Route33Name landmark 76, 140, AzaleaTownName landmark 78, 138, SlowpokeWellName landmark 60, 136, IlexForestName landmark 60, 128, Route34Name landmark 60, 108, GoldenrodCityName landmark 58, 108, RadioTowerName landmark 60, 92, Route35Name landmark 60, 76, NationalParkName landmark 72, 76, Route36Name landmark 76, 68, Route37Name landmark 76, 60, EcruteakCityName landmark 78, 58, TinTowerName landmark 74, 58, BurnedTowerName landmark 60, 60, Route38Name landmark 44, 64, Route39Name landmark 44, 76, OlivineCityName landmark 46, 78, LighthouseName landmark 36, 72, BattleTowerName landmark 36, 80, Route40Name landmark 36, 108, WhirlIslandsName landmark 36, 116, Route41Name landmark 28, 116, CianwoodCityName landmark 100, 60, Route42Name landmark 92, 60, MtMortarName landmark 116, 60, MahoganyTownName landmark 116, 52, Route43Name landmark 116, 44, LakeOfRageName landmark 128, 60, Route44Name landmark 138, 54, IcePathName landmark 140, 60, BlackthornCityName landmark 140, 52, DragonsDenName landmark 140, 80, Route45Name landmark 120, 88, DarkCaveName landmark 132, 104, Route46Name landmark 156, 84, SilverCaveName landmark 60, 124, PalletTownName landmark 60, 108, Route1Name landmark 60, 92, ViridianCityName landmark 60, 80, Route2Name landmark 60, 68, PewterCityName landmark 72, 68, Route3Name landmark 84, 68, MtMoonName landmark 96, 68, Route4Name landmark 108, 68, CeruleanCityName landmark 108, 60, Route24Name landmark 116, 52, Route25Name landmark 108, 76, Route5Name landmark 116, 92, UndergroundName landmark 108, 92, Route6Name landmark 108, 100, VermilionCityName landmark 96, 76, DiglettsCaveName landmark 96, 84, Route7Name landmark 124, 84, Route8Name landmark 124, 68, Route9Name landmark 140, 68, RockTunnelName landmark 140, 72, Route10Name landmark 140, 76, PowerPlantName landmark 140, 84, LavenderTownName landmark 148, 84, LavRadioTowerName landmark 84, 84, CeladonCityName landmark 108, 84, SaffronCityName landmark 124, 100, Route11Name landmark 140, 96, Route12Name landmark 132, 116, Route13Name landmark 124, 128, Route14Name landmark 112, 132, Route15Name landmark 76, 84, Route16Name landmark 76, 108, Route17Name landmark 88, 132, Route18Name landmark 100, 132, FuchsiaCityName landmark 100, 144, Route19Name landmark 84, 148, Route20Name landmark 76, 148, SeafoamIslandsName landmark 60, 148, CinnabarIslandName landmark 60, 136, Route21Name landmark 44, 84, Route22Name landmark 36, 68, VictoryRoadName landmark 36, 60, Route23Name landmark 36, 52, IndigoPlateauName landmark 36, 108, Route26Name landmark 28, 116, Route27Name landmark 20, 116, TohjoFallsName landmark 28, 84, Route28Name landmark 148, 132, FastShipName NewBarkTownName: db "NEW BARK", $1f, "TOWN@" CherrygroveCityName: db "CHERRYGROVE", $1f, "CITY@" VioletCityName: db "VIOLET CITY@" AzaleaTownName: db "AZALEA TOWN@" GoldenrodCityName: db "GOLDENROD", $1f, "CITY@" EcruteakCityName: db "ECRUTEAK", $1f, "CITY@" OlivineCityName: db "OLIVINE", $1f, "CITY@" CianwoodCityName: db "CIANWOOD", $1f, "CITY@" MahoganyTownName: db "MAHOGANY", $1f, "TOWN@" BlackthornCityName: db "BLACKTHORN", $1f, "CITY@" LakeOfRageName: db "LAKE OF", $1f, "RAGE@" SilverCaveName: db "SILVER CAVE@" SproutTowerName: db "SPROUT", $1f, "TOWER@" RuinsOfAlphName: db "RUINS", $1f, "OF ALPH@" UnionCaveName: db "UNION CAVE@" SlowpokeWellName: db "SLOWPOKE", $1f, "WELL@" RadioTowerName: db "RADIO TOWER@" PowerPlantName: db "POWER PLANT@" NationalParkName: db "NATIONAL", $1f, "PARK@" TinTowerName: db "TIN TOWER@" LighthouseName: db "LIGHTHOUSE@" WhirlIslandsName: db "WHIRL", $1f, "ISLANDS@" MtMortarName: db "MT.MORTAR@" DragonsDenName: db "DRAGON'S", $1f, "DEN@" IcePathName: db "ICE PATH@" NotApplicableName: db "N/A@" PalletTownName: db "PALLET TOWN@" ViridianCityName: db "VIRIDIAN", $1f, "CITY@" PewterCityName: db "PEWTER CITY@" CeruleanCityName: db "CERULEAN", $1f, "CITY@" LavenderTownName: db "LAVENDER", $1f, "TOWN@" VermilionCityName: db "VERMILION", $1f, "CITY@" CeladonCityName: db "CELADON", $1f, "CITY@" SaffronCityName: db "SAFFRON", $1f, "CITY@" FuchsiaCityName: db "FUCHSIA", $1f, "CITY@" CinnabarIslandName: db "CINNABAR", $1f, "ISLAND@" IndigoPlateauName: db "INDIGO", $1f, "PLATEAU@" VictoryRoadName: db "VICTORY", $1f, "ROAD@" MtMoonName: db "MT.MOON@" RockTunnelName: db "ROCK TUNNEL@" LavRadioTowerName: db "LAV", $1f, "RADIO TOWER@" SilphCoName: db "SILPH CO.@" SafariZoneName: db "SAFARI ZONE@" SeafoamIslandsName: db "SEAFOAM", $1f, "ISLANDS@" PokemonMansionName: db "#MON", $1f, "MANSION@" CeruleanCaveNane: db "CERULEAN", $1f, "CAVE@" Route1Name: db "ROUTE 1@" Route2Name: db "ROUTE 2@" Route3Name: db "ROUTE 3@" Route4Name: db "ROUTE 4@" Route5Name: db "ROUTE 5@" Route6Name: db "ROUTE 6@" Route7Name: db "ROUTE 7@" Route8Name: db "ROUTE 8@" Route9Name: db "ROUTE 9@" Route10Name: db "ROUTE 10@" Route11Name: db "ROUTE 11@" Route12Name: db "ROUTE 12@" Route13Name: db "ROUTE 13@" Route14Name: db "ROUTE 14@" Route15Name: db "ROUTE 15@" Route16Name: db "ROUTE 16@" Route17Name: db "ROUTE 17@" Route18Name: db "ROUTE 18@" Route19Name: db "ROUTE 19@" Route20Name: db "ROUTE 20@" Route21Name: db "ROUTE 21@" Route22Name: db "ROUTE 22@" Route23Name: db "ROUTE 23@" Route24Name: db "ROUTE 24@" Route25Name: db "ROUTE 25@" Route26Name: db "ROUTE 26@" Route27Name: db "ROUTE 27@" Route28Name: db "ROUTE 28@" Route29Name: db "ROUTE 29@" Route30Name: db "ROUTE 30@" Route31Name: db "ROUTE 31@" Route32Name: db "ROUTE 32@" Route33Name: db "ROUTE 33@" Route34Name: db "ROUTE 34@" Route35Name: db "ROUTE 35@" Route36Name: db "ROUTE 36@" Route37Name: db "ROUTE 37@" Route38Name: db "ROUTE 38@" Route39Name: db "ROUTE 39@" Route40Name: db "ROUTE 40@" Route41Name: db "ROUTE 41@" Route42Name: db "ROUTE 42@" Route43Name: db "ROUTE 43@" Route44Name: db "ROUTE 44@" Route45Name: db "ROUTE 45@" Route46Name: db "ROUTE 46@" DarkCaveName: db "DARK CAVE@" IlexForestName: db "ILEX", $1f, "FOREST@" BurnedTowerName: db "BURNED", $1f, "TOWER@" FastShipName: db "FAST SHIP@" ViridianForestName: db "VIRIDIAN", $1f, "FOREST@" DiglettsCaveName: db "DIGLETT'S", $1f, "CAVE@" TohjoFallsName: db "TOHJO FALLS@" 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