summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaúl Peñacoba <raul.mikaop.zelda@gmail.com>2017-08-25 11:56:56 +0200
committerRaúl Peñacoba <raul.mikaop.zelda@gmail.com>2017-08-25 11:56:56 +0200
commitd844354e116e2051d601bc647d666a981725e08e (patch)
treedb5dc53b872b6991dfa9e5c3ee1f3ababb37d12b
parent09fcf47bebf471672f66bd61b6e57b0c18e22f38 (diff)
sub_80EEE54
-rw-r--r--asm/pokenav.s104
-rw-r--r--src/pokenav_before.c36
2 files changed, 36 insertions, 104 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 148a45095..e38c07dc6 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6,110 +6,6 @@
.text
- thumb_func_start sub_80EEE54
-sub_80EEE54: @ 80EEE54
- push {lr}
- ldr r1, _080EEE70 @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r2, _080EEE74 @ =0x0000d160
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _080EEF02
- lsls r0, 2
- ldr r1, _080EEE78 @ =_080EEE7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EEE70: .4byte gUnknown_083DFEC4
-_080EEE74: .4byte 0x0000d160
-_080EEE78: .4byte _080EEE7C
- .align 2, 0
-_080EEE7C:
- .4byte _080EEE90
- .4byte _080EEEA4
- .4byte _080EEEB8
- .4byte _080EEEC8
- .4byte _080EEEDC
-_080EEE90:
- ldr r0, _080EEE9C @ =gPokenavHoennMapMisc_Gfx
- ldr r1, _080EEEA0 @ =0x0600c000
- bl LZ77UnCompVram
- b _080EEF18
- .align 2, 0
-_080EEE9C: .4byte gPokenavHoennMapMisc_Gfx
-_080EEEA0: .4byte 0x0600c000
-_080EEEA4:
- ldr r0, _080EEEB0 @ =gUnknown_08E99FB0
- ldr r1, _080EEEB4 @ =0x0600d800
- bl LZ77UnCompVram
- b _080EEF18
- .align 2, 0
-_080EEEB0: .4byte gUnknown_08E99FB0
-_080EEEB4: .4byte 0x0600d800
-_080EEEB8:
- ldr r0, _080EEEC4 @ =gPokenavHoennMap1_Pal
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- b _080EEF18
- .align 2, 0
-_080EEEC4: .4byte gPokenavHoennMap1_Pal
-_080EEEC8:
- movs r0, 0
- bl sub_80EF58C
- movs r0, 0x1
- bl sub_80EF58C
- movs r0, 0x2
- bl sub_80EF58C
- b _080EEF18
-_080EEEDC:
- ldr r2, [r2]
- movs r3, 0xC3
- lsls r3, 2
- adds r0, r2, r3
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080EEF08 @ =REG_BG1HOFS
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _080EEF0C @ =REG_BG1CNT
- ldr r3, _080EEF10 @ =0x00001b0c
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080EEF14 @ =0x0000d160
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_080EEF02:
- movs r0, 0
- b _080EEF28
- .align 2, 0
-_080EEF08: .4byte REG_BG1HOFS
-_080EEF0C: .4byte REG_BG1CNT
-_080EEF10: .4byte 0x00001b0c
-_080EEF14: .4byte 0x0000d160
-_080EEF18:
- ldr r0, _080EEF2C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080EEF30 @ =0x0000d160
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080EEF28:
- pop {r1}
- bx r1
- .align 2, 0
-_080EEF2C: .4byte gUnknown_083DFEC4
-_080EEF30: .4byte 0x0000d160
- thumb_func_end sub_80EEE54
-
thumb_func_start sub_80EEF34
sub_80EEF34: @ 80EEF34
push {r4,lr}
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 8804e11ba..b027f2a1d 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -2894,3 +2894,39 @@ void sub_80EEE20() {
while (sub_80EEE54());
}
}
+
+extern const u8 gPokenavHoennMapMisc_Gfx[];
+extern const u8 gUnknown_08E99FB0[];
+extern const u16 gPokenavHoennMap1_Pal[];
+
+void sub_80EF58C(u32);
+
+bool8 sub_80EEE54() {
+ // Here i've used .h struct instead of .c struct
+ switch (gUnknown_083DFEC4->unkD160) {
+ case 0:
+ LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000);
+ break;
+ case 1:
+ LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800);
+ break;
+ case 2:
+ LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20);
+ break;
+ case 3:
+ sub_80EF58C(0);
+ sub_80EF58C(1);
+ sub_80EF58C(2);
+ break;
+ case 4:
+ gUnknown_083DFEC4->unk030C = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG1CNT = 0x1B0C;
+ gUnknown_083DFEC4->unkD160++;
+ default:
+ return 0;
+ }
+ gUnknown_083DFEC4->unkD160++;
+ return 1;
+}