summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaúl Peñacoba <raul.mikaop.zelda@gmail.com>2017-08-15 12:22:47 +0200
committerRaúl Peñacoba <raul.mikaop.zelda@gmail.com>2017-08-15 12:22:47 +0200
commitc33fac030e2e2f5761adf07e1e26d3e4568252bd (patch)
tree3813b2c4cb9b12feb425f468bab10c0bede672f5
parent9790da07394c311fd72713466b4c4589963adb5d (diff)
sub_80ED01C
-rw-r--r--asm/pokenav.s360
-rw-r--r--src/pokenav_before.c103
2 files changed, 103 insertions, 360 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 5ffec9177..55168f215 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6,366 +6,6 @@
.text
- thumb_func_start sub_80ED01C
-sub_80ED01C: @ 80ED01C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080ED03C @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x13
- bls _080ED032
- b _080ED308
-_080ED032:
- lsls r0, 2
- ldr r1, _080ED040 @ =_080ED044
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ED03C: .4byte 0x02000000
-_080ED040: .4byte _080ED044
- .align 2, 0
-_080ED044:
- .4byte _080ED094
- .4byte _080ED0B4
- .4byte _080ED0D4
- .4byte _080ED108
- .4byte _080ED138
- .4byte _080ED14C
- .4byte _080ED15E
- .4byte _080ED18C
- .4byte _080ED1AC
- .4byte _080ED1C4
- .4byte _080ED1D8
- .4byte _080ED1F4
- .4byte _080ED208
- .4byte _080ED220
- .4byte _080ED24C
- .4byte _080ED260
- .4byte _080ED28C
- .4byte _080ED2A0
- .4byte _080ED2CC
- .4byte _080ED2EA
-_080ED094:
- bl sub_80F1E84
- movs r0, 0x1
- bl sub_80F2D04
- movs r0, 0x5
- bl sub_80F2D04
- ldr r1, _080ED0B0 @ =0x02000000
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED0B0: .4byte 0x02000000
-_080ED0B4:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080ED0C0
- b _080ED308
-_080ED0C0:
- movs r0, 0
- bl sub_80EEFBC
- ldr r1, _080ED0D0 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED0D0: .4byte 0x02000000
-_080ED0D4:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080ED0E2
- b _080ED308
-_080ED0E2:
- ldr r4, _080ED104 @ =0x02000000
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED27C
- .align 2, 0
-_080ED104: .4byte 0x02000000
-_080ED108:
- ldr r0, _080ED130 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080ED116
- b _080ED308
-_080ED116:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- bl sub_80EF814
- ldr r1, _080ED134 @ =0x02000000
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED130: .4byte gPaletteFade
-_080ED134: .4byte 0x02000000
-_080ED138:
- bl sub_80F2620
- ldr r1, _080ED148 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED148: .4byte 0x02000000
-_080ED14C:
- bl sub_80F4D44
- ldr r1, _080ED178 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED15E:
- bl sub_80F4D88
- lsls r0, 24
- cmp r0, 0
- bne _080ED17C
- ldr r1, _080ED178 @ =0x02000000
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x2
- strh r0, [r1]
- b _080ED308
- .align 2, 0
-_080ED178: .4byte 0x02000000
-_080ED17C:
- ldr r1, _080ED188 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED188: .4byte 0x02000000
-_080ED18C:
- bl sub_8055870
- cmp r0, 0
- beq _080ED196
- b _080ED308
-_080ED196:
- ldr r1, _080ED1A8 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- b _080ED308
- .align 2, 0
-_080ED1A8: .4byte 0x02000000
-_080ED1AC:
- bl sub_8055870
- cmp r0, 0
- beq _080ED1B6
- b _080ED308
-_080ED1B6:
- ldr r1, _080ED1C0 @ =0x02000000
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED1C0: .4byte 0x02000000
-_080ED1C4:
- movs r0, 0
- bl sub_80F0264
- ldr r1, _080ED1F0 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED1D8:
- bl sub_80F02A0
- lsls r0, 24
- cmp r0, 0
- beq _080ED1E4
- b _080ED308
-_080ED1E4:
- ldr r1, _080ED1F0 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080ED27C
- .align 2, 0
-_080ED1F0: .4byte 0x02000000
-_080ED1F4:
- movs r0, 0
- bl sub_80F3008
- ldr r1, _080ED204 @ =0x02000000
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED204: .4byte 0x02000000
-_080ED208:
- bl sub_8055870
- cmp r0, 0
- beq _080ED212
- b _080ED308
-_080ED212:
- ldr r1, _080ED21C @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED21C: .4byte 0x02000000
-_080ED220:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080ED248 @ =sub_80EBD18
- bl SetVBlankCallback
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED27C
- .align 2, 0
-_080ED248: .4byte sub_80EBD18
-_080ED24C:
- movs r0, 0x4
- bl sub_80EED2C
- ldr r1, _080ED25C @ =0x02000000
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED25C: .4byte 0x02000000
-_080ED260:
- ldr r0, _080ED284 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080ED308
- ldr r2, _080ED288 @ =0x00000306
- adds r0, r4, r2
- strh r1, [r0]
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r4, r3
-_080ED27C:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080ED308
- .align 2, 0
-_080ED284: .4byte gPaletteFade
-_080ED288: .4byte 0x00000306
-_080ED28C:
- movs r0, 0x1
- bl sub_80F2C80
- ldr r1, _080ED2C4 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED2A0:
- movs r0, 0x1
- bl sub_80F2CBC
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080ED308
- ldr r0, _080ED2C4 @ =0x02000000
- ldr r3, _080ED2C8 @ =0x00000306
- adds r1, r0, r3
- strh r2, [r1]
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- b _080ED308
- .align 2, 0
-_080ED2C4: .4byte 0x02000000
-_080ED2C8: .4byte 0x00000306
-_080ED2CC:
- ldr r4, _080ED310 @ =0x02000000
- ldr r2, _080ED314 @ =0x00006dfc
- adds r0, r4, r2
- ldrb r0, [r0]
- adds r0, 0x7
- lsls r0, 24
- lsrs r0, 24
- bl sub_80F2C80
- movs r3, 0xC1
- lsls r3, 2
- adds r4, r3
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080ED2EA:
- ldr r0, _080ED310 @ =0x02000000
- ldr r1, _080ED314 @ =0x00006dfc
- adds r0, r1
- ldrb r0, [r0]
- adds r0, 0x7
- lsls r0, 24
- lsrs r0, 24
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080ED308
- ldr r0, _080ED318 @ =sub_80ED31C
- bl sub_80EBDBC
-_080ED308:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED310: .4byte 0x02000000
-_080ED314: .4byte 0x00006dfc
-_080ED318: .4byte sub_80ED31C
- thumb_func_end sub_80ED01C
-
thumb_func_start sub_80ED31C
sub_80ED31C: @ 80ED31C
push {r4,lr}
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 0c4942f47..fea93d4cf 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -975,3 +975,106 @@ void sub_80ECD80() {
sub_80EBDBC(&sub_80ECC08);
}
}
+
+void sub_80F4D44();
+bool8 sub_80F4D88();
+void sub_80F0264();
+bool8 sub_80F02A0();
+void sub_80F3008();
+void sub_80ED31C();
+
+void sub_80ED01C() {
+ u16 var1;
+ u16 var3;
+ switch (ewram0.var304) {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0x1);
+ sub_80F2D04(0x5);
+ ewram0.var304++;
+ break;
+ case 1:
+ if (sub_80F1F10()) return;
+ sub_80EEFBC(0);
+ ewram0.var304++;
+ break;
+ case 2:
+ if ((var1 = sub_80EEF34())) return;
+ BeginNormalPaletteFade(ewram0.var308, -1, 0x0, 0x10, var1);
+ ewram0.var304++;
+ break;
+ case 3:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0.var304++;
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0.var304++;
+ break;
+ case 5:
+ sub_80F4D44();
+ ewram0.var304++;
+ case 6:
+ if (!sub_80F4D88()) {
+ ewram0.var304 += 2;
+ break;
+ }
+ ewram0.var304++;
+ break;
+ case 7:
+ if (sub_8055870()) return;
+ ewram0.var304--;
+ break;
+ case 8:
+ if (sub_8055870()) return;
+ ewram0.var304++;
+ break;
+ case 9:
+ sub_80F0264(0);
+ ewram0.var304++;
+ case 0xA:
+ if (sub_80F02A0()) return;
+ ewram0.var304++;
+ break;
+ case 0xB:
+ sub_80F3008(0);
+ ewram0.var304++;
+ break;
+ case 0xC:
+ if (sub_8055870()) return;
+ ewram0.var304++;
+ break;
+ case 0xD:
+ BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0.var304++;
+ break;
+ case 0xE:
+ sub_80EED2C(0x4);
+ ewram0.var304++;
+ break;
+ case 0xF:
+ if (gPaletteFade.active) return;
+ ewram0.var306 = (u8)(gPaletteFade.active << 24);
+ ewram0.var304++;
+ break;
+ case 0x10:
+ sub_80F2C80(0x1);
+ ewram0.var304++;
+ case 0x11:
+ if ((var3 = sub_80F2CBC(0x1))) return;
+ ewram0.var306 = var3;
+ ewram0.var304++;
+ break;
+ case 0x12:
+ sub_80F2C80(ewram0.var6dfc + 7);
+ ewram0.var304++;
+ case 0x13:
+ if (sub_80F2CBC(ewram0.var6dfc + 7)) return;
+ sub_80EBDBC(&sub_80ED31C);
+ break;
+ }
+}