summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaúl Peñacoba <raul.mikaop.zelda@gmail.com>2017-08-14 16:20:22 +0200
committerRaúl Peñacoba <raul.mikaop.zelda@gmail.com>2017-08-14 16:21:51 +0200
commit9cd9c2534671fc8d4a7e12d93bc99644e99c685b (patch)
treeebd7a97b9a4a2a8e033b1475cec66f57309c0147
parent43042f7495b2fe8ba6e16b2aa987f492b0ffd9ea (diff)
sub_80ECC08
-rw-r--r--asm/pokenav.s177
-rw-r--r--src/pokenav_before.c62
2 files changed, 59 insertions, 180 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 543fc3392..d4544307d 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6,183 +6,6 @@
.text
- thumb_func_start sub_80ECC08
-sub_80ECC08: @ 80ECC08
- push {r4,r5,lr}
- ldr r4, _080ECC20 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r5, r4, r0
- ldrh r0, [r5]
- cmp r0, 0
- beq _080ECC24
- cmp r0, 0x1
- bne _080ECC1E
- b _080ECD64
-_080ECC1E:
- b _080ECD74
- .align 2, 0
-_080ECC20: .4byte 0x02000000
-_080ECC24:
- bl sub_80EEC90
- lsls r0, 24
- cmp r0, 0
- beq _080ECC4C
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080ECC48 @ =0x00006dad
- adds r0, r4, r1
- ldrb r1, [r0]
- movs r0, 0x2
- bl sub_80EF428
- bl sub_80EED9C
- b _080ECD74
- .align 2, 0
-_080ECC48: .4byte 0x00006dad
-_080ECC4C:
- ldr r0, _080ECC78 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080ECC5A
- b _080ECD40
-_080ECC5A:
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080ECC7C @ =0x00006dad
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- bhi _080ECD0C
- lsls r0, 2
- ldr r1, _080ECC80 @ =_080ECC84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ECC78: .4byte gMain
-_080ECC7C: .4byte 0x00006dad
-_080ECC80: .4byte _080ECC84
- .align 2, 0
-_080ECC84:
- .4byte _080ECC9C
- .4byte _080ECCB0
- .4byte _080ECCC4
- .4byte _080ECCD8
- .4byte _080ECCEC
- .4byte _080ECD00
-_080ECC9C:
- ldr r0, _080ECCA8 @ =0x02000000
- ldr r3, _080ECCAC @ =0x000087d8
- adds r0, r3
- movs r1, 0x16
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCA8: .4byte 0x02000000
-_080ECCAC: .4byte 0x000087d8
-_080ECCB0:
- ldr r0, _080ECCBC @ =0x02000000
- ldr r1, _080ECCC0 @ =0x000087d8
- adds r0, r1
- movs r1, 0x17
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCBC: .4byte 0x02000000
-_080ECCC0: .4byte 0x000087d8
-_080ECCC4:
- ldr r0, _080ECCD0 @ =0x02000000
- ldr r2, _080ECCD4 @ =0x000087d8
- adds r0, r2
- movs r1, 0x18
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCD0: .4byte 0x02000000
-_080ECCD4: .4byte 0x000087d8
-_080ECCD8:
- ldr r0, _080ECCE4 @ =0x02000000
- ldr r3, _080ECCE8 @ =0x000087d8
- adds r0, r3
- movs r1, 0x21
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCE4: .4byte 0x02000000
-_080ECCE8: .4byte 0x000087d8
-_080ECCEC:
- ldr r0, _080ECCF8 @ =0x02000000
- ldr r1, _080ECCFC @ =0x000087d8
- adds r0, r1
- movs r1, 0x2F
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCF8: .4byte 0x02000000
-_080ECCFC: .4byte 0x000087d8
-_080ECD00:
- ldr r0, _080ECD08 @ =sub_80EC9A8
- bl sub_80EBDBC
- b _080ECD74
- .align 2, 0
-_080ECD08: .4byte sub_80EC9A8
-_080ECD0C:
- ldr r1, _080ECD2C @ =0x02000000
- ldr r2, _080ECD30 @ =0x00006dad
- adds r0, r1, r2
- ldrb r2, [r0]
- ldr r3, _080ECD34 @ =0x00006dfc
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080ECD38 @ =0x000076aa
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080ECD3C @ =sub_80ED01C
- bl sub_80EBDBC
- b _080ECD74
- .align 2, 0
-_080ECD2C: .4byte 0x02000000
-_080ECD30: .4byte 0x00006dad
-_080ECD34: .4byte 0x00006dfc
-_080ECD38: .4byte 0x000076aa
-_080ECD3C: .4byte sub_80ED01C
-_080ECD40:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ECD74
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080ECD60 @ =0x00006dad
- adds r1, r4, r2
- movs r0, 0x5
- strb r0, [r1]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080ECD74
- .align 2, 0
-_080ECD60: .4byte 0x00006dad
-_080ECD64:
- bl sub_80F1E6C
- lsls r0, 24
- cmp r0, 0
- bne _080ECD74
- ldr r0, _080ECD7C @ =sub_80EC9A8
- bl sub_80EBDBC
-_080ECD74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECD7C: .4byte sub_80EC9A8
- thumb_func_end sub_80ECC08
-
thumb_func_start sub_80ECD80
sub_80ECD80: @ 80ECD80
push {r4,lr}
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 210aedf0e..f86b93ca1 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -31,13 +31,19 @@ struct UnknownPokenav0 {
/* 0x6ddc */ s8 var6ddc;
/* 0x6ddd */ u8 fill6ddd[0x13];
/* 0x6df0 */ s8 var6df0;
- /* 0x6df1 */ u8 fill6df1[0x9f];
+ /* 0x6df1 */ u8 fill6df1[0xB];
+ /* 0x6dfc */ u8 var6dfc;
+ /* 0x6dfd */ u8 fill6dfd[0x93];
/* 0x6e90 */ u8 var6e90;
/* 0x6e91 */ u8 fill6e91[0x4];
/* 0x6e95 */ u8 var6e95;
- /* 0x6e96 */ u8 var6e96[0x18d2];
+ /* 0x6e96 */ u8 var6e96[0x814];
+ /* 0x76AA */ u8 var76aa;
+ /* 0x76AB */ u8 fill76AB[0x10BD];
/* 0x8768 */ u32 var8768;
- /* 0x876C */ u8 fill876B[0x00bc];
+ /* 0x876C */ u8 fill876B[0x6C];
+ /* 0x87D8 */ u8 var87D8;
+ /* 0x87D9 */ u8 fill87D9[0x4F];
/* 0x8828 */ u8 var8828;
/* 0x8829 */ u8 fill8829[0x07bf];
/* 0x8FE8 */ s8 var8fe8;
@@ -823,3 +829,53 @@ void sub_80ECA10() {
sub_80EBDBC(&sub_80EC86C);
}
}
+
+void sub_80ED01C();
+
+void sub_80ECC08() {
+ switch (ewram0.var304) {
+ case 0:
+ if (sub_80EEC90()) {
+ PlaySE(0x5);
+ sub_80EF428(2, ewram0.var6dad);
+ sub_80EED9C();
+ break;
+ }
+ if ((gMain.newKeys & A_BUTTON)) {
+ PlaySE(0x5);
+ switch ((s8)ewram0.var6dad) {
+ case 0:
+ ewram0.var87D8 = 22;
+ break;
+ case 1:
+ ewram0.var87D8 = 23;
+ break;
+ case 2:
+ ewram0.var87D8 = 24;
+ break;
+ case 3:
+ ewram0.var87D8 = 33;
+ break;
+ case 4:
+ ewram0.var87D8 = 47;
+ break;
+ case 5:
+ sub_80EBDBC(&sub_80EC9A8);
+ return;
+ }
+ ewram0.var6dfc = ewram0.var6dad;
+ ewram0.var76aa = 1;
+ sub_80EBDBC(&sub_80ED01C);
+ }
+ else if (gMain.newKeys & B_BUTTON) {
+ PlaySE(0x5);
+ ewram0.var6dad = 0x5;
+ ewram0.var304++;
+ }
+ break;
+ case 1:
+ if (sub_80F1E6C()) return;;
+ sub_80EBDBC(&sub_80EC9A8);
+ break;
+ }
+}