summaryrefslogtreecommitdiff
path: root/src/field_region_map.c
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2017-07-20 22:20:48 -0400
committerGitHub <noreply@github.com>2017-07-20 22:20:48 -0400
commitc47c3abe65e0e0419b691f5d0b6ea93c7b972191 (patch)
tree8a2bcfdf3a1556632785f34b87676aaabf758304 /src/field_region_map.c
parente2fec17262a01e9886ca060d156d8dd9a579d76c (diff)
parente2ab2e50a0723b11802e33074e0dd5d9f7d81496 (diff)
Merge pull request #366 from camthesaxman/decompile_region_map
decompile region_map
Diffstat (limited to 'src/field_region_map.c')
-rw-r--r--src/field_region_map.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/field_region_map.c b/src/field_region_map.c
index 58b0e37bc..7cb22e5df 100644
--- a/src/field_region_map.c
+++ b/src/field_region_map.c
@@ -19,11 +19,13 @@ 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;
};
-extern struct UnkStruct unk_2000000;
+extern u8 ewram[];
+#define unk_2000000 (*(struct UnkStruct *)(ewram))
void FieldInitRegionMap(MainCallback callback)
{
@@ -46,9 +48,10 @@ void CB2_FieldInitRegionMap(void)
REG_BG3VOFS = 0;
ResetSpriteData();
FreeAllSpritePalettes();
- sub_80FA8EC((u32)&unk_2000000.unk8, 0);
- sub_80FBCF0(0, 0);
- sub_80FBB3C(1, 1);
+ // TODO: remove this cast
+ InitRegionMap((void *)&unk_2000000.unk8, 0);
+ CreateRegionMapPlayerIcon(0, 0);
+ CreateRegionMapCursor(1, 1);
SetUpWindowConfig(&gWindowConfig_81E709C);
InitMenuWindow(&gWindowConfig_81E709C);
MenuZeroFillScreen();
@@ -107,7 +110,7 @@ void sub_813EFDC(void)
case 4:
if (!gPaletteFade.active)
{
- sub_80FAB10();
+ FreeRegionMapIconResources();
SetMainCallback2(unk_2000000.callback);
}
break;