diff options
Diffstat (limited to 'asm/rom5.s')
-rw-r--r-- | asm/rom5.s | 1067 |
1 files changed, 5 insertions, 1062 deletions
diff --git a/asm/rom5.s b/asm/rom5.s index 523bf8a4c..b1ebc4e1c 100644 --- a/asm/rom5.s +++ b/asm/rom5.s @@ -14921,7 +14921,7 @@ sub_8082168: @ 8082168 pop {r0} bx r0 .align 2, 0 -_0808217C: .4byte sub_8109E80 +_0808217C: .4byte CB2_ChooseStarter _08082180: .4byte gMain _08082184: .4byte sub_8082188 thumb_func_end sub_8082168 @@ -14936,7 +14936,7 @@ sub_8082188: @ 8082188 ldrh r1, [r2] strh r1, [r0] ldrh r0, [r2] - bl sub_8109E50 + bl GetStarterPokemon lsls r0, 16 lsrs r0, 16 movs r1, 0 @@ -44865,8 +44865,8 @@ _08090D34: .4byte 0x0000064e _08090D38: .4byte 0x06007aca thumb_func_end sub_8090C68 - thumb_func_start sub_8090D3C -sub_8090D3C: @ 8090D3C + thumb_func_start GetPokemonCategory +GetPokemonCategory: @ 8090D3C adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -44878,7 +44878,7 @@ sub_8090D3C: @ 8090D3C bx lr .align 2, 0 _08090D50: .4byte gPokedexEntries - thumb_func_end sub_8090D3C + thumb_func_end GetPokemonCategory thumb_func_start sub_8090D54 sub_8090D54: @ 8090D54 @@ -294608,1061 +294608,4 @@ sub_8109E34: @ 8109E34 _08109E4C: .4byte sub_8109B7C thumb_func_end sub_8109E34 - thumb_func_start sub_8109E50 -sub_8109E50: @ 8109E50 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3 - bls _08109E5C - movs r1, 0 -_08109E5C: - ldr r0, _08109E68 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - pop {r1} - bx r1 - .align 2, 0 -_08109E68: .4byte gUnknown_083F76C4 - thumb_func_end sub_8109E50 - - thumb_func_start sub_8109E6C -sub_8109E6C: @ 8109E6C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8109E6C - - thumb_func_start sub_8109E80 -sub_8109E80: @ 8109E80 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0xC - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 19 - mov r10, r0 - movs r1, 0 - strh r1, [r0] - ldr r6, _0810A08C - strh r1, [r6] - ldr r3, _0810A090 - mov r8, r3 - strh r1, [r3] - adds r0, 0xA - strh r1, [r0] - ldr r5, _0810A094 - strh r1, [r5] - adds r0, 0x12 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - add r0, sp, 0x4 - strh r1, [r0] - ldr r2, _0810A098 - str r0, [r2] - movs r1, 0xC0 - lsls r1, 19 - str r1, [r2, 0x4] - ldr r0, _0810A09C - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r0, 0 - mov r9, r0 - str r0, [sp, 0x8] - add r0, sp, 0x8 - str r0, [r2] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r2, 0x4] - ldr r0, _0810A0A0 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - add r0, sp, 0x4 - mov r3, r9 - strh r3, [r0] - str r0, [r2] - movs r0, 0xA0 - lsls r0, 19 - str r0, [r2, 0x4] - ldr r0, _0810A0A4 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, _0810A0A8 - bl LZ77UnCompVram - ldr r0, _0810A0AC - ldr r1, _0810A0B0 - bl LZ77UnCompVram - ldr r0, _0810A0B4 - ldr r1, _0810A0B8 - bl LZ77UnCompVram - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl ResetPaletteFade - bl FreeAllSpritePalettes - ldr r0, _0810A0BC - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r0, _0810A0C0 - bl LoadCompressedObjectPic - ldr r0, _0810A0C4 - bl LoadCompressedObjectPic - ldr r0, _0810A0C8 - bl LoadSpritePalettes - ldr r0, _0810A0CC - bl SetUpWindowConfig - ldr r0, _0810A0D0 - bl InitMenuWindow - movs r0, 0x1 - negs r0, r0 - mov r1, r9 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r3, _0810A0D4 - ldrh r2, [r3] - mov r0, r9 - strh r0, [r3] - ldr r4, _0810A0D8 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _0810A0DC - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0810A0E0 - bl SetVBlankCallback - ldr r0, _0810A0E4 - bl SetMainCallback2 - ldr r1, _0810A0E8 - movs r0, 0x3F - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x1F - strh r0, [r1] - ldr r0, _0810A0EC - mov r1, r9 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - ldr r1, _0810A0F0 - movs r0, 0xFE - strh r0, [r1] - ldr r0, _0810A0F4 - mov r3, r9 - strh r3, [r0] - adds r1, 0x4 - movs r0, 0x7 - strh r0, [r1] - ldr r1, _0810A0F8 - adds r0, r1, 0 - strh r0, [r6] - ldr r3, _0810A0FC - adds r0, r3, 0 - mov r1, r8 - strh r0, [r1] - ldr r3, _0810A100 - adds r0, r3, 0 - strh r0, [r5] - movs r1, 0xF5 - lsls r1, 6 - adds r0, r1, 0 - mov r3, r10 - strh r0, [r3] - ldr r0, _0810A104 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0810A108 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1 - mov r10, r1 - mov r3, r10 - strh r3, [r0, 0x8] - ldr r0, _0810A10C - movs r1, 0x78 - movs r2, 0x38 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810A110 - mov r8, r1 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - ldr r6, _0810A114 - ldr r5, _0810A118 - ldrb r1, [r5] - ldrb r2, [r5, 0x1] - adds r0, r6, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - mov r3, r9 - strh r3, [r1, 0x30] - ldrb r1, [r5, 0x2] - ldrb r2, [r5, 0x3] - adds r0, r6, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - mov r0, r10 - strh r0, [r1, 0x30] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x5] - adds r0, r6, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - strh r4, [r1, 0x2E] - movs r0, 0x2 - strh r0, [r1, 0x30] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810A08C: .4byte REG_BG3CNT -_0810A090: .4byte REG_BG2CNT -_0810A094: .4byte REG_BG0CNT -_0810A098: .4byte 0x040000d4 -_0810A09C: .4byte 0x8100c000 -_0810A0A0: .4byte 0x85000100 -_0810A0A4: .4byte 0x81000200 -_0810A0A8: .4byte gUnknown_083F66F0 -_0810A0AC: .4byte gBirchBagTilemap -_0810A0B0: .4byte 0x06003000 -_0810A0B4: .4byte gBirchGrassTilemap -_0810A0B8: .4byte 0x06003800 -_0810A0BC: .4byte gUnknown_083F62EC -_0810A0C0: .4byte gUnknown_083F7794 -_0810A0C4: .4byte gUnknown_083F77A4 -_0810A0C8: .4byte gUnknown_083F77B4 -_0810A0CC: .4byte gWindowConfig_81E6C3C -_0810A0D0: .4byte gWindowConfig_81E6CE4 -_0810A0D4: .4byte 0x04000208 -_0810A0D8: .4byte 0x04000200 -_0810A0DC: .4byte REG_DISPSTAT -_0810A0E0: .4byte sub_8109E6C -_0810A0E4: .4byte sub_810A11C -_0810A0E8: .4byte REG_WININ -_0810A0EC: .4byte REG_WIN0H -_0810A0F0: .4byte REG_BLDCNT -_0810A0F4: .4byte REG_BLDALPHA -_0810A0F8: .4byte 0x00000703 -_0810A0FC: .4byte 0x00000602 -_0810A100: .4byte 0x00001f08 -_0810A104: .4byte sub_810A134 -_0810A108: .4byte gTasks -_0810A10C: .4byte gSpriteTemplate_83F77CC -_0810A110: .4byte gSprites -_0810A114: .4byte gSpriteTemplate_83F77E4 -_0810A118: .4byte gUnknown_083F76B8 - thumb_func_end sub_8109E80 - - thumb_func_start sub_810A11C -sub_810A11C: @ 810A11C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_810A11C - - thumb_func_start sub_810A134 -sub_810A134: @ 810A134 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810A16C - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrb r1, [r4, 0x8] - movs r0, 0xFF - bl sub_810A42C - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _0810A170 - movs r1, 0x3 - movs r2, 0xF - bl MenuPrint - ldr r0, _0810A174 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810A16C: .4byte gTasks -_0810A170: .4byte gOtherText_BirchInTrouble -_0810A174: .4byte sub_810A178 - thumb_func_end sub_810A134 - - thumb_func_start sub_810A178 -sub_810A178: @ 810A178 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0810A218 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r6, r0, r2 - ldrh r7, [r6, 0x8] - ldrb r4, [r6, 0x8] - ldr r1, _0810A21C - ldrh r3, [r1, 0x2E] - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0810A240 - ldr r1, _0810A220 - lsls r4, 1 - adds r0, r4, r1 - ldrb r0, [r0] - adds r1, 0x1 - adds r1, r4, r1 - ldrb r1, [r1] - adds r2, r0, 0 - adds r2, 0xD - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, 0x3 - lsls r3, 24 - lsrs r3, 24 - bl MenuZeroFillWindowRect - ldr r0, _0810A224 - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - ldr r0, _0810A228 - ldr r1, _0810A22C - adds r2, r4, r1 - ldrb r5, [r2] - adds r1, 0x1 - adds r4, r1 - ldrb r4, [r4] - adds r1, r5, 0 - adds r2, r4, 0 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0xC] - ldrh r0, [r6, 0x8] - bl sub_8109E50 - lsls r0, 16 - lsrs r0, 16 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_810A580 - lsls r0, 24 - lsrs r0, 24 - ldr r4, _0810A230 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r4, 0 - adds r2, 0x10 - adds r2, r1, r2 - ldr r3, _0810A234 - str r3, [r2] - adds r4, 0x1C - adds r1, r4 - ldr r2, _0810A238 - str r2, [r1] - strh r0, [r6, 0xA] - ldr r0, _0810A23C - str r0, [r6] - b _0810A282 - .align 2, 0 -_0810A218: .4byte gTasks -_0810A21C: .4byte gMain -_0810A220: .4byte gUnknown_083F76BE -_0810A224: .4byte REG_WIN0H -_0810A228: .4byte gSpriteTemplate_83F77FC -_0810A22C: .4byte gUnknown_083F76B8 -_0810A230: .4byte gSprites -_0810A234: .4byte gUnknown_083F778C -_0810A238: .4byte sub_810A6C4 -_0810A23C: .4byte sub_810A288 -_0810A240: - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0810A25C - cmp r4, 0 - beq _0810A25C - subs r1, r7, 0x1 - strh r1, [r6, 0x8] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_810A42C - b _0810A282 -_0810A25C: - ldrh r1, [r1, 0x2E] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0810A282 - cmp r4, 0x1 - bhi _0810A282 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_810A42C -_0810A282: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810A178 - - thumb_func_start sub_810A288 -sub_810A288: @ 810A288 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0810A2CC - ldr r2, _0810A2D0 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r3 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0810A2C6 - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - bne _0810A2C6 - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x40 - bne _0810A2C6 - ldr r0, _0810A2D4 - str r0, [r2] -_0810A2C6: - pop {r0} - bx r0 - .align 2, 0 -_0810A2CC: .4byte gSprites -_0810A2D0: .4byte gTasks -_0810A2D4: .4byte sub_810A2D8 - thumb_func_end sub_810A288 - - thumb_func_start sub_810A2D8 -sub_810A2D8: @ 810A2D8 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810A324 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - ldrh r0, [r4, 0x8] - bl sub_8109E50 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0 - bl PlayCry1 - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _0810A328 - movs r1, 0x3 - movs r2, 0xF - bl MenuPrint - movs r0, 0x15 - movs r1, 0x7 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r0, _0810A32C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810A324: .4byte gTasks -_0810A328: .4byte gOtherText_DoYouChoosePoke -_0810A32C: .4byte sub_810A330 - thumb_func_end sub_810A2D8 - - thumb_func_start sub_810A330 -sub_810A330: @ 810A330 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0810A356 - cmp r1, 0 - bgt _0810A350 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0810A37C - b _0810A3E2 -_0810A350: - cmp r1, 0x1 - beq _0810A37C - b _0810A3E2 -_0810A356: - ldr r2, _0810A370 - ldr r1, _0810A374 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x8] - strh r0, [r2] - ldr r0, _0810A378 - ldr r0, [r0, 0x8] - bl SetMainCallback2 - b _0810A3E2 - .align 2, 0 -_0810A370: .4byte gScriptResult -_0810A374: .4byte gTasks -_0810A378: .4byte gMain -_0810A37C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x15 - movs r1, 0x7 - movs r2, 0x1B - movs r3, 0xC - bl MenuZeroFillWindowRect - ldr r0, _0810A3E8 - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r0 - ldrb r0, [r5, 0xA] - ldr r6, _0810A3EC - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - ldrb r0, [r5, 0xC] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r4, r6 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - adds r0, r4, 0 - bl DestroySprite - ldr r0, _0810A3F0 - str r0, [r5] -_0810A3E2: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810A3E8: .4byte gTasks -_0810A3EC: .4byte gSprites -_0810A3F0: .4byte sub_810A3F4 - thumb_func_end sub_810A330 - - thumb_func_start sub_810A3F4 -sub_810A3F4: @ 810A3F4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810A408 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810A40C - str r0, [r1] - bx lr - .align 2, 0 -_0810A408: .4byte gTasks -_0810A40C: .4byte sub_810A134 - thumb_func_end sub_810A3F4 - - thumb_func_start sub_810A410 -sub_810A410: @ 810A410 - push {r4,lr} - movs r4, 0xFC - strb r4, [r0] - adds r0, 0x1 - movs r4, 0x4 - strb r4, [r0] - adds r0, 0x1 - strb r2, [r0] - adds r0, 0x1 - strb r1, [r0] - strb r3, [r0, 0x1] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810A410 - - thumb_func_start sub_810A42C -sub_810A42C: @ 810A42C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x48 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r0, 0xFF - beq _0810A46A - ldr r1, _0810A568 - lsls r2, r0, 1 - adds r0, r2, r1 - ldrb r0, [r0] - adds r1, 0x1 - adds r2, r1 - ldrb r1, [r2] - adds r2, r0, 0 - adds r2, 0xD - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, 0x3 - lsls r3, 24 - lsrs r3, 24 - bl MenuZeroFillWindowRect - ldr r0, _0810A56C - movs r1, 0 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] -_0810A46A: - adds r0, r6, 0 - bl sub_8109E50 - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r7, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - bl sub_8090D3C - adds r5, r0, 0 - mov r0, sp - movs r1, 0 - movs r2, 0xF - movs r3, 0x8 - bl sub_810A410 - movs r4, 0x5 - mov r2, sp - adds r2, 0x5 - movs r0, 0xFC - strb r0, [r2] - mov r1, sp - adds r1, 0x6 - movs r0, 0x11 - strb r0, [r1] - mov r0, sp - adds r0, 0x7 - strb r4, [r0] - movs r4, 0x8 - movs r3, 0 - ldrb r0, [r5] - mov r8, r2 - lsls r6, 1 - cmp r0, 0xFF - beq _0810A4D8 -_0810A4B6: - mov r0, sp - adds r1, r0, r4 - adds r0, r5, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, r3 - ldrb r0, [r0] - cmp r0, 0xFF - beq _0810A4D8 - cmp r3, 0xA - bls _0810A4B6 -_0810A4D8: - adds r1, r4, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - add r1, sp - movs r0, 0 - strb r0, [r1] - mov r1, sp - adds r0, r1, r4 - ldr r1, _0810A570 - bl StringCopy - ldr r0, _0810A568 - adds r1, r6, r0 - ldrb r4, [r1] - adds r0, 0x1 - adds r0, r6, r0 - ldrb r5, [r0] - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl MenuPrint - mov r0, sp - movs r1, 0 - movs r2, 0xF - movs r3, 0x8 - bl sub_810A410 - movs r0, 0xB - adds r1, r7, 0 - muls r1, r0 - ldr r0, _0810A574 - adds r1, r0 - mov r0, r8 - movs r2, 0x6B - movs r3, 0x1 - bl sub_8072C74 - adds r2, r5, 0x2 - lsls r2, 24 - lsrs r2, 24 - mov r0, sp - adds r1, r4, 0 - bl MenuPrint - lsls r0, r4, 3 - adds r0, 0x4 - lsls r0, 24 - adds r4, 0xD - lsls r4, 3 - adds r4, 0x4 - lsls r4, 24 - lsrs r4, 24 - lsls r1, r5, 27 - adds r5, 0x4 - lsls r5, 27 - lsrs r5, 24 - ldr r2, _0810A56C - lsrs r0, 16 - orrs r0, r4 - strh r0, [r2] - ldr r0, _0810A578 - lsrs r1, 16 - orrs r1, r5 - strh r1, [r0] - add sp, 0x48 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810A568: .4byte gUnknown_083F76BE -_0810A56C: .4byte REG_WIN0H -_0810A570: .4byte gOtherText_Poke -_0810A574: .4byte gSpeciesNames -_0810A578: .4byte REG_WIN0V - thumb_func_end sub_810A42C - - thumb_func_start nullsub_72 -nullsub_72: @ 810A57C - bx lr - thumb_func_end nullsub_72 - - thumb_func_start sub_810A580 -sub_810A580: @ 810A580 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x8 - adds r5, r0, 0 - mov r8, r1 - mov r9, r2 - lsls r5, 16 - lsrs r5, 16 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r6, r5, 3 - ldr r0, _0810A610 - adds r0, r6, r0 - ldr r1, _0810A614 - lsls r2, r5, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - ldr r4, _0810A618 - ldr r3, [r4] - ldr r4, [r4, 0x4] - str r4, [sp] - str r5, [sp, 0x4] - bl DecompressPicFromTable_2 - ldr r0, _0810A61C - adds r6, r0 - adds r0, r6, 0 - bl LoadCompressedObjectPalette - adds r0, r5, 0 - movs r1, 0x1 - bl GetMonSpriteTemplate_803C56C - ldr r0, _0810A620 - mov r1, r8 - mov r2, r9 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, _0810A624 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r1, r2, r1 - ldr r3, _0810A628 - str r3, [r1] - adds r2, r4 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - strb r1, [r2, 0x5] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0810A610: .4byte gMonFrontPicTable -_0810A614: .4byte gMonFrontPicCoords -_0810A618: .4byte gUnknown_081FAF4C -_0810A61C: .4byte gMonPaletteTable -_0810A620: .4byte gUnknown_02024E8C -_0810A624: .4byte gSprites -_0810A628: .4byte nullsub_72 - thumb_func_end sub_810A580 - - thumb_func_start sub_810A62C -sub_810A62C: @ 810A62C - push {r4,lr} - adds r4, r0, 0 - ldr r2, _0810A684 - ldr r3, _0810A688 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r1, 0x8 - ldrsh r0, [r0, r1] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x20] - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r1, 0x8 - ldrsh r0, [r0, r1] - lsls r0, 1 - adds r2, 0x1 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x22] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x8 - bl Sin - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x4 - strh r0, [r4, 0x30] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810A684: .4byte gUnknown_083F76E4 -_0810A688: .4byte gTasks - thumb_func_end sub_810A62C - - thumb_func_start sub_810A68C -sub_810A68C: @ 810A68C - push {lr} - adds r3, r0, 0 - ldr r2, _0810A6B4 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r2, 0x8 - ldrsh r1, [r0, r2] - movs r2, 0x30 - ldrsh r0, [r3, r2] - cmp r1, r0 - bne _0810A6B8 - adds r0, r3, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _0810A6C0 - .align 2, 0 -_0810A6B4: .4byte gTasks -_0810A6B8: - adds r0, r3, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent -_0810A6C0: - pop {r0} - bx r0 - thumb_func_end sub_810A68C - - thumb_func_start sub_810A6C4 -sub_810A6C4: @ 810A6C4 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x78 - ble _0810A6D6 - subs r0, r2, 0x4 - strh r0, [r1, 0x20] -_0810A6D6: - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0x77 - bgt _0810A6E4 - adds r0, r2, 0x4 - strh r0, [r1, 0x20] -_0810A6E4: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x40 - ble _0810A6F2 - subs r0, r2, 0x2 - strh r0, [r1, 0x22] -_0810A6F2: - ldrh r2, [r1, 0x22] - movs r3, 0x22 - ldrsh r0, [r1, r3] - cmp r0, 0x3F - bgt _0810A700 - adds r0, r2, 0x2 - strh r0, [r1, 0x22] -_0810A700: - pop {r0} - bx r0 - thumb_func_end sub_810A6C4 - .align 2, 0 @ Don't pad with nop. |