region_map through sub_80BFFD0

This commit is contained in:
PikalaxALT
2019-12-23 13:33:06 -05:00
parent f1d821ecc2
commit 59581b3c57
8 changed files with 341 additions and 726 deletions
-365
View File
@@ -5,371 +5,6 @@
.text
thumb_func_start sub_80BFE18
sub_80BFE18: @ 80BFE18
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
adds r6, r0, 0
lsls r1, 16
lsrs r1, 16
lsls r2, 16
lsrs r2, 16
mov r9, r2
cmp r1, 0
beq _080BFE92
movs r0, 0x1F
mov r10, r0
mov r8, r1
_080BFE38:
ldrh r1, [r6]
movs r0, 0x1F
ands r0, r1
lsls r1, 16
lsrs r5, r1, 21
mov r2, r10
ands r5, r2
lsrs r4, r1, 26
ands r4, r2
lsls r0, 8
movs r1, 0x64
bl __divsi3
mov r1, r9
muls r1, r0
adds r0, r1, 0
asrs r7, r0, 8
lsls r0, r5, 8
movs r1, 0x64
bl __divsi3
mov r2, r9
muls r2, r0
adds r0, r2, 0
asrs r5, r0, 8
lsls r0, r4, 8
movs r1, 0x64
bl __divsi3
mov r1, r9
muls r1, r0
adds r0, r1, 0
asrs r4, r0, 8
lsls r0, r4, 10
lsls r1, r5, 5
orrs r0, r1
orrs r0, r7
strh r0, [r6]
adds r6, 0x2
movs r2, 0x1
negs r2, r2
add r8, r2
mov r0, r8
cmp r0, 0
bne _080BFE38
_080BFE92:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_80BFE18
thumb_func_start sub_80BFEA0
sub_80BFEA0: @ 80BFEA0
push {r4,lr}
sub sp, 0x20
ldr r4, _080BFED8 @ =gUnknown_83EF2DC + 0x40
adds r0, r4, 0
mov r1, sp
movs r2, 0x10
bl CpuSet
mov r0, sp
movs r1, 0x10
movs r2, 0x5F
bl sub_80BFE18
mov r0, sp
movs r1, 0x20
movs r2, 0x20
bl LoadPalette
adds r4, 0x1E
adds r0, r4, 0
movs r1, 0x2F
movs r2, 0x2
bl LoadPalette
add sp, 0x20
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080BFED8: .4byte gUnknown_83EF2DC + 0x40
thumb_func_end sub_80BFEA0
thumb_func_start sub_80BFEDC
sub_80BFEDC: @ 80BFEDC
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r4, _080BFEFC @ =gUnknown_20399D4
ldr r0, _080BFF00 @ =0x000047c0
bl AllocZeroed
adds r2, r0, 0
str r2, [r4]
cmp r2, 0
bne _080BFF08
ldr r0, _080BFF04 @ =CB2_ReturnToField
bl SetMainCallback2
b _080BFF38
.align 2, 0
_080BFEFC: .4byte gUnknown_20399D4
_080BFF00: .4byte 0x000047c0
_080BFF04: .4byte CB2_ReturnToField
_080BFF08:
ldr r1, _080BFF40 @ =gUnknown_2031DE0
movs r0, 0x1
strb r0, [r1]
ldr r1, _080BFF44 @ =0x00004796
adds r0, r2, r1
movs r1, 0
strb r5, [r0]
ldr r0, [r4]
ldr r2, _080BFF48 @ =0x000047a0
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
adds r2, 0x4
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
adds r2, 0x4
adds r0, r2
strb r1, [r0]
bl sub_80BFFD0
ldr r0, _080BFF4C @ =sub_80C0100
bl SetMainCallback2
_080BFF38:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080BFF40: .4byte gUnknown_2031DE0
_080BFF44: .4byte 0x00004796
_080BFF48: .4byte 0x000047a0
_080BFF4C: .4byte sub_80C0100
thumb_func_end sub_80BFEDC
thumb_func_start sub_80BFF50
sub_80BFF50: @ 80BFF50
push {r4-r6,lr}
adds r6, r1, 0
lsls r0, 24
lsrs r5, r0, 24
ldr r4, _080BFF70 @ =gUnknown_20399D4
ldr r0, _080BFF74 @ =0x000047c0
bl AllocZeroed
adds r2, r0, 0
str r2, [r4]
cmp r2, 0
bne _080BFF7C
ldr r0, _080BFF78 @ =CB2_ReturnToField
bl SetMainCallback2
b _080BFFB4
.align 2, 0
_080BFF70: .4byte gUnknown_20399D4
_080BFF74: .4byte 0x000047c0
_080BFF78: .4byte CB2_ReturnToField
_080BFF7C:
ldr r1, _080BFFBC @ =gUnknown_2031DE0
movs r0, 0x1
strb r0, [r1]
ldr r1, _080BFFC0 @ =0x00004796
adds r0, r2, r1
movs r1, 0
strb r5, [r0]
ldr r0, [r4]
ldr r2, _080BFFC4 @ =0x000047a0
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
adds r2, 0x4
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
adds r2, 0x4
adds r0, r2
strb r1, [r0]
ldr r0, [r4]
ldr r1, _080BFFC8 @ =0x000047bc
adds r0, r1
str r6, [r0]
bl sub_80BFFD0
ldr r0, _080BFFCC @ =sub_80C0100
bl SetMainCallback2
_080BFFB4:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080BFFBC: .4byte gUnknown_2031DE0
_080BFFC0: .4byte 0x00004796
_080BFFC4: .4byte 0x000047a0
_080BFFC8: .4byte 0x000047bc
_080BFFCC: .4byte sub_80C0100
thumb_func_end sub_80BFF50
thumb_func_start sub_80BFFD0
sub_80BFFD0: @ 80BFFD0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
ldr r1, _080C0000 @ =gUnknown_20399D4
ldr r2, [r1]
ldr r3, _080C0004 @ =0x00004796
adds r0, r2, r3
ldrb r0, [r0]
mov r8, r1
cmp r0, 0
blt _080BFFF2
cmp r0, 0x1
ble _080BFFF2
cmp r0, 0x2
beq _080C0010
_080BFFF2:
mov r4, r8
ldr r0, [r4]
ldr r1, _080C0008 @ =0x000047b8
adds r0, r1
ldr r1, _080C000C @ =sub_80C04E4
str r1, [r0]
b _080C0018
.align 2, 0
_080C0000: .4byte gUnknown_20399D4
_080C0004: .4byte 0x00004796
_080C0008: .4byte 0x000047b8
_080C000C: .4byte sub_80C04E4
_080C0010:
ldr r3, _080C009C @ =0x000047b8
adds r1, r2, r3
ldr r0, _080C00A0 @ =sub_80C4F08
str r0, [r1]
_080C0018:
movs r3, 0
ldr r6, _080C00A4 @ =gUnknown_20399D4
ldr r5, _080C00A8 @ =0x00004797
ldr r4, _080C00AC @ =gUnknown_83F1B00
ldr r2, _080C00B0 @ =0x00004796
_080C0022:
ldr r0, [r6]
adds r1, r0, r5
adds r1, r3
adds r0, r2
ldrb r0, [r0]
lsls r0, 2
adds r0, r3, r0
adds r0, r4
ldrb r0, [r0]
strb r0, [r1]
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x3
bls _080C0022
ldr r0, _080C00B4 @ =0x00000845
bl FlagGet
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
bne _080C0058
ldr r0, _080C00A4 @ =gUnknown_20399D4
ldr r0, [r0]
ldr r4, _080C00A8 @ =0x00004797
adds r0, r4
strb r1, [r0]
_080C0058:
movs r7, 0
movs r1, 0
ldr r2, _080C00B8 @ =gMapHeader
ldrb r0, [r2, 0x14]
ldr r3, _080C00A4 @ =gUnknown_20399D4
mov r8, r3
cmp r0, 0x8E
bls _080C00D8
ldr r4, _080C00BC @ =gUnknown_83F1AA4
mov r12, r4
mov r10, r12
mov r9, r2
_080C0070:
movs r3, 0
lsls r0, r1, 4
subs r0, r1
lsls r2, r0, 1
mov r4, r10
adds r0, r2, r4
ldrb r0, [r0]
adds r5, r1, 0x1
cmp r0, 0xC5
beq _080C00D0
ldr r6, _080C00BC @ =gUnknown_83F1AA4
mov r0, r9
ldrb r1, [r0, 0x14]
lsls r4, r5, 24
_080C008C:
adds r0, r3, r2
adds r0, r6
ldrb r0, [r0]
cmp r1, r0
bne _080C00C0
lsrs r7, r4, 24
b _080C00D0
.align 2, 0
_080C009C: .4byte 0x000047b8
_080C00A0: .4byte sub_80C4F08
_080C00A4: .4byte gUnknown_20399D4
_080C00A8: .4byte 0x00004797
_080C00AC: .4byte gUnknown_83F1B00
_080C00B0: .4byte 0x00004796
_080C00B4: .4byte 0x00000845
_080C00B8: .4byte gMapHeader
_080C00BC: .4byte gUnknown_83F1AA4
_080C00C0:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
adds r0, r3, r2
add r0, r12
ldrb r0, [r0]
cmp r0, 0xC5
bne _080C008C
_080C00D0:
lsls r0, r5, 24
lsrs r1, r0, 24
cmp r7, 0
beq _080C0070
_080C00D8:
mov r1, r8
ldr r0, [r1]
ldr r2, _080C00F8 @ =0x0000479b
adds r0, r2
strb r7, [r0]
ldr r0, [r1]
ldr r3, _080C00FC @ =0x0000479c
adds r0, r3
strb r7, [r0]
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080C00F8: .4byte 0x0000479b
_080C00FC: .4byte 0x0000479c
thumb_func_end sub_80BFFD0
thumb_func_start sub_80C0100
sub_80C0100: @ 80C0100
push {r4,lr}
+63 -7
View File
@@ -7,8 +7,6 @@
.section .rodata
.align 2
.include "data/text/map_section_names.inc"
gUnknown_83EF23C:: @ 83EF23C gbapal
.incbin "graphics/region_map/unk_83EF23C.gbapal"
@@ -239,16 +237,74 @@ gUnknown_83F1A9C:: @ 83F1A9C
.4byte gUnknown_83F1A94
.4byte gUnknown_83F1A98
gUnknown_83F1AA4:: @ 83F1AA4
.byte 0x8f, 0x90, 0x91, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xaf, 0xb0, 0xb9, 0xc3, 0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
sSeviiMapsecs:: @ 83F1AA4
.byte MAPSEC_ONE_ISLAND
.byte MAPSEC_TWO_ISLAND
.byte MAPSEC_THREE_ISLAND
.byte MAPSEC_KINDLE_ROAD
.byte MAPSEC_TREASURE_BEACH
.byte MAPSEC_CAPE_BRINK
.byte MAPSEC_BOND_BRIDGE
.byte MAPSEC_THREE_ISLE_PORT
.byte MAPSEC_MT_EMBER
.byte MAPSEC_BERRY_FOREST
.byte MAPSEC_THREE_ISLE_PATH
.byte MAPSEC_EMBER_SPA
.byte MAPSEC_NONE
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x92, 0x93, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xae, 0xb1, 0xb2, 0xb5, 0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte MAPSEC_FOUR_ISLAND
.byte MAPSEC_FIVE_ISLAND
.byte MAPSEC_SEVII_ISLE_6
.byte MAPSEC_SEVII_ISLE_7
.byte MAPSEC_SEVII_ISLE_8
.byte MAPSEC_SEVII_ISLE_9
.byte MAPSEC_RESORT_GORGEOUS
.byte MAPSEC_WATER_LABYRINTH
.byte MAPSEC_FIVE_ISLE_MEADOW
.byte MAPSEC_MEMORIAL_PILLAR
.byte MAPSEC_NAVEL_ROCK
.byte MAPSEC_ICEFALL_CAVE
.byte MAPSEC_ROCKET_WAREHOUSE
.byte MAPSEC_LOST_CAVE
.byte MAPSEC_NONE
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x94, 0x95, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xb3, 0xb4, 0xb6, 0xb7, 0xb8, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc5, 0x00, 0x00
.byte MAPSEC_SEVEN_ISLAND
.byte MAPSEC_SIX_ISLAND
.byte MAPSEC_OUTCAST_ISLAND
.byte MAPSEC_GREEN_PATH
.byte MAPSEC_WATER_PATH
.byte MAPSEC_RUIN_VALLEY
.byte MAPSEC_TRAINER_TOWER
.byte MAPSEC_CANYON_ENTRANCE
.byte MAPSEC_SEVAULT_CANYON
.byte MAPSEC_TANOBY_RUINS
.byte MAPSEC_SEVII_ISLE_22
.byte MAPSEC_SEVII_ISLE_23
.byte MAPSEC_SEVII_ISLE_24
.byte MAPSEC_TRAINER_TOWER_2
.byte MAPSEC_DOTTED_HOLE
.byte MAPSEC_PATTERN_BUSH
.byte MAPSEC_ALTERING_CAVE
.byte MAPSEC_TANOBY_CHAMBERS
.byte MAPSEC_TANOBY_KEY
.byte MAPSEC_BIRTH_ISLAND
.byte MAPSEC_MONEAN_CHAMBER
.byte MAPSEC_LIPTOO_CHAMBER
.byte MAPSEC_WEEPTH_CHAMBER
.byte MAPSEC_DILFORD_CHAMBER
.byte MAPSEC_SCUFIB_CHAMBER
.byte MAPSEC_RIXY_CHAMBER
.byte MAPSEC_VIAPOIS_CHAMBER
.byte MAPSEC_NONE
.byte 0x00, 0x00
.align 2
gUnknown_83F1B00:: @ 83F1B00
.byte 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
.byte 1, 1, 1, 0
.byte 0, 0, 0, 0
.byte 0, 0, 0, 1
gUnknown_83F1B0C:: @ 83F1B0C
.2byte 0x0018, 0x0010, 0x0090, 0x0020
-327
View File
@@ -1,327 +0,0 @@
gMapSecName_PalletTown::
.string "PALLET TOWN$"
gMapSecName_ViridianCity::
.string "VIRIDIAN CITY$"
gMapSecName_PewterCity::
.string "PEWTER CITY$"
gMapSecName_CeruleanCity::
.string "CERULEAN CITY$"
gMapSecName_LavenderTown::
.string "LAVENDER TOWN$"
gMapSecName_VermilionCity::
.string "VERMILION CITY$"
gMapSecName_CeladonCity::
.string "CELADON CITY$"
gMapSecName_FuchsiaCity::
.string "FUCHSIA CITY$"
gMapSecName_CinnabarIsland::
.string "CINNABAR ISLAND$"
gMapSecName_IndigoPlateau::
.string "INDIGO PLATEAU$"
gMapSecName_SaffronCity::
.string "SAFFRON CITY$"
gMapSecName_Route4::
.string "ROUTE 4$"
gMapSecName_Route10::
.string "ROUTE 10$"
gMapSecName_Route1::
.string "ROUTE 1$"
gMapSecName_Route2::
.string "ROUTE 2$"
gMapSecName_Route3::
.string "ROUTE 3$"
gMapSecName_Route4_2::
.string "ROUTE 4$"
gMapSecName_Route5::
.string "ROUTE 5$"
gMapSecName_Route6::
.string "ROUTE 6$"
gMapSecName_Route7::
.string "ROUTE 7$"
gMapSecName_Route8::
.string "ROUTE 8$"
gMapSecName_Route9::
.string "ROUTE 9$"
gMapSecName_Route10_2::
.string "ROUTE 10$"
gMapSecName_Route11::
.string "ROUTE 11$"
gMapSecName_Route12::
.string "ROUTE 12$"
gMapSecName_Route13::
.string "ROUTE 13$"
gMapSecName_Route14::
.string "ROUTE 14$"
gMapSecName_Route15::
.string "ROUTE 15$"
gMapSecName_Route16::
.string "ROUTE 16$"
gMapSecName_Route17::
.string "ROUTE 17$"
gMapSecName_Route18::
.string "ROUTE 18$"
gMapSecName_Route19::
.string "ROUTE 19$"
gMapSecName_Route20::
.string "ROUTE 20$"
gMapSecName_Route21::
.string "ROUTE 21$"
gMapSecName_Route22::
.string "ROUTE 22$"
gMapSecName_Route23::
.string "ROUTE 23$"
gMapSecName_Route24::
.string "ROUTE 24$"
gMapSecName_Route25::
.string "ROUTE 25$"
gMapSecName_ViridianForest::
.string "VIRIDIAN FOREST$"
gMapSecName_MtMoon::
.string "MT. MOON$"
gMapSecName_SSAnne::
.string "S.S. ANNE$"
gMapSecName_UndergroundPath::
.string "UNDERGROUND PATH$"
gMapSecName_UndergroundPath_2::
.string "UNDERGROUND PATH$"
gMapSecName_DiglettsCave::
.string "DIGLETT'S CAVE$"
gMapSecName_VictoryRoad::
.string "VICTORY ROAD$"
gMapSecName_RocketHideout::
.string "ROCKET HIDEOUT$"
gMapSecName_SilphCo::
.string "SILPH CO.$"
gMapSecName_PokemonMansion::
.string "POKéMON MANSION$"
gMapSecName_SafariZone::
.string "SAFARI ZONE$"
gMapSecName_PokemonLeague::
.string "POKéMON LEAGUE$"
gMapSecName_RockTunnel::
.string "ROCK TUNNEL$"
gMapSecName_SeafoamIslands::
.string "SEAFOAM ISLANDS$"
gMapSecName_PokemonTower::
.string "POKéMON TOWER$"
gMapSecName_CeruleanCave::
.string "CERULEAN CAVE$"
gMapSecName_PowerPlant::
.string "POWER PLANT$"
gMapSecName_OneIsland::
.string "ONE ISLAND$"
gMapSecName_TwoIsland::
.string "TWO ISLAND$"
gMapSecName_ThreeIsland::
.string "THREE ISLAND$"
gMapSecName_FourIsland::
.string "FOUR ISLAND$"
gMapSecName_FiveIsland::
.string "FIVE ISLAND$"
gMapSecName_SevenIsland::
.string "SEVEN ISLAND$"
gMapSecName_SixIsland::
.string "SIX ISLAND$"
gMapSecName_KindleRoad::
.string "KINDLE ROAD$"
gMapSecName_TreasureBeach::
.string "TREASURE BEACH$"
gMapSecName_CapeBrink::
.string "CAPE BRINK$"
gMapSecName_BondBridge::
.string "BOND BRIDGE$"
gMapSecName_ThreeIslePort::
.string "THREE ISLE PORT$"
gMapSecName_SeviiIsle6::
.string "SEVII ISLE 6$"
gMapSecName_SeviiIsle7::
.string "SEVII ISLE 7$"
gMapSecName_SeviiIsle8::
.string "SEVII ISLE 8$"
gMapSecName_SeviiIsle9::
.string "SEVII ISLE 9$"
gMapSecName_ResortGorgeous::
.string "RESORT GORGEOUS$"
gMapSecName_WaterLabyrinth::
.string "WATER LABYRINTH$"
gMapSecName_FiveIsleMeadow::
.string "FIVE ISLE MEADOW$"
gMapSecName_MemorialPillar::
.string "MEMORIAL PILLAR$"
gMapSecName_OutcastIsland::
.string "OUTCAST ISLAND$"
gMapSecName_GreenPath::
.string "GREEN PATH$"
gMapSecName_WaterPath::
.string "WATER PATH$"
gMapSecName_RuinValley::
.string "RUIN VALLEY$"
gMapSecName_TrainerTower::
.string "TRAINER TOWER$"
gMapSecName_CanyonEntrance::
.string "CANYON ENTRANCE$"
gMapSecName_SevaultCanyon::
.string "SEVAULT CANYON$"
gMapSecName_TanobyRuins::
.string "TANOBY RUINS$"
gMapSecName_SeviiIsle22::
.string "SEVII ISLE 22$"
gMapSecName_SeviiIsle23::
.string "SEVII ISLE 23$"
gMapSecName_SeviiIsle24::
.string "SEVII ISLE 24$"
gMapSecName_NavelRock::
.string "NAVEL ROCK$"
gMapSecName_MtEmber::
.string "MT. EMBER$"
gMapSecName_BerryForest::
.string "BERRY FOREST$"
gMapSecName_IcefallCave::
.string "ICEFALL CAVE$"
gMapSecName_RocketWarehouse::
.string "ROCKET WAREHOUSE$"
gMapSecName_TrainerTower_2::
.string "TRAINER TOWER$"
gMapSecName_DottedHole::
.string "DOTTED HOLE$"
gMapSecName_LostCave::
.string "LOST CAVE$"
gMapSecName_PatternBush::
.string "PATTERN BUSH$"
gMapSecName_AlteringCave::
.string "ALTERING CAVE$"
gMapSecName_TanobyChambers::
.string "TANOBY CHAMBERS$"
gMapSecName_ThreeIslePath::
.string "THREE ISLE PATH$"
gMapSecName_TanobyKey::
.string "TANOBY KEY$"
gMapSecName_BirthIsland::
.string "BIRTH ISLAND$"
gMapSecName_MoneanChamber::
.string "MONEAN CHAMBER$"
gMapSecName_LiptooChamber::
.string "LIPTOO CHAMBER$"
gMapSecName_WeepthChamber::
.string "WEEPTH CHAMBER$"
gMapSecName_DilfordChamber::
.string "DILFORD CHAMBER$"
gMapSecName_ScufibChamber::
.string "SCUFIB CHAMBER$"
gMapSecName_RixyChamber::
.string "RIXY CHAMBER$"
gMapSecName_ViapoisChamber::
.string "VIAPOIS CHAMBER$"
gMapSecName_EmberSpa::
.string "EMBER SPA$"
gMapSecName_CeladonDept::
.string "CELADON DEPT.$"
+5
View File
@@ -89,6 +89,8 @@
#define MAPSEC_SKY_PILLAR 0x55
#define MAPSEC_SECRET_BASE 0x56
#define MAPSEC_DYNAMIC 0x57
// Kanto landmarks
#define MAPSEC_PALLET_TOWN 0x58
#define MAPSEC_VIRIDIAN_CITY 0x59
#define MAPSEC_PEWTER_CITY 0x5A
@@ -144,6 +146,9 @@
#define MAPSEC_POKEMON_TOWER 0x8C
#define MAPSEC_CERULEAN_CAVE 0x8D
#define MAPSEC_POWER_PLANT 0x8E
#define MAPSECS_SEVII_123 0x8F
#define MAPSEC_ONE_ISLAND 0x8F
#define MAPSEC_TWO_ISLAND 0x90
#define MAPSEC_THREE_ISLAND 0x91
+2
View File
@@ -181,6 +181,7 @@ SECTIONS {
src/menu_helpers.o(.text);
asm/script_pokemon_util_80BF8FC.o(.text);
src/heal_location.o(.text);
src/region_map.o(.text);
asm/region_map.o(.text);
src/battle_ai_script_commands.o(.text);
src/fldeff_rocksmash.o(.text);
@@ -477,6 +478,7 @@ SECTIONS {
src/mon_markings.o(.rodata);
src/mail.o(.rodata);
src/heal_location.o(.rodata);
src/region_map.o(.rodata);
data/region_map.o(.rodata);
src/battle_ai_script_commands.o(.rodata);
data/fldeff_flash.o(.rodata);
+109
View File
@@ -0,0 +1,109 @@
const u8 gMapSecName_PalletTown[] = _("PALLET TOWN");
const u8 gMapSecName_ViridianCity[] = _("VIRIDIAN CITY");
const u8 gMapSecName_PewterCity[] = _("PEWTER CITY");
const u8 gMapSecName_CeruleanCity[] = _("CERULEAN CITY");
const u8 gMapSecName_LavenderTown[] = _("LAVENDER TOWN");
const u8 gMapSecName_VermilionCity[] = _("VERMILION CITY");
const u8 gMapSecName_CeladonCity[] = _("CELADON CITY");
const u8 gMapSecName_FuchsiaCity[] = _("FUCHSIA CITY");
const u8 gMapSecName_CinnabarIsland[] = _("CINNABAR ISLAND");
const u8 gMapSecName_IndigoPlateau[] = _("INDIGO PLATEAU");
const u8 gMapSecName_SaffronCity[] = _("SAFFRON CITY");
const u8 gMapSecName_Route4[] = _("ROUTE 4");
const u8 gMapSecName_Route10[] = _("ROUTE 10");
const u8 gMapSecName_Route1[] = _("ROUTE 1");
const u8 gMapSecName_Route2[] = _("ROUTE 2");
const u8 gMapSecName_Route3[] = _("ROUTE 3");
const u8 gMapSecName_Route4_2[] = _("ROUTE 4");
const u8 gMapSecName_Route5[] = _("ROUTE 5");
const u8 gMapSecName_Route6[] = _("ROUTE 6");
const u8 gMapSecName_Route7[] = _("ROUTE 7");
const u8 gMapSecName_Route8[] = _("ROUTE 8");
const u8 gMapSecName_Route9[] = _("ROUTE 9");
const u8 gMapSecName_Route10_2[] = _("ROUTE 10");
const u8 gMapSecName_Route11[] = _("ROUTE 11");
const u8 gMapSecName_Route12[] = _("ROUTE 12");
const u8 gMapSecName_Route13[] = _("ROUTE 13");
const u8 gMapSecName_Route14[] = _("ROUTE 14");
const u8 gMapSecName_Route15[] = _("ROUTE 15");
const u8 gMapSecName_Route16[] = _("ROUTE 16");
const u8 gMapSecName_Route17[] = _("ROUTE 17");
const u8 gMapSecName_Route18[] = _("ROUTE 18");
const u8 gMapSecName_Route19[] = _("ROUTE 19");
const u8 gMapSecName_Route20[] = _("ROUTE 20");
const u8 gMapSecName_Route21[] = _("ROUTE 21");
const u8 gMapSecName_Route22[] = _("ROUTE 22");
const u8 gMapSecName_Route23[] = _("ROUTE 23");
const u8 gMapSecName_Route24[] = _("ROUTE 24");
const u8 gMapSecName_Route25[] = _("ROUTE 25");
const u8 gMapSecName_ViridianForest[] = _("VIRIDIAN FOREST");
const u8 gMapSecName_MtMoon[] = _("MT. MOON");
const u8 gMapSecName_SSAnne[] = _("S.S. ANNE");
const u8 gMapSecName_UndergroundPath[] = _("UNDERGROUND PATH");
const u8 gMapSecName_UndergroundPath_2[] = _("UNDERGROUND PATH");
const u8 gMapSecName_DiglettsCave[] = _("DIGLETT'S CAVE");
const u8 gMapSecName_VictoryRoad[] = _("VICTORY ROAD");
const u8 gMapSecName_RocketHideout[] = _("ROCKET HIDEOUT");
const u8 gMapSecName_SilphCo[] = _("SILPH CO.");
const u8 gMapSecName_PokemonMansion[] = _("POKéMON MANSION");
const u8 gMapSecName_SafariZone[] = _("SAFARI ZONE");
const u8 gMapSecName_PokemonLeague[] = _("POKéMON LEAGUE");
const u8 gMapSecName_RockTunnel[] = _("ROCK TUNNEL");
const u8 gMapSecName_SeafoamIslands[] = _("SEAFOAM ISLANDS");
const u8 gMapSecName_PokemonTower[] = _("POKéMON TOWER");
const u8 gMapSecName_CeruleanCave[] = _("CERULEAN CAVE");
const u8 gMapSecName_PowerPlant[] = _("POWER PLANT");
const u8 gMapSecName_OneIsland[] = _("ONE ISLAND");
const u8 gMapSecName_TwoIsland[] = _("TWO ISLAND");
const u8 gMapSecName_ThreeIsland[] = _("THREE ISLAND");
const u8 gMapSecName_FourIsland[] = _("FOUR ISLAND");
const u8 gMapSecName_FiveIsland[] = _("FIVE ISLAND");
const u8 gMapSecName_SevenIsland[] = _("SEVEN ISLAND");
const u8 gMapSecName_SixIsland[] = _("SIX ISLAND");
const u8 gMapSecName_KindleRoad[] = _("KINDLE ROAD");
const u8 gMapSecName_TreasureBeach[] = _("TREASURE BEACH");
const u8 gMapSecName_CapeBrink[] = _("CAPE BRINK");
const u8 gMapSecName_BondBridge[] = _("BOND BRIDGE");
const u8 gMapSecName_ThreeIslePort[] = _("THREE ISLE PORT");
const u8 gMapSecName_SeviiIsle6[] = _("SEVII ISLE 6");
const u8 gMapSecName_SeviiIsle7[] = _("SEVII ISLE 7");
const u8 gMapSecName_SeviiIsle8[] = _("SEVII ISLE 8");
const u8 gMapSecName_SeviiIsle9[] = _("SEVII ISLE 9");
const u8 gMapSecName_ResortGorgeous[] = _("RESORT GORGEOUS");
const u8 gMapSecName_WaterLabyrinth[] = _("WATER LABYRINTH");
const u8 gMapSecName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW");
const u8 gMapSecName_MemorialPillar[] = _("MEMORIAL PILLAR");
const u8 gMapSecName_OutcastIsland[] = _("OUTCAST ISLAND");
const u8 gMapSecName_GreenPath[] = _("GREEN PATH");
const u8 gMapSecName_WaterPath[] = _("WATER PATH");
const u8 gMapSecName_RuinValley[] = _("RUIN VALLEY");
const u8 gMapSecName_TrainerTower[] = _("TRAINER TOWER");
const u8 gMapSecName_CanyonEntrance[] = _("CANYON ENTRANCE");
const u8 gMapSecName_SevaultCanyon[] = _("SEVAULT CANYON");
const u8 gMapSecName_TanobyRuins[] = _("TANOBY RUINS");
const u8 gMapSecName_SeviiIsle22[] = _("SEVII ISLE 22");
const u8 gMapSecName_SeviiIsle23[] = _("SEVII ISLE 23");
const u8 gMapSecName_SeviiIsle24[] = _("SEVII ISLE 24");
const u8 gMapSecName_NavelRock[] = _("NAVEL ROCK");
const u8 gMapSecName_MtEmber[] = _("MT. EMBER");
const u8 gMapSecName_BerryForest[] = _("BERRY FOREST");
const u8 gMapSecName_IcefallCave[] = _("ICEFALL CAVE");
const u8 gMapSecName_RocketWarehouse[] = _("ROCKET WAREHOUSE");
const u8 gMapSecName_TrainerTower_2[] = _("TRAINER TOWER");
const u8 gMapSecName_DottedHole[] = _("DOTTED HOLE");
const u8 gMapSecName_LostCave[] = _("LOST CAVE");
const u8 gMapSecName_PatternBush[] = _("PATTERN BUSH");
const u8 gMapSecName_AlteringCave[] = _("ALTERING CAVE");
const u8 gMapSecName_TanobyChambers[] = _("TANOBY CHAMBERS");
const u8 gMapSecName_ThreeIslePath[] = _("THREE ISLE PATH");
const u8 gMapSecName_TanobyKey[] = _("TANOBY KEY");
const u8 gMapSecName_BirthIsland[] = _("BIRTH ISLAND");
const u8 gMapSecName_MoneanChamber[] = _("MONEAN CHAMBER");
const u8 gMapSecName_LiptooChamber[] = _("LIPTOO CHAMBER");
const u8 gMapSecName_WeepthChamber[] = _("WEEPTH CHAMBER");
const u8 gMapSecName_DilfordChamber[] = _("DILFORD CHAMBER");
const u8 gMapSecName_ScufibChamber[] = _("SCUFIB CHAMBER");
const u8 gMapSecName_RixyChamber[] = _("RIXY CHAMBER");
const u8 gMapSecName_ViapoisChamber[] = _("VIAPOIS CHAMBER");
const u8 gMapSecName_EmberSpa[] = _("EMBER SPA");
const u8 gMapSecName_CeladonDept[] = _("CELADON DEPT.");
+160
View File
@@ -0,0 +1,160 @@
#include "global.h"
#include "palette.h"
#include "task.h"
#include "malloc.h"
#include "overworld.h"
#include "event_data.h"
#include "region_map.h"
#include "constants/flags.h"
#include "constants/region_map.h"
struct UnkStruct_20399D4
{
u8 filler_0000[0x4796];
u8 field_4796;
u8 field_4797[4];
u8 field_479B;
u8 field_479C;
u8 filler_479D[3];
u8 field_47A0;
u8 filler_47A1[3];
u8 field_47A4;
u8 filler_47A5[3];
u8 field_47A8;
u8 filler_47A9[15];
TaskFunc field_47B8;
MainCallback field_47BC;
};
EWRAM_DATA struct UnkStruct_20399D4 * gUnknown_20399D4 = NULL;
EWRAM_DATA void * gUnknown_20399D8 = NULL;
EWRAM_DATA void * gUnknown_20399DC = NULL;
EWRAM_DATA void * gUnknown_20399E0 = NULL;
EWRAM_DATA void * gUnknown_20399E4 = NULL;
EWRAM_DATA void * gUnknown_20399E8 = NULL;
EWRAM_DATA void * gUnknown_20399EC = NULL;
EWRAM_DATA void * gUnknown_20399F0[3] = {};
EWRAM_DATA void * gUnknown_20399FC = NULL;
static void sub_80BFFD0(void);
void sub_80C0100(void);
void sub_80C04E4(u8 taskId);
void sub_80C4F08(u8 taskId);
#include "data/text/map_section_names.h"
extern const u16 gUnknown_83EF2DC[];
extern const u8 sSeviiMapsecs[3][30];
extern const u8 gUnknown_83F1B00[3][4];
static void RegionMap_DarkenPalette(u16 *pal, u16 size, u16 tint)
{
int i;
int r, g, b;
for (i = 0; i < size; i++)
{
r = (*pal) & 0x1F;
g = ((*pal) >> 5) & 0x1F;
b = ((*pal) >> 10) & 0x1F;
r = (((r << 8) / 100) * tint) >> 8;
g = (((g << 8) / 100) * tint) >> 8;
b = (((b << 8) / 100) * tint) >> 8;
*pal = RGB2(r, g, b);
pal++;
}
}
void sub_80BFEA0(void)
{
u16 pal[16];
CpuCopy16(&gUnknown_83EF2DC[0x20], pal, sizeof(pal));
RegionMap_DarkenPalette(pal, NELEMS(pal), 95);
LoadPalette(pal, 0x20, 0x20);
LoadPalette(&gUnknown_83EF2DC[0x2F], 0x2F, sizeof(u16));
}
void sub_80BFEDC(u8 kind)
{
gUnknown_20399D4 = AllocZeroed(sizeof(struct UnkStruct_20399D4));
if (gUnknown_20399D4 == NULL)
{
SetMainCallback2(CB2_ReturnToField);
}
else
{
gUnknown_2031DE0 = TRUE;
gUnknown_20399D4->field_4796 = kind;
gUnknown_20399D4->field_47A0 = 0;
gUnknown_20399D4->field_47A4 = 0;
gUnknown_20399D4->field_47A8 = 0;
sub_80BFFD0();
SetMainCallback2(sub_80C0100);
}
}
void sub_80BFF50(u8 kind, MainCallback cb)
{
gUnknown_20399D4 = AllocZeroed(sizeof(struct UnkStruct_20399D4));
if (gUnknown_20399D4 == NULL)
{
SetMainCallback2(CB2_ReturnToField);
}
else
{
gUnknown_2031DE0 = TRUE;
gUnknown_20399D4->field_4796 = kind;
gUnknown_20399D4->field_47A0 = 0;
gUnknown_20399D4->field_47A4 = 0;
gUnknown_20399D4->field_47A8 = 0;
gUnknown_20399D4->field_47BC = cb;
sub_80BFFD0();
SetMainCallback2(sub_80C0100);
}
}
static void sub_80BFFD0(void)
{
u8 i;
u8 j;
u8 r7;
switch (gUnknown_20399D4->field_4796)
{
default:
case 0:
case 1:
gUnknown_20399D4->field_47B8 = sub_80C04E4;
break;
case 2:
gUnknown_20399D4->field_47B8 = sub_80C4F08;
break;
}
for (i = 0; i < 4; i++)
{
gUnknown_20399D4->field_4797[i] = gUnknown_83F1B00[gUnknown_20399D4->field_4796][i];
}
if (!FlagGet(FLAG_SYS_SEVII_MAP_123))
gUnknown_20399D4->field_4797[0] = FALSE;
r7 = 0;
j = 0;
if (gMapHeader.regionMapSectionId >= MAPSECS_SEVII_123)
{
while (r7 == 0)
{
for (i = 0; sSeviiMapsecs[j][i] != MAPSEC_NONE; i++)
{
if (gMapHeader.regionMapSectionId == sSeviiMapsecs[j][i])
{
r7 = j + 1;
break;
}
}
j++;
}
}
gUnknown_20399D4->field_479B = r7;
gUnknown_20399D4->field_479C = r7;
}
+2 -27
View File
@@ -267,35 +267,10 @@ gUnknown_203998C: @ 203998C
.include "src/mail.o"
.align 2
.include "src/menu_helpers.o"
.align 2
.include "src/region_map.o"
.align 2
gUnknown_20399D4: @ 20399D4
.space 0x4
gUnknown_20399D8: @ 20399D8
.space 0x4
gUnknown_20399DC: @ 20399DC
.space 0x4
gUnknown_20399E0: @ 20399E0
.space 0x4
gUnknown_20399E4: @ 20399E4
.space 0x4
gUnknown_20399E8: @ 20399E8
.space 0x4
gUnknown_20399EC: @ 20399EC
.space 0x4
gUnknown_20399F0: @ 20399F0
.space 0xC
gUnknown_20399FC: @ 20399FC
.space 0x4
gAIScriptPtr: @ 2039A00
.space 0x4