summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/landmark.s128
-rwxr-xr-xasm/pokenav.s2
-rw-r--r--data/data4d.s6
-rw-r--r--data/scripts/maps/AbandonedShip_Deck.inc2
-rw-r--r--data/scripts/maps/AlteringCave.inc2
-rw-r--r--data/scripts/maps/AncientTomb.inc2
-rw-r--r--data/scripts/maps/BattleFrontier_ReceptionGate.inc2
-rw-r--r--data/scripts/maps/DesertRuins.inc2
-rw-r--r--data/scripts/maps/DesertUnderpass.inc2
-rw-r--r--data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc2
-rw-r--r--data/scripts/maps/FieryPath.inc4
-rw-r--r--data/scripts/maps/IslandCave.inc2
-rw-r--r--data/scripts/maps/MirageTower_1F.inc2
-rw-r--r--data/scripts/maps/MirageTower_4F.inc2
-rw-r--r--data/scripts/maps/NewMauville_Entrance.inc2
-rw-r--r--data/scripts/maps/Route104_MrBrineysHouse.inc2
-rw-r--r--data/scripts/maps/Route104_PrettyPetalFlowerShop.inc2
-rw-r--r--data/scripts/maps/Route109_SeashoreHouse.inc2
-rw-r--r--data/scripts/maps/Route110_TrickHouseEntrance.inc2
-rw-r--r--data/scripts/maps/Route111.inc2
-rw-r--r--data/scripts/maps/Route111_OldLadysRestStop.inc2
-rw-r--r--data/scripts/maps/Route113_GlassWorkshop.inc2
-rw-r--r--data/scripts/maps/Route114_FossilManiacsHouse.inc2
-rw-r--r--data/scripts/maps/Route114_LanettesHouse.inc2
-rw-r--r--data/scripts/maps/Route116_TunnelersRestHouse.inc2
-rw-r--r--data/scripts/maps/Route117_PokemonDayCare.inc2
-rw-r--r--data/scripts/maps/Route123_BerryMastersHouse.inc2
-rw-r--r--data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc2
-rw-r--r--data/scripts/maps/ScorchedSlab.inc2
-rw-r--r--data/scripts/maps/SealedChamber_OuterRoom.inc2
-rw-r--r--data/scripts/maps/SkyPillar_Entrance.inc2
-rw-r--r--data/scripts/maps/SouthernIsland_Exterior.inc2
-rw-r--r--data/scripts/maps/TrainerHill_Entrance.inc2
-rw-r--r--data/scripts/maps/Underwater_SeafloorCavern.inc2
-rw-r--r--include/constants/flags.h515
-rw-r--r--include/landmark.h6
-rw-r--r--include/region_map.h217
-rw-r--r--include/region_map_sections.h221
-rw-r--r--ld_script.txt3
-rw-r--r--src/decoration.c2
-rw-r--r--src/landmark.c441
-rw-r--r--src/region_map.c11
-rw-r--r--src/tv.c7
43 files changed, 971 insertions, 652 deletions
diff --git a/asm/landmark.s b/asm/landmark.s
deleted file mode 100644
index 12bb39885..000000000
--- a/asm/landmark.s
+++ /dev/null
@@ -1,128 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8145CF4
-sub_8145CF4: @ 8145CF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- bl sub_8145D48
- adds r4, r0, 0
- cmp r4, 0
- bne _08145D10
-_08145D0C:
- movs r0, 0
- b _08145D42
-_08145D10:
- ldr r6, =0x0000ffff
- b _08145D26
- .pool
-_08145D18:
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08145D1E:
- adds r4, 0x4
- ldr r0, [r4]
- cmp r0, 0
- beq _08145D0C
-_08145D26:
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- cmp r0, r6
- beq _08145D3A
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08145D1E
-_08145D3A:
- cmp r5, 0
- bne _08145D18
- ldr r0, [r4]
- ldr r0, [r0]
-_08145D42:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8145CF4
-
- thumb_func_start sub_8145D48
-sub_8145D48: @ 8145D48
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- movs r2, 0
- ldr r0, =gUnknown_085B91B8
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0xD5
- beq _08145DB8
- adds r1, r4, 0
-_08145D60:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, r3
- bhi _08145DB8
- cmp r0, r3
- beq _08145D7E
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xD5
- bne _08145D60
-_08145D7E:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xD5
- bne _08145D98
- b _08145DB8
- .pool
-_08145D90:
- adds r0, r4, 0x4
- adds r0, r1, r0
- ldr r0, [r0]
- b _08145DBA
-_08145D98:
- cmp r0, r3
- bne _08145DB8
- ldr r5, =gUnknown_085B91B8
-_08145D9E:
- lsls r1, r2, 3
- adds r0, r1, r5
- ldrb r0, [r0, 0x1]
- cmp r0, r6
- beq _08145D90
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r3
- beq _08145D9E
-_08145DB8:
- movs r0, 0
-_08145DBA:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8145D48
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokenav.s b/asm/pokenav.s
index de7b93c5f..a01117868 100755
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -11813,7 +11813,7 @@ _081CCE34:
mov r1, r8
lsrs r0, r1, 24
lsrs r1, r7, 24
- bl sub_8145CF4
+ bl GetLandmarkName
adds r1, r0, 0
cmp r1, 0
bne _081CCE08
diff --git a/data/data4d.s b/data/data4d.s
index 92ebeab60..2ab3b7dfb 100644
--- a/data/data4d.s
+++ b/data/data4d.s
@@ -5,12 +5,6 @@
.section .rodata
.align 2
-gUnknown_085B8CA0:: @ 85B8CA0
- .incbin "baserom.gba", 0x5b8cA0, 0x518
-
-gUnknown_085B91B8:: @ 85B91B8
- .incbin "baserom.gba", 0x5b91b8, 0x178
-
gUnknown_085B9330:: @ 85B9330
.incbin "baserom.gba", 0x5b9330, 0x580
diff --git a/data/scripts/maps/AbandonedShip_Deck.inc b/data/scripts/maps/AbandonedShip_Deck.inc
index d049423a1..1f0c0e2f2 100644
--- a/data/scripts/maps/AbandonedShip_Deck.inc
+++ b/data/scripts/maps/AbandonedShip_Deck.inc
@@ -3,6 +3,6 @@ AbandonedShip_Deck_MapScripts:: @ 823799A
.byte 0
AbandonedShip_Deck_MapScript1_2379A0: @ 82379A0
- setflag FLAG_0x89E
+ setflag FLAG_LANDMARK_ABANDONED_SHIP
end
diff --git a/data/scripts/maps/AlteringCave.inc b/data/scripts/maps/AlteringCave.inc
index c5f1286d2..a9faddc36 100644
--- a/data/scripts/maps/AlteringCave.inc
+++ b/data/scripts/maps/AlteringCave.inc
@@ -3,6 +3,6 @@ AlteringCave_MapScripts:: @ 823B177
.byte 0
AlteringCave_MapScript1_23B17D: @ 823B17D
- setflag FLAG_0x8DD
+ setflag FLAG_LANDMARK_ALTERING_CAVE
end
diff --git a/data/scripts/maps/AncientTomb.inc b/data/scripts/maps/AncientTomb.inc
index f97c3fc5a..3cd0b9eff 100644
--- a/data/scripts/maps/AncientTomb.inc
+++ b/data/scripts/maps/AncientTomb.inc
@@ -17,7 +17,7 @@ AncientTomb_EventScript_238FCD:: @ 8238FCD
return
AncientTomb_MapScript1_238FE1: @ 8238FE1
- setflag FLAG_0x8B9
+ setflag FLAG_LANDMARK_ANCIENT_TOMB
checkflag FLAG_0x1BD
call_if 0, AncientTomb_EventScript_238FEE
end
diff --git a/data/scripts/maps/BattleFrontier_ReceptionGate.inc b/data/scripts/maps/BattleFrontier_ReceptionGate.inc
index 7ecf83788..eca861f85 100644
--- a/data/scripts/maps/BattleFrontier_ReceptionGate.inc
+++ b/data/scripts/maps/BattleFrontier_ReceptionGate.inc
@@ -4,7 +4,7 @@ BattleFrontier_ReceptionGate_MapScripts:: @ 82661DA
.byte 0
BattleFrontier_ReceptionGate_MapScript1_2661E5: @ 82661E5
- setflag FLAG_UNLOCK_BATTLE_FRONTIER
+ setflag FLAG_LANDMARK_BATTLE_FRONTIER
end
BattleFrontier_ReceptionGate_MapScript2_2661E9: @ 82661E9
diff --git a/data/scripts/maps/DesertRuins.inc b/data/scripts/maps/DesertRuins.inc
index fdd8515e9..9137902f2 100644
--- a/data/scripts/maps/DesertRuins.inc
+++ b/data/scripts/maps/DesertRuins.inc
@@ -31,7 +31,7 @@ DesertRuins_EventScript_22D993:: @ 822D993
return
DesertRuins_MapScript1_22D9CA: @ 822D9CA
- setflag FLAG_0x8B6
+ setflag FLAG_LANDMARK_DESERT_RUINS
checkflag FLAG_0x1BB
call_if 0, DesertRuins_EventScript_22D9D7
end
diff --git a/data/scripts/maps/DesertUnderpass.inc b/data/scripts/maps/DesertUnderpass.inc
index 0db62ff75..486bd2577 100644
--- a/data/scripts/maps/DesertUnderpass.inc
+++ b/data/scripts/maps/DesertUnderpass.inc
@@ -3,7 +3,7 @@ DesertUnderpass_MapScripts:: @ 823AF37
.byte 0
DesertUnderpass_MapScript1_23AF3D: @ 823AF3D
- setflag FLAG_0x8DE
+ setflag FLAG_LANDMARK_DESERT_UNDERPASS
end
DesertUnderpass_EventScript_23AF41:: @ 823AF41
diff --git a/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc b/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc
index 63817688d..0a174bf0c 100644
--- a/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc
+++ b/data/scripts/maps/EverGrandeCity_PokemonLeague_1F.inc
@@ -5,7 +5,7 @@ EverGrandeCity_PokemonLeague_1F_MapScripts:: @ 82295D2
EverGrandeCity_PokemonLeague_1F_MapScript1_2295DD: @ 82295DD
setrespawn 20
- setflag FLAG_SYS_POKEMON_LEAGUE_FLY
+ setflag FLAG_LANDMARK_POKEMON_LEAGUE
checkflag FLAG_0x107
call_if 0, EverGrandeCity_PokemonLeague_1F_EventScript_2295ED
end
diff --git a/data/scripts/maps/FieryPath.inc b/data/scripts/maps/FieryPath.inc
index 870b70e91..a040a5327 100644
--- a/data/scripts/maps/FieryPath.inc
+++ b/data/scripts/maps/FieryPath.inc
@@ -3,9 +3,9 @@ FieryPath_MapScripts:: @ 8230F24
.byte 0
FieryPath_MapScript1_230F2A: @ 8230F2A
- checkflag FLAG_0x8AA
+ checkflag FLAG_LANDMARK_FIERY_PATH
call_if 0, FieryPath_EventScript_230F37
- setflag FLAG_0x8AA
+ setflag FLAG_LANDMARK_FIERY_PATH
end
FieryPath_EventScript_230F37:: @ 8230F37
diff --git a/data/scripts/maps/IslandCave.inc b/data/scripts/maps/IslandCave.inc
index fb1798804..a96d13902 100644
--- a/data/scripts/maps/IslandCave.inc
+++ b/data/scripts/maps/IslandCave.inc
@@ -31,7 +31,7 @@ IslandCave_EventScript_238E62:: @ 8238E62
return
IslandCave_MapScript1_238E99: @ 8238E99
- setflag FLAG_0x8B5
+ setflag FLAG_LANDMARK_ISLAND_CAVE
call IslandCave_EventScript_238F45
checkflag FLAG_0x1BC
call_if 0, IslandCave_EventScript_238EAB
diff --git a/data/scripts/maps/MirageTower_1F.inc b/data/scripts/maps/MirageTower_1F.inc
index 5b9725c9e..d7d9619b5 100644
--- a/data/scripts/maps/MirageTower_1F.inc
+++ b/data/scripts/maps/MirageTower_1F.inc
@@ -5,6 +5,6 @@ MirageTower_1F_MapScripts:: @ 823AD01
MirageTower_1F_MapScript1_23AD07: @ 823AD07
setflag FLAG_0x8DC
setflag FLAG_0x09D
- setflag FLAG_0x078
+ setflag FLAG_LANDMARK_MIRAGE_TOWER
end
diff --git a/data/scripts/maps/MirageTower_4F.inc b/data/scripts/maps/MirageTower_4F.inc
index 19b8c6c91..10d465b74 100644
--- a/data/scripts/maps/MirageTower_4F.inc
+++ b/data/scripts/maps/MirageTower_4F.inc
@@ -53,7 +53,7 @@ MirageTower_4F_EventScript_23ADCA:: @ 823ADCA
special sub_81BE994
waitstate
setvar VAR_0x40CB, 1
- clearflag FLAG_0x078
+ clearflag FLAG_LANDMARK_MIRAGE_TOWER
warp ROUTE_111, 255, 19, 59
waitstate
release
diff --git a/data/scripts/maps/NewMauville_Entrance.inc b/data/scripts/maps/NewMauville_Entrance.inc
index 9d13b5cf4..727b77985 100644
--- a/data/scripts/maps/NewMauville_Entrance.inc
+++ b/data/scripts/maps/NewMauville_Entrance.inc
@@ -18,7 +18,7 @@ NewMauville_Entrance_EventScript_2372C4:: @ 82372C4
return
NewMauville_Entrance_MapScript1_2372FB: @ 82372FB
- setflag FLAG_0x8A0
+ setflag FLAG_LANDMARK_NEW_MAUVILLE
end
NewMauville_Entrance_EventScript_2372FF:: @ 82372FF
diff --git a/data/scripts/maps/Route104_MrBrineysHouse.inc b/data/scripts/maps/Route104_MrBrineysHouse.inc
index 2e901b5f4..c0c3888e1 100644
--- a/data/scripts/maps/Route104_MrBrineysHouse.inc
+++ b/data/scripts/maps/Route104_MrBrineysHouse.inc
@@ -3,7 +3,7 @@ Route104_MrBrineysHouse_MapScripts:: @ 8229D2E
.byte 0
Route104_MrBrineysHouse_MapScript1_229D34: @ 8229D34
- setflag FLAG_0x89D
+ setflag FLAG_LANDMARK_MR_BRINEY_HOUSE
compare VAR_0x4090, 1
call_if 1, Route104_MrBrineysHouse_EventScript_229D50
checkflag FLAG_0x0BC
diff --git a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
index 3b7dcf601..5142a1282 100644
--- a/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
+++ b/data/scripts/maps/Route104_PrettyPetalFlowerShop.inc
@@ -3,7 +3,7 @@ Route104_PrettyPetalFlowerShop_MapScripts:: @ 822A34C
.byte 0
Route104_PrettyPetalFlowerShop_MapScript1_22A352: @ 822A352
- setflag FLAG_0x89C
+ setflag FLAG_LANDMARK_FLOWER_SHOP
checkflag FLAG_0x07F
goto_if 0, Route104_PrettyPetalFlowerShop_EventScript_22A36B
checkflag FLAG_BADGE03_GET
diff --git a/data/scripts/maps/Route109_SeashoreHouse.inc b/data/scripts/maps/Route109_SeashoreHouse.inc
index 90113bd5b..e70f91ca8 100644
--- a/data/scripts/maps/Route109_SeashoreHouse.inc
+++ b/data/scripts/maps/Route109_SeashoreHouse.inc
@@ -3,7 +3,7 @@ Route109_SeashoreHouse_MapScripts:: @ 82693F4
.byte 0
Route109_SeashoreHouse_MapScript1_2693FA: @ 82693FA
- setflag FLAG_0x89F
+ setflag FLAG_LANDMARK_SEASHORE_HOUSE
end
Route109_SeashoreHouse_EventScript_2693FE:: @ 82693FE
diff --git a/data/scripts/maps/Route110_TrickHouseEntrance.inc b/data/scripts/maps/Route110_TrickHouseEntrance.inc
index 580848838..4bf7eb10a 100644
--- a/data/scripts/maps/Route110_TrickHouseEntrance.inc
+++ b/data/scripts/maps/Route110_TrickHouseEntrance.inc
@@ -5,7 +5,7 @@ Route110_TrickHouseEntrance_MapScripts:: @ 8269A50
.byte 0
Route110_TrickHouseEntrance_MapScript1_269A60: @ 8269A60
- setflag FLAG_0x8A2
+ setflag FLAG_LANDMARK_TRICK_HOUSE
compare VAR_0x40B5, 1
goto_eq Route110_TrickHouseEntrance_EventScript_269AF3
compare VAR_0x40C1, 1
diff --git a/data/scripts/maps/Route111.inc b/data/scripts/maps/Route111.inc
index 3d9914b83..5a20d6d76 100644
--- a/data/scripts/maps/Route111.inc
+++ b/data/scripts/maps/Route111.inc
@@ -278,7 +278,7 @@ Route111_EventScript_1F0FBD:: @ 81F0FBD
Route111_EventScript_1F0FC5:: @ 81F0FC5
lock
faceplayer
- setflag FLAG_0x8A3
+ setflag FLAG_LANDMARK_WINSTRATE_FAMILY
msgbox Route111_Text_1F1475, 5
compare VAR_RESULT, 1
goto_eq Route111_EventScript_1F0FE7
diff --git a/data/scripts/maps/Route111_OldLadysRestStop.inc b/data/scripts/maps/Route111_OldLadysRestStop.inc
index fbf150dff..015a584f4 100644
--- a/data/scripts/maps/Route111_OldLadysRestStop.inc
+++ b/data/scripts/maps/Route111_OldLadysRestStop.inc
@@ -3,7 +3,7 @@ Route111_OldLadysRestStop_MapScripts:: @ 822A916
.byte 0
Route111_OldLadysRestStop_MapScript1_22A91C: @ 822A91C
- setflag FLAG_0x8A1
+ setflag FLAG_LANDMARK_OLD_LADY_REST_SHOP
end
Route111_OldLadysRestStop_EventScript_22A920:: @ 822A920
diff --git a/data/scripts/maps/Route113_GlassWorkshop.inc b/data/scripts/maps/Route113_GlassWorkshop.inc
index 985a43805..5ea100567 100644
--- a/data/scripts/maps/Route113_GlassWorkshop.inc
+++ b/data/scripts/maps/Route113_GlassWorkshop.inc
@@ -3,7 +3,7 @@ Route113_GlassWorkshop_MapScripts:: @ 826ED03
.byte 0
Route113_GlassWorkshop_MapScript1_26ED09: @ 826ED09
- setflag FLAG_0x8A4
+ setflag FLAG_LANDMARK_GLASS_WORKSHOP
compare VAR_0x40BE, 1
call_if 1, Route113_GlassWorkshop_EventScript_26ED18
end
diff --git a/data/scripts/maps/Route114_FossilManiacsHouse.inc b/data/scripts/maps/Route114_FossilManiacsHouse.inc
index 44d4b9d9b..f14c15f9e 100644
--- a/data/scripts/maps/Route114_FossilManiacsHouse.inc
+++ b/data/scripts/maps/Route114_FossilManiacsHouse.inc
@@ -3,7 +3,7 @@ Route114_FossilManiacsHouse_MapScripts:: @ 822AD30
.byte 0
Route114_FossilManiacsHouse_MapScript1_22AD36: @ 822AD36
- setflag FLAG_0x8B7
+ setflag FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE
end
Route114_FossilManiacsHouse_EventScript_22AD3A:: @ 822AD3A
diff --git a/data/scripts/maps/Route114_LanettesHouse.inc b/data/scripts/maps/Route114_LanettesHouse.inc
index 961535930..00bb4f226 100644
--- a/data/scripts/maps/Route114_LanettesHouse.inc
+++ b/data/scripts/maps/Route114_LanettesHouse.inc
@@ -3,7 +3,7 @@ Route114_LanettesHouse_MapScripts:: @ 822B2C8
.byte 0
Route114_LanettesHouse_MapScript1_22B2CE: @ 822B2CE
- setflag FLAG_0x8A5
+ setflag FLAG_LANDMARK_LANETTES_HOUSE
end
Route114_LanettesHouse_EventScript_22B2D2:: @ 822B2D2
diff --git a/data/scripts/maps/Route116_TunnelersRestHouse.inc b/data/scripts/maps/Route116_TunnelersRestHouse.inc
index d9d74911a..f9dbbd3f2 100644
--- a/data/scripts/maps/Route116_TunnelersRestHouse.inc
+++ b/data/scripts/maps/Route116_TunnelersRestHouse.inc
@@ -3,7 +3,7 @@ Route116_TunnelersRestHouse_MapScripts:: @ 822B850
.byte 0
Route116_TunnelersRestHouse_MapScript1_22B856: @ 822B856
- setflag FLAG_0x8BA
+ setflag FLAG_LANDMARK_TUNNELERS_REST_HOUSE
end
Route116_TunnelersRestHouse_EventScript_22B85A:: @ 822B85A
diff --git a/data/scripts/maps/Route117_PokemonDayCare.inc b/data/scripts/maps/Route117_PokemonDayCare.inc
index 9f191616d..b2e9ddfaa 100644
--- a/data/scripts/maps/Route117_PokemonDayCare.inc
+++ b/data/scripts/maps/Route117_PokemonDayCare.inc
@@ -3,6 +3,6 @@ Route117_PokemonDayCare_MapScripts:: @ 822BBB1
.byte 0
Route117_PokemonDayCare_MapScript1_22BBB7: @ 822BBB7
- setflag FLAG_0x8A6
+ setflag FLAG_LANDMARK_POKEMON_DAYCARE
end
diff --git a/data/scripts/maps/Route123_BerryMastersHouse.inc b/data/scripts/maps/Route123_BerryMastersHouse.inc
index 245b828a9..9e865ad6a 100644
--- a/data/scripts/maps/Route123_BerryMastersHouse.inc
+++ b/data/scripts/maps/Route123_BerryMastersHouse.inc
@@ -3,7 +3,7 @@ Route123_BerryMastersHouse_MapScripts:: @ 826F83B
.byte 0
Route123_BerryMastersHouse_MapScript1_26F841: @ 826F841
- setflag FLAG_0x8C3
+ setflag FLAG_LANDMARK_BERRY_MASTERS_HOUSE
end
Route123_BerryMastersHouse_EventScript_26F845:: @ 826F845
diff --git a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
index 3480ad465..dd5218e1d 100644
--- a/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
+++ b/data/scripts/maps/Route124_DivingTreasureHuntersHouse.inc
@@ -3,7 +3,7 @@ Route124_DivingTreasureHuntersHouse_MapScripts:: @ 8270A28
.byte 0
Route124_DivingTreasureHuntersHouse_MapScript1_270A2E: @ 8270A2E
- setflag FLAG_0x8BB
+ setflag FLAG_LANDMARK_HUNTERS_HOUSE
end
Route124_DivingTreasureHuntersHouse_EventScript_270A32:: @ 8270A32
diff --git a/data/scripts/maps/ScorchedSlab.inc b/data/scripts/maps/ScorchedSlab.inc
index c435eb000..f83724ec5 100644
--- a/data/scripts/maps/ScorchedSlab.inc
+++ b/data/scripts/maps/ScorchedSlab.inc
@@ -3,6 +3,6 @@ ScorchedSlab_MapScripts:: @ 8239291
.byte 0
ScorchedSlab_MapScript1_239297: @ 8239297
- setflag FLAG_0x8B8
+ setflag FLAG_LANDMARK_SCORCHED_SLAB
end
diff --git a/data/scripts/maps/SealedChamber_OuterRoom.inc b/data/scripts/maps/SealedChamber_OuterRoom.inc
index a0e16c442..b7b55f256 100644
--- a/data/scripts/maps/SealedChamber_OuterRoom.inc
+++ b/data/scripts/maps/SealedChamber_OuterRoom.inc
@@ -10,7 +10,7 @@ SealedChamber_OuterRoom_MapScript1_239116: @ 8239116
end
SealedChamber_OuterRoom_MapScript1_239127: @ 8239127
- setflag FLAG_0x8BC
+ setflag FLAG_LANDMARK_SEALED_CHAMBER
end
SealedChamber_OuterRoom_MapScript1_23912B: @ 823912B
diff --git a/data/scripts/maps/SkyPillar_Entrance.inc b/data/scripts/maps/SkyPillar_Entrance.inc
index b565dff92..09ee9eae2 100644
--- a/data/scripts/maps/SkyPillar_Entrance.inc
+++ b/data/scripts/maps/SkyPillar_Entrance.inc
@@ -3,6 +3,6 @@ SkyPillar_Entrance_MapScripts:: @ 823929E
.byte 0
SkyPillar_Entrance_MapScript1_2392A4: @ 82392A4
- setflag FLAG_0x8BE
+ setflag FLAG_LANDMARK_SKY_PILLAR
end
diff --git a/data/scripts/maps/SouthernIsland_Exterior.inc b/data/scripts/maps/SouthernIsland_Exterior.inc
index ba1c6caec..8784a6424 100644
--- a/data/scripts/maps/SouthernIsland_Exterior.inc
+++ b/data/scripts/maps/SouthernIsland_Exterior.inc
@@ -3,7 +3,7 @@ SouthernIsland_Exterior_MapScripts:: @ 82429C8
.byte 0
SouthernIsland_Exterior_MapScript1_2429CE: @ 82429CE
- setflag FLAG_UNLOCK_SOUTHERN_ISLAND
+ setflag FLAG_LANDMARK_SOUTHERN_ISLAND
end
SouthernIsland_Exterior_EventScript_2429D2:: @ 82429D2
diff --git a/data/scripts/maps/TrainerHill_Entrance.inc b/data/scripts/maps/TrainerHill_Entrance.inc
index 38ae5b85f..77b67fb14 100644
--- a/data/scripts/maps/TrainerHill_Entrance.inc
+++ b/data/scripts/maps/TrainerHill_Entrance.inc
@@ -7,7 +7,7 @@ TrainerHill_Entrance_MapScripts:: @ 82680AC
.byte 0
TrainerHill_Entrance_MapScript1_2680C6: @ 82680C6
- setflag FLAG_0x8E2
+ setflag FLAG_LANDMARK_TRAINER_HILL
getplayerxy VAR_0x400D, VAR_RESULT
end
diff --git a/data/scripts/maps/Underwater_SeafloorCavern.inc b/data/scripts/maps/Underwater_SeafloorCavern.inc
index 2e439d4d2..d3f0aa5e5 100644
--- a/data/scripts/maps/Underwater_SeafloorCavern.inc
+++ b/data/scripts/maps/Underwater_SeafloorCavern.inc
@@ -5,7 +5,7 @@ Underwater_SeafloorCavern_MapScripts:: @ 823433B
.byte 0
Underwater_SeafloorCavern_MapScript1_23434B: @ 823434B
- setflag FLAG_0x8A7
+ setflag FLAG_LANDMARK_SEAFLOOR_CAVERN
checkflag FLAG_0x081
goto_eq Underwater_SeafloorCavern_EventScript_234358
end
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 26d015c84..941f40efb 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -120,7 +120,7 @@
#define FLAG_0x075 0x75
#define FLAG_0x076 0x76
#define FLAG_0x077 0x77
-#define FLAG_0x078 0x78
+#define FLAG_LANDMARK_MIRAGE_TOWER 0x78
#define FLAG_0x079 0x79
#define FLAG_0x07A 0x7A
#define FLAG_0x07B 0x7B
@@ -1284,289 +1284,290 @@
#define FLAG_TRAINER_FLAG_START 0x500
#define TRAINERS_FLAG_NO 0x356
-#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
+#define SYSTEM_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
// SYSTEM FLAGS
// 0x860
-#define FLAG_SYS_POKEMON_GET (CODE_FLAGS + 0)
-#define FLAG_SYS_POKEDEX_GET (CODE_FLAGS + 1)
-#define FLAG_SYS_POKENAV_GET (CODE_FLAGS + 2)
+#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0)
+#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1)
+#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2)
// third one appears unused
-#define FLAG_SYS_GAME_CLEAR (CODE_FLAGS + 4)
-#define FLAG_SYS_CHAT_USED (CODE_FLAGS + 5)
-#define FLAG_SYS_HIPSTER_MEET (CODE_FLAGS + 6)
+#define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 4)
+#define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 5)
+#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 6)
// badges
-#define FLAG_BADGE01_GET (CODE_FLAGS + 7)
-#define FLAG_BADGE02_GET (CODE_FLAGS + 8)
-#define FLAG_BADGE03_GET (CODE_FLAGS + 9)
-#define FLAG_BADGE04_GET (CODE_FLAGS + 0xA)
-#define FLAG_BADGE05_GET (CODE_FLAGS + 0xB)
-#define FLAG_BADGE06_GET (CODE_FLAGS + 0xC)
-#define FLAG_BADGE07_GET (CODE_FLAGS + 0xD)
-#define FLAG_BADGE08_GET (CODE_FLAGS + 0xE)
+#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 7)
+#define FLAG_BADGE02_GET (SYSTEM_FLAGS + 8)
+#define FLAG_BADGE03_GET (SYSTEM_FLAGS + 9)
+#define FLAG_BADGE04_GET (SYSTEM_FLAGS + 0xA)
+#define FLAG_BADGE05_GET (SYSTEM_FLAGS + 0xB)
+#define FLAG_BADGE06_GET (SYSTEM_FLAGS + 0xC)
+#define FLAG_BADGE07_GET (SYSTEM_FLAGS + 0xD)
+#define FLAG_BADGE08_GET (SYSTEM_FLAGS + 0xE)
// cities and towns
-#define FLAG_VISITED_LITTLEROOT_TOWN (CODE_FLAGS + 0xF)
-#define FLAG_VISITED_OLDALE_TOWN (CODE_FLAGS + 0x10)
-#define FLAG_VISITED_DEWFORD_TOWN (CODE_FLAGS + 0x11)
-#define FLAG_VISITED_LAVARIDGE_TOWN (CODE_FLAGS + 0x12)
-#define FLAG_VISITED_FALLARBOR_TOWN (CODE_FLAGS + 0x13)
-#define FLAG_VISITED_VERDANTURF_TOWN (CODE_FLAGS + 0x14)
-#define FLAG_VISITED_PACIFIDLOG_TOWN (CODE_FLAGS + 0x15)
-#define FLAG_VISITED_PETALBURG_CITY (CODE_FLAGS + 0x16)
-#define FLAG_VISITED_SLATEPORT_CITY (CODE_FLAGS + 0x17)
-#define FLAG_VISITED_MAUVILLE_CITY (CODE_FLAGS + 0x18)
-#define FLAG_VISITED_RUSTBORO_CITY (CODE_FLAGS + 0x19)
-#define FLAG_VISITED_FORTREE_CITY (CODE_FLAGS + 0x1A)
-#define FLAG_VISITED_LILYCOVE_CITY (CODE_FLAGS + 0x1B)
-#define FLAG_VISITED_MOSSDEEP_CITY (CODE_FLAGS + 0x1C)
-#define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D)
-#define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E)
+#define FLAG_VISITED_LITTLEROOT_TOWN (SYSTEM_FLAGS + 0xF)
+#define FLAG_VISITED_OLDALE_TOWN (SYSTEM_FLAGS + 0x10)
+#define FLAG_VISITED_DEWFORD_TOWN (SYSTEM_FLAGS + 0x11)
+#define FLAG_VISITED_LAVARIDGE_TOWN (SYSTEM_FLAGS + 0x12)
+#define FLAG_VISITED_FALLARBOR_TOWN (SYSTEM_FLAGS + 0x13)
+#define FLAG_VISITED_VERDANTURF_TOWN (SYSTEM_FLAGS + 0x14)
+#define FLAG_VISITED_PACIFIDLOG_TOWN (SYSTEM_FLAGS + 0x15)
+#define FLAG_VISITED_PETALBURG_CITY (SYSTEM_FLAGS + 0x16)
+#define FLAG_VISITED_SLATEPORT_CITY (SYSTEM_FLAGS + 0x17)
+#define FLAG_VISITED_MAUVILLE_CITY (SYSTEM_FLAGS + 0x18)
+#define FLAG_VISITED_RUSTBORO_CITY (SYSTEM_FLAGS + 0x19)
+#define FLAG_VISITED_FORTREE_CITY (SYSTEM_FLAGS + 0x1A)
+#define FLAG_VISITED_LILYCOVE_CITY (SYSTEM_FLAGS + 0x1B)
+#define FLAG_VISITED_MOSSDEEP_CITY (SYSTEM_FLAGS + 0x1C)
+#define FLAG_VISITED_SOOTOPOLIS_CITY (SYSTEM_FLAGS + 0x1D)
+#define FLAG_VISITED_EVER_GRANDE_CITY (SYSTEM_FLAGS + 0x1E)
-#define FLAG_0x87F (CODE_FLAGS + 0x1F)
-#define FLAG_0x880 (CODE_FLAGS + 0x20)
-#define FLAG_0x881 (CODE_FLAGS + 0x21)
-#define FLAG_0x882 (CODE_FLAGS + 0x22)
-#define FLAG_0x883 (CODE_FLAGS + 0x23)
-#define FLAG_0x884 (CODE_FLAGS + 0x24)
-#define FLAG_0x885 (CODE_FLAGS + 0x25)
-#define FLAG_0x886 (CODE_FLAGS + 0x26)
-#define FLAG_0x887 (CODE_FLAGS + 0x27)
+#define FLAG_0x87F (SYSTEM_FLAGS + 0x1F)
+#define FLAG_0x880 (SYSTEM_FLAGS + 0x20)
+#define FLAG_0x881 (SYSTEM_FLAGS + 0x21)
+#define FLAG_0x882 (SYSTEM_FLAGS + 0x22)
+#define FLAG_0x883 (SYSTEM_FLAGS + 0x23)
+#define FLAG_0x884 (SYSTEM_FLAGS + 0x24)
+#define FLAG_0x885 (SYSTEM_FLAGS + 0x25)
+#define FLAG_0x886 (SYSTEM_FLAGS + 0x26)
+#define FLAG_0x887 (SYSTEM_FLAGS + 0x27)
-#define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28)
-#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29)
-#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A)
-#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B)
-#define FLAG_SYS_SAFARI_MODE (CODE_FLAGS + 0x2C)
-#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D)
+#define FLAG_SYS_USE_FLASH (SYSTEM_FLAGS + 0x28)
+#define FLAG_SYS_USE_STRENGTH (SYSTEM_FLAGS + 0x29)
+#define FLAG_SYS_WEATHER_CTRL (SYSTEM_FLAGS + 0x2A)
+#define FLAG_SYS_CYCLING_ROAD (SYSTEM_FLAGS + 0x2B)
+#define FLAG_SYS_SAFARI_MODE (SYSTEM_FLAGS + 0x2C)
+#define FLAG_SYS_CRUISE_MODE (SYSTEM_FLAGS + 0x2D)
-#define FLAG_0x88E (CODE_FLAGS + 0x2E)
-#define FLAG_0x88F (CODE_FLAGS + 0x2F)
+#define FLAG_0x88E (SYSTEM_FLAGS + 0x2E)
+#define FLAG_0x88F (SYSTEM_FLAGS + 0x2F)
-#define FLAG_SYS_TV_HOME (CODE_FLAGS + 0x30)
-#define FLAG_SYS_TV_WATCH (CODE_FLAGS + 0x31)
-#define FLAG_SYS_TV_START (CODE_FLAGS + 0x32)
-#define FLAG_SYS_POPWORD_INPUT (CODE_FLAGS + 0x33)
-#define FLAG_SYS_MIX_RECORD (CODE_FLAGS + 0x34)
-#define FLAG_SYS_CLOCK_SET (CODE_FLAGS + 0x35)
-#define FLAG_SYS_NATIONAL_DEX (CODE_FLAGS + 0x36)
-#define FLAG_SYS_CAVE_SHIP (CODE_FLAGS + 0x37)
-#define FLAG_SYS_CAVE_WONDER (CODE_FLAGS + 0x38)
-#define FLAG_SYS_CAVE_BATTLE (CODE_FLAGS + 0x39)
-#define FLAG_SYS_SHOAL_TIDE (CODE_FLAGS + 0x3A)
-#define FLAG_SYS_RIBBON_GET (CODE_FLAGS + 0x3B)
+#define FLAG_SYS_TV_HOME (SYSTEM_FLAGS + 0x30)
+#define FLAG_SYS_TV_WATCH (SYSTEM_FLAGS + 0x31)
+#define FLAG_SYS_TV_START (SYSTEM_FLAGS + 0x32)
+#define FLAG_SYS_POPWORD_INPUT (SYSTEM_FLAGS + 0x33)
+#define FLAG_SYS_MIX_RECORD (SYSTEM_FLAGS + 0x34)
+#define FLAG_SYS_CLOCK_SET (SYSTEM_FLAGS + 0x35)
+#define FLAG_SYS_NATIONAL_DEX (SYSTEM_FLAGS + 0x36)
+#define FLAG_SYS_CAVE_SHIP (SYSTEM_FLAGS + 0x37)
+#define FLAG_SYS_CAVE_WONDER (SYSTEM_FLAGS + 0x38)
+#define FLAG_SYS_CAVE_BATTLE (SYSTEM_FLAGS + 0x39)
+#define FLAG_SYS_SHOAL_TIDE (SYSTEM_FLAGS + 0x3A)
+#define FLAG_SYS_RIBBON_GET (SYSTEM_FLAGS + 0x3B)
-#define FLAG_0x89C (CODE_FLAGS + 0x3C)
-#define FLAG_0x89D (CODE_FLAGS + 0x3D)
-#define FLAG_0x89E (CODE_FLAGS + 0x3E)
-#define FLAG_0x89F (CODE_FLAGS + 0x3F)
-#define FLAG_0x8A0 (CODE_FLAGS + 0x40)
-#define FLAG_0x8A1 (CODE_FLAGS + 0x41)
-#define FLAG_0x8A2 (CODE_FLAGS + 0x42)
-#define FLAG_0x8A3 (CODE_FLAGS + 0x43)
-#define FLAG_0x8A4 (CODE_FLAGS + 0x44)
-#define FLAG_0x8A5 (CODE_FLAGS + 0x45)
-#define FLAG_0x8A6 (CODE_FLAGS + 0x46)
-#define FLAG_0x8A7 (CODE_FLAGS + 0x47)
-#define FLAG_UNLOCK_BATTLE_FRONTIER (CODE_FLAGS + 0x48)
-#define FLAG_UNLOCK_SOUTHERN_ISLAND (CODE_FLAGS + 0x49)
-#define FLAG_0x8AA (CODE_FLAGS + 0x4A)
+#define FLAG_LANDMARK_FLOWER_SHOP (SYSTEM_FLAGS + 0x3C)
+#define FLAG_LANDMARK_MR_BRINEY_HOUSE (SYSTEM_FLAGS + 0x3D)
+#define FLAG_LANDMARK_ABANDONED_SHIP (SYSTEM_FLAGS + 0x3E)
+#define FLAG_LANDMARK_SEASHORE_HOUSE (SYSTEM_FLAGS + 0x3F)
+#define FLAG_LANDMARK_NEW_MAUVILLE (SYSTEM_FLAGS + 0x40)
+#define FLAG_LANDMARK_OLD_LADY_REST_SHOP (SYSTEM_FLAGS + 0x41)
+#define FLAG_LANDMARK_TRICK_HOUSE (SYSTEM_FLAGS + 0x42)
+#define FLAG_LANDMARK_WINSTRATE_FAMILY (SYSTEM_FLAGS + 0x43)
+#define FLAG_LANDMARK_GLASS_WORKSHOP (SYSTEM_FLAGS + 0x44)
+#define FLAG_LANDMARK_LANETTES_HOUSE (SYSTEM_FLAGS + 0x45)
+#define FLAG_LANDMARK_POKEMON_DAYCARE (SYSTEM_FLAGS + 0x46)
+#define FLAG_LANDMARK_SEAFLOOR_CAVERN (SYSTEM_FLAGS + 0x47)
+#define FLAG_LANDMARK_BATTLE_FRONTIER (SYSTEM_FLAGS + 0x48)
+#define FLAG_LANDMARK_SOUTHERN_ISLAND (SYSTEM_FLAGS + 0x49)
+#define FLAG_LANDMARK_FIERY_PATH (SYSTEM_FLAGS + 0x4A)
-#define FLAG_SYS_PC_LANETTE (CODE_FLAGS + 0x4B)
-#define FLAG_SYS_MYSTERY_EVENT_ENABLE (CODE_FLAGS + 0x4C)
-#define FLAG_SYS_ENC_UP_ITEM (CODE_FLAGS + 0x4D)
-#define FLAG_SYS_ENC_DOWN_ITEM (CODE_FLAGS + 0x4E)
-#define FLAG_SYS_BRAILLE_DIG (CODE_FLAGS + 0x4F)
-#define FLAG_SYS_BRAILLE_STRENGTH (CODE_FLAGS + 0x50)
-#define FLAG_SYS_BRAILLE_WAIT (CODE_FLAGS + 0x51)
-#define FLAG_SYS_BRAILLE_FLY (CODE_FLAGS + 0x52)
-#define FLAG_SYS_HAS_EON_TICKET (CODE_FLAGS + 0x53)
+#define FLAG_SYS_PC_LANETTE (SYSTEM_FLAGS + 0x4B)
+#define FLAG_SYS_MYSTERY_EVENT_ENABLE (SYSTEM_FLAGS + 0x4C)
+#define FLAG_SYS_ENC_UP_ITEM (SYSTEM_FLAGS + 0x4D)
+#define FLAG_SYS_ENC_DOWN_ITEM (SYSTEM_FLAGS + 0x4E)
+#define FLAG_SYS_BRAILLE_DIG (SYSTEM_FLAGS + 0x4F)
+#define FLAG_SYS_BRAILLE_STRENGTH (SYSTEM_FLAGS + 0x50)
+#define FLAG_SYS_BRAILLE_WAIT (SYSTEM_FLAGS + 0x51)
+#define FLAG_SYS_BRAILLE_FLY (SYSTEM_FLAGS + 0x52)
+#define FLAG_SYS_HAS_EON_TICKET (SYSTEM_FLAGS + 0x53)
-#define FLAG_SYS_POKEMON_LEAGUE_FLY (CODE_FLAGS + 0x54)
+#define FLAG_LANDMARK_POKEMON_LEAGUE (SYSTEM_FLAGS + 0x54)
-#define FLAG_0x8B5 (CODE_FLAGS + 0x55)
-#define FLAG_0x8B6 (CODE_FLAGS + 0x56)
-#define FLAG_0x8B7 (CODE_FLAGS + 0x57)
-#define FLAG_0x8B8 (CODE_FLAGS + 0x58)
-#define FLAG_0x8B9 (CODE_FLAGS + 0x59)
-#define FLAG_0x8BA (CODE_FLAGS + 0x5A)
-#define FLAG_0x8BB (CODE_FLAGS + 0x5B)
-#define FLAG_0x8BC (CODE_FLAGS + 0x5C)
+#define FLAG_LANDMARK_ISLAND_CAVE (SYSTEM_FLAGS + 0x55)
+#define FLAG_LANDMARK_DESERT_RUINS (SYSTEM_FLAGS + 0x56)
+#define FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE (SYSTEM_FLAGS + 0x57)
+#define FLAG_LANDMARK_SCORCHED_SLAB (SYSTEM_FLAGS + 0x58)
+#define FLAG_LANDMARK_ANCIENT_TOMB (SYSTEM_FLAGS + 0x59)
+#define FLAG_LANDMARK_TUNNELERS_REST_HOUSE (SYSTEM_FLAGS + 0x5A)
+#define FLAG_LANDMARK_HUNTERS_HOUSE (SYSTEM_FLAGS + 0x5B)
+#define FLAG_LANDMARK_SEALED_CHAMBER (SYSTEM_FLAGS + 0x5C)
-#define FLAG_SYS_TV_LATI (CODE_FLAGS + 0x5D)
+#define FLAG_SYS_TV_LATI (SYSTEM_FLAGS + 0x5D)
-#define FLAG_0x8BE (CODE_FLAGS + 0x5E)
+#define FLAG_LANDMARK_SKY_PILLAR (SYSTEM_FLAGS + 0x5E)
-#define FLAG_SYS_SHOAL_ITEM (CODE_FLAGS + 0x5F)
-#define FLAG_SYS_B_DASH (CODE_FLAGS + 0x60) // got Running Shoes
-#define FLAG_SYS_CTRL_OBJ_DELETE (CODE_FLAGS + 0x61)
-#define FLAG_SYS_RESET_RTC_ENABLE (CODE_FLAGS + 0x62)
+#define FLAG_SYS_SHOAL_ITEM (SYSTEM_FLAGS + 0x5F)
+#define FLAG_SYS_B_DASH (SYSTEM_FLAGS + 0x60) // got Running Shoes
+#define FLAG_SYS_CTRL_OBJ_DELETE (SYSTEM_FLAGS + 0x61)
+#define FLAG_SYS_RESET_RTC_ENABLE (SYSTEM_FLAGS + 0x62)
-#define FLAG_0x8C3 (CODE_FLAGS + 0x63)
+#define FLAG_LANDMARK_BERRY_MASTERS_HOUSE (SYSTEM_FLAGS + 0x63)
-#define FLAG_SYS_TOWER_SILVER (CODE_FLAGS + 0x64)
-#define FLAG_SYS_TOWER_GOLD (CODE_FLAGS + 0x65)
-#define FLAG_SYS_DOME_SILVER (CODE_FLAGS + 0x66)
-#define FLAG_SYS_DOME_GOLD (CODE_FLAGS + 0x67)
-#define FLAG_SYS_PALACE_SILVER (CODE_FLAGS + 0x68)
-#define FLAG_SYS_PALACE_GOLD (CODE_FLAGS + 0x69)
-#define FLAG_SYS_ARENA_SILVER (CODE_FLAGS + 0x6A)
-#define FLAG_SYS_ARENA_GOLD (CODE_FLAGS + 0x6B)
-#define FLAG_SYS_FACTORY_SILVER (CODE_FLAGS + 0x6C)
-#define FLAG_SYS_FACTORY_GOLD (CODE_FLAGS + 0x6D)
-#define FLAG_SYS_PIKE_SILVER (CODE_FLAGS + 0x6E)
-#define FLAG_SYS_PIKE_GOLD (CODE_FLAGS + 0x6F)
-#define FLAG_SYS_PYRAMID_SILVER (CODE_FLAGS + 0x70)
-#define FLAG_SYS_PYRAMID_GOLD (CODE_FLAGS + 0x71)
-#define FLAG_SYS_FRONTIER_PASS (CODE_FLAGS + 0x72)
+#define FLAG_SYS_TOWER_SILVER (SYSTEM_FLAGS + 0x64)
+#define FLAG_SYS_TOWER_GOLD (SYSTEM_FLAGS + 0x65)
+#define FLAG_SYS_DOME_SILVER (SYSTEM_FLAGS + 0x66)
+#define FLAG_SYS_DOME_GOLD (SYSTEM_FLAGS + 0x67)
+#define FLAG_SYS_PALACE_SILVER (SYSTEM_FLAGS + 0x68)
+#define FLAG_SYS_PALACE_GOLD (SYSTEM_FLAGS + 0x69)
+#define FLAG_SYS_ARENA_SILVER (SYSTEM_FLAGS + 0x6A)
+#define FLAG_SYS_ARENA_GOLD (SYSTEM_FLAGS + 0x6B)
+#define FLAG_SYS_FACTORY_SILVER (SYSTEM_FLAGS + 0x6C)
+#define FLAG_SYS_FACTORY_GOLD (SYSTEM_FLAGS + 0x6D)
+#define FLAG_SYS_PIKE_SILVER (SYSTEM_FLAGS + 0x6E)
+#define FLAG_SYS_PIKE_GOLD (SYSTEM_FLAGS + 0x6F)
+#define FLAG_SYS_PYRAMID_SILVER (SYSTEM_FLAGS + 0x70)
+#define FLAG_SYS_PYRAMID_GOLD (SYSTEM_FLAGS + 0x71)
+#define FLAG_SYS_FRONTIER_PASS (SYSTEM_FLAGS + 0x72)
-#define FLAG_0x8D3 (CODE_FLAGS + 0x73)
-#define FLAG_0x8D4 (CODE_FLAGS + 0x74)
-#define FLAG_0x8D5 (CODE_FLAGS + 0x75)
-#define FLAG_0x8D6 (CODE_FLAGS + 0x76)
+#define FLAG_0x8D3 (SYSTEM_FLAGS + 0x73)
+#define FLAG_0x8D4 (SYSTEM_FLAGS + 0x74)
+#define FLAG_0x8D5 (SYSTEM_FLAGS + 0x75)
+#define FLAG_0x8D6 (SYSTEM_FLAGS + 0x76)
-#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (CODE_FLAGS + 0x77)
+#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77)
-#define FLAG_0x8D8 (CODE_FLAGS + 0x78)
-#define FLAG_0x8D9 (CODE_FLAGS + 0x79)
-#define FLAG_0x8DA (CODE_FLAGS + 0x7A)
+#define FLAG_0x8D8 (SYSTEM_FLAGS + 0x78)
+#define FLAG_0x8D9 (SYSTEM_FLAGS + 0x79)
+#define FLAG_0x8DA (SYSTEM_FLAGS + 0x7A)
-#define FLAG_SYS_MYSTERY_GIFT_ENABLE (CODE_FLAGS + 0x7B)
+#define FLAG_SYS_MYSTERY_GIFT_ENABLE (SYSTEM_FLAGS + 0x7B)
-#define FLAG_0x8DC (CODE_FLAGS + 0x7C)
-#define FLAG_0x8DD (CODE_FLAGS + 0x7D)
-#define FLAG_0x8DE (CODE_FLAGS + 0x7E)
-#define FLAG_0x8DF (CODE_FLAGS + 0x7F)
-#define FLAG_0x8E0 (CODE_FLAGS + 0x80)
-#define FLAG_0x8E1 (CODE_FLAGS + 0x81)
-#define FLAG_0x8E2 (CODE_FLAGS + 0x82)
-#define FLAG_0x8E3 (CODE_FLAGS + 0x83)
-#define FLAG_0x8E4 (CODE_FLAGS + 0x84)
-#define FLAG_0x8E5 (CODE_FLAGS + 0x85)
-#define FLAG_0x8E6 (CODE_FLAGS + 0x86)
-#define FLAG_0x8E7 (CODE_FLAGS + 0x87)
-#define FLAG_0x8E8 (CODE_FLAGS + 0x88)
-#define FLAG_0x8E9 (CODE_FLAGS + 0x89)
-#define FLAG_0x8EA (CODE_FLAGS + 0x8A)
-#define FLAG_0x8EB (CODE_FLAGS + 0x8B)
-#define FLAG_0x8EC (CODE_FLAGS + 0x8C)
-#define FLAG_0x8ED (CODE_FLAGS + 0x8D)
-#define FLAG_0x8EE (CODE_FLAGS + 0x8E)
-#define FLAG_0x8EF (CODE_FLAGS + 0x8F)
-#define FLAG_0x8F0 (CODE_FLAGS + 0x90)
-#define FLAG_0x8F1 (CODE_FLAGS + 0x91)
-#define FLAG_0x8F2 (CODE_FLAGS + 0x92)
-#define FLAG_0x8F3 (CODE_FLAGS + 0x93)
-#define FLAG_0x8F4 (CODE_FLAGS + 0x94)
-#define FLAG_0x8F5 (CODE_FLAGS + 0x95)
-#define FLAG_0x8F6 (CODE_FLAGS + 0x96)
-#define FLAG_0x8F7 (CODE_FLAGS + 0x97)
-#define FLAG_0x8F8 (CODE_FLAGS + 0x98)
-#define FLAG_0x8F9 (CODE_FLAGS + 0x99)
-#define FLAG_0x8FA (CODE_FLAGS + 0x9A)
-#define FLAG_0x8FB (CODE_FLAGS + 0x9B)
-#define FLAG_0x8FC (CODE_FLAGS + 0x9C)
-#define FLAG_0x8FD (CODE_FLAGS + 0x9D)
-#define FLAG_0x8FE (CODE_FLAGS + 0x9E)
-#define FLAG_0x8FF (CODE_FLAGS + 0x9F)
-#define FLAG_0x900 (CODE_FLAGS + 0xA0)
-#define FLAG_0x901 (CODE_FLAGS + 0xA1)
-#define FLAG_0x902 (CODE_FLAGS + 0xA2)
-#define FLAG_0x903 (CODE_FLAGS + 0xA3)
-#define FLAG_0x904 (CODE_FLAGS + 0xA4)
-#define FLAG_0x905 (CODE_FLAGS + 0xA5)
-#define FLAG_0x906 (CODE_FLAGS + 0xA6)
-#define FLAG_0x907 (CODE_FLAGS + 0xA7)
-#define FLAG_0x908 (CODE_FLAGS + 0xA8)
-#define FLAG_0x909 (CODE_FLAGS + 0xA9)
-#define FLAG_0x90A (CODE_FLAGS + 0xAA)
-#define FLAG_0x90B (CODE_FLAGS + 0xAB)
-#define FLAG_0x90C (CODE_FLAGS + 0xAC)
-#define FLAG_0x90D (CODE_FLAGS + 0xAD)
-#define FLAG_0x90E (CODE_FLAGS + 0xAE)
-#define FLAG_0x90F (CODE_FLAGS + 0xAF)
-#define FLAG_0x910 (CODE_FLAGS + 0xB0)
-#define FLAG_0x911 (CODE_FLAGS + 0xB1)
-#define FLAG_0x912 (CODE_FLAGS + 0xB2)
-#define FLAG_0x913 (CODE_FLAGS + 0xB3)
-#define FLAG_0x914 (CODE_FLAGS + 0xB4)
-#define FLAG_0x915 (CODE_FLAGS + 0xB5)
-#define FLAG_0x916 (CODE_FLAGS + 0xB6)
-#define FLAG_0x917 (CODE_FLAGS + 0xB7)
-#define FLAG_0x918 (CODE_FLAGS + 0xB8)
-#define FLAG_0x919 (CODE_FLAGS + 0xB9)
-#define FLAG_0x91A (CODE_FLAGS + 0xBA)
-#define FLAG_0x91B (CODE_FLAGS + 0xBB)
-#define FLAG_0x91C (CODE_FLAGS + 0xBC)
-#define FLAG_0x91D (CODE_FLAGS + 0xBD)
-#define FLAG_0x91E (CODE_FLAGS + 0xBE)
-#define FLAG_0x91F (CODE_FLAGS + 0xBF)
-#define FLAG_0x920 (CODE_FLAGS + 0xC0)
-#define FLAG_0x921 (CODE_FLAGS + 0xC1)
-#define FLAG_0x922 (CODE_FLAGS + 0xC2)
-#define FLAG_0x923 (CODE_FLAGS + 0xC3)
-#define FLAG_0x924 (CODE_FLAGS + 0xC4)
-#define FLAG_0x925 (CODE_FLAGS + 0xC5)
-#define FLAG_0x926 (CODE_FLAGS + 0xC6)
-#define FLAG_0x927 (CODE_FLAGS + 0xC7)
-#define FLAG_0x928 (CODE_FLAGS + 0xC8)
-#define FLAG_0x929 (CODE_FLAGS + 0xC9)
-#define FLAG_0x92A (CODE_FLAGS + 0xCA)
-#define FLAG_0x92B (CODE_FLAGS + 0xCB)
-#define FLAG_0x92C (CODE_FLAGS + 0xCC)
-#define FLAG_0x92D (CODE_FLAGS + 0xCD)
-#define FLAG_0x92E (CODE_FLAGS + 0xCE)
-#define FLAG_0x92F (CODE_FLAGS + 0xCF)
-#define FLAG_0x930 (CODE_FLAGS + 0xD0)
-#define FLAG_0x931 (CODE_FLAGS + 0xD1)
-#define FLAG_0x932 (CODE_FLAGS + 0xD2)
-#define FLAG_0x933 (CODE_FLAGS + 0xD3)
-#define FLAG_0x934 (CODE_FLAGS + 0xD4)
-#define FLAG_0x935 (CODE_FLAGS + 0xD5)
-#define FLAG_0x936 (CODE_FLAGS + 0xD6)
-#define FLAG_0x937 (CODE_FLAGS + 0xD7)
-#define FLAG_0x938 (CODE_FLAGS + 0xD8)
-#define FLAG_0x939 (CODE_FLAGS + 0xD9)
-#define FLAG_0x93A (CODE_FLAGS + 0xDA)
-#define FLAG_0x93B (CODE_FLAGS + 0xDB)
-#define FLAG_0x93C (CODE_FLAGS + 0xDC)
-#define FLAG_0x93D (CODE_FLAGS + 0xDD)
-#define FLAG_0x93E (CODE_FLAGS + 0xDE)
-#define FLAG_0x93F (CODE_FLAGS + 0xDF)
-#define FLAG_0x940 (CODE_FLAGS + 0xE0)
-#define FLAG_0x941 (CODE_FLAGS + 0xE1)
-#define FLAG_0x942 (CODE_FLAGS + 0xE2)
-#define FLAG_0x943 (CODE_FLAGS + 0xE3)
-#define FLAG_0x944 (CODE_FLAGS + 0xE4)
-#define FLAG_0x945 (CODE_FLAGS + 0xE5)
-#define FLAG_0x946 (CODE_FLAGS + 0xE6)
-#define FLAG_0x947 (CODE_FLAGS + 0xE7)
-#define FLAG_0x948 (CODE_FLAGS + 0xE8)
-#define FLAG_0x949 (CODE_FLAGS + 0xE9)
-#define FLAG_0x94A (CODE_FLAGS + 0xEA)
-#define FLAG_0x94B (CODE_FLAGS + 0xEB)
-#define FLAG_0x94C (CODE_FLAGS + 0xEC)
-#define FLAG_0x94D (CODE_FLAGS + 0xED)
-#define FLAG_0x94E (CODE_FLAGS + 0xEE)
-#define FLAG_0x94F (CODE_FLAGS + 0xEF)
-#define FLAG_0x950 (CODE_FLAGS + 0xF0)
-#define FLAG_0x951 (CODE_FLAGS + 0xF1)
-#define FLAG_0x952 (CODE_FLAGS + 0xF2)
-#define FLAG_0x953 (CODE_FLAGS + 0xF3)
-#define FLAG_0x954 (CODE_FLAGS + 0xF4)
-#define FLAG_0x955 (CODE_FLAGS + 0xF5)
-#define FLAG_0x956 (CODE_FLAGS + 0xF6)
-#define FLAG_0x957 (CODE_FLAGS + 0xF7)
-#define FLAG_0x958 (CODE_FLAGS + 0xF8)
-#define FLAG_0x959 (CODE_FLAGS + 0xF9)
-#define FLAG_0x95A (CODE_FLAGS + 0xFA)
-#define FLAG_0x95B (CODE_FLAGS + 0xFB)
-#define FLAG_0x95C (CODE_FLAGS + 0xFC)
-#define FLAG_0x95D (CODE_FLAGS + 0xFD)
-#define FLAG_0x95E (CODE_FLAGS + 0xFE)
-#define FLAG_0x95F (CODE_FLAGS + 0xFF)
+#define FLAG_0x8DC (SYSTEM_FLAGS + 0x7C)
+#define FLAG_LANDMARK_ALTERING_CAVE (SYSTEM_FLAGS + 0x7D)
+#define FLAG_LANDMARK_DESERT_UNDERPASS (SYSTEM_FLAGS + 0x7E)
+#define FLAG_0x8DF (SYSTEM_FLAGS + 0x7F)
+#define FLAG_0x8E0 (SYSTEM_FLAGS + 0x80)
+#define FLAG_0x8E1 (SYSTEM_FLAGS + 0x81)
+#define FLAG_LANDMARK_TRAINER_HILL (SYSTEM_FLAGS + 0x82)
+
+#define FLAG_0x8E3 (SYSTEM_FLAGS + 0x83)
+#define FLAG_0x8E4 (SYSTEM_FLAGS + 0x84)
+#define FLAG_0x8E5 (SYSTEM_FLAGS + 0x85)
+#define FLAG_0x8E6 (SYSTEM_FLAGS + 0x86)
+#define FLAG_0x8E7 (SYSTEM_FLAGS + 0x87)
+#define FLAG_0x8E8 (SYSTEM_FLAGS + 0x88)
+#define FLAG_0x8E9 (SYSTEM_FLAGS + 0x89)
+#define FLAG_0x8EA (SYSTEM_FLAGS + 0x8A)
+#define FLAG_0x8EB (SYSTEM_FLAGS + 0x8B)
+#define FLAG_0x8EC (SYSTEM_FLAGS + 0x8C)
+#define FLAG_0x8ED (SYSTEM_FLAGS + 0x8D)
+#define FLAG_0x8EE (SYSTEM_FLAGS + 0x8E)
+#define FLAG_0x8EF (SYSTEM_FLAGS + 0x8F)
+#define FLAG_0x8F0 (SYSTEM_FLAGS + 0x90)
+#define FLAG_0x8F1 (SYSTEM_FLAGS + 0x91)
+#define FLAG_0x8F2 (SYSTEM_FLAGS + 0x92)
+#define FLAG_0x8F3 (SYSTEM_FLAGS + 0x93)
+#define FLAG_0x8F4 (SYSTEM_FLAGS + 0x94)
+#define FLAG_0x8F5 (SYSTEM_FLAGS + 0x95)
+#define FLAG_0x8F6 (SYSTEM_FLAGS + 0x96)
+#define FLAG_0x8F7 (SYSTEM_FLAGS + 0x97)
+#define FLAG_0x8F8 (SYSTEM_FLAGS + 0x98)
+#define FLAG_0x8F9 (SYSTEM_FLAGS + 0x99)
+#define FLAG_0x8FA (SYSTEM_FLAGS + 0x9A)
+#define FLAG_0x8FB (SYSTEM_FLAGS + 0x9B)
+#define FLAG_0x8FC (SYSTEM_FLAGS + 0x9C)
+#define FLAG_0x8FD (SYSTEM_FLAGS + 0x9D)
+#define FLAG_0x8FE (SYSTEM_FLAGS + 0x9E)
+#define FLAG_0x8FF (SYSTEM_FLAGS + 0x9F)
+#define FLAG_0x900 (SYSTEM_FLAGS + 0xA0)
+#define FLAG_0x901 (SYSTEM_FLAGS + 0xA1)
+#define FLAG_0x902 (SYSTEM_FLAGS + 0xA2)
+#define FLAG_0x903 (SYSTEM_FLAGS + 0xA3)
+#define FLAG_0x904 (SYSTEM_FLAGS + 0xA4)
+#define FLAG_0x905 (SYSTEM_FLAGS + 0xA5)
+#define FLAG_0x906 (SYSTEM_FLAGS + 0xA6)
+#define FLAG_0x907 (SYSTEM_FLAGS + 0xA7)
+#define FLAG_0x908 (SYSTEM_FLAGS + 0xA8)
+#define FLAG_0x909 (SYSTEM_FLAGS + 0xA9)
+#define FLAG_0x90A (SYSTEM_FLAGS + 0xAA)
+#define FLAG_0x90B (SYSTEM_FLAGS + 0xAB)
+#define FLAG_0x90C (SYSTEM_FLAGS + 0xAC)
+#define FLAG_0x90D (SYSTEM_FLAGS + 0xAD)
+#define FLAG_0x90E (SYSTEM_FLAGS + 0xAE)
+#define FLAG_0x90F (SYSTEM_FLAGS + 0xAF)
+#define FLAG_0x910 (SYSTEM_FLAGS + 0xB0)
+#define FLAG_0x911 (SYSTEM_FLAGS + 0xB1)
+#define FLAG_0x912 (SYSTEM_FLAGS + 0xB2)
+#define FLAG_0x913 (SYSTEM_FLAGS + 0xB3)
+#define FLAG_0x914 (SYSTEM_FLAGS + 0xB4)
+#define FLAG_0x915 (SYSTEM_FLAGS + 0xB5)
+#define FLAG_0x916 (SYSTEM_FLAGS + 0xB6)
+#define FLAG_0x917 (SYSTEM_FLAGS + 0xB7)
+#define FLAG_0x918 (SYSTEM_FLAGS + 0xB8)
+#define FLAG_0x919 (SYSTEM_FLAGS + 0xB9)
+#define FLAG_0x91A (SYSTEM_FLAGS + 0xBA)
+#define FLAG_0x91B (SYSTEM_FLAGS + 0xBB)
+#define FLAG_0x91C (SYSTEM_FLAGS + 0xBC)
+#define FLAG_0x91D (SYSTEM_FLAGS + 0xBD)
+#define FLAG_0x91E (SYSTEM_FLAGS + 0xBE)
+#define FLAG_0x91F (SYSTEM_FLAGS + 0xBF)
+#define FLAG_0x920 (SYSTEM_FLAGS + 0xC0)
+#define FLAG_0x921 (SYSTEM_FLAGS + 0xC1)
+#define FLAG_0x922 (SYSTEM_FLAGS + 0xC2)
+#define FLAG_0x923 (SYSTEM_FLAGS + 0xC3)
+#define FLAG_0x924 (SYSTEM_FLAGS + 0xC4)
+#define FLAG_0x925 (SYSTEM_FLAGS + 0xC5)
+#define FLAG_0x926 (SYSTEM_FLAGS + 0xC6)
+#define FLAG_0x927 (SYSTEM_FLAGS + 0xC7)
+#define FLAG_0x928 (SYSTEM_FLAGS + 0xC8)
+#define FLAG_0x929 (SYSTEM_FLAGS + 0xC9)
+#define FLAG_0x92A (SYSTEM_FLAGS + 0xCA)
+#define FLAG_0x92B (SYSTEM_FLAGS + 0xCB)
+#define FLAG_0x92C (SYSTEM_FLAGS + 0xCC)
+#define FLAG_0x92D (SYSTEM_FLAGS + 0xCD)
+#define FLAG_0x92E (SYSTEM_FLAGS + 0xCE)
+#define FLAG_0x92F (SYSTEM_FLAGS + 0xCF)
+#define FLAG_0x930 (SYSTEM_FLAGS + 0xD0)
+#define FLAG_0x931 (SYSTEM_FLAGS + 0xD1)
+#define FLAG_0x932 (SYSTEM_FLAGS + 0xD2)
+#define FLAG_0x933 (SYSTEM_FLAGS + 0xD3)
+#define FLAG_0x934 (SYSTEM_FLAGS + 0xD4)
+#define FLAG_0x935 (SYSTEM_FLAGS + 0xD5)
+#define FLAG_0x936 (SYSTEM_FLAGS + 0xD6)
+#define FLAG_0x937 (SYSTEM_FLAGS + 0xD7)
+#define FLAG_0x938 (SYSTEM_FLAGS + 0xD8)
+#define FLAG_0x939 (SYSTEM_FLAGS + 0xD9)
+#define FLAG_0x93A (SYSTEM_FLAGS + 0xDA)
+#define FLAG_0x93B (SYSTEM_FLAGS + 0xDB)
+#define FLAG_0x93C (SYSTEM_FLAGS + 0xDC)
+#define FLAG_0x93D (SYSTEM_FLAGS + 0xDD)
+#define FLAG_0x93E (SYSTEM_FLAGS + 0xDE)
+#define FLAG_0x93F (SYSTEM_FLAGS + 0xDF)
+#define FLAG_0x940 (SYSTEM_FLAGS + 0xE0)
+#define FLAG_0x941 (SYSTEM_FLAGS + 0xE1)
+#define FLAG_0x942 (SYSTEM_FLAGS + 0xE2)
+#define FLAG_0x943 (SYSTEM_FLAGS + 0xE3)
+#define FLAG_0x944 (SYSTEM_FLAGS + 0xE4)
+#define FLAG_0x945 (SYSTEM_FLAGS + 0xE5)
+#define FLAG_0x946 (SYSTEM_FLAGS + 0xE6)
+#define FLAG_0x947 (SYSTEM_FLAGS + 0xE7)
+#define FLAG_0x948 (SYSTEM_FLAGS + 0xE8)
+#define FLAG_0x949 (SYSTEM_FLAGS + 0xE9)
+#define FLAG_0x94A (SYSTEM_FLAGS + 0xEA)
+#define FLAG_0x94B (SYSTEM_FLAGS + 0xEB)
+#define FLAG_0x94C (SYSTEM_FLAGS + 0xEC)
+#define FLAG_0x94D (SYSTEM_FLAGS + 0xED)
+#define FLAG_0x94E (SYSTEM_FLAGS + 0xEE)
+#define FLAG_0x94F (SYSTEM_FLAGS + 0xEF)
+#define FLAG_0x950 (SYSTEM_FLAGS + 0xF0)
+#define FLAG_0x951 (SYSTEM_FLAGS + 0xF1)
+#define FLAG_0x952 (SYSTEM_FLAGS + 0xF2)
+#define FLAG_0x953 (SYSTEM_FLAGS + 0xF3)
+#define FLAG_0x954 (SYSTEM_FLAGS + 0xF4)
+#define FLAG_0x955 (SYSTEM_FLAGS + 0xF5)
+#define FLAG_0x956 (SYSTEM_FLAGS + 0xF6)
+#define FLAG_0x957 (SYSTEM_FLAGS + 0xF7)
+#define FLAG_0x958 (SYSTEM_FLAGS + 0xF8)
+#define FLAG_0x959 (SYSTEM_FLAGS + 0xF9)
+#define FLAG_0x95A (SYSTEM_FLAGS + 0xFA)
+#define FLAG_0x95B (SYSTEM_FLAGS + 0xFB)
+#define FLAG_0x95C (SYSTEM_FLAGS + 0xFC)
+#define FLAG_0x95D (SYSTEM_FLAGS + 0xFD)
+#define FLAG_0x95E (SYSTEM_FLAGS + 0xFE)
+#define FLAG_0x95F (SYSTEM_FLAGS + 0xFF)
// SPECIAL FLAGS (unknown purpose)
#define FLAG_SPECIAL_FLAG_0x4000 0x4000
diff --git a/include/landmark.h b/include/landmark.h
new file mode 100644
index 000000000..395905033
--- /dev/null
+++ b/include/landmark.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_LANDMARK_H
+#define GUARD_LANDMARK_H
+
+const u8 *GetLandmarkName(u8 mapSection, u8 id, u8 count);
+
+#endif // GUARD_LANDMARK_H
diff --git a/include/region_map.h b/include/region_map.h
index 91384d166..e8cc80f82 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -5,223 +5,6 @@
// Exported type declarations
-enum {
- MAPSEC_LITTLEROOT_TOWN,
- MAPSEC_OLDALE_TOWN,
- MAPSEC_DEWFORD_TOWN,
- MAPSEC_LAVARIDGE_TOWN,
- MAPSEC_FALLARBOR_TOWN,
- MAPSEC_VERDANTURF_TOWN,
- MAPSEC_PACIFIDLOG_TOWN,
- MAPSEC_PETALBURG_CITY,
- MAPSEC_SLATEPORT_CITY,
- MAPSEC_MAUVILLE_CITY,
- MAPSEC_RUSTBORO_CITY,
- MAPSEC_FORTREE_CITY,
- MAPSEC_LILYCOVE_CITY,
- MAPSEC_MOSSDEEP_CITY,
- MAPSEC_SOOTOPOLIS_CITY,
- MAPSEC_EVER_GRANDE_CITY,
- MAPSEC_ROUTE_101,
- MAPSEC_ROUTE_102,
- MAPSEC_ROUTE_103,
- MAPSEC_ROUTE_104,
- MAPSEC_ROUTE_105,
- MAPSEC_ROUTE_106,
- MAPSEC_ROUTE_107,
- MAPSEC_ROUTE_108,
- MAPSEC_ROUTE_109,
- MAPSEC_ROUTE_110,
- MAPSEC_ROUTE_111,
- MAPSEC_ROUTE_112,
- MAPSEC_ROUTE_113,
- MAPSEC_ROUTE_114,
- MAPSEC_ROUTE_115,
- MAPSEC_ROUTE_116,
- MAPSEC_ROUTE_117,
- MAPSEC_ROUTE_118,
- MAPSEC_ROUTE_119,
- MAPSEC_ROUTE_120,
- MAPSEC_ROUTE_121,
- MAPSEC_ROUTE_122,
- MAPSEC_ROUTE_123,
- MAPSEC_ROUTE_124,
- MAPSEC_ROUTE_125,
- MAPSEC_ROUTE_126,
- MAPSEC_ROUTE_127,
- MAPSEC_ROUTE_128,
- MAPSEC_ROUTE_129,
- MAPSEC_ROUTE_130,
- MAPSEC_ROUTE_131,
- MAPSEC_ROUTE_132,
- MAPSEC_ROUTE_133,
- MAPSEC_ROUTE_134,
- MAPSEC_UNDERWATER_124,
- MAPSEC_UNDERWATER_125,
- MAPSEC_UNDERWATER_126,
- MAPSEC_UNDERWATER_127,
- MAPSEC_UNDERWATER_SOOTOPOLIS,
- MAPSEC_GRANITE_CAVE,
- MAPSEC_MT_CHIMNEY,
- MAPSEC_SAFARI_ZONE,
- MAPSEC_BATTLE_FRONTIER,
- MAPSEC_PETALBURG_WOODS,
- MAPSEC_RUSTURF_TUNNEL,
- MAPSEC_ABANDONED_SHIP,
- MAPSEC_NEW_MAUVILLE,
- MAPSEC_METEOR_FALLS,
- MAPSEC_METEOR_FALLS2,
- MAPSEC_MT_PYRE,
- MAPSEC_AQUA_HIDEOUT_OLD,
- MAPSEC_SHOAL_CAVE,
- MAPSEC_SEAFLOOR_CAVERN,
- MAPSEC_UNDERWATER_128,
- MAPSEC_VICTORY_ROAD,
- MAPSEC_MIRAGE_ISLAND,
- MAPSEC_CAVE_OF_ORIGIN,
- MAPSEC_SOUTHERN_ISLAND,
- MAPSEC_FIERY_PATH,
- MAPSEC_FIERY_PATH2,
- MAPSEC_JAGGED_PASS,
- MAPSEC_JAGGED_PASS2,
- MAPSEC_SEALED_CHAMBER,
- MAPSEC_UNDERWATER_SEALED_CHAMBER,
- MAPSEC_SCORCHED_SLAB,
- MAPSEC_ISLAND_CAVE,
- MAPSEC_DESERT_RUINS,
- MAPSEC_ANCIENT_TOMB,
- MAPSEC_INSIDE_OF_TRUCK,
- MAPSEC_SKY_PILLAR,
- MAPSEC_SECRET_BASE,
- MAPSEC_DYNAMIC,
- MAPSEC_PALLET_TOWN,
- MAPSEC_VIRIDIAN_CITY,
- MAPSEC_PEWTER_CITY,
- MAPSEC_CERULEAN_CITY,
- MAPSEC_LAVENDER_TOWN,
- MAPSEC_VERMILION_CITY,
- MAPSEC_CELADON_CITY,
- MAPSEC_FUCHSIA_CITY,
- MAPSEC_CINNABAR_ISLAND,
- MAPSEC_INDIGO_PLATEAU,
- MAPSEC_SAFFRON_CITY,
- MAPSEC_ROUTE_4,
- MAPSEC_ROUTE_10,
- MAPSEC_ROUTE_1,
- MAPSEC_ROUTE_2,
- MAPSEC_ROUTE_3,
- MAPSEC_ROUTE_4_2,
- MAPSEC_ROUTE_5,
- MAPSEC_ROUTE_6,
- MAPSEC_ROUTE_7,
- MAPSEC_ROUTE_8,
- MAPSEC_ROUTE_9,
- MAPSEC_ROUTE_10_2,
- MAPSEC_ROUTE_11,
- MAPSEC_ROUTE_12,
- MAPSEC_ROUTE_13,
- MAPSEC_ROUTE_14,
- MAPSEC_ROUTE_15,
- MAPSEC_ROUTE_16,
- MAPSEC_ROUTE_17,
- MAPSEC_ROUTE_18,
- MAPSEC_ROUTE_19,
- MAPSEC_ROUTE_20,
- MAPSEC_ROUTE_21,
- MAPSEC_ROUTE_22,
- MAPSEC_ROUTE_23,
- MAPSEC_ROUTE_24,
- MAPSEC_ROUTE_25,
- MAPSEC_VIRIDIAN_FOREST,
- MAPSEC_MT_MOON,
- MAPSEC_S_S_ANNE,
- MAPSEC_UNDERGROUND_PATH,
- MAPSEC_UNDERGROUND_PATH_2,
- MAPSEC_DIGLETTS_CAVE,
- MAPSEC_KANTO_VICTORY_ROAD,
- MAPSEC_ROCKET_HIDEOUT,
- MAPSEC_SILPH_CO,
- MAPSEC_POKEMON_MANSION,
- MAPSEC_KANTO_SAFARI_ZONE,
- MAPSEC_POKEMON_LEAGUE,
- MAPSEC_ROCK_TUNNEL,
- MAPSEC_SEAFOAM_ISLANDS,
- MAPSEC_POKEMON_TOWER,
- MAPSEC_CERULEAN_CAVE,
- MAPSEC_POWER_PLANT,
- MAPSEC_ONE_ISLAND,
- MAPSEC_TWO_ISLAND,
- MAPSEC_THREE_ISLAND,
- MAPSEC_FOUR_ISLAND,
- MAPSEC_FIVE_ISLAND,
- MAPSEC_SEVEN_ISLAND,
- MAPSEC_SIX_ISLAND,
- MAPSEC_KINDLE_ROAD,
- MAPSEC_TREASURE_BEACH,
- MAPSEC_CAPE_BRINK,
- MAPSEC_BOND_BRIDGE,
- MAPSEC_THREE_ISLE_PORT,
- MAPSEC_SEVII_ISLE_6,
- MAPSEC_SEVII_ISLE_7,
- MAPSEC_SEVII_ISLE_8,
- MAPSEC_SEVII_ISLE_9,
- MAPSEC_RESORT_GORGEOUS,
- MAPSEC_WATER_LABYRINTH,
- MAPSEC_FIVE_ISLE_MEADOW,
- MAPSEC_MEMORIAL_PILLAR,
- MAPSEC_OUTCAST_ISLAND,
- MAPSEC_GREEN_PATH,
- MAPSEC_WATER_PATH,
- MAPSEC_RUIN_VALLEY,
- MAPSEC_TRAINER_TOWER,
- MAPSEC_CANYON_ENTRANCE,
- MAPSEC_SEVAULT_CANYON,
- MAPSEC_TANOBY_RUINS,
- MAPSEC_SEVII_ISLE_22,
- MAPSEC_SEVII_ISLE_23,
- MAPSEC_SEVII_ISLE_24,
- MAPSEC_NAVEL_ROCK,
- MAPSEC_MT_EMBER,
- MAPSEC_BERRY_FOREST,
- MAPSEC_ICEFALL_CAVE,
- MAPSEC_ROCKET_WAREHOUSE,
- MAPSEC_TRAINER_TOWER_2,
- MAPSEC_DOTTED_HOLE,
- MAPSEC_LOST_CAVE,
- MAPSEC_PATTERN_BUSH,
- MAPSEC_ALTERING_CAVE,
- MAPSEC_TANOBY_CHAMBERS,
- MAPSEC_THREE_ISLE_PATH,
- MAPSEC_TANOBY_KEY,
- MAPSEC_BIRTH_ISLAND,
- MAPSEC_MONEAN_CHAMBER,
- MAPSEC_LIPTOO_CHAMBER,
- MAPSEC_WEEPTH_CHAMBER,
- MAPSEC_DILFORD_CHAMBER,
- MAPSEC_SCUFIB_CHAMBER,
- MAPSEC_RIXY_CHAMBER,
- MAPSEC_VIAPOIS_CHAMBER,
- MAPSEC_EMBER_SPA,
- MAPSEC_SPECIAL_AREA,
- MAPSEC_AQUA_HIDEOUT,
- MAPSEC_MAGMA_HIDEOUT,
- MAPSEC_MIRAGE_TOWER,
- MAPSEC_BIRTH_ISLAND_2,
- MAPSEC_FARAWAY_ISLAND,
- MAPSEC_ARTISAN_CAVE,
- MAPSEC_MARINE_CAVE,
- MAPSEC_UNDERWATER_MARINE_CAVE,
- MAPSEC_TERRA_CAVE,
- MAPSEC_UNDERWATER_TERRA_CAVE,
- MAPSEC_UNDERWATER_UNK1,
- MAPSEC_UNDERWATER_129,
- MAPSEC_DESERT_UNDERPASS,
- MAPSEC_ALTERING_CAVE_2,
- MAPSEC_NAVEL_ROCK2,
- MAPSEC_TRAINER_HILL,
- MAPSEC_NONE
-};
-
enum
{
INPUT_EVENT_NONE,
diff --git a/include/region_map_sections.h b/include/region_map_sections.h
new file mode 100644
index 000000000..f6f8bdb2c
--- /dev/null
+++ b/include/region_map_sections.h
@@ -0,0 +1,221 @@
+#ifndef GUARD_REGIONMAPSEC_H
+#define GUARD_REGIONMAPSEC_H
+
+enum {
+ MAPSEC_LITTLEROOT_TOWN,
+ MAPSEC_OLDALE_TOWN,
+ MAPSEC_DEWFORD_TOWN,
+ MAPSEC_LAVARIDGE_TOWN,
+ MAPSEC_FALLARBOR_TOWN,
+ MAPSEC_VERDANTURF_TOWN,
+ MAPSEC_PACIFIDLOG_TOWN,
+ MAPSEC_PETALBURG_CITY,
+ MAPSEC_SLATEPORT_CITY,
+ MAPSEC_MAUVILLE_CITY,
+ MAPSEC_RUSTBORO_CITY,
+ MAPSEC_FORTREE_CITY,
+ MAPSEC_LILYCOVE_CITY,
+ MAPSEC_MOSSDEEP_CITY,
+ MAPSEC_SOOTOPOLIS_CITY,
+ MAPSEC_EVER_GRANDE_CITY,
+ MAPSEC_ROUTE_101,
+ MAPSEC_ROUTE_102,
+ MAPSEC_ROUTE_103,
+ MAPSEC_ROUTE_104,
+ MAPSEC_ROUTE_105,
+ MAPSEC_ROUTE_106,
+ MAPSEC_ROUTE_107,
+ MAPSEC_ROUTE_108,
+ MAPSEC_ROUTE_109,
+ MAPSEC_ROUTE_110,
+ MAPSEC_ROUTE_111,
+ MAPSEC_ROUTE_112,
+ MAPSEC_ROUTE_113,
+ MAPSEC_ROUTE_114,
+ MAPSEC_ROUTE_115,
+ MAPSEC_ROUTE_116,
+ MAPSEC_ROUTE_117,
+ MAPSEC_ROUTE_118,
+ MAPSEC_ROUTE_119,
+ MAPSEC_ROUTE_120,
+ MAPSEC_ROUTE_121,
+ MAPSEC_ROUTE_122,
+ MAPSEC_ROUTE_123,
+ MAPSEC_ROUTE_124,
+ MAPSEC_ROUTE_125,
+ MAPSEC_ROUTE_126,
+ MAPSEC_ROUTE_127,
+ MAPSEC_ROUTE_128,
+ MAPSEC_ROUTE_129,
+ MAPSEC_ROUTE_130,
+ MAPSEC_ROUTE_131,
+ MAPSEC_ROUTE_132,
+ MAPSEC_ROUTE_133,
+ MAPSEC_ROUTE_134,
+ MAPSEC_UNDERWATER_124,
+ MAPSEC_UNDERWATER_125,
+ MAPSEC_UNDERWATER_126,
+ MAPSEC_UNDERWATER_127,
+ MAPSEC_UNDERWATER_SOOTOPOLIS,
+ MAPSEC_GRANITE_CAVE,
+ MAPSEC_MT_CHIMNEY,
+ MAPSEC_SAFARI_ZONE,
+ MAPSEC_BATTLE_FRONTIER,
+ MAPSEC_PETALBURG_WOODS,
+ MAPSEC_RUSTURF_TUNNEL,
+ MAPSEC_ABANDONED_SHIP,
+ MAPSEC_NEW_MAUVILLE,
+ MAPSEC_METEOR_FALLS,
+ MAPSEC_METEOR_FALLS2,
+ MAPSEC_MT_PYRE,
+ MAPSEC_AQUA_HIDEOUT_OLD,
+ MAPSEC_SHOAL_CAVE,
+ MAPSEC_SEAFLOOR_CAVERN,
+ MAPSEC_UNDERWATER_128,
+ MAPSEC_VICTORY_ROAD,
+ MAPSEC_MIRAGE_ISLAND,
+ MAPSEC_CAVE_OF_ORIGIN,
+ MAPSEC_SOUTHERN_ISLAND,
+ MAPSEC_FIERY_PATH,
+ MAPSEC_FIERY_PATH2,
+ MAPSEC_JAGGED_PASS,
+ MAPSEC_JAGGED_PASS2,
+ MAPSEC_SEALED_CHAMBER,
+ MAPSEC_UNDERWATER_SEALED_CHAMBER,
+ MAPSEC_SCORCHED_SLAB,
+ MAPSEC_ISLAND_CAVE,
+ MAPSEC_DESERT_RUINS,
+ MAPSEC_ANCIENT_TOMB,
+ MAPSEC_INSIDE_OF_TRUCK,
+ MAPSEC_SKY_PILLAR,
+ MAPSEC_SECRET_BASE,
+ MAPSEC_DYNAMIC,
+ MAPSEC_PALLET_TOWN,
+ MAPSEC_VIRIDIAN_CITY,
+ MAPSEC_PEWTER_CITY,
+ MAPSEC_CERULEAN_CITY,
+ MAPSEC_LAVENDER_TOWN,
+ MAPSEC_VERMILION_CITY,
+ MAPSEC_CELADON_CITY,
+ MAPSEC_FUCHSIA_CITY,
+ MAPSEC_CINNABAR_ISLAND,
+ MAPSEC_INDIGO_PLATEAU,
+ MAPSEC_SAFFRON_CITY,
+ MAPSEC_ROUTE_4,
+ MAPSEC_ROUTE_10,
+ MAPSEC_ROUTE_1,
+ MAPSEC_ROUTE_2,
+ MAPSEC_ROUTE_3,
+ MAPSEC_ROUTE_4_2,
+ MAPSEC_ROUTE_5,
+ MAPSEC_ROUTE_6,
+ MAPSEC_ROUTE_7,
+ MAPSEC_ROUTE_8,
+ MAPSEC_ROUTE_9,
+ MAPSEC_ROUTE_10_2,
+ MAPSEC_ROUTE_11,
+ MAPSEC_ROUTE_12,
+ MAPSEC_ROUTE_13,
+ MAPSEC_ROUTE_14,
+ MAPSEC_ROUTE_15,
+ MAPSEC_ROUTE_16,
+ MAPSEC_ROUTE_17,
+ MAPSEC_ROUTE_18,
+ MAPSEC_ROUTE_19,
+ MAPSEC_ROUTE_20,
+ MAPSEC_ROUTE_21,
+ MAPSEC_ROUTE_22,
+ MAPSEC_ROUTE_23,
+ MAPSEC_ROUTE_24,
+ MAPSEC_ROUTE_25,
+ MAPSEC_VIRIDIAN_FOREST,
+ MAPSEC_MT_MOON,
+ MAPSEC_S_S_ANNE,
+ MAPSEC_UNDERGROUND_PATH,
+ MAPSEC_UNDERGROUND_PATH_2,
+ MAPSEC_DIGLETTS_CAVE,
+ MAPSEC_KANTO_VICTORY_ROAD,
+ MAPSEC_ROCKET_HIDEOUT,
+ MAPSEC_SILPH_CO,
+ MAPSEC_POKEMON_MANSION,
+ MAPSEC_KANTO_SAFARI_ZONE,
+ MAPSEC_POKEMON_LEAGUE,
+ MAPSEC_ROCK_TUNNEL,
+ MAPSEC_SEAFOAM_ISLANDS,
+ MAPSEC_POKEMON_TOWER,
+ MAPSEC_CERULEAN_CAVE,
+ MAPSEC_POWER_PLANT,
+ MAPSEC_ONE_ISLAND,
+ MAPSEC_TWO_ISLAND,
+ MAPSEC_THREE_ISLAND,
+ MAPSEC_FOUR_ISLAND,
+ MAPSEC_FIVE_ISLAND,
+ MAPSEC_SEVEN_ISLAND,
+ MAPSEC_SIX_ISLAND,
+ MAPSEC_KINDLE_ROAD,
+ MAPSEC_TREASURE_BEACH,
+ MAPSEC_CAPE_BRINK,
+ MAPSEC_BOND_BRIDGE,
+ MAPSEC_THREE_ISLE_PORT,
+ MAPSEC_SEVII_ISLE_6,
+ MAPSEC_SEVII_ISLE_7,
+ MAPSEC_SEVII_ISLE_8,
+ MAPSEC_SEVII_ISLE_9,
+ MAPSEC_RESORT_GORGEOUS,
+ MAPSEC_WATER_LABYRINTH,
+ MAPSEC_FIVE_ISLE_MEADOW,
+ MAPSEC_MEMORIAL_PILLAR,
+ MAPSEC_OUTCAST_ISLAND,
+ MAPSEC_GREEN_PATH,
+ MAPSEC_WATER_PATH,
+ MAPSEC_RUIN_VALLEY,
+ MAPSEC_TRAINER_TOWER,
+ MAPSEC_CANYON_ENTRANCE,
+ MAPSEC_SEVAULT_CANYON,
+ MAPSEC_TANOBY_RUINS,
+ MAPSEC_SEVII_ISLE_22,
+ MAPSEC_SEVII_ISLE_23,
+ MAPSEC_SEVII_ISLE_24,
+ MAPSEC_NAVEL_ROCK,
+ MAPSEC_MT_EMBER,
+ MAPSEC_BERRY_FOREST,
+ MAPSEC_ICEFALL_CAVE,
+ MAPSEC_ROCKET_WAREHOUSE,
+ MAPSEC_TRAINER_TOWER_2,
+ MAPSEC_DOTTED_HOLE,
+ MAPSEC_LOST_CAVE,
+ MAPSEC_PATTERN_BUSH,
+ MAPSEC_ALTERING_CAVE,
+ MAPSEC_TANOBY_CHAMBERS,
+ MAPSEC_THREE_ISLE_PATH,
+ MAPSEC_TANOBY_KEY,
+ MAPSEC_BIRTH_ISLAND,
+ MAPSEC_MONEAN_CHAMBER,
+ MAPSEC_LIPTOO_CHAMBER,
+ MAPSEC_WEEPTH_CHAMBER,
+ MAPSEC_DILFORD_CHAMBER,
+ MAPSEC_SCUFIB_CHAMBER,
+ MAPSEC_RIXY_CHAMBER,
+ MAPSEC_VIAPOIS_CHAMBER,
+ MAPSEC_EMBER_SPA,
+ MAPSEC_SPECIAL_AREA,
+ MAPSEC_AQUA_HIDEOUT,
+ MAPSEC_MAGMA_HIDEOUT,
+ MAPSEC_MIRAGE_TOWER,
+ MAPSEC_BIRTH_ISLAND_2,
+ MAPSEC_FARAWAY_ISLAND,
+ MAPSEC_ARTISAN_CAVE,
+ MAPSEC_MARINE_CAVE,
+ MAPSEC_UNDERWATER_MARINE_CAVE,
+ MAPSEC_TERRA_CAVE,
+ MAPSEC_UNDERWATER_TERRA_CAVE,
+ MAPSEC_UNDERWATER_UNK1,
+ MAPSEC_UNDERWATER_129,
+ MAPSEC_DESERT_UNDERPASS,
+ MAPSEC_ALTERING_CAVE_2,
+ MAPSEC_NAVEL_ROCK2,
+ MAPSEC_TRAINER_HILL,
+ MAPSEC_NONE
+};
+
+#endif //GUARD_REGIONMAPSEC_H
diff --git a/ld_script.txt b/ld_script.txt
index 2df348c8c..b57666c64 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -187,7 +187,7 @@ SECTIONS {
asm/roulette.o(.text);
asm/pokedex_cry_screen.o(.text);
src/coins.o(.text);
- asm/landmark.o(.text);
+ src/landmark.o(.text);
asm/fldeff_strength.o(.text);
asm/battle_transition.o(.text);
src/battle_controller_link_partner.o(.text);
@@ -434,6 +434,7 @@ SECTIONS {
src/evolution_scene.o(.rodata);
data/roulette.o(.rodata);
data/pokedex_cry_screen.o(.rodata);
+ src/landmark.o(.rodata);
data/data4d.o(.rodata);
src/battle_controller_link_partner.o(.rodata);
src/battle_message.o(.rodata);
diff --git a/src/decoration.c b/src/decoration.c
index faef779b7..512252f7d 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -25,7 +25,7 @@
#include "sound.h"
#include "event_scripts.h"
#include "event_data.h"
-#include "region_map.h"
+#include "region_map_sections.h"
#include "player_pc.h"
#include "strings.h"
#include "tv.h"
diff --git a/src/landmark.c b/src/landmark.c
new file mode 100644
index 000000000..3d4ed862b
--- /dev/null
+++ b/src/landmark.c
@@ -0,0 +1,441 @@
+#include "global.h"
+#include "event_data.h"
+#include "region_map_sections.h"
+
+struct Landmark
+{
+ const u8 *name;
+ u16 flag;
+};
+
+struct LandmarkList
+{
+ u8 mapSection;
+ u8 id;
+ const struct Landmark *const *landmarks;
+};
+
+static const u8 LandmarkName_FlowerShop[] = _("FLOWER SHOP");
+static const u8 LandmarkName_PetalburgWoods[] = _("PETALBURG WOODS");
+static const u8 LandmarkName_MrBrineysCottage[] = _("MR. BRINEY’S COTTAGE");
+static const u8 LandmarkName_AbandonedShip[] = _("ABANDONED SHIP");
+static const u8 LandmarkName_SeashoreHouse[] = _("SEASHORE HOUSE");
+static const u8 LandmarkName_SlateportBeach[] = _("SLATEPORT BEACH");
+static const u8 LandmarkName_CyclingRoad[] = _("CYCLING ROAD");
+static const u8 LandmarkName_NewMauville[] = _("NEW MAUVILLE");
+static const u8 LandmarkName_TrickHouse[] = _("TRICK HOUSE");
+static const u8 LandmarkName_OldLadysRestShop[] = _("OLD LADY’S REST STOP");
+static const u8 LandmarkName_Desert[] = _("DESERT");
+static const u8 LandmarkName_WinstrateFamily[] = _("THE WINSTRATE FAMILY");
+static const u8 LandmarkName_CableCar[] = _("CABLE CAR");
+static const u8 LandmarkName_GlassWorkshop[] = _("GLASS WORKSHOP");
+static const u8 LandmarkName_WeatherInstitute[] = _("WEATHER INSTITUTE");
+static const u8 LandmarkName_MeteorFalls[] = _("METEOR FALLS");
+static const u8 LandmarkName_TunnelersRestHouse[] = _("TUNNELER’S RESTHOUSE");
+static const u8 LandmarkName_RusturfTunnel[] = _("RUSTURF TUNNEL");
+static const u8 LandmarkName_PokemonDayCare[] = _("POKéMON DAY CARE");
+static const u8 LandmarkName_SafariZoneEntrance[] = _("SAFARI ZONE ENTRANCE");
+static const u8 LandmarkName_MtPyre[] = _("MT. PYRE");
+static const u8 LandmarkName_ShoalCave[] = _("SHOAL CAVE");
+static const u8 LandmarkName_SeafloorCavern[] = _("SEAFLOOR CAVERN");
+static const u8 LandmarkName_GraniteCave[] = _("GRANITE CAVE");
+static const u8 LandmarkName_OceanCurrent[] = _("OCEAN CURRENT");
+static const u8 LandmarkName_LanettesHouse[] = _("LANETTE’S HOUSE");
+static const u8 LandmarkName_FieryPath[] = _("FIERY PATH");
+static const u8 LandmarkName_JaggedPass[] = _("JAGGED PASS");
+static const u8 LandmarkName_SkyPillar[] = _("SKY PILLAR");
+static const u8 LandmarkName_BerryMastersHouse[] = _("BERRY MASTER’S HOUSE");
+static const u8 LandmarkName_IslandCave[] = _("ISLAND CAVE");
+static const u8 LandmarkName_DesertRuins[] = _("DESERT RUINS");
+static const u8 LandmarkName_ScorchedSlab[] = _("SCORCHED SLAB");
+static const u8 LandmarkName_AncientTomb[] = _("ANCIENT TOMB");
+static const u8 LandmarkName_SealedChamber[] = _("SEALED CHAMBER");
+static const u8 LandmarkName_FossilManiacsHouse[] = _("FOSSIL MANIAC’S HOUSE");
+static const u8 LandmarkName_HuntersHouse[] = _("HUNTER’S HOUSE");
+static const u8 LandmarkName_MagmaHideout[] = _("MAGMA HIDEOUT");
+static const u8 LandmarkName_MirageTower[] = _("MIRAGE TOWER");
+static const u8 LandmarkName_AlteringCave[] = _("ALTERING CAVE");
+static const u8 LandmarkName_DesertUnderpass[] = _("DESERT UNDERPASS");
+static const u8 LandmarkName_TrainerHill[] = _("TRAINER HILL");
+
+static const struct Landmark Landmark_FlowerShop = {LandmarkName_FlowerShop, FLAG_LANDMARK_FLOWER_SHOP};
+static const struct Landmark Landmark_PetalburgWoods = {LandmarkName_PetalburgWoods, -1};
+static const struct Landmark Landmark_MrBrineysCottage = {LandmarkName_MrBrineysCottage, FLAG_LANDMARK_MR_BRINEY_HOUSE};
+static const struct Landmark Landmark_AbandonedShip = {LandmarkName_AbandonedShip, FLAG_LANDMARK_ABANDONED_SHIP};
+static const struct Landmark Landmark_SeashoreHouse = {LandmarkName_SeashoreHouse, FLAG_LANDMARK_SEASHORE_HOUSE};
+static const struct Landmark Landmark_SlateportBeach = {LandmarkName_SlateportBeach, -1};
+static const struct Landmark Landmark_CyclingRoad = {LandmarkName_CyclingRoad, -1};
+static const struct Landmark Landmark_NewMauville = {LandmarkName_NewMauville, FLAG_LANDMARK_NEW_MAUVILLE};
+static const struct Landmark Landmark_TrickHouse = {LandmarkName_TrickHouse, FLAG_LANDMARK_TRICK_HOUSE};
+static const struct Landmark Landmark_OldLadysRestShop = {LandmarkName_OldLadysRestShop, FLAG_LANDMARK_OLD_LADY_REST_SHOP};
+static const struct Landmark Landmark_Desert = {LandmarkName_Desert, -1};
+static const struct Landmark Landmark_WinstrateFamily = {LandmarkName_WinstrateFamily, FLAG_LANDMARK_WINSTRATE_FAMILY};
+static const struct Landmark Landmark_CableCar = {LandmarkName_CableCar, -1};
+static const struct Landmark Landmark_GlassWorkshop = {LandmarkName_GlassWorkshop, FLAG_LANDMARK_GLASS_WORKSHOP};
+static const struct Landmark Landmark_WeatherInstitute = {LandmarkName_WeatherInstitute, -1};
+static const struct Landmark Landmark_MeteorFalls = {LandmarkName_MeteorFalls, -1};
+static const struct Landmark Landmark_TunnelersRestHouse = {LandmarkName_TunnelersRestHouse, FLAG_LANDMARK_TUNNELERS_REST_HOUSE};
+static const struct Landmark Landmark_RusturfTunnel = {LandmarkName_RusturfTunnel, -1};
+static const struct Landmark Landmark_PokemonDayCare = {LandmarkName_PokemonDayCare, FLAG_LANDMARK_POKEMON_DAYCARE};
+static const struct Landmark Landmark_SafariZoneEntrance = {LandmarkName_SafariZoneEntrance, -1};
+static const struct Landmark Landmark_MtPyre = {LandmarkName_MtPyre, -1};
+static const struct Landmark Landmark_ShoalCave = {LandmarkName_ShoalCave, -1};
+static const struct Landmark Landmark_SeafloorCavern = {LandmarkName_SeafloorCavern, FLAG_LANDMARK_SEAFLOOR_CAVERN};
+static const struct Landmark Landmark_GraniteCave = {LandmarkName_GraniteCave, -1};
+static const struct Landmark Landmark_OceanCurrent = {LandmarkName_OceanCurrent, -1};
+static const struct Landmark Landmark_LanettesHouse = {LandmarkName_LanettesHouse, FLAG_LANDMARK_LANETTES_HOUSE};
+static const struct Landmark Landmark_FieryPath = {LandmarkName_FieryPath, FLAG_LANDMARK_FIERY_PATH};
+static const struct Landmark Landmark_JaggedPass = {LandmarkName_JaggedPass, -1};
+static const struct Landmark Landmark_BerryMastersHouse = {LandmarkName_BerryMastersHouse, FLAG_LANDMARK_BERRY_MASTERS_HOUSE};
+static const struct Landmark Landmark_IslandCave = {LandmarkName_IslandCave, FLAG_LANDMARK_ISLAND_CAVE};
+static const struct Landmark Landmark_DesertRuins = {LandmarkName_DesertRuins, FLAG_LANDMARK_DESERT_RUINS};
+static const struct Landmark Landmark_ScorchedSlab = {LandmarkName_ScorchedSlab, FLAG_LANDMARK_SCORCHED_SLAB};
+static const struct Landmark Landmark_AncientTomb = {LandmarkName_AncientTomb, FLAG_LANDMARK_ANCIENT_TOMB};
+static const struct Landmark Landmark_SealedChamber = {LandmarkName_SealedChamber, FLAG_LANDMARK_SEALED_CHAMBER};
+static const struct Landmark Landmark_FossilManiacsHouse = {LandmarkName_FossilManiacsHouse, FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE};
+static const struct Landmark Landmark_HuntersHouse = {LandmarkName_HuntersHouse, FLAG_LANDMARK_HUNTERS_HOUSE};
+static const struct Landmark Landmark_SkyPillar = {LandmarkName_SkyPillar, FLAG_LANDMARK_SKY_PILLAR};
+static const struct Landmark Landmark_MirageTower = {LandmarkName_MirageTower, FLAG_LANDMARK_MIRAGE_TOWER};
+static const struct Landmark Landmark_AlteringCave = {LandmarkName_AlteringCave, FLAG_LANDMARK_ALTERING_CAVE};
+static const struct Landmark Landmark_DesertUnderpass = {LandmarkName_DesertUnderpass, FLAG_LANDMARK_DESERT_UNDERPASS};
+static const struct Landmark Landmark_TrainerHill = {LandmarkName_TrainerHill, FLAG_LANDMARK_TRAINER_HILL};
+
+static const struct Landmark *const Landmarks_Route103_2[] =
+{
+ &Landmark_AlteringCave,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route104_0[] =
+{
+ &Landmark_FlowerShop,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route104_1[] =
+{
+ &Landmark_PetalburgWoods,
+ &Landmark_MrBrineysCottage,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route105_0[] =
+{
+ &Landmark_IslandCave,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route106_1[] =
+{
+ &Landmark_GraniteCave,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route108_0[] =
+{
+ &Landmark_AbandonedShip,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route109_0[] =
+{
+ &Landmark_SeashoreHouse,
+ &Landmark_SlateportBeach,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route110_0[] =
+{
+ &Landmark_CyclingRoad,
+ &Landmark_NewMauville,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route110_1[] =
+{
+ &Landmark_CyclingRoad,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route110_2[] =
+{
+ &Landmark_CyclingRoad,
+ &Landmark_TrickHouse,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route111_0[] =
+{
+ &Landmark_OldLadysRestShop,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route111_1[] =
+{
+ &Landmark_Desert,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route111_2[] =
+{
+ &Landmark_MirageTower,
+ &Landmark_Desert,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route111_3[] =
+{
+ &Landmark_DesertRuins,
+ &Landmark_Desert,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route111_4[] =
+{
+ &Landmark_TrainerHill,
+ &Landmark_WinstrateFamily,
+ &Landmark_Desert,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route112_0[] =
+{
+ &Landmark_FieryPath,
+ &Landmark_JaggedPass,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route112_1[] =
+{
+ &Landmark_CableCar,
+ &Landmark_FieryPath,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route113_1[] =
+{
+ &Landmark_GlassWorkshop,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route114_1[] =
+{
+ &Landmark_DesertUnderpass,
+ &Landmark_FossilManiacsHouse,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route114_2[] =
+{
+ &Landmark_LanettesHouse,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_MeteorFalls[] =
+{
+ &Landmark_MeteorFalls,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route116_1[] =
+{
+ &Landmark_TunnelersRestHouse,
+ &Landmark_RusturfTunnel,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route116_2[] =
+{
+ &Landmark_RusturfTunnel,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route117_2[] =
+{
+ &Landmark_PokemonDayCare,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route119_1[] =
+{
+ &Landmark_WeatherInstitute,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route120_0[] =
+{
+ &Landmark_ScorchedSlab,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route120_2[] =
+{
+ &Landmark_AncientTomb,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route121_2[] =
+{
+ &Landmark_SafariZoneEntrance,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route122_0[] =
+{
+ &Landmark_MtPyre,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route123_0[] =
+{
+ &Landmark_BerryMastersHouse,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route124_7[] =
+{
+ &Landmark_HuntersHouse,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route125_2[] =
+{
+ &Landmark_ShoalCave,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route128_1[] =
+{
+ &Landmark_SeafloorCavern,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route131_1[] =
+{
+ &Landmark_SkyPillar,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_OceanCurrent[] =
+{
+ &Landmark_OceanCurrent,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_Route134_2[] =
+{
+ &Landmark_SealedChamber,
+ &Landmark_OceanCurrent,
+ NULL,
+};
+
+static const struct Landmark *const Landmarks_MtChimney_2[] =
+{
+ &Landmark_CableCar,
+ &Landmark_JaggedPass,
+ NULL,
+};
+
+static const struct LandmarkList gLandmarkLists[] =
+{
+ {MAPSEC_ROUTE_103, 2, Landmarks_Route103_2},
+ {MAPSEC_ROUTE_104, 0, Landmarks_Route104_0},
+ {MAPSEC_ROUTE_104, 1, Landmarks_Route104_1},
+ {MAPSEC_ROUTE_105, 0, Landmarks_Route105_0},
+ {MAPSEC_ROUTE_106, 1, Landmarks_Route106_1},
+ {MAPSEC_ROUTE_108, 0, Landmarks_Route108_0},
+ {MAPSEC_ROUTE_109, 0, Landmarks_Route109_0},
+ {MAPSEC_ROUTE_110, 0, Landmarks_Route110_0},
+ {MAPSEC_ROUTE_110, 1, Landmarks_Route110_1},
+ {MAPSEC_ROUTE_110, 2, Landmarks_Route110_2},
+ {MAPSEC_ROUTE_111, 0, Landmarks_Route111_0},
+ {MAPSEC_ROUTE_111, 1, Landmarks_Route111_1},
+ {MAPSEC_ROUTE_111, 2, Landmarks_Route111_2},
+ {MAPSEC_ROUTE_111, 3, Landmarks_Route111_3},
+ {MAPSEC_ROUTE_111, 4, Landmarks_Route111_4},
+ {MAPSEC_ROUTE_112, 0, Landmarks_Route112_0},
+ {MAPSEC_ROUTE_112, 1, Landmarks_Route112_1},
+ {MAPSEC_ROUTE_113, 1, Landmarks_Route113_1},
+ {MAPSEC_ROUTE_114, 1, Landmarks_Route114_1},
+ {MAPSEC_ROUTE_114, 2, Landmarks_Route114_2},
+ {MAPSEC_ROUTE_114, 3, Landmarks_MeteorFalls},
+ {MAPSEC_ROUTE_115, 0, Landmarks_MeteorFalls},
+ {MAPSEC_ROUTE_115, 1, Landmarks_MeteorFalls},
+ {MAPSEC_ROUTE_116, 1, Landmarks_Route116_1},
+ {MAPSEC_ROUTE_116, 2, Landmarks_Route116_2},
+ {MAPSEC_ROUTE_117, 2, Landmarks_Route117_2},
+ {MAPSEC_ROUTE_119, 1, Landmarks_Route119_1},
+ {MAPSEC_ROUTE_120, 0, Landmarks_Route120_0},
+ {MAPSEC_ROUTE_120, 2, Landmarks_Route120_2},
+ {MAPSEC_ROUTE_121, 2, Landmarks_Route121_2},
+ {MAPSEC_ROUTE_122, 0, Landmarks_Route122_0},
+ {MAPSEC_ROUTE_123, 0, Landmarks_Route123_0},
+ {MAPSEC_ROUTE_122, 1, Landmarks_Route122_0},
+ {MAPSEC_ROUTE_124, 7, Landmarks_Route124_7},
+ {MAPSEC_ROUTE_125, 2, Landmarks_Route125_2},
+ {MAPSEC_ROUTE_128, 1, Landmarks_Route128_1},
+ {MAPSEC_ROUTE_131, 1, Landmarks_Route131_1},
+ {MAPSEC_ROUTE_132, 0, Landmarks_OceanCurrent},
+ {MAPSEC_ROUTE_132, 1, Landmarks_OceanCurrent},
+ {MAPSEC_ROUTE_133, 0, Landmarks_OceanCurrent},
+ {MAPSEC_ROUTE_133, 1, Landmarks_OceanCurrent},
+ {MAPSEC_ROUTE_133, 2, Landmarks_OceanCurrent},
+ {MAPSEC_ROUTE_134, 0, Landmarks_OceanCurrent},
+ {MAPSEC_ROUTE_134, 1, Landmarks_OceanCurrent},
+ {MAPSEC_ROUTE_134, 2, Landmarks_Route134_2},
+ {MAPSEC_MT_CHIMNEY, 2, Landmarks_MtChimney_2},
+ {MAPSEC_NONE, 0, NULL},
+};
+
+static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id);
+
+const u8 *GetLandmarkName(u8 mapSection, u8 id, u8 count)
+{
+ const struct Landmark *const *landmarks = GetLandmarks(mapSection, id);
+
+ if (!landmarks)
+ return NULL;
+
+ while (1)
+ {
+ const struct Landmark *landmark = *landmarks;
+
+ if (landmark->flag == 0xFFFF || FlagGet(landmark->flag) == TRUE)
+ {
+ if (count == 0)
+ break;
+ else
+ count--;
+ }
+
+ landmarks++;
+ if (!*landmarks)
+ return NULL;
+ }
+
+ return (*landmarks)->name;
+}
+
+static const struct Landmark *const *GetLandmarks(u8 mapSection, u8 id)
+{
+ u16 i = 0;
+
+ for (; gLandmarkLists[i].mapSection != MAPSEC_NONE; i++)
+ {
+ if (gLandmarkLists[i].mapSection > mapSection)
+ return NULL;
+ if (gLandmarkLists[i].mapSection == mapSection)
+ break;
+ }
+
+ if (gLandmarkLists[i].mapSection == MAPSEC_NONE)
+ return NULL;
+
+ for (; gLandmarkLists[i].mapSection == mapSection; i++)
+ {
+ if (gLandmarkLists[i].id == id)
+ return gLandmarkLists[i].landmarks;
+ }
+
+ return NULL;
+}
diff --git a/src/region_map.c b/src/region_map.c
index f28f07d52..261243792 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -21,6 +21,7 @@
#include "m4a.h"
#include "field_effect.h"
#include "region_map.h"
+#include "region_map_sections.h"
#define MAP_WIDTH 28
#define MAP_HEIGHT 15
@@ -306,7 +307,7 @@ static const struct {
} gUnknown_085A1EDC[] = {
gUnknown_085A1ED4,
MAPSEC_EVER_GRANDE_CITY,
- FLAG_SYS_POKEMON_LEAGUE_FLY
+ FLAG_LANDMARK_POKEMON_LEAGUE
};
static const struct BgTemplate gUnknown_085A1EE4[] = {
@@ -327,7 +328,7 @@ static const struct SpritePalette gUnknown_085A1F10 = {
};
static const u16 sUnknown_085A1F18[][2] = {
- {FLAG_UNLOCK_BATTLE_FRONTIER, MAPSEC_BATTLE_FRONTIER},
+ {FLAG_LANDMARK_BATTLE_FRONTIER, MAPSEC_BATTLE_FRONTIER},
{-1, MAPSEC_NONE}
};
@@ -1126,9 +1127,9 @@ static u8 get_flagnr_blue_points(u16 mapSecId)
case MAPSEC_EVER_GRANDE_CITY:
return FlagGet(FLAG_VISITED_EVER_GRANDE_CITY) ? MAPSECTYPE_CITY_CANFLY : MAPSECTYPE_CITY_CANTFLY;
case MAPSEC_BATTLE_FRONTIER:
- return FlagGet(FLAG_UNLOCK_BATTLE_FRONTIER) ? MAPSECTYPE_BATTLE_FRONTIER : MAPSECTYPE_NONE;
+ return FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER) ? MAPSECTYPE_BATTLE_FRONTIER : MAPSECTYPE_NONE;
case MAPSEC_SOUTHERN_ISLAND:
- return FlagGet(FLAG_UNLOCK_SOUTHERN_ISLAND) ? MAPSECTYPE_PLAIN : MAPSECTYPE_NONE;
+ return FlagGet(FLAG_LANDMARK_SOUTHERN_ISLAND) ? MAPSECTYPE_PLAIN : MAPSECTYPE_NONE;
default:
return MAPSECTYPE_PLAIN;
}
@@ -1916,7 +1917,7 @@ static void sub_8124E0C(void)
sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? 0x0C : 0x0D);
break;
case MAPSEC_EVER_GRANDE_CITY:
- sub_8084CCC(FlagGet(FLAG_SYS_POKEMON_LEAGUE_FLY) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B);
+ sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B);
break;
default:
if (sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2] != 0)
diff --git a/src/tv.c b/src/tv.c
index 205adbf4d..1621a9934 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -1,5 +1,3 @@
-
-// Includes
#include "global.h"
#include "rtc.h"
#include "overworld.h"
@@ -34,6 +32,7 @@
#include "naming_screen.h"
#include "malloc.h"
#include "region_map.h"
+#include "region_map_sections.h"
#include "decoration.h"
#include "secret_base.h"
#include "tv.h"
@@ -6504,7 +6503,7 @@ void DoTVShowTodaysRivalTrainer(void)
break;
case 1:
TV_PrintIntToStringVar(0, show->rivalTrainer.badgeCount);
- if (FlagGet(CODE_FLAGS + 0x48))
+ if (FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER))
{
if (show->rivalTrainer.nSilverSymbols || show->rivalTrainer.nGoldSymbols)
{
@@ -6521,7 +6520,7 @@ void DoTVShowTodaysRivalTrainer(void)
}
break;
case 2:
- if (FlagGet(CODE_FLAGS + 0x48))
+ if (FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER))
{
if (show->rivalTrainer.nSilverSymbols || show->rivalTrainer.nGoldSymbols)
{