summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-10-03 19:33:18 -0700
committerYamaArashi <shadow962@live.com>2016-10-03 19:33:18 -0700
commit1bbd413183359aef5a6beb7c90408b8a37cb26b6 (patch)
treeca9223528d6158d604d10d11169abc7a86736216
parent380a809a7f7f17a8f314aa695e1f36207ea3ff29 (diff)
decompile sub_8054814()
-rw-r--r--asm/rom4.s21
-rw-r--r--data/data2.s5
-rw-r--r--src/rom4.c13
3 files changed, 16 insertions, 23 deletions
diff --git a/asm/rom4.s b/asm/rom4.s
index 6843efb15..4196762f8 100644
--- a/asm/rom4.s
+++ b/asm/rom4.s
@@ -5,27 +5,6 @@
.text
- thumb_func_start sub_8054814
-sub_8054814: @ 8054814
- push {lr}
- bl sav1_get_flash_used_on_map
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08054832
- bl sub_80815E0
- ldr r2, _08054838
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80895F8
-_08054832:
- pop {r0}
- bx r0
- .align 2, 0
-_08054838: .4byte gUnknown_08216694
- thumb_func_end sub_8054814
-
thumb_func_start sub_805483C
sub_805483C: @ 805483C
push {r4,lr}
diff --git a/data/data2.s b/data/data2.s
index a6632e504..4c976cd75 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -3875,8 +3875,11 @@ gDummyWarpData:: @ 8216624
gUnknown_0821664C:: @ 821664C
.incbin "baserom.gba", 0x0021664c, 0x48
+ .align 2
gUnknown_08216694:: @ 8216694
- .incbin "baserom.gba", 0x00216694, 0xc
+ .4byte REG_WIN0H
+ .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1
+ .4byte 1
.align 2
gUnknown_082166A0:: @ 82166A0
diff --git a/src/rom4.c b/src/rom4.c
index 541acd5a6..99b16ae84 100644
--- a/src/rom4.c
+++ b/src/rom4.c
@@ -61,6 +61,7 @@ extern struct MapData * const gMapAttributes[];
extern struct MapHeader * const * const gMapGroups[];
extern const struct WarpData gDummyWarpData;
extern s32 gUnknown_0839ACE8;
+extern u32 gUnknown_08216694[];
extern struct UnkWarpStruct *sub_80FA8CC(u8);
extern u16 VarGet(u16);
@@ -701,7 +702,7 @@ void sub_8053CE4(s32 a1)
gSaveBlock1.flashUsed = a1;
}
-u8 sav1_get_flash_used_on_map()
+u8 sav1_get_flash_used_on_map(void)
{
return gSaveBlock1.flashUsed;
}
@@ -1317,3 +1318,13 @@ void VBlankCB_Field(void)
TransferPlttBuffer();
sub_8072E74();
}
+
+void sub_8054814(void)
+{
+ u8 val = sav1_get_flash_used_on_map();
+ if (val)
+ {
+ sub_80815E0(val);
+ sub_80895F8(gUnknown_08216694[0], gUnknown_08216694[1], gUnknown_08216694[2]);
+ }
+}