diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/pokedex.s | 1566 |
1 files changed, 0 insertions, 1566 deletions
diff --git a/asm/pokedex.s b/asm/pokedex.s index 8fd971840..ed0e3fd95 100644 --- a/asm/pokedex.s +++ b/asm/pokedex.s @@ -6,1572 +6,6 @@ .text - thumb_func_start sub_8090750 -sub_8090750: @ 8090750 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08090778 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r6, [r0, 0xA] - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0x6 - bhi _0809079C - lsls r0, 2 - ldr r1, _0809077C @ =_08090780 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08090778: .4byte gTasks -_0809077C: .4byte _08090780 - .align 2, 0 -_08090780: - .4byte _0809079C - .4byte _080907E0 - .4byte _0809085C - .4byte _080908A0 - .4byte _08090960 - .4byte _080909B8 - .4byte _080909F4 -_0809079C: - ldr r0, _080907D0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080907AA - b _08090A26 -_080907AA: - ldr r1, _080907D4 @ =gUnknown_03005CEC - ldr r0, _080907D8 @ =gMain - ldr r0, [r0, 0xC] - str r0, [r1] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 1 - bl sub_8091060 - ldr r1, _080907DC @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0, 0x8] - b _08090A26 - .align 2, 0 -_080907D0: .4byte gPaletteFade -_080907D4: .4byte gUnknown_03005CEC -_080907D8: .4byte gMain -_080907DC: .4byte gTasks -_080907E0: - ldr r0, _08090840 @ =gPokedexMenu_Gfx - ldr r1, _08090844 @ =0x06004000 - bl LZ77UnCompVram - ldr r0, _08090848 @ =gUnknown_08E96BD4 - ldr r4, _0809084C @ =0x06007800 - adds r1, r4, 0 - bl LZ77UnCompVram - movs r2, 0 - lsls r5, r7, 2 - mov r12, r5 - movs r0, 0x80 - lsls r0, 6 - adds r6, r0, 0 - ldr r3, _08090850 @ =0x0000027f -_08090800: - lsls r0, r2, 1 - adds r0, r4 - ldrh r5, [r0] - adds r1, r6, r5 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _08090800 - ldr r0, _08090854 @ =gTasks - mov r1, r12 - adds r4, r1, r7 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0xA] - movs r2, 0xFF - lsls r2, 2 - movs r1, 0x2 - bl sub_8091738 - bl ResetPaletteFade - ldr r0, _08090858 @ =gPokedexMenu_Pal + 0x2 - movs r1, 0x21 - movs r2, 0x9E - bl LoadPalette - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08090A26 - .align 2, 0 -_08090840: .4byte gPokedexMenu_Gfx -_08090844: .4byte 0x06004000 -_08090848: .4byte gUnknown_08E96BD4 -_0809084C: .4byte 0x06007800 -_08090850: .4byte 0x0000027f -_08090854: .4byte gTasks -_08090858: .4byte gPokedexMenu_Pal + 0x2 -_0809085C: - ldr r4, _0809088C @ =gWindowConfig_81E7064 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - ldr r2, _08090890 @ =0x0600c000 - add r1, sp, 0x4 - movs r0, 0 - strh r0, [r1] - ldr r0, _08090894 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _08090898 @ =0x81000100 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r1, _0809089C @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - b _080909E0 - .align 2, 0 -_0809088C: .4byte gWindowConfig_81E7064 -_08090890: .4byte 0x0600c000 -_08090894: .4byte 0x040000d4 -_08090898: .4byte 0x81000100 -_0809089C: .4byte gTasks -_080908A0: - ldr r0, _080908C8 @ =gDexText_RegisterComplete - movs r1, 0x2 - movs r2, 0 - movs r3, 0xD0 - bl sub_8072BD8 - bl IsNationalPokedexEnabled - cmp r0, 0 - bne _080908CC - adds r0, r6, 0 - bl NationalToHoennOrder - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - movs r2, 0x3 - bl sub_8091154 - b _080908D6 - .align 2, 0 -_080908C8: .4byte gDexText_RegisterComplete -_080908CC: - adds r0, r6, 0 - movs r1, 0xD - movs r2, 0x3 - bl sub_8091154 -_080908D6: - adds r0, r6, 0 - movs r1, 0x10 - movs r2, 0x3 - bl sub_80911C8 - ldr r0, _0809094C @ =gDexText_UnknownPoke - movs r1, 0xB - movs r2, 0x5 - bl MenuPrint - ldr r0, _08090950 @ =gDexText_UnknownHeight - movs r1, 0x10 - movs r2, 0x7 - bl MenuPrint - ldr r0, _08090954 @ =gDexText_UnknownWeight - movs r1, 0x10 - movs r2, 0x9 - bl MenuPrint - lsls r4, r6, 3 - adds r4, r6 - lsls r4, 2 - ldr r6, _08090958 @ =gPokedexEntries - adds r5, r4, r6 - adds r0, r5, 0 - movs r1, 0xB - movs r2, 0x5 - bl sub_8091304 - ldrh r0, [r5, 0xC] - movs r1, 0x10 - movs r2, 0x7 - bl sub_8091458 - ldrh r0, [r5, 0xE] - movs r1, 0x10 - movs r2, 0x9 - bl sub_8091564 - adds r6, 0x10 - adds r4, r6 - ldr r0, [r4] - movs r1, 0x2 - movs r2, 0xD - bl MenuPrint - movs r1, 0xFF - lsls r1, 2 - movs r0, 0xE - bl sub_80917CC - ldr r1, _0809095C @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - b _080909E0 - .align 2, 0 -_0809094C: .4byte gDexText_UnknownPoke -_08090950: .4byte gDexText_UnknownHeight -_08090954: .4byte gDexText_UnknownWeight -_08090958: .4byte gPokedexEntries -_0809095C: .4byte gTasks -_08090960: - adds r0, r6, 0 - movs r1, 0x30 - movs r2, 0x38 - movs r3, 0 - bl sub_80918EC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080909AC @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _080909B0 @ =gUnknown_03005CEC - ldr r0, [r0] - bl SetVBlankCallback - ldr r1, _080909B4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0xE] - b _080909E0 - .align 2, 0 -_080909AC: .4byte gSprites -_080909B0: .4byte gUnknown_03005CEC -_080909B4: .4byte gTasks -_080909B8: - ldr r0, _080909E8 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - ldr r1, _080909EC @ =REG_BG3CNT - ldr r2, _080909F0 @ =0x00000f07 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xE - movs r5, 0xE2 - lsls r5, 5 - adds r0, r5, 0 - strh r0, [r1] - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r4 -_080909E0: - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _08090A26 - .align 2, 0 -_080909E8: .4byte REG_BLDCNT -_080909EC: .4byte REG_BG3CNT -_080909F0: .4byte 0x00000f07 -_080909F4: - ldr r0, _08090A30 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08090A26 - adds r0, r6, 0 - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl PlayCry1 - ldr r1, _08090A34 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0xC] - strh r5, [r0, 0x10] - ldr r1, _08090A38 @ =sub_8090A3C - str r1, [r0] -_08090A26: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090A30: .4byte gPaletteFade -_08090A34: .4byte gTasks -_08090A38: .4byte sub_8090A3C - thumb_func_end sub_8090750 - - thumb_func_start sub_8090A3C -sub_8090A3C: @ 8090A3C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08090A8C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _08090AA4 - ldr r0, _08090A90 @ =0x0000fffc - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r3, _08090A94 @ =gSprites - ldr r0, _08090A98 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r0, 0xE - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r3, 0x1C - adds r0, r3 - ldr r2, _08090A9C @ =sub_8090C28 - str r2, [r0] - ldr r0, _08090AA0 @ =sub_8090B8C - str r0, [r1] - b _08090B7A - .align 2, 0 -_08090A8C: .4byte gMain -_08090A90: .4byte 0x0000fffc -_08090A94: .4byte gSprites -_08090A98: .4byte gTasks -_08090A9C: .4byte sub_8090C28 -_08090AA0: .4byte sub_8090B8C -_08090AA4: - movs r0, 0x1 - mov r8, r0 - ands r0, r1 - lsls r7, r6, 2 - cmp r0, 0 - beq _08090B44 - ldr r0, _08090B00 @ =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r5, r1, r0 - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08090B0C - ldrh r4, [r5, 0xA] - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _08090B04 @ =gPokedexEntries - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r1, 0x14 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x2 - movs r2, 0xD - bl MenuPrint - ldr r1, _08090B08 @ =0x06007aca - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r1, 0x40 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - mov r0, r8 - strh r0, [r5, 0x10] - movs r0, 0x15 - bl PlaySE - b _08090B44 - .align 2, 0 -_08090B00: .4byte gTasks -_08090B04: .4byte gPokedexEntries -_08090B08: .4byte 0x06007aca -_08090B0C: - ldr r0, _08090B34 @ =0x0000fffc - str r2, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r2, _08090B38 @ =gSprites - movs r0, 0xE - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08090B3C @ =sub_8090C28 - str r1, [r0] - ldr r0, _08090B40 @ =sub_8090B8C - str r0, [r5] - b _08090B7A - .align 2, 0 -_08090B34: .4byte 0x0000fffc -_08090B38: .4byte gSprites -_08090B3C: .4byte sub_8090C28 -_08090B40: .4byte sub_8090B8C -_08090B44: - ldr r1, _08090B68 @ =gTasks - adds r0, r7, r6 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0xC] - adds r1, 0x1 - strh r1, [r0, 0xC] - movs r0, 0x10 - ands r1, r0 - cmp r1, 0 - beq _08090B70 - ldr r0, _08090B6C @ =gPokedexMenu_Pal + 0x2 - movs r1, 0x51 - movs r2, 0xE - bl LoadPalette - b _08090B7A - .align 2, 0 -_08090B68: .4byte gTasks -_08090B6C: .4byte gPokedexMenu_Pal + 0x2 -_08090B70: - ldr r0, _08090B88 @ =gPokedexMenu2_Pal + 0x2 - movs r1, 0x51 - movs r2, 0xE - bl LoadPalette -_08090B7A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08090B88: .4byte gPokedexMenu2_Pal + 0x2 - thumb_func_end sub_8090A3C - - thumb_func_start sub_8090B8C -sub_8090B8C: @ 8090B8C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08090C14 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08090C0C - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xCA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08090C18 @ =gUnknown_08D00524 - ldr r1, _08090C1C @ =0x0600c000 - movs r2, 0x80 - lsls r2, 4 - bl CpuSet - bl sub_800D74C - ldr r0, _08090C20 @ =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0xA] - bl NationalPokedexNumToSpecies - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4, 0x22] - lsls r1, 16 - ldrh r2, [r4, 0x20] - orrs r1, r2 - ldrh r2, [r4, 0x26] - lsls r2, 16 - ldrh r3, [r4, 0x24] - orrs r2, r3 - ldr r5, _08090C24 @ =gSprites - movs r3, 0xE - ldrsh r4, [r4, r3] - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - adds r3, r5 - ldrb r4, [r3, 0x5] - lsrs r4, 4 - bl species_and_otid_get_pal - lsls r4, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - orrs r4, r1 - adds r1, r4, 0 - movs r2, 0x20 - bl LoadCompressedPalette - adds r0, r6, 0 - bl DestroyTask -_08090C0C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08090C14: .4byte gPaletteFade -_08090C18: .4byte gUnknown_08D00524 -_08090C1C: .4byte 0x0600c000 -_08090C20: .4byte gTasks -_08090C24: .4byte gSprites - thumb_func_end sub_8090B8C - - thumb_func_start sub_8090C28 -sub_8090C28: @ 8090C28 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x77 - bgt _08090C3A - adds r0, r2, 0x2 - strh r0, [r1, 0x20] -_08090C3A: - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - ble _08090C48 - subs r0, r2, 0x2 - strh r0, [r1, 0x20] -_08090C48: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x4F - bgt _08090C56 - adds r0, r2, 0x1 - strh r0, [r1, 0x22] -_08090C56: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x50 - ble _08090C64 - subs r0, r2, 0x1 - strh r0, [r1, 0x22] -_08090C64: - pop {r0} - bx r0 - thumb_func_end sub_8090C28 - - thumb_func_start sub_8090C68 -sub_8090C68: @ 8090C68 - push {r4,r5,lr} - ldr r4, _08090CD0 @ =gUnknown_0202FFBC - ldr r0, [r4] - ldrb r1, [r0, 0x2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08090D2A - ldr r5, _08090CD4 @ =gPokedexView - ldr r0, [r5] - ldr r1, _08090CD8 @ =0x0000064e - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _08090CE4 - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r2, _08090CDC @ =gPokedexEntries - ldr r0, [r4] - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r2, 0x14 - adds r0, r2 - ldr r0, [r0] - movs r1, 0x2 - movs r2, 0xD - bl MenuPrint - ldr r0, [r5] - ldr r1, _08090CD8 @ =0x0000064e - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r1, _08090CE0 @ =0x06007aca - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - adds r1, 0x40 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x15 - bl PlaySE - b _08090D2A - .align 2, 0 -_08090CD0: .4byte gUnknown_0202FFBC -_08090CD4: .4byte gPokedexView -_08090CD8: .4byte 0x0000064e -_08090CDC: .4byte gPokedexEntries -_08090CE0: .4byte 0x06007aca -_08090CE4: - movs r0, 0x2 - movs r1, 0xD - movs r2, 0x1B - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r2, _08090D30 @ =gPokedexEntries - ldr r0, [r4] - ldrh r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r2, 0x10 - adds r0, r2 - ldr r0, [r0] - movs r1, 0x2 - movs r2, 0xD - bl MenuPrint - ldr r0, [r5] - ldr r1, _08090D34 @ =0x0000064e - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r1, _08090D38 @ =0x06007aca - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - adds r1, 0x40 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r0, 0x15 - bl PlaySE -_08090D2A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08090D30: .4byte gPokedexEntries -_08090D34: .4byte 0x0000064e -_08090D38: .4byte 0x06007aca - thumb_func_end sub_8090C68 - - thumb_func_start GetPokemonCategory -GetPokemonCategory: @ 8090D3C - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08090D50 @ =gPokedexEntries - adds r0, r1 - bx lr - .align 2, 0 -_08090D50: .4byte gPokedexEntries - thumb_func_end GetPokemonCategory - - thumb_func_start GetPokedexHeightWeight -GetPokedexHeightWeight: @ 8090D54 - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - beq _08090D6A - cmp r1, 0x1 - beq _08090D7C - movs r0, 0x1 - b _08090D88 -_08090D6A: - ldr r0, _08090D78 @ =gPokedexEntries - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0xC] - b _08090D88 - .align 2, 0 -_08090D78: .4byte gPokedexEntries -_08090D7C: - ldr r0, _08090D8C @ =gPokedexEntries - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0xE] -_08090D88: - pop {r1} - bx r1 - .align 2, 0 -_08090D8C: .4byte gPokedexEntries - thumb_func_end GetPokedexHeightWeight - - thumb_func_start sub_8090D90 -sub_8090D90: @ 8090D90 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 24 - lsrs r2, r1, 24 - adds r3, r2, 0 - ldr r1, _08090DC4 @ =0xffff0000 - adds r0, r1 - lsrs r1, r0, 16 - lsrs r0, 19 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x7 - ands r1, r0 - movs r0, 0x80 - lsls r0, 17 - lsls r0, r1 - lsrs r5, r0, 24 - movs r6, 0 - cmp r2, 0x1 - beq _08090E24 - cmp r2, 0x1 - bgt _08090DC8 - cmp r2, 0 - beq _08090DD4 - b _08090F0A - .align 2, 0 -_08090DC4: .4byte 0xffff0000 -_08090DC8: - cmp r3, 0x2 - beq _08090EBC - cmp r3, 0x3 - bne _08090DD2 - b _08090EFC -_08090DD2: - b _08090F0A -_08090DD4: - ldr r1, _08090E14 @ =gSaveBlock2 - adds r0, r1, 0 - adds r0, 0x5C - adds r0, r4, r0 - ldrb r2, [r0] - ands r2, r5 - adds r7, r1, 0 - cmp r2, 0 - bne _08090DE8 - b _08090F0A -_08090DE8: - ldr r0, _08090E18 @ =gSaveBlock1 - ldr r3, _08090E1C @ =0x00000938 - adds r1, r0, r3 - adds r1, r4, r1 - ldrb r1, [r1] - ands r1, r5 - adds r6, r0, 0 - cmp r2, r1 - bne _08090E08 - ldr r1, _08090E20 @ =0x00003a8c - adds r0, r6, r1 - adds r0, r4, r0 - ldrb r0, [r0] - ands r0, r5 - cmp r2, r0 - beq _08090E62 -_08090E08: - adds r1, r7, 0 - adds r1, 0x5C - adds r1, r4, r1 - mvns r3, r5 - b _08090E8E - .align 2, 0 -_08090E14: .4byte gSaveBlock2 -_08090E18: .4byte gSaveBlock1 -_08090E1C: .4byte 0x00000938 -_08090E20: .4byte 0x00003a8c -_08090E24: - ldr r1, _08090E68 @ =gSaveBlock2 - adds r0, r1, 0 - adds r0, 0x28 - adds r0, r4, r0 - ldrb r2, [r0] - ands r2, r5 - adds r7, r1, 0 - cmp r2, 0 - beq _08090F0A - adds r0, r7, 0 - adds r0, 0x5C - adds r0, r4, r0 - ldrb r0, [r0] - ands r0, r5 - ldr r6, _08090E6C @ =gSaveBlock1 - cmp r2, r0 - bne _08090E78 - ldr r3, _08090E70 @ =0x00000938 - adds r0, r6, r3 - adds r0, r4, r0 - ldrb r0, [r0] - ands r0, r5 - cmp r2, r0 - bne _08090E78 - ldr r1, _08090E74 @ =0x00003a8c - adds r0, r6, r1 - adds r0, r4, r0 - ldrb r0, [r0] - ands r0, r5 - cmp r2, r0 - bne _08090E78 -_08090E62: - movs r6, 0x1 - b _08090F0A - .align 2, 0 -_08090E68: .4byte gSaveBlock2 -_08090E6C: .4byte gSaveBlock1 -_08090E70: .4byte 0x00000938 -_08090E74: .4byte 0x00003a8c -_08090E78: - adds r1, r7, 0 - adds r1, 0x28 - adds r1, r4, r1 - mvns r3, r5 - ldrb r2, [r1] - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - adds r1, r7, 0 - adds r1, 0x5C - adds r1, r4, r1 -_08090E8E: - ldrb r2, [r1] - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - ldr r0, _08090EB4 @ =0x00000938 - adds r1, r6, r0 - adds r1, r4, r1 - ldrb r2, [r1] - adds r0, r3, 0 - ands r0, r2 - strb r0, [r1] - ldr r1, _08090EB8 @ =0x00003a8c - adds r0, r6, r1 - adds r0, r4, r0 - ldrb r1, [r0] - ands r3, r1 - strb r3, [r0] - movs r6, 0 - b _08090F0A - .align 2, 0 -_08090EB4: .4byte 0x00000938 -_08090EB8: .4byte 0x00003a8c -_08090EBC: - ldr r1, _08090EEC @ =gSaveBlock2 - adds r1, 0x5C - adds r1, r4, r1 - ldrb r2, [r1] - adds r0, r5, 0 - orrs r0, r2 - strb r0, [r1] - ldr r1, _08090EF0 @ =gSaveBlock1 - ldr r3, _08090EF4 @ =0x00000938 - adds r2, r1, r3 - adds r2, r4, r2 - ldrb r3, [r2] - adds r0, r5, 0 - orrs r0, r3 - strb r0, [r2] - ldr r0, _08090EF8 @ =0x00003a8c - adds r1, r0 - adds r1, r4, r1 - ldrb r2, [r1] - adds r0, r5, 0 - orrs r0, r2 - strb r0, [r1] - b _08090F0A - .align 2, 0 -_08090EEC: .4byte gSaveBlock2 -_08090EF0: .4byte gSaveBlock1 -_08090EF4: .4byte 0x00000938 -_08090EF8: .4byte 0x00003a8c -_08090EFC: - ldr r0, _08090F14 @ =gSaveBlock2 - adds r0, 0x28 - adds r0, r4, r0 - ldrb r2, [r0] - adds r1, r5, 0 - orrs r1, r2 - strb r1, [r0] -_08090F0A: - adds r0, r6, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08090F14: .4byte gSaveBlock2 - thumb_func_end sub_8090D90 - - thumb_func_start GetNationalPokedexCount -GetNationalPokedexCount: @ 8090F18 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r0, 0 - ldr r7, _08090F30 @ =0x00000181 -_08090F24: - cmp r6, 0 - beq _08090F34 - cmp r6, 0x1 - beq _08090F3E - adds r4, r0, 0x1 - b _08090F56 - .align 2, 0 -_08090F30: .4byte 0x00000181 -_08090F34: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - movs r1, 0 - b _08090F46 -_08090F3E: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - movs r1, 0x1 -_08090F46: - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - beq _08090F56 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08090F56: - lsls r0, r4, 16 - lsrs r0, 16 - cmp r0, r7 - bls _08090F24 - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetNationalPokedexCount - - thumb_func_start GetHoennPokedexCount -GetHoennPokedexCount: @ 8090F68 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - movs r0, 0 -_08090F72: - cmp r6, 0 - beq _08090F7E - cmp r6, 0x1 - beq _08090F90 - adds r4, r0, 0x1 - b _08090FB0 -_08090F7E: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - bl HoennToNationalOrder - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - b _08090FA0 -_08090F90: - adds r4, r0, 0x1 - lsls r0, r4, 16 - lsrs r0, 16 - bl HoennToNationalOrder - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 -_08090FA0: - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - beq _08090FB0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_08090FB0: - lsls r0, r4, 16 - lsrs r0, 16 - cmp r0, 0xC9 - bls _08090F72 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetHoennPokedexCount - - thumb_func_start sub_8090FC0 -sub_8090FC0: @ 8090FC0 - push {r4,lr} - movs r0, 0 -_08090FC4: - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl HoennToNationalOrder - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - bne _08090FE4 - movs r0, 0 - b _08090FEC -_08090FE4: - adds r0, r4, 0 - cmp r0, 0xC7 - bls _08090FC4 - movs r0, 0x1 -_08090FEC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8090FC0 - - thumb_func_start sub_8090FF4 -sub_8090FF4: @ 8090FF4 - push {r4,r5,lr} - movs r0, 0 -_08090FF8: - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - beq _08091046 - adds r0, r4, 0 - cmp r0, 0x95 - bls _08090FF8 - movs r0, 0x98 -_08091014: - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - beq _08091046 - adds r0, r4, 0 - cmp r0, 0xF9 - bls _08091014 - movs r0, 0xFC - ldr r5, _0809104C @ =0x0000017f -_08091032: - adds r0, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - bne _08091050 -_08091046: - movs r0, 0 - b _08091058 - .align 2, 0 -_0809104C: .4byte 0x0000017f -_08091050: - adds r0, r4, 0 - cmp r0, r5 - bls _08091032 - movs r0, 0x1 -_08091058: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8090FF4 - - thumb_func_start sub_8091060 -sub_8091060: @ 8091060 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - movs r0, 0x80 - lsls r0, 1 - ands r0, r4 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _0809108E - movs r2, 0x80 - lsls r2, 19 - ldrh r1, [r2] - ldr r0, _0809112C @ =0x0000feff - ands r0, r1 - strh r0, [r2] - ldr r0, _08091130 @ =REG_BG0CNT - strh r3, [r0] - adds r0, 0x8 - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] -_0809108E: - movs r0, 0x80 - lsls r0, 2 - ands r0, r4 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _080910B4 - movs r2, 0x80 - lsls r2, 19 - ldrh r1, [r2] - ldr r0, _08091134 @ =0x0000fdff - ands r0, r1 - strh r0, [r2] - ldr r0, _08091138 @ =REG_BG1CNT - strh r3, [r0] - adds r0, 0xA - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] -_080910B4: - movs r0, 0x80 - lsls r0, 3 - ands r0, r4 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _080910DA - movs r2, 0x80 - lsls r2, 19 - ldrh r1, [r2] - ldr r0, _0809113C @ =0x0000fbff - ands r0, r1 - strh r0, [r2] - ldr r0, _08091140 @ =REG_BG2CNT - strh r3, [r0] - adds r0, 0xC - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] -_080910DA: - movs r0, 0x80 - lsls r0, 4 - ands r0, r4 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0 - bne _08091100 - movs r2, 0x80 - lsls r2, 19 - ldrh r1, [r2] - ldr r0, _08091144 @ =0x0000f7ff - ands r0, r1 - strh r0, [r2] - ldr r0, _08091148 @ =REG_BG3CNT - strh r3, [r0] - adds r0, 0xE - strh r3, [r0] - adds r0, 0x2 - strh r3, [r0] -_08091100: - movs r0, 0x80 - lsls r0, 5 - ands r5, r0 - cmp r5, 0 - bne _08091124 - movs r2, 0x80 - lsls r2, 19 - ldrh r1, [r2] - ldr r0, _0809114C @ =0x0000efff - ands r0, r1 - strh r0, [r2] - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, _08091150 @ =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] -_08091124: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809112C: .4byte 0x0000feff -_08091130: .4byte REG_BG0CNT -_08091134: .4byte 0x0000fdff -_08091138: .4byte REG_BG1CNT -_0809113C: .4byte 0x0000fbff -_08091140: .4byte REG_BG2CNT -_08091144: .4byte 0x0000f7ff -_08091148: .4byte REG_BG3CNT -_0809114C: .4byte 0x0000efff -_08091150: .4byte gReservedSpritePaletteCount - thumb_func_end sub_8091060 - - thumb_func_start sub_8091154 -sub_8091154: @ 8091154 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r4, 16 - lsrs r4, 16 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r5, sp - adds r0, r4, 0 - movs r1, 0x64 - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5] - mov r5, sp - adds r0, r4, 0 - movs r1, 0x64 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0xA - bl __udivsi3 - adds r0, 0xA1 - strb r0, [r5, 0x1] - mov r5, sp - adds r0, r4, 0 - movs r1, 0xA - bl __umodsi3 - adds r0, 0xA1 - strb r0, [r5, 0x2] - mov r1, sp - movs r0, 0xFF - strb r0, [r1, 0x3] - mov r0, sp - adds r1, r6, 0 - mov r2, r8 - bl MenuPrint - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8091154 - - thumb_func_start sub_80911C8 -sub_80911C8: @ 80911C8 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r4, 0 - movs r2, 0xFF -_080911DC: - mov r1, sp - adds r0, r1, r4 - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _080911DC - adds r0, r3, 0 - bl NationalPokedexNumToSpecies - adds r3, r0, 0 - cmp r3, 0 - beq _08091238 - movs r4, 0 - ldr r2, _08091234 @ =gSpeciesNames - movs r0, 0xB - adds r1, r3, 0 - muls r1, r0 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0809124C - adds r3, r2, 0 - adds r2, r1, 0 -_08091212: - mov r0, sp - adds r1, r0, r4 - adds r0, r4, r2 - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, r2 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0809124C - cmp r4, 0x9 - bls _08091212 - b _0809124C - .align 2, 0 -_08091234: .4byte gSpeciesNames -_08091238: - movs r4, 0 - movs r1, 0xAE -_0809123C: - mov r2, sp - adds r0, r2, r4 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _0809123C -_0809124C: - mov r0, sp - adds r1, r6, 0 - adds r2, r5, 0 - bl MenuPrint - adds r0, r4, 0 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80911C8 - - thumb_func_start sub_8091260 -sub_8091260: @ 8091260 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x28 - adds r4, r3, 0 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _080912CC @ =gUnknown_083B5558 - mov r0, sp - bl StringCopy - adds r6, r0, 0 - mov r0, sp - strb r4, [r0, 0x2] - adds r0, r5, 0 - bl NationalPokedexNumToSpecies - adds r5, r0, 0 - cmp r5, 0 - beq _080912D4 - movs r4, 0 - ldr r2, _080912D0 @ =gSpeciesNames - movs r0, 0xB - adds r1, r5, 0 - muls r1, r0 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080912E6 - adds r3, r2, 0 - adds r2, r1, 0 -_080912AC: - adds r1, r6, r4 - adds r0, r4, r2 - adds r0, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, r2 - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0xFF - beq _080912E6 - cmp r4, 0x9 - bls _080912AC - b _080912E6 - .align 2, 0 -_080912CC: .4byte gUnknown_083B5558 -_080912D0: .4byte gSpeciesNames -_080912D4: - movs r4, 0 - movs r1, 0xAE -_080912D8: - adds r0, r6, r4 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _080912D8 -_080912E6: - adds r1, r6, r4 - movs r0, 0xFF - strb r0, [r1] - mov r0, sp - mov r1, r8 - adds r2, r7, 0 - bl MenuPrint - adds r0, r4, 0 - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8091260 - - thumb_func_start sub_8091304 -sub_8091304: @ 8091304 - push {r4-r7,lr} - sub sp, 0x20 - adds r3, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - lsls r2, 24 - lsrs r7, r2, 24 - movs r4, 0 - ldrb r0, [r3] - ldr r6, _08091340 @ =gDexText_UnknownPoke - cmp r0, 0xFF - beq _0809133A -_0809131E: - mov r0, sp - adds r1, r0, r4 - adds r0, r3, r4 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r3, r4 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0809133A - cmp r4, 0xA - bls _0809131E -_0809133A: - movs r3, 0 - ldrb r0, [r6] - b _0809134E - .align 2, 0 -_08091340: .4byte gDexText_UnknownPoke -_08091344: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r3, r6 - ldrb r0, [r0] -_0809134E: - cmp r0, 0xAC - beq _08091344 - cmp r0, 0 - beq _08091344 - subs r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r3, r6 - ldrb r0, [r0] - cmp r0, 0xFF - beq _08091388 - adds r5, r6, 0 -_08091366: - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, sp - adds r2, r0, r1 - adds r1, r3, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r1, r5 - ldrb r0, [r1] - strb r0, [r2] - adds r0, r3, r5 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08091366 -_08091388: - mov r0, sp - adds r1, r0, r4 - movs r0, 0xFF - strb r0, [r1] - mov r0, sp - mov r1, r12 - adds r2, r7, 0 - adds r3, r6, 0 - bl sub_8072B80 - add sp, 0x20 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8091304 - thumb_func_start unref_sub_80913A4 unref_sub_80913A4: @ 80913A4 push {r4-r7,lr} |