summaryrefslogtreecommitdiff
path: root/src/field_region_map.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field_region_map.c')
-rw-r--r--src/field_region_map.c39
1 files changed, 11 insertions, 28 deletions
diff --git a/src/field_region_map.c b/src/field_region_map.c
index 10d5a4a5e..319235754 100644
--- a/src/field_region_map.c
+++ b/src/field_region_map.c
@@ -9,27 +9,11 @@
#include "text.h"
#include "ewram.h"
-struct RegionMapStruct
-{
- u8 str[0x16];
- u8 unk16;
- u8 filler[0x869];
-};
-
-struct UnkStruct
-{
- MainCallback callback;
- u8 filler[4];
- // This should be RegionMap, but I can't do that because it overlaps unk888.
- struct RegionMapStruct unk8;
- u16 unk888;
-};
-
void FieldInitRegionMap(MainCallback callback)
{
SetVBlankCallback(NULL);
- ewram0_5.unk888 = 0;
- ewram0_5.callback = callback;
+ eRegionMapState.unk_888[0] = 0;
+ eRegionMapState.callback = callback;
SetMainCallback2(CB2_FieldInitRegionMap);
}
@@ -46,8 +30,7 @@ void CB2_FieldInitRegionMap(void)
REG_BG3VOFS = 0;
ResetSpriteData();
FreeAllSpritePalettes();
- // TODO: remove this cast
- InitRegionMap((void *)&ewram0_5.unk8, 0);
+ InitRegionMap(&eRegionMapState.regionMap, 0);
CreateRegionMapPlayerIcon(0, 0);
CreateRegionMapCursor(1, 1);
Text_LoadWindowTemplate(&gWindowTemplate_81E709C);
@@ -80,15 +63,15 @@ void CB2_FieldRegionMap(void)
void sub_813EFDC(void)
{
- switch (ewram0_5.unk888)
+ switch (eRegionMapState.unk_888[0])
{
case 0:
REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
- ewram0_5.unk888++;
+ eRegionMapState.unk_888[0]++;
break;
case 1:
if (!gPaletteFade.active)
- ewram0_5.unk888++;
+ eRegionMapState.unk_888[0]++;
break;
case 2:
switch (sub_80FAB60())
@@ -98,18 +81,18 @@ void sub_813EFDC(void)
break;
case 4:
case 5:
- ewram0_5.unk888++;
+ eRegionMapState.unk_888[0]++;
}
break;
case 3:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0));
- ewram0_5.unk888++;
+ eRegionMapState.unk_888[0]++;
break;
case 4:
if (!gPaletteFade.active)
{
FreeRegionMapIconResources();
- SetMainCallback2(ewram0_5.callback);
+ SetMainCallback2(eRegionMapState.callback);
}
break;
}
@@ -118,6 +101,6 @@ void sub_813EFDC(void)
void sub_813F0C8(void)
{
Menu_BlankWindowRect(17, 17, 28, 18);
- if (ewram0_5.unk8.unk16)
- Menu_PrintText(ewram0_5.unk8.str, 17, 17);
+ if (eRegionMapState.regionMap.unk16)
+ Menu_PrintText(eRegionMapState.regionMap.mapSectionName, 17, 17);
}