Split/extract/port landmark

This commit is contained in:
Diegoisawesome 2017-12-26 21:20:29 -06:00
parent ba130d469d
commit f9a9391ff3
43 changed files with 971 additions and 652 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -3,6 +3,6 @@ AbandonedShip_Deck_MapScripts:: @ 823799A
.byte 0
AbandonedShip_Deck_MapScript1_2379A0: @ 82379A0
setflag FLAG_0x89E
setflag FLAG_LANDMARK_ABANDONED_SHIP
end

View File

@ -3,6 +3,6 @@ AlteringCave_MapScripts:: @ 823B177
.byte 0
AlteringCave_MapScript1_23B17D: @ 823B17D
setflag FLAG_0x8DD
setflag FLAG_LANDMARK_ALTERING_CAVE
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -3,6 +3,6 @@ Route117_PokemonDayCare_MapScripts:: @ 822BBB1
.byte 0
Route117_PokemonDayCare_MapScript1_22BBB7: @ 822BBB7
setflag FLAG_0x8A6
setflag FLAG_LANDMARK_POKEMON_DAYCARE
end

View File

@ -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

View File

@ -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

View File

@ -3,6 +3,6 @@ ScorchedSlab_MapScripts:: @ 8239291
.byte 0
ScorchedSlab_MapScript1_239297: @ 8239297
setflag FLAG_0x8B8
setflag FLAG_LANDMARK_SCORCHED_SLAB
end

View File

@ -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

View File

@ -3,6 +3,6 @@ SkyPillar_Entrance_MapScripts:: @ 823929E
.byte 0
SkyPillar_Entrance_MapScript1_2392A4: @ 82392A4
setflag FLAG_0x8BE
setflag FLAG_LANDMARK_SKY_PILLAR
end

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

6
include/landmark.h Normal file
View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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);

View File

@ -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"

441
src/landmark.c Normal file
View File

@ -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. BRINEYS 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 LADYS 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[] = _("TUNNELERS 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[] = _("LANETTES 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 MASTERS 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 MANIACS HOUSE");
static const u8 LandmarkName_HuntersHouse[] = _("HUNTERS 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;
}

View File

@ -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)

View File

@ -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)
{