summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-01-08 16:03:42 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2020-01-08 16:03:42 -0500
commitf8e911bcf57ec6f2b2e7ec1c0c09e467793b94ab (patch)
tree79dd84804ac6c3d0fd625b1fb9cd3e200431a737 /src
parent9045911193a3dd65c0cf1d304fc25304e9364292 (diff)
Partial documentation of region map
Diffstat (limited to 'src')
-rw-r--r--src/map_preview_screen.c2
-rw-r--r--src/region_map.c940
2 files changed, 471 insertions, 471 deletions
diff --git a/src/map_preview_screen.c b/src/map_preview_screen.c
index 0747e8ade..c5b41a7c1 100644
--- a/src/map_preview_screen.c
+++ b/src/map_preview_screen.c
@@ -552,7 +552,7 @@ static void sub_80F83D0(u8 taskId)
}
}
-const struct MapPreviewScreen * sub_80F8544(u8 mapsec)
+const struct MapPreviewScreen * GetDungeonMapPreviewScreenInfo(u8 mapsec)
{
u8 idx;
diff --git a/src/region_map.c b/src/region_map.c
index 36cf7e83b..7a411b8e8 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -33,11 +33,11 @@ struct UnkStruct_20399D4
{
u8 field_0000[19];
u8 field_0013[19];
- u16 field_0026[5][600];
+ u16 layouts[5][600];
// Inefficiency: these should be u8 or have half the elements each
- u16 field_1796[3][BG_SCREEN_SIZE];
- u8 field_4796;
- u8 field_4797[4];
+ u16 bgTilemapBuffers[3][BG_SCREEN_SIZE];
+ u8 mapType;
+ bool8 regionMapPermissions[4];
u8 field_479B;
u8 field_479C;
u8 filler_479D[3];
@@ -52,25 +52,25 @@ struct UnkStruct_20399D4
u16 field_47B0;
u8 filler_47B2[6];
TaskFunc field_47B8;
- MainCallback field_47BC;
+ MainCallback savedCallback;
}; // size = 0x47C0
-struct UnkStruct_20399D8_14B0
+struct SelectionCursorSubspriteData
{
- u8 field_000[0x400];
- struct Sprite * field_400;
- u16 field_404;
- u16 field_406;
- s16 field_408;
+ u8 tiles[0x400];
+ struct Sprite * sprite;
+ u16 tileTag;
+ u16 paletteTag;
+ s16 xCoord;
};
struct UnkStruct_20399D8
{
- u8 field_0000[0x1000];
- u16 field_1000[0x258];
- struct UnkStruct_20399D8_14B0 field_14B0[2];
+ u8 bgTiles[0x1000];
+ u16 tileMap[0x258];
+ struct SelectionCursorSubspriteData selectionCursorSubspriteData[2];
u8 field_1CC8;
- u8 field_1CC9;
+ u8 selectionCursorLoadState;
u8 field_1CCA;
u8 field_1CCB;
u8 field_1CCC;
@@ -81,7 +81,7 @@ struct UnkStruct_20399D8
u16 field_1CDC;
}; // size = 0x1CE0
-struct UnkStruct_80C4CF0
+struct GpuWindowParams
{
u16 v0;
u16 v2;
@@ -91,19 +91,19 @@ struct UnkStruct_80C4CF0
struct UnkStruct_83F1B3C
{
- u16 field_0;
- const u8 *field_4;
- const u8 *field_8;
+ u16 id;
+ const u8 *name;
+ const u8 *desc;
};
-struct UnkStruct_20399DC
+struct DungeonMapPreviewManagerStruct
{
- u16 field_0000[0x1C20];
- u16 field_3840[0x280];
- const struct MapPreviewScreen * field_3D40;
- TaskFunc field_3D44;
- u8 field_3D48;
- u8 field_3D49;
+ u16 tiles[0x1C20];
+ u16 tilemap[0x280];
+ const struct MapPreviewScreen * mapPreviewInfo;
+ TaskFunc savedTask;
+ u8 dungeonMapPreviewPrepState;
+ u8 dungeonMapPreviewDrawState;
u8 field_3D4A;
u8 field_3D4B;
u8 field_3D4C;
@@ -220,7 +220,7 @@ struct UnkStruct_20399FC
static EWRAM_DATA struct UnkStruct_20399D4 * gUnknown_20399D4 = NULL;
static EWRAM_DATA struct UnkStruct_20399D8 * gUnknown_20399D8 = NULL;
-static EWRAM_DATA struct UnkStruct_20399DC * gUnknown_20399DC = NULL;
+static EWRAM_DATA struct DungeonMapPreviewManagerStruct * sDungeonMapPreviewManager = NULL;
static EWRAM_DATA struct UnkStruct_20399E0 * gUnknown_20399E0 = NULL;
static EWRAM_DATA struct UnkStruct_20399E4 * gUnknown_20399E4 = NULL;
static EWRAM_DATA struct UnkStruct_20399E8 * gUnknown_20399E8 = NULL;
@@ -229,26 +229,26 @@ static EWRAM_DATA struct UnkStruct_20399F0 * gUnknown_20399F0[3] = {};
static EWRAM_DATA struct UnkStruct_20399FC * gUnknown_20399FC = NULL;
static void sub_80BFFD0(void);
-static void sub_80C0100(void);
-static bool8 sub_80C0238(void);
+static void CB2_OpenRegionMap(void);
+static bool8 HandleLoadRegionMapGfx(void);
static void sub_80C03E8(void);
static void sub_80C04E4(u8 taskId);
static void sub_80C07F8(u8 taskId);
static void sub_80C0820(u8 taskId);
static void sub_80C08B4(void);
-static void sub_80C08E0(void);
+static void NullVBlankHBlankCallbacks(void);
static void sub_80C08F4(void);
-static void sub_80C0904(void);
-static void sub_80C0A2C(void);
-static void sub_80C0A6C(void);
-static void sub_80C0A88(u8 a0);
+static void ResetGpu(void);
+static void SetBgTilemapBuffers(void);
+static void ResetOamForRegionMap(void);
+static void SetBg0andBg3Visibility(u8 a0);
static void sub_80C0AB8(void);
static void sub_80C0B18(void);
static void sub_80C0B9C(void);
static void sub_80C0BB0(void);
static void sub_80C0CC8(u8 bg, u16 *map);
-static bool8 sub_80C0E04(u8 a0);
-static u8 sub_80C0E20(void);
+static bool8 GetRegionMapPermission(u8 a0);
+static u8 GetWhichRegionMap(void);
static void sub_80C0E70(u8 a0, u8 taskId, TaskFunc taskFunc);
static void sub_80C1098(u8 taskId);
static void sub_80C1280(u8 taskId);
@@ -257,16 +257,16 @@ static void sub_80C1324(u8 bg, u16 *map);
static void sub_80C1390(void);
static bool8 sub_80C144C(void);
static bool8 sub_80C1478(void);
-static bool8 sub_80C16D0(void);
-static void sub_80C1754(u8 a0, u16 a1, u16 a2);
-static void sub_80C176C(u8 a0, u16 a1, u16 a2);
-static void sub_80C1880(void);
-static void sub_80C195C(u8 a0, u8 taskId, TaskFunc taskFunc);
-static void sub_80C1A94(u8 taskId);
-static void sub_80C1BE0(u8 taskId);
-static void sub_80C1E14(u8 taskId);
+static bool8 LoadAndCreateSelectionCursorSpriteGfx(void);
+static void CreateSelectionCursorSubsprite(u8 whichSprite, u16 tileTag, u16 paletteTag);
+static void RealCreateSelectionCursorSubsprite(u8 whichSprite, u16 tileTag, u16 paletteTag);
+static void DestroySelectionCursorSprites(void);
+static void RegionMapCreateDungeonMapPreview(u8 a0, u8 taskId, TaskFunc taskFunc);
+static void Task_PrepDungeonMapPreviewAndFlavorText(u8 taskId);
+static void Task_DrawDungeonMapPreviewAndFlavorText(u8 taskId);
+static void DestroyMapPreviewAssets(u8 taskId);
static void sub_80C1E94(void);
-static void sub_80C1E78(u8 bgId, const u16 * tilemap);
+static void CopyMapPreviewTilemapToBgTilemapBuffer(u8 bgId, const u16 * tilemap);
static bool8 sub_80C1F80(bool8 a0);
static void sub_80C2208(u8 taskId, TaskFunc taskFunc);
static void sub_80C24BC(void);
@@ -287,15 +287,15 @@ static u8 sub_80C31C0(void);
static u8 sub_80C3348(void);
static u8 sub_80C3400(void);
static void sub_80C3418(void);
-static u16 sub_80C3508(void);
-static u16 sub_80C3514(void);
+static u16 GetMapCursorX(void);
+static u16 GetMapCursorY(void);
static u16 sub_80C3520(void);
-static u16 sub_80C3580(void);
+static u16 GetMapSecUnderCursor(void);
static u8 sub_80C35DC(u8 a0);
static u8 sub_80C3878(u8 a0);
static u8 sub_80C3AC8(u8 a0);
-static void sub_80C3D40(void);
-static u8 sub_80C4164(u8 a0, u8 a1, s16 a2, s16 a3);
+static void GetPlayerPositionOnRegionMap_HandleOverrides(void);
+static u8 GetSelectedMapSection(u8 a0, u8 a1, s16 a2, s16 a3);
static void sub_80C41D8(u16 a0, u16 a1);
static void sub_80C4244(void);
static void sub_80C4324(bool8 a0);
@@ -319,7 +319,7 @@ static void sub_80C4C5C(u16 a0, u16 a1);
static void sub_80C4C74(u16 a0, u16 a1);
static void sub_80C4C88(u16 a0);
static void sub_80C4C9C(u8 a0, u8 a1);
-static void sub_80C4CF0(u8 a0, const struct UnkStruct_80C4CF0 *a1);
+static void SetGpuWindowDims(u8 a0, const struct GpuWindowParams *a1);
static void sub_80C4D30(void);
static void sub_80C4E18(const u8 *str);
static void sub_80C4E74(const u8 *str);
@@ -343,20 +343,20 @@ static const u16 unref_83EF37C[] = {
RGB_WHITE,
RGB_WHITE
};
-static const u16 gUnknown_83EF384[] = INCBIN_U16("graphics/region_map/unk_83EF384.gbapal");
+static const u16 sSelectionCursorPals[] = INCBIN_U16("graphics/region_map/unk_83EF384.gbapal");
static const u16 gUnknown_83EF3A4[] = INCBIN_U16("graphics/region_map/unk_83EF3A4.gbapal");
-static const u32 gUnknown_83EF3C4[] = INCBIN_U32("graphics/region_map/unk_83EF3C4.4bpp.lz");
-static const u32 gUnknown_83EF450[] = INCBIN_U32("graphics/region_map/unk_83EF450.4bpp.lz");
+static const u32 sSelectionCursorLeftTiles[] = INCBIN_U32("graphics/region_map/unk_83EF3C4.4bpp.lz");
+static const u32 sSelectionCursorRightTiles[] = INCBIN_U32("graphics/region_map/unk_83EF450.4bpp.lz");
static const u32 gUnknown_83EF4E0[] = INCBIN_U32("graphics/region_map/unk_83EF4E0.4bpp.lz");
static const u32 gUnknown_83EF524[] = INCBIN_U32("graphics/region_map/unk_83EF524.4bpp.lz");
static const u32 gUnknown_83EF59C[] = INCBIN_U32("graphics/region_map/unk_83EF59C.4bpp.lz");
static const u32 gUnknown_83EF61C[] = INCBIN_U32("graphics/region_map/unk_83EF61C.4bpp.lz");
static const u32 gUnknown_83F0330[] = INCBIN_U32("graphics/region_map/unk_83F0330.4bpp.lz");
static const u32 gUnknown_83F0580[] = INCBIN_U32("graphics/region_map/unk_83F0580.bin.lz");
-static const u32 gUnknown_83F089C[] = INCBIN_U32("graphics/region_map/unk_83F089C.bin.lz");
-static const u32 gUnknown_83F0AFC[] = INCBIN_U32("graphics/region_map/unk_83F0AFC.bin.lz");
-static const u32 gUnknown_83F0C0C[] = INCBIN_U32("graphics/region_map/unk_83F0C0C.bin.lz");
-static const u32 gUnknown_83F0CF0[] = INCBIN_U32("graphics/region_map/unk_83F0CF0.bin.lz");
+static const u32 sRegionMapLayout_Kanto[] = INCBIN_U32("graphics/region_map/unk_83F089C.bin.lz");
+static const u32 sRegionMapLayout_Sevii123[] = INCBIN_U32("graphics/region_map/unk_83F0AFC.bin.lz");
+static const u32 sRegionMapLayout_Sevii45[] = INCBIN_U32("graphics/region_map/unk_83F0C0C.bin.lz");
+static const u32 sRegionMapLayout_Sevii67[] = INCBIN_U32("graphics/region_map/unk_83F0CF0.bin.lz");
static const u32 gUnknown_83F0E0C[] = INCBIN_U32("graphics/region_map/unk_83F0E0C.bin.lz");
static const u32 gUnknown_83F0F1C[] = INCBIN_U32("graphics/region_map/unk_83F0F1C.bin.lz");
static const u32 gUnknown_83F1084[] = INCBIN_U32("graphics/region_map/unk_83F1084.bin.lz");
@@ -452,12 +452,12 @@ static const struct WindowTemplate gUnknown_83F1A60[] = {
}, DUMMY_WIN_TEMPLATE
};
-ALIGNED(4) const u8 gUnknown_83F1A90[] = {0, 1, 2};
-ALIGNED(4) const u8 gUnknown_83F1A94[] = {0, 7, 2};
+ALIGNED(4) const u8 sTextColor_White[] = {0, 1, 2};
+ALIGNED(4) const u8 sTextColor_Green[] = {0, 7, 2};
ALIGNED(4) const u8 gUnknown_83F1A98[] = {0, 10, 2};
static const u8 *const gUnknown_83F1A9C[] = {
- gUnknown_83F1A94,
+ sTextColor_Green,
gUnknown_83F1A98
};
@@ -524,19 +524,19 @@ static const u8 sSeviiMapsecs[3][30] = {
}
};
-ALIGNED(4) const u8 gUnknown_83F1B00[3][4] = {
- {1, 1, 1, 0},
- {0, 0, 0, 0},
- {0, 0, 0, 1}
+ALIGNED(4) const bool8 sRegionMapPermissions[3][4] = {
+ {TRUE , TRUE , TRUE , FALSE},
+ {FALSE, FALSE, FALSE, FALSE},
+ {FALSE, FALSE, FALSE, TRUE }
};
-static const struct UnkStruct_80C4CF0 gUnknown_83F1B0C[3] = {
+static const struct GpuWindowParams sStdWindowDims[3] = {
{0x18, 0x10, 0x90, 0x20},
{0x18, 0x20, 0x90, 0x30},
{0x00, 0x00, 0x00, 0x00}
};
-static const struct OamData gUnknown_83F1B24 = {
+static const struct OamData sSelectionCursorOam = {
.shape = SPRITE_SHAPE(32x32),
.size = SPRITE_SIZE(32x32)
};
@@ -547,87 +547,87 @@ static const union AnimCmd gUnknown_83F1B2C[] = {
ANIMCMD_JUMP(0)
};
-static const union AnimCmd *const gUnknown_83F1B38[] = {
+static const union AnimCmd *const sSelectionCursorAnims[] = {
gUnknown_83F1B2C
};
-static const struct UnkStruct_83F1B3C gUnknown_83F1B3C[] = {
+static const struct UnkStruct_83F1B3C sDungeonHighlights[] = {
{
- .field_0 = MAPSEC_VIRIDIAN_FOREST,
- .field_4 = gMapSecName_ViridianForest,
- .field_8 = gUnknown_8418ECB
+ .id = MAPSEC_VIRIDIAN_FOREST,
+ .name = gMapSecName_ViridianForest,
+ .desc = gText_RegionMap_AreaDesc_ViridianForest
}, {
- .field_0 = MAPSEC_MT_MOON,
- .field_4 = gMapSecName_MtMoon,
- .field_8 = gUnknown_8418F3A
+ .id = MAPSEC_MT_MOON,
+ .name = gMapSecName_MtMoon,
+ .desc = gText_RegionMap_AreaDesc_MtMoon
}, {
- .field_0 = MAPSEC_DIGLETTS_CAVE,
- .field_4 = gMapSecName_DiglettsCave,
- .field_8 = gUnknown_8418FB8
+ .id = MAPSEC_DIGLETTS_CAVE,
+ .name = gMapSecName_DiglettsCave,
+ .desc = gText_RegionMap_AreaDesc_DiglettsCave
}, {
- .field_0 = MAPSEC_KANTO_VICTORY_ROAD,
- .field_4 = gMapSecName_VictoryRoad,
- .field_8 = gUnknown_841901C
+ .id = MAPSEC_KANTO_VICTORY_ROAD,
+ .name = gMapSecName_VictoryRoad,
+ .desc = gText_RegionMap_AreaDesc_VictoryRoad
}, {
- .field_0 = MAPSEC_POKEMON_MANSION,
- .field_4 = gMapSecName_PokemonMansion,
- .field_8 = gUnknown_841908E
+ .id = MAPSEC_POKEMON_MANSION,
+ .name = gMapSecName_PokemonMansion,
+ .desc = gText_RegionMap_AreaDesc_PokemonMansion
}, {
- .field_0 = MAPSEC_KANTO_SAFARI_ZONE,
- .field_4 = gMapSecName_SafariZone,
- .field_8 = gUnknown_8419103
+ .id = MAPSEC_KANTO_SAFARI_ZONE,
+ .name = gMapSecName_SafariZone,
+ .desc = gText_RegionMap_AreaDesc_SafariZone
}, {
- .field_0 = MAPSEC_ROCK_TUNNEL,
- .field_4 = gMapSecName_RockTunnel,
- .field_8 = gUnknown_841917D
+ .id = MAPSEC_ROCK_TUNNEL,
+ .name = gMapSecName_RockTunnel,
+ .desc = gText_RegionMap_AreaDesc_RockTunnel
}, {
- .field_0 = MAPSEC_SEAFOAM_ISLANDS,
- .field_4 = gMapSecName_SeafoamIslands,
- .field_8 = gUnknown_8419201
+ .id = MAPSEC_SEAFOAM_ISLANDS,
+ .name = gMapSecName_SeafoamIslands,
+ .desc = gText_RegionMap_AreaDesc_SeafoamIslands
}, {
- .field_0 = MAPSEC_POKEMON_TOWER,
- .field_4 = gMapSecName_PokemonTower,
- .field_8 = gUnknown_841926D
+ .id = MAPSEC_POKEMON_TOWER,
+ .name = gMapSecName_PokemonTower,
+ .desc = gText_RegionMap_AreaDesc_PokemonTower
}, {
- .field_0 = MAPSEC_CERULEAN_CAVE,
- .field_4 = gMapSecName_CeruleanCave,
- .field_8 = gUnknown_84192E2
+ .id = MAPSEC_CERULEAN_CAVE,
+ .name = gMapSecName_CeruleanCave,
+ .desc = gText_RegionMap_AreaDesc_CeruleanCave
}, {
- .field_0 = MAPSEC_POWER_PLANT,
- .field_4 = gMapSecName_PowerPlant,
- .field_8 = gUnknown_841935B
+ .id = MAPSEC_POWER_PLANT,
+ .name = gMapSecName_PowerPlant,
+ .desc = gText_RegionMap_AreaDesc_PowerPlant
}, {
- .field_0 = MAPSEC_MT_EMBER,
- .field_4 = gMapSecName_MtEmber,
- .field_8 = gUnknown_84193D5
+ .id = MAPSEC_MT_EMBER,
+ .name = gMapSecName_MtEmber,
+ .desc = gText_RegionMap_AreaDesc_MtEmber
}, {
- .field_0 = MAPSEC_BERRY_FOREST,
- .field_4 = gMapSecName_BerryForest,
- .field_8 = gUnknown_8419444
+ .id = MAPSEC_BERRY_FOREST,
+ .name = gMapSecName_BerryForest,
+ .desc = gText_RegionMap_AreaDesc_BerryForest
}, {
- .field_0 = MAPSEC_ICEFALL_CAVE,
- .field_4 = gMapSecName_IcefallCave,
- .field_8 = gUnknown_84194C9
+ .id = MAPSEC_ICEFALL_CAVE,
+ .name = gMapSecName_IcefallCave,
+ .desc = gText_RegionMap_AreaDesc_IcefallCave
}, {
- .field_0 = MAPSEC_LOST_CAVE,
- .field_4 = gMapSecName_LostCave,
- .field_8 = gUnknown_841953F
+ .id = MAPSEC_LOST_CAVE,
+ .name = gMapSecName_LostCave,
+ .desc = gText_RegionMap_AreaDesc_LostCave
}, {
- .field_0 = MAPSEC_TANOBY_CHAMBERS,
- .field_4 = gMapSecName_TanobyChambers,
- .field_8 = gUnknown_84195AC
+ .id = MAPSEC_TANOBY_CHAMBERS,
+ .name = gMapSecName_TanobyChambers,
+ .desc = gText_RegionMap_AreaDesc_TanobyRuins
}, {
- .field_0 = MAPSEC_ALTERING_CAVE,
- .field_4 = gMapSecName_AlteringCave,
- .field_8 = gUnknown_8419629
+ .id = MAPSEC_ALTERING_CAVE,
+ .name = gMapSecName_AlteringCave,
+ .desc = gText_RegionMap_AreaDesc_AlteringCave
}, {
- .field_0 = MAPSEC_PATTERN_BUSH,
- .field_4 = gMapSecName_PatternBush,
- .field_8 = gUnknown_841969D
+ .id = MAPSEC_PATTERN_BUSH,
+ .name = gMapSecName_PatternBush,
+ .desc = gText_RegionMap_AreaDesc_PatternBush
}, {
- .field_0 = MAPSEC_DOTTED_HOLE,
- .field_4 = gMapSecName_DottedHole,
- .field_8 = gUnknown_841971A
+ .id = MAPSEC_DOTTED_HOLE,
+ .name = gMapSecName_DottedHole,
+ .desc = gText_RegionMap_AreaDesc_DottedHole
}
};
@@ -645,7 +645,7 @@ static const union AnimCmd *const gUnknown_83F1C30[] = {
gAnimCmd_83F1C28
};
-static const struct UnkStruct_80C4CF0 gUnknown_83F1C34 = {
+static const struct GpuWindowParams gUnknown_83F1C34 = {
0x18, 0x10, 0xD8, 0xA0
};
@@ -717,19 +717,19 @@ static const union AnimCmd *const gUnknown_83F1C98[] = {
gAnimCmd_83F1C8C
};
-static const u16 gUnknown_83F1CA0[] = {
+static const u16 sWinFlags[] = {
DISPCNT_WIN0_ON,
DISPCNT_WIN1_ON
};
-static const u8 gUnknown_83F1CA4[][2] = {
+static const u8 sWinRegs[][2] = {
{REG_OFFSET_WIN0V, REG_OFFSET_WIN0H},
{REG_OFFSET_WIN1V, REG_OFFSET_WIN1H}
};
static const u8 gUnknown_83F1CA8[] = {15, 1, 2};
-static const u8 *const gUnknown_83F1CAC[] = {
+static const u8 *const sMapNames[] = {
[MAPSEC_PALLET_TOWN - MAPSECS_KANTO] = gMapSecName_PalletTown,
[MAPSEC_VIRIDIAN_CITY - MAPSECS_KANTO] = gMapSecName_ViridianCity,
[MAPSEC_PEWTER_CITY - MAPSECS_KANTO] = gMapSecName_PewterCity,
@@ -841,7 +841,7 @@ static const u8 *const gUnknown_83F1CAC[] = {
[MAPSEC_SPECIAL_AREA - MAPSECS_KANTO] = gMapSecName_CeladonDept
};
-static const u16 gUnknown_83F1E60[0xC6][2] = {
+static const u16 sMapSectionTopLeftCorners[0xC6][2] = {
[MAPSEC_PALLET_TOWN - MAPSECS_KANTO] = {0x04, 0x0b},
[MAPSEC_VIRIDIAN_CITY - MAPSECS_KANTO] = {0x04, 0x08},
[MAPSEC_PEWTER_CITY - MAPSECS_KANTO] = {0x04, 0x04},
@@ -915,7 +915,7 @@ static const u16 gUnknown_83F1E60[0xC6][2] = {
[MAPSEC_BIRTH_ISLAND - MAPSECS_KANTO] = {0x12, 0x0d},
};
-static const u16 gUnknown_83F2178[0xC6][2] = {
+static const u16 sMapSectionDimensions[0xC6][2] = {
[MAPSEC_PALLET_TOWN - MAPSECS_KANTO] = {0x01, 0x01},
[MAPSEC_VIRIDIAN_CITY - MAPSECS_KANTO] = {0x01, 0x01},
[MAPSEC_PEWTER_CITY - MAPSECS_KANTO] = {0x01, 0x01},
@@ -1026,7 +1026,7 @@ static const u16 gUnknown_83F2178[0xC6][2] = {
[MAPSEC_EMBER_SPA - MAPSECS_KANTO] = {0x01, 0x01}
};
-static const u8 gUnknown_83F2490[][15][22] = {
+static const u8 sRegionMapSections_Kanto[][15][22] = {
{
{MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE,
MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE,
@@ -1096,7 +1096,7 @@ static const u8 gUnknown_83F2490[][15][22] = {
}
};
-static const u8 gUnknown_83F2724[][15][22] = {
+static const u8 sRegionMapSections_Sevii123[][15][22] = {
{
{MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE},
{MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE},
@@ -1132,7 +1132,7 @@ static const u8 gUnknown_83F2724[][15][22] = {
}
};
-static const u8 gUnknown_83F29B8[][15][22] = {
+static const u8 sRegionMapSections_Sevii45[][15][22] = {
{
{MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE},
{MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE},
@@ -1168,7 +1168,7 @@ static const u8 gUnknown_83F29B8[][15][22] = {
}
};
-static const u8 gUnknown_83F2C4C[][15][22] = {
+static const u8 sRegionMapSections_Sevii67[][15][22] = {
{
{MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_OUTCAST_ISLAND, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE},
{MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_OUTCAST_ISLAND, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE, MAPSEC_NONE},
@@ -1204,7 +1204,7 @@ static const u8 gUnknown_83F2C4C[][15][22] = {
}
};
-static const u8 gUnknown_83F2EE0[][3] = {
+static const u8 sMapsecToSpawn[][3] = {
[MAPSEC_PALLET_TOWN - MAPSECS_KANTO] = {MAP_GROUP(PALLET_TOWN), MAP_NUM(PALLET_TOWN), SPAWN_PALLET_TOWN},
[MAPSEC_VIRIDIAN_CITY - MAPSECS_KANTO] = {MAP_GROUP(VIRIDIAN_CITY), MAP_NUM(VIRIDIAN_CITY), SPAWN_VIRIDIAN_CITY},
[MAPSEC_PEWTER_CITY - MAPSECS_KANTO] = {MAP_GROUP(PEWTER_CITY), MAP_NUM(PEWTER_CITY), SPAWN_PEWTER_CITY},
@@ -1354,12 +1354,12 @@ static void sub_80BFEDC(u8 kind)
else
{
gUnknown_2031DE0 = TRUE;
- gUnknown_20399D4->field_4796 = kind;
+ gUnknown_20399D4->mapType = kind;
gUnknown_20399D4->field_47A0 = 0;
gUnknown_20399D4->field_47A4 = 0;
gUnknown_20399D4->field_47A8 = 0;
sub_80BFFD0();
- SetMainCallback2(sub_80C0100);
+ SetMainCallback2(CB2_OpenRegionMap);
}
}
@@ -1373,13 +1373,13 @@ void sub_80BFF50(u8 kind, MainCallback cb)
else
{
gUnknown_2031DE0 = TRUE;
- gUnknown_20399D4->field_4796 = kind;
+ gUnknown_20399D4->mapType = kind;
gUnknown_20399D4->field_47A0 = 0;
gUnknown_20399D4->field_47A4 = 0;
gUnknown_20399D4->field_47A8 = 0;
- gUnknown_20399D4->field_47BC = cb;
+ gUnknown_20399D4->savedCallback = cb;
sub_80BFFD0();
- SetMainCallback2(sub_80C0100);
+ SetMainCallback2(CB2_OpenRegionMap);
}
}
@@ -1389,7 +1389,7 @@ static void sub_80BFFD0(void)
u8 j;
u8 r7;
- switch (gUnknown_20399D4->field_4796)
+ switch (gUnknown_20399D4->mapType)
{
default:
case 0:
@@ -1402,10 +1402,10 @@ static void sub_80BFFD0(void)
}
for (i = 0; i < 4; i++)
{
- gUnknown_20399D4->field_4797[i] = gUnknown_83F1B00[gUnknown_20399D4->field_4796][i];
+ gUnknown_20399D4->regionMapPermissions[i] = sRegionMapPermissions[gUnknown_20399D4->mapType][i];
}
if (!FlagGet(FLAG_SYS_SEVII_MAP_123))
- gUnknown_20399D4->field_4797[0] = FALSE;
+ gUnknown_20399D4->regionMapPermissions[MAPPERM_0] = FALSE;
r7 = 0;
j = 0;
if (gMapHeader.regionMapSectionId >= MAPSECS_SEVII_123)
@@ -1427,21 +1427,21 @@ static void sub_80BFFD0(void)
gUnknown_20399D4->field_479C = r7;
}
-static void sub_80C0100(void)
+static void CB2_OpenRegionMap(void)
{
switch (gUnknown_20399D4->field_47A4)
{
case 0:
- sub_80C08E0();
+ NullVBlankHBlankCallbacks();
break;
case 1:
- sub_80C0904();
+ ResetGpu();
break;
case 2:
- sub_80C0A6C();
+ ResetOamForRegionMap();
break;
case 3:
- if (!sub_80C0238())
+ if (!HandleLoadRegionMapGfx())
return;
break;
case 4:
@@ -1449,11 +1449,11 @@ static void sub_80C0100(void)
CopyBgTilemapBufferToVram(1);
break;
case 5:
- sub_80C0CC8(0, gUnknown_20399D4->field_0026[gUnknown_20399D4->field_479B]);
+ sub_80C0CC8(0, gUnknown_20399D4->layouts[gUnknown_20399D4->field_479B]);
CopyBgTilemapBufferToVram(0);
- if (gUnknown_20399D4->field_4796 != 0)
+ if (gUnknown_20399D4->mapType != 0)
{
- sub_80C0CC8(1, gUnknown_20399D4->field_0026[4]);
+ sub_80C0CC8(1, gUnknown_20399D4->layouts[4]);
CopyBgTilemapBufferToVram(1);
}
break;
@@ -1466,8 +1466,8 @@ static void sub_80C0100(void)
PutWindowTilemap(1);
break;
case 8:
- if (sub_80C0E04(2) == TRUE)
- sub_80C0A88(1);
+ if (GetRegionMapPermission(MAPPERM_2) == TRUE)
+ SetBg0andBg3Visibility(1);
break;
default:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
@@ -1478,7 +1478,7 @@ static void sub_80C0100(void)
gUnknown_20399D4->field_47A4++;
}
-static bool8 sub_80C0238(void)
+static bool8 HandleLoadRegionMapGfx(void)
{
switch (gUnknown_20399D4->field_47A8)
{
@@ -1488,7 +1488,7 @@ static bool8 sub_80C0238(void)
case 1:
LoadPalette(gUnknown_83EF2DC, 0x00, 0xA0);
sub_80BFEA0();
- if (gUnknown_20399D4->field_4796 != 0)
+ if (gUnknown_20399D4->mapType != 0)
{
LoadPalette(&gUnknown_83EF23C[15], 0x00, 0x02);
LoadPalette(&gUnknown_83EF23C[15], 0x10, 0x02);
@@ -1502,7 +1502,7 @@ static bool8 sub_80C0238(void)
break;
case 3:
DecompressAndCopyTileDataToVram(0, gUnknown_83EF61C, 0, 0, 0);
- if (gUnknown_20399D4->field_4796 != 0)
+ if (gUnknown_20399D4->mapType != 0)
{
DecompressAndCopyTileDataToVram(1, gUnknown_83F1978, 0, 0, 0);
}
@@ -1512,19 +1512,19 @@ static bool8 sub_80C0238(void)
return FALSE;
break;
case 5:
- LZ77UnCompWram(gUnknown_83F089C, gUnknown_20399D4->field_0026[0]);
+ LZ77UnCompWram(sRegionMapLayout_Kanto, gUnknown_20399D4->layouts[0]);
break;
case 6:
- LZ77UnCompWram(gUnknown_83F0AFC, gUnknown_20399D4->field_0026[1]);
+ LZ77UnCompWram(sRegionMapLayout_Sevii123, gUnknown_20399D4->layouts[1]);
break;
case 7:
- LZ77UnCompWram(gUnknown_83F0C0C, gUnknown_20399D4->field_0026[2]);
+ LZ77UnCompWram(sRegionMapLayout_Sevii45, gUnknown_20399D4->layouts[2]);
break;
case 8:
- LZ77UnCompWram(gUnknown_83F0CF0, gUnknown_20399D4->field_0026[3]);
+ LZ77UnCompWram(sRegionMapLayout_Sevii67, gUnknown_20399D4->layouts[3]);
break;
default:
- LZ77UnCompWram(gUnknown_83F19A0, gUnknown_20399D4->field_0026[4]);
+ LZ77UnCompWram(gUnknown_83F19A0, gUnknown_20399D4->layouts[4]);
return TRUE;
}
gUnknown_20399D4->field_47A8++;
@@ -1539,7 +1539,7 @@ static void sub_80C03E8(void)
static bool32 sub_80C0410(void)
{
- if (sub_80C4164(sub_80C0E20(), 0, sub_80C3514(), sub_80C3508()) == 99)
+ if (GetSelectedMapSection(GetWhichRegionMap(), 0, GetMapCursorY(), GetMapCursorX()) == 99)
return FALSE;
else
return TRUE;
@@ -1551,9 +1551,9 @@ static void sub_80C0450(void)
{
if ((sub_80C3AC8(0) != 1 && sub_80C3AC8(0) != 0) || (sub_80C3AC8(1) != 1 && sub_80C3AC8(1) != 0))
PlaySE(SE_Z_SCROLL);
- if (sub_80C3508() == 21 && sub_80C3514() == 11 && sub_80C0E04(0) == TRUE)
+ if (GetMapCursorX() == 21 && GetMapCursorY() == 11 && GetRegionMapPermission(MAPPERM_0) == TRUE)
PlaySE(SE_W255);
- else if (sub_80C3508() == 21 && sub_80C3514() == 13)
+ else if (GetMapCursorX() == 21 && GetMapCursorY() == 13)
PlaySE(SE_W255);
}
}
@@ -1563,13 +1563,13 @@ static void sub_80C04E4(u8 taskId)
switch (gUnknown_20399D4->field_47A0)
{
case 0:
- sub_80C4398(sub_80C0E20(), taskId, gUnknown_20399D4->field_47B8);
+ sub_80C4398(GetWhichRegionMap(), taskId, gUnknown_20399D4->field_47B8);
sub_80C3008(0, 0);
sub_80C41D8(1, 1);
gUnknown_20399D4->field_47A0++;
break;
case 1:
- if (gUnknown_20399D4->field_4797[2] == 1)
+ if (gUnknown_20399D4->regionMapPermissions[MAPPERM_2] == TRUE)
{
sub_80C2208(taskId, gUnknown_20399D4->field_47B8);
}
@@ -1578,13 +1578,13 @@ static void sub_80C04E4(u8 taskId)
ShowBg(0);
ShowBg(3);
ShowBg(1);
- sub_80C4E18(gUnknown_8418EB5);
- sub_80C4E74(gUnknown_8418E8B);
+ sub_80C4E18(gText_RegionMap_DPadMove);
+ sub_80C4E74(gText_RegionMap_Space);
sub_80C4ED0(FALSE);
sub_80C4324(FALSE);
sub_80C3154(FALSE);
- sub_80C48BC(sub_80C0E20(), 25, FALSE);
- sub_80C4960(sub_80C0E20(), 25, FALSE);
+ sub_80C48BC(GetWhichRegionMap(), 25, FALSE);
+ sub_80C4960(GetWhichRegionMap(), 25, FALSE);
}
gUnknown_20399D4->field_47A0++;
break;
@@ -1611,40 +1611,40 @@ static void sub_80C04E4(u8 taskId)
sub_80C0BB0();
sub_80C0B9C();
sub_80C0450();
- if (sub_80C3580() != MAPSEC_NONE)
+ if (GetMapSecUnderCursor() != MAPSEC_NONE)
{
- if (sub_80C0E04(1) == TRUE)
+ if (GetRegionMapPermission(MAPPERM_1) == TRUE)
{
if (sub_80C3AC8(1) == 2)
{
- sub_80C4E74(gUnknown_8418E8D);
+ sub_80C4E74(gText_RegionMap_AButtonGuide);
}
else
{
- sub_80C4E74(gUnknown_8418E8B);
+ sub_80C4E74(gText_RegionMap_Space);
}
}
}
else
{
- if (sub_80C3508() == 21 && sub_80C3514() == 11 && sub_80C0E04(0) == TRUE)
+ if (GetMapCursorX() == 21 && GetMapCursorY() == 11 && GetRegionMapPermission(MAPPERM_0) == TRUE)
{
- sub_80C4E74(gUnknown_8418EA7);
+ sub_80C4E74(gText_RegionMap_AButtonSwitch);
}
- else if (sub_80C3508() == 21 && sub_80C3514() == 13)
+ else if (GetMapCursorX() == 21 && GetMapCursorY() == 13)
{
- sub_80C4E74(gUnknown_8418E95);
+ sub_80C4E74(gText_RegionMap_AButtonCancel);
}
else
{
- sub_80C4E74(gUnknown_8418E8B);
+ sub_80C4E74(gText_RegionMap_Space);
}
}
break;
case 4:
- if (sub_80C3AC8(1) == 2 && gUnknown_20399D4->field_4797[1] == 1)
+ if (sub_80C3AC8(1) == 2 && gUnknown_20399D4->regionMapPermissions[MAPPERM_1] == TRUE)
{
- sub_80C195C(0, taskId, sub_80C07F8);
+ RegionMapCreateDungeonMapPreview(0, taskId, sub_80C07F8);
}
break;
case 5:
@@ -1656,7 +1656,7 @@ static void sub_80C04E4(u8 taskId)
}
break;
case 4:
- if (sub_80C0E04(2) == 1)
+ if (GetRegionMapPermission(MAPPERM_2) == 1)
{
sub_80C2C1C(taskId);
// FIXME: goto required to match
@@ -1699,7 +1699,7 @@ static void sub_80C07F8(u8 taskId)
static void sub_80C0820(u8 taskId)
{
- if (sub_80C0E04(2) == TRUE)
+ if (GetRegionMapPermission(MAPPERM_2) == TRUE)
sub_80C25BC();
sub_80C4A04();
sub_80C3188();
@@ -1707,10 +1707,10 @@ static void sub_80C0820(u8 taskId)
sub_80C4D30();
DestroyTask(taskId);
FreeAllWindowBuffers();
- if (gUnknown_20399D4->field_47BC == NULL)
+ if (gUnknown_20399D4->savedCallback == NULL)
SetMainCallback2(gMain.savedCallback);
else
- SetMainCallback2(gUnknown_20399D4->field_47BC);
+ SetMainCallback2(gUnknown_20399D4->savedCallback);
FREE_IF_NOT_NULL(gUnknown_20399D4);
}
@@ -1734,7 +1734,7 @@ static void sub_80C08CC(void)
TransferPlttBuffer();
}
-static void sub_80C08E0(void)
+static void NullVBlankHBlankCallbacks(void)
{
SetVBlankCallback(NULL);
SetHBlankCallback(NULL);
@@ -1745,7 +1745,7 @@ static void sub_80C08F4(void)
SetVBlankCallback(sub_80C08CC);
}
-static void sub_80C0904(void)
+static void ResetGpu(void)
{
DmaFillLarge16(3, 0, (void *)VRAM, VRAM_SIZE, 0x1000);
DmaFill32Defvars(3, 0, (void *)OAM, OAM_SIZE);
@@ -1764,18 +1764,18 @@ static void sub_80C0904(void)
InitWindows(gUnknown_83F1A60);
DeactivateAllTextPrinters();
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON);
- sub_80C0A2C();
+ SetBgTilemapBuffers();
sub_80C0AB8();
}
-static void sub_80C0A2C(void)
+static void SetBgTilemapBuffers(void)
{
- SetBgTilemapBuffer(0, gUnknown_20399D4->field_1796[0]);
- SetBgTilemapBuffer(1, gUnknown_20399D4->field_1796[1]);
- SetBgTilemapBuffer(2, gUnknown_20399D4->field_1796[2]);
+ SetBgTilemapBuffer(0, gUnknown_20399D4->bgTilemapBuffers[0]);
+ SetBgTilemapBuffer(1, gUnknown_20399D4->bgTilemapBuffers[1]);
+ SetBgTilemapBuffer(2, gUnknown_20399D4->bgTilemapBuffers[2]);
}
-static void sub_80C0A6C(void)
+static void ResetOamForRegionMap(void)
{
ResetSpriteData();
ResetPaletteFade();
@@ -1784,7 +1784,7 @@ static void sub_80C0A6C(void)
ScanlineEffect_Stop();
}
-static void sub_80C0A88(u8 mode)
+static void SetBg0andBg3Visibility(u8 mode)
{
switch (mode)
{
@@ -1806,10 +1806,10 @@ static void sub_80C0AB8(void)
sub_80C4C48(6);
sub_80C4C74(0x39, 0x39);
sub_80C4C88(0x1b);
- sub_80C4CF0(0, &gUnknown_83F1B0C[0]);
- sub_80C4CF0(1, &gUnknown_83F1B0C[1]);
+ SetGpuWindowDims(0, &sStdWindowDims[0]);
+ SetGpuWindowDims(1, &sStdWindowDims[1]);
sub_80C4C9C(0, 0);
- if (sub_80C3580() != MAPSEC_NONE)
+ if (GetMapSecUnderCursor() != MAPSEC_NONE)
sub_80C4C9C(1, 0);
}
@@ -1819,21 +1819,21 @@ static void sub_80C0B18(void)
FillWindowPixelBuffer(0, PIXEL_FILL(0));
if (sub_80C3520() == MAPSEC_NONE)
{
- sub_80C4CF0(0, &gUnknown_83F1B0C[2]);
+ SetGpuWindowDims(0, &sStdWindowDims[2]);
}
else
{
GetMapName(gUnknown_20399D4->field_0000, sub_80C3520(), 0);
- AddTextPrinterParameterized3(0, 2, 2, 2, gUnknown_83F1A90, 0, gUnknown_20399D4->field_0000);
+ AddTextPrinterParameterized3(0, 2, 2, 2, sTextColor_White, 0, gUnknown_20399D4->field_0000);
PutWindowTilemap(0);
CopyWindowToVram(0, 2);
- sub_80C4CF0(0, &gUnknown_83F1B0C[0]);
+ SetGpuWindowDims(0, &sStdWindowDims[0]);
}
}
static void sub_80C0B9C(void)
{
- sub_80C4CF0(1, &gUnknown_83F1B0C[1]);
+ SetGpuWindowDims(1, &sStdWindowDims[1]);
}
static void sub_80C0BB0(void)
@@ -1845,17 +1845,17 @@ static void sub_80C0BB0(void)
gUnknown_20399D4->field_47B0 = 32;
sub_80C4C9C(1, 1);
ClearWindowTilemap(1);
- mapsecId = sub_80C3580();
+ mapsecId = GetMapSecUnderCursor();
if (mapsecId != MAPSEC_NONE)
{
descOffset = mapsecId - MAPSECS_KANTO;
sub_80C4C9C(1, 0);
gUnknown_20399D4->field_47AC = 1;
- gUnknown_20399D4->field_47AA = StringLength(gUnknown_83F1CAC[descOffset]);
+ gUnknown_20399D4->field_47AA = StringLength(sMapNames[descOffset]);
gUnknown_20399D4->field_47AE = gUnknown_20399D4->field_47AA * 10 + 50;
gUnknown_20399D4->field_47B0 = 48;
FillWindowPixelBuffer(1, PIXEL_FILL(0));
- StringCopy(gUnknown_20399D4->field_0013, gUnknown_83F1CAC[descOffset]);
+ StringCopy(gUnknown_20399D4->field_0013, sMapNames[descOffset]);
AddTextPrinterParameterized3(1, 2, 12, 2, gUnknown_83F1A9C[sub_80C3AC8(1) - 2], 0, gUnknown_20399D4->field_0013);
PutWindowTilemap(1);
CopyWindowToVram(1, 3);
@@ -1875,7 +1875,7 @@ static void sub_80C0CC8(u8 bg, u16 *map)
s16 i;
s16 j;
u8 r4;
- u16 *buffer = gUnknown_20399D4->field_1796[bg];
+ u16 *buffer = gUnknown_20399D4->bgTilemapBuffers[bg];
for (i = 0; i < 20; i++)
{
for (j = 0; j < 32; j++)
@@ -1886,7 +1886,7 @@ static void sub_80C0CC8(u8 bg, u16 *map)
buffer[32 * i + j] = map[0];
}
}
- if (gUnknown_20399D4->field_4797[0] == 1)
+ if (gUnknown_20399D4->regionMapPermissions[MAPPERM_0] == TRUE)
{
WriteSequenceToBgTilemapBuffer(0, 0x0F0, 0x18, 0x0E, 3, 1, 0x3, 0x001);
WriteSequenceToBgTilemapBuffer(0, 0x100, 0x18, 0x0F, 3, 1, 0x3, 0x001);
@@ -1896,18 +1896,18 @@ static void sub_80C0CC8(u8 bg, u16 *map)
r4 = gUnknown_20399D8->field_1CCA;
else
r4 = gUnknown_20399D4->field_479B;
- if (r4 == 2 && !FlagGet(FLAG_WORLD_MAP_NAVEL_ROCK_EXTERIOR))
+ if (r4 == REGIONMAP_SEVII45 && !FlagGet(FLAG_WORLD_MAP_NAVEL_ROCK_EXTERIOR))
FillBgTilemapBufferRect_Palette0(0, 0x003, 13, 11, 3, 2);
- if (r4 == 3 && !FlagGet(FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR))
+ if (r4 == REGIONMAP_SEVII67 && !FlagGet(FLAG_WORLD_MAP_BIRTH_ISLAND_EXTERIOR))
FillBgTilemapBufferRect_Palette0(0, 0x003, 21, 16, 3, 3);
}
-static u8 sub_80C0E04(u8 a0)
+static bool8 GetRegionMapPermission(u8 attr)
{
- return gUnknown_20399D4->field_4797[a0];
+ return gUnknown_20399D4->regionMapPermissions[attr];
}
-static u8 sub_80C0E20(void)
+static u8 GetWhichRegionMap(void)
{
return gUnknown_20399D4->field_479B;
}
@@ -1917,7 +1917,7 @@ static u8 sub_80C0E34(void)
return gUnknown_20399D4->field_479C;
}
-static void sub_80C0E48(u8 a0)
+static void SetWhichRegionMap(u8 a0)
{
gUnknown_20399D4->field_479B = a0;
}
@@ -1936,31 +1936,31 @@ static void sub_80C0E70(u8 a0, u8 taskId, TaskFunc taskFunc)
gUnknown_20399D8->field_1CCC = 1;
else
gUnknown_20399D8->field_1CCC = 0;
- gUnknown_20399D8->field_14B0[0].field_408 = 0x58;
- gUnknown_20399D8->field_14B0[1].field_408 = 0x98;
+ gUnknown_20399D8->selectionCursorSubspriteData[0].xCoord = 0x58;
+ gUnknown_20399D8->selectionCursorSubspriteData[1].xCoord = 0x98;
switch (gUnknown_20399D8->field_1CCC)
{
case 1:
- LZ77UnCompWram(gUnknown_83F1084, gUnknown_20399D8->field_1000);
+ LZ77UnCompWram(gUnknown_83F1084, gUnknown_20399D8->tileMap);
gUnknown_20399D8->field_1CCE = 6;
break;
case 2: // never reached
- LZ77UnCompWram(gUnknown_83F1190, gUnknown_20399D8->field_1000);
+ LZ77UnCompWram(gUnknown_83F1190, gUnknown_20399D8->tileMap);
gUnknown_20399D8->field_1CCE = 4;
break;
case 3:
default:
gUnknown_20399D8->field_1CCE = 3;
- LZ77UnCompWram(gUnknown_83F0F1C, gUnknown_20399D8->field_1000);
+ LZ77UnCompWram(gUnknown_83F0F1C, gUnknown_20399D8->tileMap);
break;
}
- LZ77UnCompWram(gUnknown_83F0580, gUnknown_20399D8->field_0000);
+ LZ77UnCompWram(gUnknown_83F0580, gUnknown_20399D8->bgTiles);
gUnknown_20399D8->field_1CC8 = 0;
gUnknown_20399D8->field_1CCA = a0;
gUnknown_20399D8->field_1CD0 = taskFunc;
gUnknown_20399D8->field_1CCB = sub_80C0E34();
sub_80C4AAC(0);
- sub_80C4E74(gUnknown_8418EB0);
+ sub_80C4E74(gText_RegionMap_AButtonOK);
gTasks[taskId].func = sub_80C1098;
}
@@ -2004,16 +2004,16 @@ static void sub_80C1098(u8 taskId)
switch (gUnknown_20399D8->field_1CC8)
{
case 0:
- sub_80C08E0();
- sub_80C4E18(gUnknown_8418EBC);
+ NullVBlankHBlankCallbacks();
+ sub_80C4E18(gText_RegionMap_UpDownPick);
gUnknown_20399D8->field_1CC8++;
break;
case 1:
- LoadBgTiles(2, gUnknown_20399D8->field_0000, 0x1000, 0x000);
+ LoadBgTiles(2, gUnknown_20399D8->bgTiles, 0x1000, 0x000);
gUnknown_20399D8->field_1CC8++;
break;
case 2:
- sub_80C1324(2, gUnknown_20399D8->field_1000);
+ sub_80C1324(2, gUnknown_20399D8->tileMap);
CopyBgTilemapBufferToVram(2);
gUnknown_20399D8->field_1CC8++;
break;
@@ -2044,7 +2044,7 @@ static void sub_80C1098(u8 taskId)
}
break;
case 8:
- if (sub_80C16D0() == TRUE)
+ if (LoadAndCreateSelectionCursorSpriteGfx() == TRUE)
{
gUnknown_20399D8->field_1CC8++;
}
@@ -2052,7 +2052,7 @@ static void sub_80C1098(u8 taskId)
case 9:
if (sub_80C1478() == TRUE)
{
- sub_80C0E48(gUnknown_20399D8->field_1CCA);
+ SetWhichRegionMap(gUnknown_20399D8->field_1CCA);
if (sub_80C0E34() == gUnknown_20399D8->field_1CCA)
{
sub_80C4324(FALSE);
@@ -2065,7 +2065,7 @@ static void sub_80C1098(u8 taskId)
case 10:
if (sub_80C12EC() == TRUE)
{
- sub_80C1880();
+ DestroySelectionCursorSprites();
sub_80C0FE0();
gUnknown_20399D8->field_1CC8++;
}
@@ -2090,11 +2090,11 @@ static void sub_80C1280(u8 taskId)
{
gTasks[taskId].func = gUnknown_20399D8->field_1CD0;
HideBg(2);
- sub_80C4E18(gUnknown_8418EB5);
- sub_80C4E74(gUnknown_8418EA7);
+ sub_80C4E18(gText_RegionMap_DPadMove);
+ sub_80C4E74(gText_RegionMap_AButtonSwitch);
sub_80C0AB8();
sub_80C0B9C();
- sub_80C4CF0(0, &gUnknown_83F1B0C[2]);
+ SetGpuWindowDims(0, &sStdWindowDims[2]);
FREE_IF_NOT_NULL(gUnknown_20399D8);
}
@@ -2117,7 +2117,7 @@ static void sub_80C1324(u8 bg, u16 *map)
{
s16 i;
s16 j;
- u16 *buffer = gUnknown_20399D4->field_1796[bg];
+ u16 *buffer = gUnknown_20399D4->bgTilemapBuffers[bg];
for (i = 0; i < 20; i++)
{
for (j = 0; j < 32; j++)
@@ -2132,7 +2132,7 @@ static void sub_80C1324(u8 bg, u16 *map)
static void sub_80C1390(void)
{
- struct UnkStruct_80C4CF0 data;
+ struct GpuWindowParams data;
data.v0 = gUnknown_20399D8->field_1CD4[0] = 0x48;
data.v2 = gUnknown_20399D8->field_1CD4[1] = 8 * (gUnknown_20399D8->field_1CCE + 4 * gUnknown_20399D8->field_1CCA);
data.v4 = gUnknown_20399D8->field_1CD4[2] = 0xA8;
@@ -2142,7 +2142,7 @@ static void sub_80C1390(void)
sub_80C4C74(0x1f, 0x15);
sub_80C4C88(0x3f);
sub_80C4C9C(1, 0);
- sub_80C4CF0(1, &data);
+ SetGpuWindowDims(1, &data);
}
static bool8 sub_80C144C(void)
@@ -2162,7 +2162,7 @@ static bool8 sub_80C144C(void)
static bool8 sub_80C1478(void)
{
bool8 r6 = FALSE;
- struct UnkStruct_80C4CF0 data;
+ struct GpuWindowParams data;
data.v0 = gUnknown_20399D8->field_1CD4[0] = 0x48;
data.v2 = gUnknown_20399D8->field_1CD4[1] = 8 * (gUnknown_20399D8->field_1CCE + 4 * gUnknown_20399D8->field_1CCA);
data.v4 = gUnknown_20399D8->field_1CD4[2] = 0xA8;
@@ -2188,7 +2188,7 @@ static bool8 sub_80C1478(void)
if (JOY_NEW(B_BUTTON))
{
gUnknown_20399D8->field_1CCA = gUnknown_20399D8->field_1CCB;
- sub_80C0CC8(0, gUnknown_20399D4->field_0026[gUnknown_20399D8->field_1CCA]);
+ sub_80C0CC8(0, gUnknown_20399D4->layouts[gUnknown_20399D8->field_1CCA]);
CopyBgTilemapBufferToVram(0);
sub_80C48BC(255, 25, TRUE);
sub_80C4960(255, 25, TRUE);
@@ -2196,8 +2196,8 @@ static bool8 sub_80C1478(void)
}
if (r6)
{
- sub_80C0CC8(0, gUnknown_20399D4->field_0026[gUnknown_20399D8->field_1CCA]);
- sub_80C4E74(gUnknown_8418EB0);
+ sub_80C0CC8(0, gUnknown_20399D4->layouts[gUnknown_20399D8->field_1CCA]);
+ sub_80C4E74(gText_RegionMap_AButtonOK);
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(3);
sub_80C48BC(255, 25, TRUE);
@@ -2209,275 +2209,275 @@ static bool8 sub_80C1478(void)
sub_80C4324(TRUE);
else
sub_80C4324(FALSE);
- sub_80C4CF0(1, &data);
+ SetGpuWindowDims(1, &data);
return FALSE;
}
-static void sub_80C16B8(struct Sprite * sprite)
+static void SpriteCB_SelectionCursor(struct Sprite * sprite)
{
sprite->pos1.y = gUnknown_20399D8->field_1CD4[1] + 16;
}
-static bool8 sub_80C16D0(void)
+static bool8 LoadAndCreateSelectionCursorSpriteGfx(void)
{
- switch (gUnknown_20399D8->field_1CC9)
+ switch (gUnknown_20399D8->selectionCursorLoadState)
{
case 0:
- LZ77UnCompWram(gUnknown_83EF3C4, gUnknown_20399D8->field_14B0[0].field_000);
+ LZ77UnCompWram(sSelectionCursorLeftTiles, gUnknown_20399D8->selectionCursorSubspriteData[0].tiles);
break;
case 1:
- LZ77UnCompWram(gUnknown_83EF450, gUnknown_20399D8->field_14B0[1].field_000);
+ LZ77UnCompWram(sSelectionCursorRightTiles, gUnknown_20399D8->selectionCursorSubspriteData[1].tiles);
break;
case 2:
- sub_80C1754(0, 2, 2);
- sub_80C1754(1, 3, 3);
+ CreateSelectionCursorSubsprite(0, 2, 2);
+ CreateSelectionCursorSubsprite(1, 3, 3);
break;
default:
return TRUE;
}
- gUnknown_20399D8->field_1CC9++;
+ gUnknown_20399D8->selectionCursorLoadState++;
return FALSE;
}
-static void sub_80C1754(u8 a0, u16 a1, u16 a2)
+static void CreateSelectionCursorSubsprite(u8 whichSprite, u16 tileTag, u16 paletteTag)
{
- sub_80C176C(a0, a1, a2);
+ RealCreateSelectionCursorSubsprite(whichSprite, tileTag, paletteTag);
}
-static void sub_80C176C(u8 a0, u16 a1, u16 a2)
+static void RealCreateSelectionCursorSubsprite(u8 whichSprite, u16 tileTag, u16 paletteTag)
{
u8 spriteId;
struct SpriteSheet spriteSheet = {
- .data = gUnknown_20399D8->field_14B0[a0].field_000,
+ .data = gUnknown_20399D8->selectionCursorSubspriteData[whichSprite].tiles,
.size = 0x400,
- .tag = a1
+ .tag = tileTag
};
struct SpritePalette spritePalette = {
- .data = gUnknown_83EF384,
- .tag = a2
+ .data = sSelectionCursorPals,
+ .tag = paletteTag
};
struct SpriteTemplate template = {
- .tileTag = a1,
- .paletteTag = a2,
- .oam = &gUnknown_83F1B24,
- .anims = gUnknown_83F1B38,
+ .tileTag = tileTag,
+ .paletteTag = paletteTag,
+ .oam = &sSelectionCursorOam,
+ .anims = sSelectionCursorAnims,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80C16B8
+ .callback = SpriteCB_SelectionCursor
};
- gUnknown_20399D8->field_14B0[a0].field_404 = a1;
- gUnknown_20399D8->field_14B0[a0].field_406 = a2;
+ gUnknown_20399D8->selectionCursorSubspriteData[whichSprite].tileTag = tileTag;
+ gUnknown_20399D8->selectionCursorSubspriteData[whichSprite].paletteTag = paletteTag;
LoadSpriteSheet(&spriteSheet);
LoadSpritePalette(&spritePalette);
- spriteId = CreateSprite(&template, gUnknown_20399D8->field_14B0[a0].field_408, 8 * (gUnknown_20399D8->field_1CCE + 4 * gUnknown_20399D8->field_1CCA), 0);
- gUnknown_20399D8->field_14B0[a0].field_400 = &gSprites[spriteId];
+ spriteId = CreateSprite(&template, gUnknown_20399D8->selectionCursorSubspriteData[whichSprite].xCoord, 8 * (gUnknown_20399D8->field_1CCE + 4 * gUnknown_20399D8->field_1CCA), 0);
+ gUnknown_20399D8->selectionCursorSubspriteData[whichSprite].sprite = &gSprites[spriteId];
gSprites[spriteId].invisible = FALSE;
}
-static void sub_80C1880(void)
+static void DestroySelectionCursorSprites(void)
{
u8 i;
for (i = 0; i < 2; i++)
{
- if (gUnknown_20399D8->field_14B0[i].field_400 != NULL)
+ if (gUnknown_20399D8->selectionCursorSubspriteData[i].sprite != NULL)
{
- DestroySprite(gUnknown_20399D8->field_14B0[i].field_400);
- FreeSpriteTilesByTag(gUnknown_20399D8->field_14B0[i].field_404);
- FreeSpritePaletteByTag(gUnknown_20399D8->field_14B0[i].field_406);
+ DestroySprite(gUnknown_20399D8->selectionCursorSubspriteData[i].sprite);
+ FreeSpriteTilesByTag(gUnknown_20399D8->selectionCursorSubspriteData[i].tileTag);
+ FreeSpritePaletteByTag(gUnknown_20399D8->selectionCursorSubspriteData[i].paletteTag);
}
}
}
-static const u8 *sub_80C18E0(u16 a0)
+static const u8 *GetDungeonFlavorText(u16 mapsec)
{
u8 i;
- for (i = 0; i < NELEMS(gUnknown_83F1B3C); i++)
+ for (i = 0; i < NELEMS(sDungeonHighlights); i++)
{
- if (gUnknown_83F1B3C[i].field_0 == a0)
- return gUnknown_83F1B3C[i].field_8;
+ if (sDungeonHighlights[i].id == mapsec)
+ return sDungeonHighlights[i].desc;
}
- return gUnknown_8418EC3;
+ return gText_RegionMap_NoData;
}
-static const u8 *sub_80C1920(u16 a0)
+static const u8 *GetDungeonName(u16 mapsec)
{
u8 i;
- for (i = 0; i < NELEMS(gUnknown_83F1B3C); i++)
+ for (i = 0; i < NELEMS(sDungeonHighlights); i++)
{
- if (gUnknown_83F1B3C[i].field_0 == a0)
- return gUnknown_83F1B3C[i].field_4;
+ if (sDungeonHighlights[i].id == mapsec)
+ return sDungeonHighlights[i].name;
}
- return gUnknown_8418EC3;
+ return gText_RegionMap_NoData;
}
-static void sub_80C195C(u8 a0, u8 taskId, TaskFunc taskFunc)
+static void RegionMapCreateDungeonMapPreview(u8 a0, u8 taskId, TaskFunc taskFunc)
{
u8 r0;
- gUnknown_20399DC = AllocZeroed(sizeof(struct UnkStruct_20399DC));
- r0 = sub_80C3580();
+ sDungeonMapPreviewManager = AllocZeroed(sizeof(struct DungeonMapPreviewManagerStruct));
+ r0 = GetMapSecUnderCursor();
if (r0 == MAPSEC_TANOBY_CHAMBERS)
r0 = MAPSEC_MONEAN_CHAMBER;
- gUnknown_20399DC->field_3D40 = sub_80F8544(r0);
- if (gUnknown_20399DC->field_3D40 == NULL)
- gUnknown_20399DC->field_3D40 = sub_80F8544(MAPSEC_ROCK_TUNNEL);
- gUnknown_20399DC->field_3D48 = 0;
- gUnknown_20399DC->field_3D4A = 0;
- gUnknown_20399DC->field_3D44 = taskFunc;
- gUnknown_20399DC->field_3E14 = 0;
+ sDungeonMapPreviewManager->mapPreviewInfo = GetDungeonMapPreviewScreenInfo(r0);
+ if (sDungeonMapPreviewManager->mapPreviewInfo == NULL)
+ sDungeonMapPreviewManager->mapPreviewInfo = GetDungeonMapPreviewScreenInfo(MAPSEC_ROCK_TUNNEL);
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState = 0;
+ sDungeonMapPreviewManager->field_3D4A = 0;
+ sDungeonMapPreviewManager->savedTask = taskFunc;
+ sDungeonMapPreviewManager->field_3E14 = 0;
sub_80C4AAC(0);
sub_80C4BE4();
sub_80C0CA0();
- gTasks[taskId].func = sub_80C1A94;
+ gTasks[taskId].func = Task_PrepDungeonMapPreviewAndFlavorText;
}
-static bool8 sub_80C19FC(void)
+static bool8 HandleLoadMapPreviewScreenGfx(void)
{
- switch (gUnknown_20399DC->field_3D4A)
+ switch (sDungeonMapPreviewManager->field_3D4A)
{
case 0:
- LZ77UnCompWram(gUnknown_20399DC->field_3D40->tilesptr, gUnknown_20399DC->field_0000);
+ LZ77UnCompWram(sDungeonMapPreviewManager->mapPreviewInfo->tilesptr, sDungeonMapPreviewManager->tiles);
break;
case 1:
- LZ77UnCompWram(gUnknown_20399DC->field_3D40->tilemapptr, gUnknown_20399DC->field_3840);
+ LZ77UnCompWram(sDungeonMapPreviewManager->mapPreviewInfo->tilemapptr, sDungeonMapPreviewManager->tilemap);
break;
case 2:
- LoadBgTiles(2, gUnknown_20399DC->field_0000, 0x3840, 0x000);
+ LoadBgTiles(2, sDungeonMapPreviewManager->tiles, 0x3840, 0x000);
break;
case 3:
- LoadPalette(gUnknown_20399DC->field_3D40->palptr, 0xD0, 0x60);
+ LoadPalette(sDungeonMapPreviewManager->mapPreviewInfo->palptr, 0xD0, 0x60);
break;
default:
return TRUE;
}
- gUnknown_20399DC->field_3D4A++;
+ sDungeonMapPreviewManager->field_3D4A++;
return FALSE;
}
-static void sub_80C1A94(u8 taskId)
+static void Task_PrepDungeonMapPreviewAndFlavorText(u8 taskId)
{
- switch (gUnknown_20399DC->field_3D48)
+ switch (sDungeonMapPreviewManager->dungeonMapPreviewPrepState)
{
case 0:
- sub_80C08E0();
- gUnknown_20399DC->field_3D48++;
+ NullVBlankHBlankCallbacks();
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
break;
case 1:
- if (sub_80C19FC() == TRUE)
- gUnknown_20399DC->field_3D48++;
+ if (HandleLoadMapPreviewScreenGfx() == TRUE)
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
break;
case 2:
sub_80C1E94();
- sub_80C4E74(gUnknown_8418E9E);
- gUnknown_20399DC->field_3D48++;
+ sub_80C4E74(gText_RegionMap_AButtonCancel2);
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
break;
case 3:
- sub_80C1E78(2, gUnknown_20399DC->field_3840);
+ CopyMapPreviewTilemapToBgTilemapBuffer(2, sDungeonMapPreviewManager->tilemap);
CopyBgTilemapBufferToVram(2);
- gUnknown_20399DC->field_3D48++;
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
break;
case 4:
ShowBg(2);
- gUnknown_20399DC->field_3D48++;
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
break;
case 5:
sub_80C08F4();
- gUnknown_20399DC->field_3D48++;
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
break;
case 6:
if (sub_80C1F80(FALSE) == TRUE)
- gUnknown_20399DC->field_3D48++;
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
break;
case 7:
- gTasks[taskId].func = sub_80C1BE0;
+ gTasks[taskId].func = Task_DrawDungeonMapPreviewAndFlavorText;
break;
case 8:
if (sub_80C1F80(TRUE) == TRUE)
{
- gUnknown_20399DC->field_3D48++;
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
}
break;
case 9:
- sub_80C1E14(taskId);
- gUnknown_20399DC->field_3D48++;
+ DestroyMapPreviewAssets(taskId);
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
break;
}
}
-static void sub_80C1BE0(u8 taskId)
+static void Task_DrawDungeonMapPreviewAndFlavorText(u8 taskId)
{
- switch (gUnknown_20399DC->field_3D49)
+ switch (sDungeonMapPreviewManager->dungeonMapPreviewDrawState)
{
case 0:
- gUnknown_20399DC->field_3E0E = 0x0133;
- gUnknown_20399DC->field_3E10 = 0x0100;
- gUnknown_20399DC->field_3E12 = 0x00F0;
- gUnknown_20399DC->field_3D49++;
+ sDungeonMapPreviewManager->field_3E0E = 0x0133;
+ sDungeonMapPreviewManager->field_3E10 = 0x0100;
+ sDungeonMapPreviewManager->field_3E12 = 0x00F0;
+ sDungeonMapPreviewManager->dungeonMapPreviewDrawState++;
break;
case 1:
- if (gUnknown_20399DC->field_3D4C++ > 40)
+ if (sDungeonMapPreviewManager->field_3D4C++ > 40)
{
- gUnknown_20399DC->field_3D4C = 0;
- gUnknown_20399DC->field_3D49++;
+ sDungeonMapPreviewManager->field_3D4C = 0;
+ sDungeonMapPreviewManager->dungeonMapPreviewDrawState++;
}
break;
case 2:
FillWindowPixelBuffer(2, PIXEL_FILL(0));
CopyWindowToVram(2, 3);
PutWindowTilemap(2);
- gUnknown_20399DC->field_3D49++;
+ sDungeonMapPreviewManager->dungeonMapPreviewDrawState++;
break;
case 3:
- if (gUnknown_20399DC->field_3D4C > 25)
+ if (sDungeonMapPreviewManager->field_3D4C > 25)
{
- AddTextPrinterParameterized3(2, 2, 4, 0, gUnknown_83F1A94, -1, sub_80C1920(sub_80C3580()));
- AddTextPrinterParameterized3(2, 2, 2, 14, gUnknown_83F1A90, -1, sub_80C18E0(sub_80C3580()));
+ AddTextPrinterParameterized3(2, 2, 4, 0, sTextColor_Green, -1, GetDungeonName(GetMapSecUnderCursor()));
+ AddTextPrinterParameterized3(2, 2, 2, 14, sTextColor_White, -1, GetDungeonFlavorText(GetMapSecUnderCursor()));
CopyWindowToVram(2, 3);
- gUnknown_20399DC->field_3D49++;
+ sDungeonMapPreviewManager->dungeonMapPreviewDrawState++;
}
- else if (gUnknown_20399DC->field_3D4C > 20)
+ else if (sDungeonMapPreviewManager->field_3D4C > 20)
{
- gUnknown_20399DC->field_3E0E -= 6;
- gUnknown_20399DC->field_3E10 -= 5;
- gUnknown_20399DC->field_3E12 -= 5;
- CpuCopy16(gUnknown_20399DC->field_3D40->palptr, gUnknown_20399DC->field_3D4E, 0x60);
- TintPalette_CustomTone(gUnknown_20399DC->field_3D4E, 0x30, gUnknown_20399DC->field_3E0E, gUnknown_20399DC->field_3E10, gUnknown_20399DC->field_3E12);
- LoadPalette(gUnknown_20399DC->field_3D4E, 0xD0, 0x60);
+ sDungeonMapPreviewManager->field_3E0E -= 6;
+ sDungeonMapPreviewManager->field_3E10 -= 5;
+ sDungeonMapPreviewManager->field_3E12 -= 5;
+ CpuCopy16(sDungeonMapPreviewManager->mapPreviewInfo->palptr, sDungeonMapPreviewManager->field_3D4E, 0x60);
+ TintPalette_CustomTone(sDungeonMapPreviewManager->field_3D4E, 0x30, sDungeonMapPreviewManager->field_3E0E, sDungeonMapPreviewManager->field_3E10, sDungeonMapPreviewManager->field_3E12);
+ LoadPalette(sDungeonMapPreviewManager->field_3D4E, 0xD0, 0x60);
}
- gUnknown_20399DC->field_3D4C++;
+ sDungeonMapPreviewManager->field_3D4C++;
break;
case 4:
if (JOY_NEW(B_BUTTON) || JOY_NEW(A_BUTTON))
{
FillWindowPixelBuffer(2, PIXEL_FILL(0));
CopyWindowToVram(2, 3);
- gUnknown_20399DC->field_3D48++;
- gUnknown_20399DC->field_3D49++;
+ sDungeonMapPreviewManager->dungeonMapPreviewPrepState++;
+ sDungeonMapPreviewManager->dungeonMapPreviewDrawState++;
}
break;
default:
- gTasks[taskId].func = sub_80C1A94;
+ gTasks[taskId].func = Task_PrepDungeonMapPreviewAndFlavorText;
break;
}
}
-static void sub_80C1E14(u8 taskId)
+static void DestroyMapPreviewAssets(u8 taskId)
{
- gTasks[taskId].func = gUnknown_20399DC->field_3D44;
+ gTasks[taskId].func = sDungeonMapPreviewManager->savedTask;
HideBg(2);
sub_80C4B30(0);
sub_80C0B18();
sub_80C0BB0();
sub_80C0AB8();
sub_80C0B9C();
- sub_80C4E74(gUnknown_8418E8D);
- FREE_IF_NOT_NULL(gUnknown_20399DC);
+ sub_80C4E74(gText_RegionMap_AButtonGuide);
+ FREE_IF_NOT_NULL(sDungeonMapPreviewManager);
}
-static void sub_80C1E78(u8 bgId, const u16 * tilemap)
+static void CopyMapPreviewTilemapToBgTilemapBuffer(u8 bgId, const u16 * tilemap)
{
CopyToBgTilemapBufferRect(2, tilemap, 0, 0, 32, 20);
}
@@ -2488,37 +2488,37 @@ static void sub_80C1E94(void)
u16 r0;
sub_80C4BE4();
sub_80C4C2C(0, 17, 192);
- sub_80C4C48(gUnknown_20399DC->field_3E14);
+ sub_80C4C48(sDungeonMapPreviewManager->field_3E14);
sub_80C4C74(0, 13);
sub_80C4C88(59);
sub_80C4C9C(1, 0);
- r4 = sub_80C3508();
- r0 = sub_80C3514();
- gUnknown_20399DC->field_3E16 = 8 * r4 + 32;
- gUnknown_20399DC->field_3E18 = 8 * r0 + 24;
- gUnknown_20399DC->field_3E1A = gUnknown_20399DC->field_3E16 + 8;
- gUnknown_20399DC->field_3E1C = gUnknown_20399DC->field_3E18 + 8;
- gUnknown_20399DC->field_3E1E = (0x10 - gUnknown_20399DC->field_3E16) / 8;
- gUnknown_20399DC->field_3E20 = (0x20 - gUnknown_20399DC->field_3E18) / 8;
- gUnknown_20399DC->field_3E22 = (0xE0 - gUnknown_20399DC->field_3E1A) / 8;
- gUnknown_20399DC->field_3E24 = (0x88 - gUnknown_20399DC->field_3E1C) / 8;
+ r4 = GetMapCursorX();
+ r0 = GetMapCursorY();
+ sDungeonMapPreviewManager->field_3E16 = 8 * r4 + 32;
+ sDungeonMapPreviewManager->field_3E18 = 8 * r0 + 24;
+ sDungeonMapPreviewManager->field_3E1A = sDungeonMapPreviewManager->field_3E16 + 8;
+ sDungeonMapPreviewManager->field_3E1C = sDungeonMapPreviewManager->field_3E18 + 8;
+ sDungeonMapPreviewManager->field_3E1E = (0x10 - sDungeonMapPreviewManager->field_3E16) / 8;
+ sDungeonMapPreviewManager->field_3E20 = (0x20 - sDungeonMapPreviewManager->field_3E18) / 8;
+ sDungeonMapPreviewManager->field_3E22 = (0xE0 - sDungeonMapPreviewManager->field_3E1A) / 8;
+ sDungeonMapPreviewManager->field_3E24 = (0x88 - sDungeonMapPreviewManager->field_3E1C) / 8;
}
static bool8 sub_80C1F80(bool8 a0)
{
- struct UnkStruct_80C4CF0 data;
+ struct GpuWindowParams data;
if (!a0)
{
- if (gUnknown_20399DC->field_3D4B < 8)
+ if (sDungeonMapPreviewManager->field_3D4B < 8)
{
- gUnknown_20399DC->field_3E16 += gUnknown_20399DC->field_3E1E;
- gUnknown_20399DC->field_3E18 += gUnknown_20399DC->field_3E20;
- gUnknown_20399DC->field_3E1A += gUnknown_20399DC->field_3E22;
- gUnknown_20399DC->field_3E1C += gUnknown_20399DC->field_3E24;
- gUnknown_20399DC->field_3D4B++;
- if (gUnknown_20399DC->field_3E14 < 6)
- gUnknown_20399DC->field_3E14++;
+ sDungeonMapPreviewManager->field_3E16 += sDungeonMapPreviewManager->field_3E1E;
+ sDungeonMapPreviewManager->field_3E18 += sDungeonMapPreviewManager->field_3E20;
+ sDungeonMapPreviewManager->field_3E1A += sDungeonMapPreviewManager->field_3E22;
+ sDungeonMapPreviewManager->field_3E1C += sDungeonMapPreviewManager->field_3E24;
+ sDungeonMapPreviewManager->field_3D4B++;
+ if (sDungeonMapPreviewManager->field_3E14 < 6)
+ sDungeonMapPreviewManager->field_3E14++;
}
else
{
@@ -2527,27 +2527,27 @@ static bool8 sub_80C1F80(bool8 a0)
}
else
{
- if (gUnknown_20399DC->field_3D4B == 0)
+ if (sDungeonMapPreviewManager->field_3D4B == 0)
{
return TRUE;
}
else
{
- gUnknown_20399DC->field_3E16 -= gUnknown_20399DC->field_3E1E;
- gUnknown_20399DC->field_3E18 -= gUnknown_20399DC->field_3E20;
- gUnknown_20399DC->field_3E1A -= gUnknown_20399DC->field_3E22;
- gUnknown_20399DC->field_3E1C -= gUnknown_20399DC->field_3E24;
- gUnknown_20399DC->field_3D4B--;
- if (gUnknown_20399DC->field_3E14 > 0)
- gUnknown_20399DC->field_3E14--;
+ sDungeonMapPreviewManager->field_3E16 -= sDungeonMapPreviewManager->field_3E1E;
+ sDungeonMapPreviewManager->field_3E18 -= sDungeonMapPreviewManager->field_3E20;
+ sDungeonMapPreviewManager->field_3E1A -= sDungeonMapPreviewManager->field_3E22;
+ sDungeonMapPreviewManager->field_3E1C -= sDungeonMapPreviewManager->field_3E24;
+ sDungeonMapPreviewManager->field_3D4B--;
+ if (sDungeonMapPreviewManager->field_3E14 > 0)
+ sDungeonMapPreviewManager->field_3E14--;
}
}
- data.v0 = gUnknown_20399DC->field_3E16;
- data.v2 = gUnknown_20399DC->field_3E18;
- data.v4 = gUnknown_20399DC->field_3E1A;
- data.v6 = gUnknown_20399DC->field_3E1C;
- sub_80C4CF0(1, &data);
- sub_80C4C48(gUnknown_20399DC->field_3E14);
+ data.v0 = sDungeonMapPreviewManager->field_3E16;
+ data.v2 = sDungeonMapPreviewManager->field_3E18;
+ data.v4 = sDungeonMapPreviewManager->field_3E1A;
+ data.v6 = sDungeonMapPreviewManager->field_3E1C;
+ SetGpuWindowDims(1, &data);
+ sub_80C4C48(sDungeonMapPreviewManager->field_3E14);
return FALSE;
}
@@ -2601,7 +2601,7 @@ static void sub_80C2208(u8 taskId, TaskFunc taskFunc)
sub_80C4AAC(0);
sub_80C4BE4();
sub_80C24BC();
- sub_80C0A88(1);
+ SetBg0andBg3Visibility(1);
gUnknown_20399E0->field_CC8 = taskFunc;
gTasks[taskId].func = sub_80C267C;
}
@@ -2668,7 +2668,7 @@ static bool8 sub_80C2344(void)
static void sub_80C24BC(void)
{
- struct UnkStruct_80C4CF0 data;
+ struct GpuWindowParams data;
data.v0 = gUnknown_20399E0->field_000[0]->field_404 + 8;
data.v2 = 0x10;
data.v4 = gUnknown_20399E0->field_000[3]->field_404 - 8;
@@ -2676,19 +2676,19 @@ static void sub_80C24BC(void)
sub_80C4C2C(0, 2, 0);
sub_80C4C74(18, 0);
sub_80C4C88(16);
- sub_80C4CF0(0, &data);
+ SetGpuWindowDims(0, &data);
sub_80C4C9C(0, 0);
}
static void sub_80C253C(void)
{
- struct UnkStruct_80C4CF0 data = gUnknown_83F1C34;
+ struct GpuWindowParams data = gUnknown_83F1C34;
sub_80C4BE4();
sub_80C4C2C(2, 41, 128);
sub_80C4C48(gUnknown_20399E0->field_CD0);
sub_80C4C74(55, 0);
sub_80C4C88(18);
- sub_80C4CF0(0, &data);
+ SetGpuWindowDims(0, &data);
sub_80C4C9C(0, 0);
}
@@ -2729,7 +2729,7 @@ static void sub_80C267C(u8 taskId)
switch (gUnknown_20399E0->field_CCC)
{
case 0:
- sub_80C08E0();
+ NullVBlankHBlankCallbacks();
gUnknown_20399E0->field_CCC++;
break;
case 1:
@@ -2774,17 +2774,17 @@ static void sub_80C267C(u8 taskId)
case 8:
gUnknown_20399E0->field_CD0 = 15;
sub_80C253C();
- sub_80C0A88(0);
- sub_80C48BC(sub_80C0E20(), 25, FALSE);
- sub_80C4960(sub_80C0E20(), 25, FALSE);
+ SetBg0andBg3Visibility(0);
+ sub_80C48BC(GetWhichRegionMap(), 25, FALSE);
+ sub_80C4960(GetWhichRegionMap(), 25, FALSE);
gUnknown_20399E0->field_CCC++;
break;
case 9:
- sub_80C4E18(gUnknown_8418EB5);
+ sub_80C4E18(gText_RegionMap_DPadMove);
if (sub_80C3AC8(1) != 2)
- sub_80C4E74(gUnknown_8418E8B);
+ sub_80C4E74(gText_RegionMap_Space);
else
- sub_80C4E74(gUnknown_8418E8D);
+ sub_80C4E74(gText_RegionMap_AButtonGuide);
sub_80C4ED0(FALSE);
gUnknown_20399E0->field_CCC++;
break;
@@ -2890,17 +2890,17 @@ static bool8 sub_80C29A4(void)
static void sub_80C2B48(void)
{
- struct UnkStruct_80C4CF0 data;
+ struct GpuWindowParams data;
data.v0 = gUnknown_20399E0->field_000[0]->field_400->pos1.x;
data.v2 = 0x10;
data.v4 = gUnknown_20399E0->field_000[3]->field_400->pos1.x;
data.v6 = 0xA0;
- sub_80C4CF0(0, &data);
+ SetGpuWindowDims(0, &data);
}
static void sub_80C2B9C(void)
{
- struct UnkStruct_80C4CF0 data;
+ struct GpuWindowParams data;
data.v0 = gUnknown_20399E0->field_000[0]->field_404 + 16;
data.v2 = 0x10;
data.v4 = gUnknown_20399E0->field_000[3]->field_404 - 16;
@@ -2908,7 +2908,7 @@ static void sub_80C2B9C(void)
sub_80C4C2C(0, 2, 0);
sub_80C4C74(18, 0);
sub_80C4C88(16);
- sub_80C4CF0(0, &data);
+ SetGpuWindowDims(0, &data);
sub_80C4C9C(0, 0);
}
@@ -3065,12 +3065,12 @@ static void sub_80C3008(u16 a0, u16 a1)
LZ77UnCompWram(gUnknown_83EF4E0, gUnknown_20399E4->field_024);
gUnknown_20399E4->field_020 = a0;
gUnknown_20399E4->field_022 = a1;
- sub_80C3D40();
+ GetPlayerPositionOnRegionMap_HandleOverrides();
gUnknown_20399E4->field_004 = 8 * gUnknown_20399E4->field_000 + 36;
gUnknown_20399E4->field_006 = 8 * gUnknown_20399E4->field_002 + 36;
gUnknown_20399E4->field_010 = sub_80C31C0;
gUnknown_20399E4->field_016 = sub_80C35DC(gUnknown_20399E4->field_014);
- gUnknown_20399E4->field_018 = sub_80C3878(sub_80C4164(sub_80C0E20(), 1, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000));
+ gUnknown_20399E4->field_018 = sub_80C3878(GetSelectedMapSection(GetWhichRegionMap(), 1, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000));
sub_80C309C();
}
@@ -3172,7 +3172,7 @@ static u8 sub_80C31C0(void)
}
if (gUnknown_20399E4->field_000 == 21 && gUnknown_20399E4->field_002 == 11)
{
- if (sub_80C0E04(0) == TRUE)
+ if (GetRegionMapPermission(MAPPERM_0) == TRUE)
{
PlaySE(SE_W063B);
ret = 5;
@@ -3184,12 +3184,12 @@ static u8 sub_80C31C0(void)
if (JOY_REPT(START_BUTTON))
{
sub_80C3418();
- gUnknown_20399E4->field_014 = sub_80C4164(sub_80C0E20(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
+ gUnknown_20399E4->field_014 = GetSelectedMapSection(GetWhichRegionMap(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
gUnknown_20399E4->field_016 = sub_80C35DC(gUnknown_20399E4->field_014);
- gUnknown_20399E4->field_018 = sub_80C3878(sub_80C4164(sub_80C0E20(), 1, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000));
+ gUnknown_20399E4->field_018 = sub_80C3878(GetSelectedMapSection(GetWhichRegionMap(), 1, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000));
return 3;
}
- else if (JOY_NEW(SELECT_BUTTON) && gUnknown_20399D4->field_47BC == CB2_ReturnToField)
+ else if (JOY_NEW(SELECT_BUTTON) && gUnknown_20399D4->savedCallback == CB2_ReturnToField)
{
ret = 6;
}
@@ -3218,9 +3218,9 @@ static u8 sub_80C3348(void)
gUnknown_20399E4->field_002++;
if (gUnknown_20399E4->field_00A < 0)
gUnknown_20399E4->field_002--;
- gUnknown_20399E4->field_014 = sub_80C4164(sub_80C0E20(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
+ gUnknown_20399E4->field_014 = GetSelectedMapSection(GetWhichRegionMap(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
gUnknown_20399E4->field_016 = sub_80C35DC(gUnknown_20399E4->field_014);
- gUnknown_20399E4->field_018 = sub_80C3878(sub_80C4164(sub_80C0E20(), 1, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000));
+ gUnknown_20399E4->field_018 = sub_80C3878(GetSelectedMapSection(GetWhichRegionMap(), 1, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000));
gUnknown_20399E4->field_010 = sub_80C31C0;
return 3;
}
@@ -3232,11 +3232,11 @@ static u8 sub_80C3400(void)
static void sub_80C3418(void)
{
- if (sub_80C0E04(0) == 1)
+ if (GetRegionMapPermission(MAPPERM_0) == 1)
{
gUnknown_20399E4->field_00E++;
gUnknown_20399E4->field_00E %= 3;
- if (gUnknown_20399E4->field_00E == 0 && sub_80C0E20() != sub_80C0E34())
+ if (gUnknown_20399E4->field_00E == 0 && GetWhichRegionMap() != sub_80C0E34())
{
gUnknown_20399E4->field_00E++;
}
@@ -3276,15 +3276,15 @@ static void sub_80C3418(void)
}
gUnknown_20399E4->field_01C->pos1.x = 8 * gUnknown_20399E4->field_000 + 36;
gUnknown_20399E4->field_01C->pos1.y = 8 * gUnknown_20399E4->field_002 + 36;
- gUnknown_20399E4->field_014 = sub_80C4164(sub_80C0E20(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
+ gUnknown_20399E4->field_014 = GetSelectedMapSection(GetWhichRegionMap(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
}
-static u16 sub_80C3508(void)
+static u16 GetMapCursorX(void)
{
return gUnknown_20399E4->field_000;
}
-static u16 sub_80C3514(void)
+static u16 GetMapCursorY(void)
{
return gUnknown_20399E4->field_002;
}
@@ -3298,13 +3298,13 @@ static u16 sub_80C3520(void)
|| gUnknown_20399E4->field_000 > 21)
return MAPSEC_NONE;
- ret = sub_80C4164(sub_80C0E20(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
+ ret = GetSelectedMapSection(GetWhichRegionMap(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
if ((ret == MAPSEC_NAVEL_ROCK || ret == MAPSEC_BIRTH_ISLAND) && !FlagGet(FLAG_WORLD_MAP_NAVEL_ROCK_EXTERIOR))
ret = MAPSEC_NONE;
return ret;
}
-static u16 sub_80C3580(void)
+static u16 GetMapSecUnderCursor(void)
{
u8 ret;
if (gUnknown_20399E4->field_002 < 0
@@ -3313,7 +3313,7 @@ static u16 sub_80C3580(void)
|| gUnknown_20399E4->field_000 > 21)
return MAPSEC_NONE;
- ret = sub_80C4164(sub_80C0E20(), 1, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
+ ret = GetSelectedMapSection(GetWhichRegionMap(), 1, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
if (ret == MAPSEC_CERULEAN_CAVE && !FlagGet(FLAG_SYS_CAN_LINK_WITH_RS))
ret = MAPSEC_NONE;
return ret;
@@ -3360,7 +3360,7 @@ static u8 sub_80C35DC(u8 mapsec)
case MAPSEC_SIX_ISLAND:
return FlagGet(FLAG_WORLD_MAP_SIX_ISLAND) ? 2 : 3;
case MAPSEC_ROUTE_4_FLYDUP:
- if (!sub_80C0E04(3))
+ if (!GetRegionMapPermission(MAPPERM_3))
return 0;
return FlagGet(FLAG_WORLD_MAP_ROUTE4_POKEMON_CENTER_1F) ? 2 : 3;
case MAPSEC_ROUTE_10_FLYDUP:
@@ -3458,12 +3458,12 @@ static u8 sub_80C3AC8(u8 a0)
}
}
-static u16 sub_80C3B00(void)
+static u16 GetPlayerCurrentMapSectionId(void)
{
return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)->regionMapSectionId;
}
-static void sub_80C3B28(void)
+static void GetPlayerPositionOnRegionMap(void)
{
u16 width;
u32 divisor;
@@ -3525,25 +3525,25 @@ static void sub_80C3B28(void)
}
gUnknown_20399E4->field_014 -= MAPSECS_KANTO;
- divisor = width / gUnknown_83F2178[gUnknown_20399E4->field_014][0];
+ divisor = width / sMapSectionDimensions[gUnknown_20399E4->field_014][0];
if (divisor == 0)
divisor = 1;
x /= divisor;
- if (x >= gUnknown_83F2178[gUnknown_20399E4->field_014][0])
- x = gUnknown_83F2178[gUnknown_20399E4->field_014][0] - 1;
- divisor = height / gUnknown_83F2178[gUnknown_20399E4->field_014][1];
+ if (x >= sMapSectionDimensions[gUnknown_20399E4->field_014][0])
+ x = sMapSectionDimensions[gUnknown_20399E4->field_014][0] - 1;
+ divisor = height / sMapSectionDimensions[gUnknown_20399E4->field_014][1];
if (divisor == 0)
divisor = 1;
y /= divisor;
- if (y >= gUnknown_83F2178[gUnknown_20399E4->field_014][1])
- y = gUnknown_83F2178[gUnknown_20399E4->field_014][1] - 1;
- gUnknown_20399E4->field_000 = x + gUnknown_83F1E60[gUnknown_20399E4->field_014][0];
- gUnknown_20399E4->field_002 = y + gUnknown_83F1E60[gUnknown_20399E4->field_014][1];
+ if (y >= sMapSectionDimensions[gUnknown_20399E4->field_014][1])
+ y = sMapSectionDimensions[gUnknown_20399E4->field_014][1] - 1;
+ gUnknown_20399E4->field_000 = x + sMapSectionTopLeftCorners[gUnknown_20399E4->field_014][0];
+ gUnknown_20399E4->field_002 = y + sMapSectionTopLeftCorners[gUnknown_20399E4->field_014][1];
}
-static void sub_80C3D40(void)
+static void GetPlayerPositionOnRegionMap_HandleOverrides(void)
{
- switch (sub_80C3B00())
+ switch (GetPlayerCurrentMapSectionId())
{
case MAPSEC_KANTO_SAFARI_ZONE:
gUnknown_20399E4->field_000 = 12;
@@ -3655,7 +3655,7 @@ static void sub_80C3D40(void)
}
else
{
- sub_80C3B28();
+ GetPlayerPositionOnRegionMap();
}
break;
case MAPSEC_ROUTE_21:
@@ -3678,7 +3678,7 @@ static void sub_80C3D40(void)
}
else
{
- sub_80C3B28();
+ GetPlayerPositionOnRegionMap();
}
break;
case MAPSEC_ROUTE_6:
@@ -3689,7 +3689,7 @@ static void sub_80C3D40(void)
}
else
{
- sub_80C3B28();
+ GetPlayerPositionOnRegionMap();
}
break;
case MAPSEC_ROUTE_7:
@@ -3700,7 +3700,7 @@ static void sub_80C3D40(void)
}
else
{
- sub_80C3B28();
+ GetPlayerPositionOnRegionMap();
}
break;
case MAPSEC_ROUTE_8:
@@ -3711,28 +3711,28 @@ static void sub_80C3D40(void)
}
else
{
- sub_80C3B28();
+ GetPlayerPositionOnRegionMap();
}
break;
default:
- sub_80C3B28();
+ GetPlayerPositionOnRegionMap();
break;
}
- gUnknown_20399E4->field_014 = sub_80C4164(sub_80C0E20(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
+ gUnknown_20399E4->field_014 = GetSelectedMapSection(GetWhichRegionMap(), 0, gUnknown_20399E4->field_002, gUnknown_20399E4->field_000);
}
-static u8 sub_80C4164(u8 a0, u8 a1, s16 a2, s16 a3)
+static u8 GetSelectedMapSection(u8 whichMap, u8 layer, s16 y, s16 x)
{
- switch (a0)
+ switch (whichMap)
{
case 0:
- return gUnknown_83F2490[a1][a2][a3];
+ return sRegionMapSections_Kanto[layer][y][x];
case 1:
- return gUnknown_83F2724[a1][a2][a3];
+ return sRegionMapSections_Sevii123[layer][y][x];
case 2:
- return gUnknown_83F29B8[a1][a2][a3];
+ return sRegionMapSections_Sevii45[layer][y][x];
case 3:
- return gUnknown_83F2C4C[a1][a2][a3];
+ return sRegionMapSections_Sevii67[layer][y][x];
default:
return MAPSEC_NONE;
}
@@ -3747,8 +3747,8 @@ static void sub_80C41D8(u16 a0, u16 a1)
LZ77UnCompWram(gUnknown_83EF524, gUnknown_20399E8->field_0C);
gUnknown_20399E8->field_08 = a0;
gUnknown_20399E8->field_0A = a1;
- gUnknown_20399E8->field_00 = sub_80C3508();
- gUnknown_20399E8->field_02 = sub_80C3514();
+ gUnknown_20399E8->field_00 = GetMapCursorX();
+ gUnknown_20399E8->field_02 = GetMapCursorY();
sub_80C4244();
}
@@ -3825,7 +3825,7 @@ static void sub_80C440C(u8 taskId)
switch (gUnknown_20399EC->field_463)
{
case 0:
- sub_80C08E0();
+ NullVBlankHBlankCallbacks();
gUnknown_20399EC->field_463++;
break;
case 1:
@@ -3913,7 +3913,7 @@ static void sub_80C4614(u8 a0, u8 a1, u16 a2, u16 a3, u8 a4, u8 a5)
LoadSpriteSheet(&spriteSheet);
LoadSpritePalette(&spritePalette);
- r4 = sub_80C4164(a0, 0, a3, a2);
+ r4 = GetSelectedMapSection(a0, 0, a3, a2);
if ((sub_80C35DC(r4) == 2 || sub_80C35DC(r4) == 3) && r4 != MAPSEC_ROUTE_10_FLYDUP)
r7 = 2;
spriteId = CreateSprite(&template, 8 * a2 + 36 + r7, 8 * a3 + 36 + r7, 3);
@@ -3926,7 +3926,7 @@ static void sub_80C4750(void)
{
u16 i, j, k;
u8 r7 = 0;
- if (sub_80C0E04(3))
+ if (GetRegionMapPermission(MAPPERM_3))
{
for (i = 0; i < 4; i++)
{
@@ -3934,7 +3934,7 @@ static void sub_80C4750(void)
{
for (k = 0; k < 22; k++)
{
- if (sub_80C35DC(sub_80C4164(i, 0, j, k)) == 2)
+ if (sub_80C35DC(GetSelectedMapSection(i, 0, j, k)) == 2)
{
sub_80C450C(i, r7, k, j, r7 + 10, 10);
r7++;
@@ -3956,7 +3956,7 @@ static void sub_80C47F0(void)
{
for (k = 0; k < 22; k++)
{
- mapsec = sub_80C4164(i, 1, j, k);
+ mapsec = GetSelectedMapSection(i, 1, j, k);
if (mapsec == MAPSEC_NONE)
continue;
if (mapsec == MAPSEC_CERULEAN_CAVE && !FlagGet(FLAG_SYS_CAN_LINK_WITH_RS))
@@ -4077,11 +4077,11 @@ static void sub_80C4BB8(void)
static void sub_80C4BE4(void)
{
- struct UnkStruct_80C4CF0 data = {};
+ struct GpuWindowParams data = {};
sub_80C4C2C(0, 0, 0);
sub_80C4C48(0);
- sub_80C4CF0(0, &data);
- sub_80C4CF0(1, &data);
+ SetGpuWindowDims(0, &data);
+ SetGpuWindowDims(1, &data);
sub_80C4C74(0, 0);
sub_80C4C9C(0, 1);
sub_80C4C9C(1, 1);
@@ -4122,7 +4122,7 @@ static void sub_80C4C88(u16 a0)
static void sub_80C4C9C(u8 a0, u8 a1)
{
u16 data[2];
- memcpy(data, gUnknown_83F1CA0, 4);
+ memcpy(data, sWinFlags, 4);
switch (a1)
{
case 0:
@@ -4134,10 +4134,10 @@ static void sub_80C4C9C(u8 a0, u8 a1)
}
}
-static void sub_80C4CF0(u8 a0, const struct UnkStruct_80C4CF0 *a1)
+static void SetGpuWindowDims(u8 winIdx, const struct GpuWindowParams *data)
{
- SetGpuReg(gUnknown_83F1CA4[a0][0], (a1->v2 << 8) | a1->v6);
- SetGpuReg(gUnknown_83F1CA4[a0][1], (a1->v0 << 8) | a1->v4);
+ SetGpuReg(sWinRegs[winIdx][0], (data->v2 << 8) | data->v6);
+ SetGpuReg(sWinRegs[winIdx][1], (data->v0 << 8) | data->v4);
}
static void sub_80C4D30(void)
@@ -4175,7 +4175,7 @@ u8 *GetMapName(u8 *dst0, u16 mapsec, u16 fill)
if (sub_80C4D40(mapsec) == TRUE)
dst = StringCopy(dst0, gMapSecName_CeladonDept);
else
- dst = StringCopy(dst0, gUnknown_83F1CAC[idx]);
+ dst = StringCopy(dst0, sMapNames[idx]);
}
else
{
@@ -4204,7 +4204,7 @@ u8 *sub_80C4E08(u8 *dest, u16 mapsec)
static void sub_80C4E18(const u8 *str)
{
- if (gUnknown_20399D4->field_4797[2] == 1)
+ if (gUnknown_20399D4->regionMapPermissions[MAPPERM_2] == TRUE)
FillWindowPixelBuffer(3, PIXEL_FILL(0));
else
FillWindowPixelBuffer(3, PIXEL_FILL(15));
@@ -4214,7 +4214,7 @@ static void sub_80C4E18(const u8 *str)
static void sub_80C4E74(const u8 *str)
{
- if (gUnknown_20399D4->field_4797[2] == 1)
+ if (gUnknown_20399D4->regionMapPermissions[MAPPERM_2] == TRUE)
FillWindowPixelBuffer(4, PIXEL_FILL(0));
else
FillWindowPixelBuffer(4, PIXEL_FILL(15));
@@ -4248,7 +4248,7 @@ static void sub_80C4F08(u8 taskId)
{
case 0:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
- sub_80C4398(sub_80C0E20(), taskId, sub_80C07E4());
+ sub_80C4398(GetWhichRegionMap(), taskId, sub_80C07E4());
sub_80C3008(0, 0);
sub_80C41D8(1, 1);
sub_80C3154(FALSE);
@@ -4256,7 +4256,7 @@ static void sub_80C4F08(u8 taskId)
gUnknown_20399FC->field_0++;
break;
case 1:
- if (sub_80C0E04(2) == TRUE)
+ if (GetRegionMapPermission(MAPPERM_2) == TRUE)
{
sub_80C2208(taskId, sub_80C07E4());
}
@@ -4265,14 +4265,14 @@ static void sub_80C4F08(u8 taskId)
ShowBg(0);
ShowBg(3);
ShowBg(1);
- sub_80C4E18(gUnknown_8418EB5);
- sub_80C48BC(sub_80C0E20(), 25, FALSE);
- sub_80C4960(sub_80C0E20(), 25, FALSE);
+ sub_80C4E18(gText_RegionMap_DPadMove);
+ sub_80C48BC(GetWhichRegionMap(), 25, FALSE);
+ sub_80C4960(GetWhichRegionMap(), 25, FALSE);
}
gUnknown_20399FC->field_0++;
break;
case 2:
- sub_80C4E74(gUnknown_8418EB0);
+ sub_80C4E74(gText_RegionMap_AButtonOK);
sub_80C4ED0(FALSE);
gUnknown_20399FC->field_0++;
break;
@@ -4304,22 +4304,22 @@ static void sub_80C4F08(u8 taskId)
sub_80C0B18();
sub_80C0BB0();
sub_80C0B9C();
- if (sub_80C3508() == 21 && sub_80C3514() == 13)
+ if (GetMapCursorX() == 21 && GetMapCursorY() == 13)
{
PlaySE(SE_W255);
- sub_80C4E74(gUnknown_8418E95);
+ sub_80C4E74(gText_RegionMap_AButtonCancel);
}
else if (sub_80C3AC8(0) == 2 || sub_80C3AC8(0) == 4)
{
- sub_80C4E74(gUnknown_8418EB0);
+ sub_80C4E74(gText_RegionMap_AButtonOK);
}
else
{
- sub_80C4E74(gUnknown_8418E8B);
+ sub_80C4E74(gText_RegionMap_Space);
}
break;
case 4:
- if ((sub_80C3AC8(0) == 2 || sub_80C3AC8(0) == 4) && sub_80C0E04(3) == TRUE)
+ if ((sub_80C3AC8(0) == 2 || sub_80C3AC8(0) == 4) && GetRegionMapPermission(MAPPERM_3) == TRUE)
{
switch (get_map_light_level_by_bank_and_number(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum))
{
@@ -4337,12 +4337,12 @@ static void sub_80C4F08(u8 taskId)
}
break;
case 5:
- sub_80C0E70(sub_80C0E20(), taskId, sub_80C07F8);
+ sub_80C0E70(GetWhichRegionMap(), taskId, sub_80C07F8);
break;
}
break;
case 5:
- if (sub_80C0E04(2) == TRUE)
+ if (GetRegionMapPermission(MAPPERM_2) == TRUE)
sub_80C2C1C(taskId);
gUnknown_20399FC->field_0++;
break;
@@ -4370,7 +4370,7 @@ static void sub_80C51E8(void)
static void sub_80C5208(u8 taskId)
{
- if (sub_80C0E04(2) == TRUE)
+ if (GetRegionMapPermission(MAPPERM_2) == TRUE)
sub_80C25BC();
sub_80C4A04();
sub_80C3188();
@@ -4389,14 +4389,14 @@ static void sub_80C5208(u8 taskId)
static void sub_80C527C(u16 mapsec)
{
u16 idx = mapsec - MAPSECS_KANTO;
- if (gUnknown_83F2EE0[idx][2])
+ if (sMapsecToSpawn[idx][2])
{
- sub_805546C(gUnknown_83F2EE0[idx][2]);
- sub_8124C1C(gUnknown_83F2EE0[idx]);
+ sub_805546C(sMapsecToSpawn[idx][2]);
+ sub_8124C1C(sMapsecToSpawn[idx]);
}
else
{
- warp1_set_2(gUnknown_83F2EE0[idx][0], gUnknown_83F2EE0[idx][1], -1);
+ warp1_set_2(sMapsecToSpawn[idx][0], sMapsecToSpawn[idx][1], -1);
}
sub_80842C8();
}