From f9a9391ff38fb78636efebbfd1da4c05b93c6026 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 26 Dec 2017 21:20:29 -0600 Subject: [PATCH] Split/extract/port landmark --- asm/landmark.s | 128 ----- asm/pokenav.s | 2 +- data/data4d.s | 6 - data/scripts/maps/AbandonedShip_Deck.inc | 2 +- data/scripts/maps/AlteringCave.inc | 2 +- data/scripts/maps/AncientTomb.inc | 2 +- .../maps/BattleFrontier_ReceptionGate.inc | 2 +- data/scripts/maps/DesertRuins.inc | 2 +- data/scripts/maps/DesertUnderpass.inc | 2 +- .../maps/EverGrandeCity_PokemonLeague_1F.inc | 2 +- data/scripts/maps/FieryPath.inc | 4 +- data/scripts/maps/IslandCave.inc | 2 +- data/scripts/maps/MirageTower_1F.inc | 2 +- data/scripts/maps/MirageTower_4F.inc | 2 +- data/scripts/maps/NewMauville_Entrance.inc | 2 +- data/scripts/maps/Route104_MrBrineysHouse.inc | 2 +- .../maps/Route104_PrettyPetalFlowerShop.inc | 2 +- data/scripts/maps/Route109_SeashoreHouse.inc | 2 +- .../maps/Route110_TrickHouseEntrance.inc | 2 +- data/scripts/maps/Route111.inc | 2 +- .../maps/Route111_OldLadysRestStop.inc | 2 +- data/scripts/maps/Route113_GlassWorkshop.inc | 2 +- .../maps/Route114_FossilManiacsHouse.inc | 2 +- data/scripts/maps/Route114_LanettesHouse.inc | 2 +- .../maps/Route116_TunnelersRestHouse.inc | 2 +- data/scripts/maps/Route117_PokemonDayCare.inc | 2 +- .../maps/Route123_BerryMastersHouse.inc | 2 +- .../Route124_DivingTreasureHuntersHouse.inc | 2 +- data/scripts/maps/ScorchedSlab.inc | 2 +- data/scripts/maps/SealedChamber_OuterRoom.inc | 2 +- data/scripts/maps/SkyPillar_Entrance.inc | 2 +- data/scripts/maps/SouthernIsland_Exterior.inc | 2 +- data/scripts/maps/TrainerHill_Entrance.inc | 2 +- .../maps/Underwater_SeafloorCavern.inc | 2 +- include/constants/flags.h | 515 +++++++++--------- include/landmark.h | 6 + include/region_map.h | 217 -------- include/region_map_sections.h | 221 ++++++++ ld_script.txt | 3 +- src/decoration.c | 2 +- src/landmark.c | 441 +++++++++++++++ src/region_map.c | 11 +- src/tv.c | 7 +- 43 files changed, 971 insertions(+), 652 deletions(-) delete mode 100644 asm/landmark.s create mode 100644 include/landmark.h create mode 100644 include/region_map_sections.h create mode 100644 src/landmark.c 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) {