diff options
author | camthesaxman <cameronghall@cox.net> | 2017-06-13 19:08:14 -0500 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2017-06-13 19:08:14 -0500 |
commit | 24165f2bb71c063d05f974acc355536e7393468e (patch) | |
tree | 5afe94d8e671c220e281201529491dbf8f76e99b | |
parent | 83f63ae5f641adb4186c0df21a71f92d1dbbfd5e (diff) |
decompile sub_809207C - sub_80924A4
-rw-r--r-- | asm/pokedex.s | 554 | ||||
-rw-r--r-- | include/menu.h | 2 | ||||
-rw-r--r-- | include/songs.h | 32 | ||||
-rw-r--r-- | src/menu.c | 2 | ||||
-rw-r--r-- | src/pokedex.c | 183 |
5 files changed, 199 insertions, 574 deletions
diff --git a/asm/pokedex.s b/asm/pokedex.s index e968a3ddd..b0ea039dc 100644 --- a/asm/pokedex.s +++ b/asm/pokedex.s @@ -6,560 +6,6 @@ .text - thumb_func_start sub_809207C -sub_809207C: @ 809207C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _080920A4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080920B0 - movs r0, 0x3 - bl PlaySE - ldr r0, _080920A8 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080920AC @ =sub_80927B8 - str r0, [r1] - b _0809216C - .align 2, 0 -_080920A4: .4byte gMain -_080920A8: .4byte gTasks -_080920AC: .4byte sub_80927B8 -_080920B0: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809210C - ldr r1, _080920D4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r5, r0, r1 - movs r0, 0x8 - ldrsh r4, [r5, r0] - cmp r4, 0x1 - beq _080920E8 - cmp r4, 0x1 - bgt _080920D8 - cmp r4, 0 - beq _080920DE - b _0809216C - .align 2, 0 -_080920D4: .4byte gTasks -_080920D8: - cmp r4, 0x2 - beq _080920FC - b _0809216C -_080920DE: - movs r0, 0x15 - bl PlaySE - strh r4, [r5, 0xA] - b _080920F2 -_080920E8: - movs r0, 0x15 - bl PlaySE - movs r0, 0x4 - strh r0, [r5, 0xA] -_080920F2: - ldr r0, _080920F8 @ =sub_809217C - str r0, [r5] - b _0809216C - .align 2, 0 -_080920F8: .4byte sub_809217C -_080920FC: - movs r0, 0x3 - bl PlaySE - ldr r0, _08092108 @ =sub_80927B8 - str r0, [r5] - b _0809216C - .align 2, 0 -_08092108: .4byte sub_80927B8 -_0809210C: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0809213A - ldr r0, _08092174 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - ble _0809213A - movs r0, 0x6D - bl PlaySE - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl sub_8092AB0 -_0809213A: - ldr r0, _08092178 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0809216C - ldr r0, _08092174 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r4, r1, r0 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bgt _0809216C - movs r0, 0x6D - bl PlaySE - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 24 - lsrs r0, 24 - bl sub_8092AB0 -_0809216C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08092174: .4byte gTasks -_08092178: .4byte gMain - thumb_func_end sub_809207C - - thumb_func_start sub_809217C -sub_809217C: @ 809217C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _080921A8 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x8] - ldrb r1, [r4, 0xA] - bl sub_8092AD4 - adds r0, r5, 0 - bl sub_8092B68 - ldr r0, _080921AC @ =sub_80921B0 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080921A8: .4byte gTasks -_080921AC: .4byte sub_80921B0 - thumb_func_end sub_809217C - - thumb_func_start sub_80921B0 -sub_80921B0: @ 80921B0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _080921D8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080921E4 - bl IsNationalPokedexEnabled - ldr r6, _080921DC @ =gUnknown_083B586C - cmp r0, 0 - bne _080921F0 - ldr r6, _080921E0 @ =gUnknown_083B58A4 - b _080921F0 - .align 2, 0 -_080921D8: .4byte gTasks -_080921DC: .4byte gUnknown_083B586C -_080921E0: .4byte gUnknown_083B58A4 -_080921E4: - bl IsNationalPokedexEnabled - ldr r6, _0809221C @ =gUnknown_083B5850 - cmp r0, 0 - bne _080921F0 - ldr r6, _08092220 @ =gUnknown_083B5888 -_080921F0: - ldr r0, _08092224 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - beq _08092230 - movs r0, 0x17 - bl PlaySE - adds r0, r5, 0 - bl sub_8092EB0 - ldr r0, _08092228 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0809222C @ =sub_809204C - str r0, [r1] - b _080923EC - .align 2, 0 -_0809221C: .4byte gUnknown_083B5850 -_08092220: .4byte gUnknown_083B5888 -_08092224: .4byte gMain -_08092228: .4byte gTasks -_0809222C: .4byte sub_809204C -_08092230: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08092300 - ldr r0, _080922B4 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r6, r1, r0 - movs r2, 0xA - ldrsh r0, [r6, r2] - cmp r0, 0x6 - bne _080922F0 - movs r1, 0x8 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _080922D4 - ldr r1, _080922B8 @ =gUnknown_0202FFBA - movs r0, 0x40 - strb r0, [r1] - ldr r7, _080922BC @ =gPokedexView - ldr r1, [r7] - ldr r0, _080922C0 @ =0x0000062a - adds r2, r1, r0 - movs r0, 0x40 - strh r0, [r2] - ldr r0, _080922C4 @ =gUnknown_0202FFB8 - strh r3, [r0] - movs r2, 0xC2 - lsls r2, 3 - adds r1, r2 - strh r3, [r1] - adds r0, r5, 0 - movs r1, 0x5 - bl sub_8092E10 - ldr r4, _080922C8 @ =gSaveBlock2 - strb r0, [r4, 0x19] - bl IsNationalPokedexEnabled - cmp r0, 0 - bne _08092288 - movs r0, 0 - strb r0, [r4, 0x19] -_08092288: - ldr r0, [r7] - ldrb r1, [r4, 0x19] - ldr r2, _080922CC @ =0x00000614 - adds r0, r2 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x4 - bl sub_8092E10 - strb r0, [r4, 0x18] - ldr r0, [r7] - ldrb r1, [r4, 0x18] - movs r2, 0xC3 - lsls r2, 3 - adds r0, r2 - strh r1, [r0] - movs r0, 0x3 - bl PlaySE - ldr r0, _080922D0 @ =sub_80927B8 - str r0, [r6] - b _080923EC - .align 2, 0 -_080922B4: .4byte gTasks -_080922B8: .4byte gUnknown_0202FFBA -_080922BC: .4byte gPokedexView -_080922C0: .4byte 0x0000062a -_080922C4: .4byte gUnknown_0202FFB8 -_080922C8: .4byte gSaveBlock2 -_080922CC: .4byte 0x00000614 -_080922D0: .4byte sub_80927B8 -_080922D4: - ldr r0, _080922E8 @ =gDexText_Searching - bl sub_8091E20 - ldr r0, _080922EC @ =sub_80923FC - str r0, [r6] - movs r0, 0x70 - bl PlaySE - b _080923EC - .align 2, 0 -_080922E8: .4byte gDexText_Searching -_080922EC: .4byte sub_80923FC -_080922F0: - movs r0, 0x15 - bl PlaySE - ldr r0, _080922FC @ =sub_80925CC - str r0, [r6] - b _080923EC - .align 2, 0 -_080922FC: .4byte sub_80925CC -_08092300: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08092338 - ldr r1, _080923F4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0xFF - beq _08092338 - movs r0, 0x5 - bl PlaySE - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0] - strh r1, [r4, 0xA] - ldrb r0, [r4, 0x8] - bl sub_8092AD4 -_08092338: - ldr r0, _080923F8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08092374 - ldr r1, _080923F4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x1] - cmp r0, 0xFF - beq _08092374 - movs r0, 0x5 - bl PlaySE - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x1] - strh r1, [r4, 0xA] - ldrb r0, [r4, 0x8] - bl sub_8092AD4 -_08092374: - ldr r0, _080923F8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _080923B0 - ldr r1, _080923F4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x2] - cmp r0, 0xFF - beq _080923B0 - movs r0, 0x5 - bl PlaySE - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x2] - strh r1, [r4, 0xA] - ldrb r0, [r4, 0x8] - bl sub_8092AD4 -_080923B0: - ldr r0, _080923F8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080923EC - ldr r1, _080923F4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x3] - cmp r0, 0xFF - beq _080923EC - movs r0, 0x5 - bl PlaySE - movs r2, 0xA - ldrsh r0, [r4, r2] - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x3] - strh r1, [r4, 0xA] - ldrb r0, [r4, 0x8] - bl sub_8092AD4 -_080923EC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080923F4: .4byte gTasks -_080923F8: .4byte gMain - thumb_func_end sub_80921B0 - - thumb_func_start sub_80923FC -sub_80923FC: @ 80923FC - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0x5 - bl sub_8092E10 - mov r10, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - adds r0, r5, 0 - movs r1, 0x4 - bl sub_8092E10 - mov r9, r0 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - adds r0, r5, 0 - movs r1, 0 - bl sub_8092E10 - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8092E10 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_8092E10 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x3 - bl sub_8092E10 - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - mov r0, r10 - mov r1, r9 - mov r2, r8 - adds r3, r6, 0 - bl sub_8091AF8 - ldr r1, _0809249C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _080924A0 @ =sub_80924A4 - str r1, [r0] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809249C: .4byte gTasks -_080924A0: .4byte sub_80924A4 - thumb_func_end sub_80923FC - - thumb_func_start sub_80924A4 -sub_80924A4: @ 80924A4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - bne _080924F6 - ldr r0, _080924D0 @ =gPokedexView - ldr r0, [r0] - ldr r1, _080924D4 @ =0x0000060c - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _080924DC - movs r0, 0x1F - bl PlaySE - ldr r0, _080924D8 @ =gDexText_SearchComplete - bl sub_8091E20 - b _080924E8 - .align 2, 0 -_080924D0: .4byte gPokedexView -_080924D4: .4byte 0x0000060c -_080924D8: .4byte gDexText_SearchComplete -_080924DC: - movs r0, 0x20 - bl PlaySE - ldr r0, _080924FC @ =gDexText_NoMatching - bl sub_8091E20 -_080924E8: - ldr r0, _08092500 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08092504 @ =sub_8092508 - str r0, [r1] -_080924F6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080924FC: .4byte gDexText_NoMatching -_08092500: .4byte gTasks -_08092504: .4byte sub_8092508 - thumb_func_end sub_80924A4 - thumb_func_start sub_8092508 sub_8092508: @ 8092508 push {r4,r5,lr} diff --git a/include/menu.h b/include/menu.h index 366b67ba1..ed7662671 100644 --- a/include/menu.h +++ b/include/menu.h @@ -52,7 +52,7 @@ s8 ProcessMenuInputNoWrap_(void); u8 MenuPrint_PixelCoords(const u8 *, u8, u16, u8); u8 sub_8072A18(const u8 *, u8, u16, u8, u32); u8 unref_sub_8072A5C(u8 *, u8 *, u8, u16, u8, u32); -int sub_8072AB0(u8 *, u8, u16, u8, u8, u32); +int sub_8072AB0(const u8 *, u8, u16, u8, u8, u32); void MenuPrint_RightAligned(u8 *, u8, u8); void sub_8072B80(const u8 *, u8, u8, const u8 *); void sub_8072BD8(const u8 *, u8, u8, u16); diff --git a/include/songs.h b/include/songs.h index 9fd4bb687..634e65ac2 100644 --- a/include/songs.h +++ b/include/songs.h @@ -25,17 +25,17 @@ enum /*0x13*/ SE_NAMINORI, /*0x14*/ SE_BAN, /*0x15*/ SE_PIN, - SE_BOO, - SE_BOWA, - SE_JYUNI, - SE_A, - SE_I, - SE_U, - SE_E, - SE_O, - SE_N, - SE_SEIKAI, - SE_HAZURE, + /*0x16*/ SE_BOO, + /*0x17*/ SE_BOWA, + /*0x18*/ SE_JYUNI, + /*0x19*/ SE_A, + /*0x1A*/ SE_I, + /*0x1B*/ SE_U, + /*0x1C*/ SE_E, + /*0x1D*/ SE_O, + /*0x1E*/ SE_N, + /*0x1F*/ SE_SEIKAI, + /*0x20*/ SE_HAZURE, SE_EXP, SE_JITE_PYOKO, SE_MU_PACHI, @@ -112,11 +112,11 @@ enum SE_JIHANKI, SE_TAMA, SE_Z_SCROLL, - SE_Z_PAGE, - SE_PN_ON, - SE_PN_OFF, - SE_Z_SEARCH, - SE_TAMAGO, + /*0x6D*/ SE_Z_PAGE, + /*0x6E*/ SE_PN_ON, + /*0x6F*/ SE_PN_OFF, + /*0x70*/ SE_Z_SEARCH, + /*0x71*/ SE_TAMAGO, /*0x72*/ SE_TB_START, /*0x73*/ SE_TB_KON, /*0x74*/ SE_TB_KARA, diff --git a/src/menu.c b/src/menu.c index db1724855..2932750d8 100644 --- a/src/menu.c +++ b/src/menu.c @@ -611,7 +611,7 @@ u8 unref_sub_8072A5C(u8 *dest, u8 *src, u8 left, u16 top, u8 width, u32 a6) return sub_8004FD0(gMenuWindowPtr, dest, src, gMenuTextTileOffset, left, top, width, a6); } -int sub_8072AB0(u8 *str, u8 left, u16 top, u8 width, u8 height, u32 a6) +int sub_8072AB0(const u8 *str, u8 left, u16 top, u8 width, u8 height, u32 a6) { u8 newlineCount = sub_8004FD0(gMenuWindowPtr, NULL, str, gMenuTextTileOffset, left, top, width, a6); diff --git a/src/pokedex.c b/src/pokedex.c index 518982099..5738db841 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -93,6 +93,10 @@ extern void *const gUnknown_083B5584[]; extern struct SpriteFrameImage *const gUnknown_083B5794[]; extern const struct SpriteTemplate gUnknown_083B57A4; extern const u8 gUnknown_083B57BC[][4]; +extern const u8 gUnknown_083B5850[][4]; +extern const u8 gUnknown_083B586C[][4]; +extern const u8 gUnknown_083B5888[][4]; +extern const u8 gUnknown_083B58A4[][4]; extern u8 gUnknown_08D00524[]; extern u8 gUnknown_08E96BD4[]; extern u8 gUnknown_08E96ACC[]; @@ -128,9 +132,17 @@ u16 NationalPokedexNumToSpecies(u16); void sub_8091E54(u8); void sub_809204C(u8); void sub_809207C(u8); - +void sub_809217C(u8); +void sub_80921B0(u8); +void sub_80923FC(u8); +void sub_80924A4(u8); +void sub_8092508(u8); +void sub_80925CC(u8); +void sub_80927B8(u8); void sub_8092AB0(u8); +void sub_8092AD4(u8, u8); void sub_8092B68(); +u8 sub_8092E10(); void sub_8092EB0(); void sub_809308C(); @@ -4213,7 +4225,7 @@ int sub_8091AF8(u8 a, u8 b, u8 abcGroup, u8 bodyColor, u8 type1, u8 type2) return resultsCount; } -void sub_8091E20(u8 *str) +void sub_8091E20(const u8 *str) { sub_8072AB0(str, 9, 120, 208, 32, 1); } @@ -4289,3 +4301,170 @@ void sub_809204C(u8 taskId) sub_8092B68(taskId); gTasks[taskId].func = sub_809207C; } + +void sub_809207C(u8 taskId) +{ + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_PC_OFF); + gTasks[taskId].func = sub_80927B8; + return; + } + if (gMain.newKeys & A_BUTTON) + { + switch (gTasks[taskId].data[0]) + { + case 0: + PlaySE(SE_PIN); + gTasks[taskId].data[1] = 0; + gTasks[taskId].func = sub_809217C; + break; + case 1: + PlaySE(SE_PIN); + gTasks[taskId].data[1] = 4; + gTasks[taskId].func = sub_809217C; + break; + case 2: + PlaySE(SE_PC_OFF); + gTasks[taskId].func = sub_80927B8; + break; + } + return; + } + if ((gMain.newKeys & 0x20) && gTasks[taskId].data[0] > 0) + { + PlaySE(SE_Z_PAGE); + gTasks[taskId].data[0]--; + sub_8092AB0(gTasks[taskId].data[0]); + } + if ((gMain.newKeys & 0x10) && gTasks[taskId].data[0] < 2) + { + PlaySE(SE_Z_PAGE); + gTasks[taskId].data[0]++; + sub_8092AB0(gTasks[taskId].data[0]); + } +} + +void sub_809217C(u8 taskId) +{ + sub_8092AD4(gTasks[taskId].data[0], gTasks[taskId].data[1]); + sub_8092B68(taskId); + gTasks[taskId].func = sub_80921B0; +} + +void sub_80921B0(u8 taskId) +{ + const u8 (*r6)[4]; + + if (gTasks[taskId].data[0] != 0) + { + if (!IsNationalPokedexEnabled()) + r6 = gUnknown_083B58A4; + else + r6 = gUnknown_083B586C; + } + else + { + if (!IsNationalPokedexEnabled()) + r6 = gUnknown_083B5888; + else + r6 = gUnknown_083B5850; + } + + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_BOWA); + sub_8092EB0(taskId); + gTasks[taskId].func = sub_809204C; + return; + } + if (gMain.newKeys & A_BUTTON) + { + if (gTasks[taskId].data[1] == 6) + { + if (gTasks[taskId].data[0] != 0) + { + gUnknown_0202FFBA = 0x40; + gPokedexView->unk62A = 0x40; + gUnknown_0202FFB8 = 0; + gPokedexView->unk610 = 0; + gSaveBlock2.pokedex.unknown1 = sub_8092E10(taskId, 5); + if (!IsNationalPokedexEnabled()) + gSaveBlock2.pokedex.unknown1 = 0; + gPokedexView->unk614 = gSaveBlock2.pokedex.unknown1; + gSaveBlock2.pokedex.order = sub_8092E10(taskId, 4); + gPokedexView->unk618 = gSaveBlock2.pokedex.order; + PlaySE(SE_PC_OFF); + gTasks[taskId].func = sub_80927B8; + } + else + { + sub_8091E20(gDexText_Searching); + gTasks[taskId].func = sub_80923FC; + PlaySE(SE_Z_SEARCH); + } + } + else + { + PlaySE(SE_PIN); + gTasks[taskId].func = sub_80925CC; + } + return; + } + + if ((gMain.newKeys & 0x20) && r6[gTasks[taskId].data[1]][0] != 0xFF) + { + PlaySE(SE_SELECT); + gTasks[taskId].data[1] = r6[gTasks[taskId].data[1]][0]; + sub_8092AD4(gTasks[taskId].data[0], gTasks[taskId].data[1]); + } + if ((gMain.newKeys & 0x10) && r6[gTasks[taskId].data[1]][1] != 0xFF) + { + PlaySE(SE_SELECT); + gTasks[taskId].data[1] = r6[gTasks[taskId].data[1]][1]; + sub_8092AD4(gTasks[taskId].data[0], gTasks[taskId].data[1]); + } + if ((gMain.newKeys & 0x40) && r6[gTasks[taskId].data[1]][2] != 0xFF) + { + PlaySE(SE_SELECT); + gTasks[taskId].data[1] = r6[gTasks[taskId].data[1]][2]; + sub_8092AD4(gTasks[taskId].data[0], gTasks[taskId].data[1]); + } + if ((gMain.newKeys & 0x80) && r6[gTasks[taskId].data[1]][3] != 0xFF) + { + PlaySE(SE_SELECT); + gTasks[taskId].data[1] = r6[gTasks[taskId].data[1]][3]; + sub_8092AD4(gTasks[taskId].data[0], gTasks[taskId].data[1]); + } +} + +void sub_80923FC(u8 taskId) +{ + u8 r10 = sub_8092E10(taskId, 5); + u8 r9 = sub_8092E10(taskId, 4); + u8 r8 = sub_8092E10(taskId, 0); + u8 r6 = sub_8092E10(taskId, 1); + u8 r4 = sub_8092E10(taskId, 2); + u8 r0 = sub_8092E10(taskId, 3); + + sub_8091AF8(r10, r9, r8, r6, r4, r0); + gTasks[taskId].func = sub_80924A4; +} + +void sub_80924A4(u8 taskId) +{ + if (!IsSEPlaying()) + { + if (gPokedexView->unk60C != 0) + { + PlaySE(SE_SEIKAI); + sub_8091E20(gDexText_SearchComplete); + } + else + { + PlaySE(SE_HAZURE); + sub_8091E20(gDexText_NoMatching); + } + gTasks[taskId].func = sub_8092508; + } +} |