diff options
author | Garak <garakmon@gmail.com> | 2018-08-08 12:19:07 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-08 12:19:07 -0400 |
commit | 4ebe2448a4dff2e36ca3c11496c68bcf3767b6cc (patch) | |
tree | c19885fa4e4801de0f777efe1adfe7db34893a44 /asm | |
parent | 67242f5d0fae1c573d74117b3ce3cf9bef48489e (diff) | |
parent | fce8a1b817d2033d2203c341dfa12d1115f564ca (diff) |
Merge pull request #11 from pret/master
merge with source repo
Diffstat (limited to 'asm')
-rw-r--r-- | asm/contest_painting_effects.s | 1362 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 1485 |
2 files changed, 1 insertions, 2846 deletions
diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s index bc72a6ef5..0c403c093 100644 --- a/asm/contest_painting_effects.s +++ b/asm/contest_painting_effects.s @@ -5,1366 +5,6 @@ .text - thumb_func_start sub_80FCB5C -sub_80FCB5C: @ 80FCB5C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, _080FCC00 @ =gUnknown_03005DF8 - ldrb r0, [r0] - cmp r2, r0 - bcs _080FCBF2 - ldr r0, _080FCC04 @ =gUnknown_03005DEC - mov r8, r0 - ldr r3, _080FCC08 @ =gUnknown_03005E04 -_080FCB74: - ldr r0, _080FCC0C @ =gUnknown_03005DFC - ldrb r1, [r0] - ldrb r0, [r3] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080FCC10 @ =gUnknown_03005DE8 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r3] - lsls r0, 1 - adds r4, r0 - ldr r0, _080FCC14 @ =gUnknown_03005DF0 - ldrb r0, [r0] - subs r0, 0x1 - adds r7, r2, 0x1 - cmp r5, r0 - bge _080FCBE6 - ldr r6, _080FCC08 @ =gUnknown_03005E04 -_080FCBAA: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080FCBD0 - ldrb r2, [r6] - lsls r2, 1 - adds r2, r4, r2 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_80FD68C - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r3, [sp, 0x4] -_080FCBD0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6] - lsls r0, 1 - adds r4, r0 - ldr r0, _080FCC14 @ =gUnknown_03005DF0 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _080FCBAA -_080FCBE6: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, _080FCC00 @ =gUnknown_03005DF8 - ldrb r0, [r0] - cmp r2, r0 - bcc _080FCB74 -_080FCBF2: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FCC00: .4byte gUnknown_03005DF8 -_080FCC04: .4byte gUnknown_03005DEC -_080FCC08: .4byte gUnknown_03005E04 -_080FCC0C: .4byte gUnknown_03005DFC -_080FCC10: .4byte gUnknown_03005DE8 -_080FCC14: .4byte gUnknown_03005DF0 - thumb_func_end sub_80FCB5C - - thumb_func_start sub_80FCC18 -sub_80FCC18: @ 80FCC18 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, _080FCCA4 @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r2, r0 - bcs _080FCC94 - ldr r0, _080FCCA8 @ =gUnknown_03005DEC - mov r9, r0 - ldr r3, _080FCCAC @ =gUnknown_03005DF8 -_080FCC38: - ldr r0, _080FCCB0 @ =gUnknown_03005DFC - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080FCCB4 @ =gUnknown_03005E04 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r9 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080FCCB8 @ =gUnknown_03005DE8 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080FCC88 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080FCC64: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080FCC7A - adds r0, r4, 0 - mov r1, r8 - str r3, [sp] - bl sub_80FD3D0 - strh r0, [r4] - ldr r3, [sp] -_080FCC7A: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080FCC64 -_080FCC88: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080FCCA4 @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r2, r0 - bcc _080FCC38 -_080FCC94: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FCCA4: .4byte gUnknown_03005DF0 -_080FCCA8: .4byte gUnknown_03005DEC -_080FCCAC: .4byte gUnknown_03005DF8 -_080FCCB0: .4byte gUnknown_03005DFC -_080FCCB4: .4byte gUnknown_03005E04 -_080FCCB8: .4byte gUnknown_03005DE8 - thumb_func_end sub_80FCC18 - - thumb_func_start sub_80FCCBC -sub_80FCCBC: @ 80FCCBC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080FCD3C @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r2, r0 - bcs _080FCD2E - ldr r0, _080FCD40 @ =gUnknown_03005DEC - mov r8, r0 - ldr r3, _080FCD44 @ =gUnknown_03005DF8 -_080FCCD4: - ldr r0, _080FCD48 @ =gUnknown_03005DFC - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080FCD4C @ =gUnknown_03005E04 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080FCD50 @ =gUnknown_03005DE8 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080FCD22 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080FCD00: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080FCD14 - adds r0, r4, 0 - str r3, [sp] - bl sub_80FD4DC - strh r0, [r4] - ldr r3, [sp] -_080FCD14: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080FCD00 -_080FCD22: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080FCD3C @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r2, r0 - bcc _080FCCD4 -_080FCD2E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FCD3C: .4byte gUnknown_03005DF0 -_080FCD40: .4byte gUnknown_03005DEC -_080FCD44: .4byte gUnknown_03005DF8 -_080FCD48: .4byte gUnknown_03005DFC -_080FCD4C: .4byte gUnknown_03005E04 -_080FCD50: .4byte gUnknown_03005DE8 - thumb_func_end sub_80FCCBC - - thumb_func_start sub_80FCD54 -sub_80FCD54: @ 80FCD54 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - ldr r0, _080FCE8C @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r7, r0 - bcs _080FCDE0 - ldr r0, _080FCE90 @ =gUnknown_03005DEC - mov r8, r0 -_080FCD6A: - ldr r0, _080FCE94 @ =gUnknown_03005DFC - ldrb r1, [r0] - adds r1, r7 - ldr r0, _080FCE98 @ =gUnknown_03005E04 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r2, r8 - ldr r1, [r2] - adds r1, r0 - ldr r0, _080FCE9C @ =gUnknown_03005DE8 - ldrb r0, [r0] - lsls r0, 1 - adds r5, r1, r0 - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80FD50C - strh r0, [r5] - movs r6, 0x1 - adds r5, r4, 0 - ldr r0, _080FCEA0 @ =gUnknown_03005DF8 - ldrb r0, [r0] - subs r0, 0x1 - adds r7, 0x1 - cmp r6, r0 - bge _080FCDCA -_080FCDA2: - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80FD50C - strh r0, [r5] - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_80FD50C - strh r0, [r5] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r5, r4, 0 - ldr r0, _080FCEA0 @ =gUnknown_03005DF8 - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - blt _080FCDA2 -_080FCDCA: - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_80FD50C - strh r0, [r5] - lsls r0, r7, 24 - lsrs r7, r0, 24 - ldr r0, _080FCE8C @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r7, r0 - bcc _080FCD6A -_080FCDE0: - movs r6, 0 - ldr r0, _080FCEA0 @ =gUnknown_03005DF8 - ldrb r0, [r0] - cmp r6, r0 - bcs _080FCE80 - ldr r3, _080FCE90 @ =gUnknown_03005DEC - mov r9, r3 - ldr r0, _080FCE98 @ =gUnknown_03005E04 - mov r8, r0 -_080FCDF2: - ldr r0, _080FCE94 @ =gUnknown_03005DFC - ldrb r0, [r0] - mov r2, r8 - ldrb r1, [r2] - muls r0, r1 - lsls r0, 1 - mov r3, r9 - ldr r2, [r3] - adds r2, r0 - ldr r0, _080FCE9C @ =gUnknown_03005DE8 - ldrb r0, [r0] - adds r0, r6 - lsls r0, 1 - adds r5, r2, r0 - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_80FD50C - strh r0, [r5] - movs r7, 0x1 - mov r1, r8 - ldrb r0, [r1] - lsls r0, 1 - adds r5, r0 - ldr r0, _080FCE8C @ =gUnknown_03005DF0 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, 0x1 - cmp r7, r0 - bge _080FCE64 - ldr r4, _080FCE98 @ =gUnknown_03005E04 -_080FCE32: - ldrb r1, [r4] - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_80FD50C - strh r0, [r5] - ldrb r1, [r4] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_80FD50C - strh r0, [r5] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] - lsls r0, 1 - adds r5, r0 - ldr r0, _080FCE8C @ =gUnknown_03005DF0 - ldrb r0, [r0] - subs r0, 0x1 - cmp r7, r0 - blt _080FCE32 -_080FCE64: - mov r2, r8 - ldrb r1, [r2] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_80FD50C - strh r0, [r5] - lsls r0, r6, 24 - lsrs r6, r0, 24 - ldr r0, _080FCEA0 @ =gUnknown_03005DF8 - ldrb r0, [r0] - cmp r6, r0 - bcc _080FCDF2 -_080FCE80: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FCE8C: .4byte gUnknown_03005DF0 -_080FCE90: .4byte gUnknown_03005DEC -_080FCE94: .4byte gUnknown_03005DFC -_080FCE98: .4byte gUnknown_03005E04 -_080FCE9C: .4byte gUnknown_03005DE8 -_080FCEA0: .4byte gUnknown_03005DF8 - thumb_func_end sub_80FCD54 - - thumb_func_start sub_80FCEA4 -sub_80FCEA4: @ 80FCEA4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080FCF24 @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r2, r0 - bcs _080FCF16 - ldr r0, _080FCF28 @ =gUnknown_03005DEC - mov r8, r0 - ldr r3, _080FCF2C @ =gUnknown_03005DF8 -_080FCEBC: - ldr r0, _080FCF30 @ =gUnknown_03005DFC - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080FCF34 @ =gUnknown_03005E04 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, _080FCF38 @ =gUnknown_03005DE8 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _080FCF0A - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080FCEE8: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080FCEFC - adds r0, r4, 0 - str r3, [sp] - bl sub_80FD53C - strh r0, [r4] - ldr r3, [sp] -_080FCEFC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _080FCEE8 -_080FCF0A: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080FCF24 @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r2, r0 - bcc _080FCEBC -_080FCF16: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FCF24: .4byte gUnknown_03005DF0 -_080FCF28: .4byte gUnknown_03005DEC -_080FCF2C: .4byte gUnknown_03005DF8 -_080FCF30: .4byte gUnknown_03005DFC -_080FCF34: .4byte gUnknown_03005E04 -_080FCF38: .4byte gUnknown_03005DE8 - thumb_func_end sub_80FCEA4 - - thumb_func_start sub_80FCF3C -sub_80FCF3C: @ 80FCF3C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _080FD068 @ =gUnknown_03005DEC - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - adds r5, r0, 0 -_080FCF54: - movs r7, 0 -_080FCF56: - ldrh r0, [r4] - ands r0, r5 - cmp r0, 0 - bne _080FCF66 - adds r0, r4, 0 - bl sub_80FD53C - strh r0, [r4] -_080FCF66: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _080FCF56 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _080FCF54 - movs r7, 0 - ldr r1, _080FD068 @ =gUnknown_03005DEC - mov r10, r1 - mov r3, sp - movs r2, 0x80 - lsls r2, 8 - mov r9, r2 -_080FCF8A: - lsls r0, r7, 1 - mov r2, r10 - ldr r1, [r2] - adds r4, r1, r0 - ldrh r1, [r4] - strh r1, [r3] - mov r1, r9 - strh r1, [r4] - movs r6, 0x1 - adds r4, 0x80 - adds r5, r0, 0 -_080FCFA0: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - ands r0, r2 - cmp r0, 0 - bne _080FCFC0 - adds r2, r4, 0 - adds r2, 0x80 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_80FD7AC - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_080FCFC0: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, 0x80 - cmp r6, 0x3E - bls _080FCFA0 - mov r0, r9 - strh r0, [r4] - mov r1, r10 - ldr r0, [r1] - adds r4, r0, r5 - ldrh r0, [r4] - strh r0, [r3] - mov r2, r9 - strh r2, [r4] - movs r6, 0x1 - adds r4, 0x80 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_080FCFE8: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - adds r5, r4, 0 - adds r5, 0x80 - cmp r0, 0 - bne _080FD008 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - str r3, [sp, 0x4] - bl sub_80FD7AC - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_080FD008: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r5, 0 - cmp r6, 0x3E - bls _080FCFE8 - mov r2, r9 - strh r2, [r4] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3F - bls _080FCF8A - ldr r0, _080FD068 @ =gUnknown_03005DEC - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_080FD02E: - movs r7, 0 - adds r5, r6, 0x1 -_080FD032: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _080FD044 - adds r0, r4, 0 - bl sub_80FD53C - strh r0, [r4] -_080FD044: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _080FD032 - lsls r0, r5, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _080FD02E - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FD068: .4byte gUnknown_03005DEC - thumb_func_end sub_80FCF3C - - thumb_func_start sub_80FD06C -sub_80FD06C: @ 80FD06C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, _080FD0FC @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r2, r0 - bcs _080FD0EE - ldr r0, _080FD100 @ =gUnknown_03005DEC - mov r8, r0 -_080FD082: - ldr r0, _080FD104 @ =gUnknown_03005DFC - ldrb r1, [r0] - adds r1, r2 - ldr r0, _080FD108 @ =gUnknown_03005E04 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080FD10C @ =gUnknown_03005DE8 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - adds r4, 0x2 - ldr r0, _080FD110 @ =gUnknown_03005DF8 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _080FD0E2 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_080FD0BA: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _080FD0D0 - mov r0, sp - adds r1, r4, 0 - bl sub_80FD568 - strh r0, [r4] - mov r1, sp - strh r0, [r1] -_080FD0D0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, _080FD110 @ =gUnknown_03005DF8 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _080FD0BA -_080FD0E2: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080FD0FC @ =gUnknown_03005DF0 - ldrb r0, [r0] - cmp r2, r0 - bcc _080FD082 -_080FD0EE: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FD0FC: .4byte gUnknown_03005DF0 -_080FD100: .4byte gUnknown_03005DEC -_080FD104: .4byte gUnknown_03005DFC -_080FD108: .4byte gUnknown_03005E04 -_080FD10C: .4byte gUnknown_03005DE8 -_080FD110: .4byte gUnknown_03005DF8 - thumb_func_end sub_80FD06C - - thumb_func_start sub_80FD114 -sub_80FD114: @ 80FD114 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, _080FD1B0 @ =gUnknown_03005DF8 - ldrb r0, [r0] - cmp r2, r0 - bcs _080FD1A2 - ldr r0, _080FD1B4 @ =gUnknown_03005DEC - mov r8, r0 - ldr r7, _080FD1B8 @ =gUnknown_03005E04 -_080FD12C: - ldr r0, _080FD1BC @ =gUnknown_03005DFC - ldrb r1, [r0] - ldrb r0, [r7] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, _080FD1C0 @ =gUnknown_03005DE8 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, _080FD1C4 @ =gUnknown_03005DF0 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _080FD196 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_080FD166: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - bne _080FD180 - mov r0, sp - adds r1, r4, 0 - str r2, [sp, 0x4] - bl sub_80FD568 - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r2, [sp, 0x4] -_080FD180: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, _080FD1C4 @ =gUnknown_03005DF0 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _080FD166 -_080FD196: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, _080FD1B0 @ =gUnknown_03005DF8 - ldrb r0, [r0] - cmp r2, r0 - bcc _080FD12C -_080FD1A2: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FD1B0: .4byte gUnknown_03005DF8 -_080FD1B4: .4byte gUnknown_03005DEC -_080FD1B8: .4byte gUnknown_03005E04 -_080FD1BC: .4byte gUnknown_03005DFC -_080FD1C0: .4byte gUnknown_03005DE8 -_080FD1C4: .4byte gUnknown_03005DF0 - thumb_func_end sub_80FD114 - - thumb_func_start sub_80FD1C8 -sub_80FD1C8: @ 80FD1C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r2, sp - ldr r3, _080FD234 @ =gUnknown_083E7A50 - lsls r1, r0, 1 - add r1, r10 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r2, 0x1] - mov r5, sp - adds r0, r3, 0x2 - adds r1, r0 - ldrb r4, [r1] - lsls r2, r4, 24 - lsrs r1, r2, 27 - movs r0, 0x7 - ands r1, r0 - strh r1, [r5, 0x2] - lsrs r2, 25 - mov r9, r2 - movs r0, 0x3 - ands r2, r0 - mov r9, r2 - movs r5, 0x1 - ands r5, r4 - movs r4, 0x1 - mov r8, r4 - cmp r8, r1 - bcs _080FD27A - mov r3, sp -_080FD21A: - cmp r5, 0 - bne _080FD238 - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - mov r4, r8 - subs r0, r4 - strb r0, [r1] - ldrb r0, [r3, 0x1] - add r0, r8 - b _080FD24A - .align 2, 0 -_080FD234: .4byte gUnknown_083E7A50 -_080FD238: - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r1] - ldrb r0, [r3, 0x1] - subs r0, 0x1 -_080FD24A: - strb r0, [r1, 0x1] - add r2, sp - ldrb r0, [r2] - cmp r0, 0x3F - bhi _080FD25A - ldrb r0, [r2, 0x1] - cmp r0, 0x3F - bls _080FD262 -_080FD25A: - mov r0, r8 - subs r0, 0x1 - strh r0, [r3, 0x2] - b _080FD27A -_080FD262: - ldrh r0, [r3, 0x2] - mov r1, r8 - subs r0, r1 - strh r0, [r2, 0x2] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r3, 0x2] - cmp r8, r0 - bcc _080FD21A -_080FD27A: - movs r2, 0 - mov r8, r2 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcc _080FD288 - b _080FD38A -_080FD288: - movs r3, 0x1F -_080FD28A: - ldr r1, _080FD2E8 @ =gUnknown_03005DEC - mov r4, r8 - lsls r0, r4, 2 - mov r2, sp - adds r6, r2, r0 - ldrb r0, [r6, 0x1] - lsls r0, 7 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r6] - lsls r0, 1 - adds r2, r1, r0 - ldrh r1, [r2] - movs r4, 0x80 - lsls r4, 8 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _080FD376 - movs r7, 0x1F - ands r7, r1 - lsls r0, r1, 16 - lsrs r5, r0, 21 - ands r5, r3 - lsrs r4, r0, 26 - ands r4, r3 - mov r0, r9 - cmp r0, 0 - blt _080FD36C - cmp r0, 0x1 - ble _080FD2EC - cmp r0, 0x3 - bgt _080FD36C - ldrh r0, [r6, 0x2] - adds r1, r7, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r1, r5, r0 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r7, 0x1F - bls _080FD360 - movs r7, 0x1F - b _080FD360 - .align 2, 0 -_080FD2E8: .4byte gUnknown_03005DEC -_080FD2EC: - mov r1, r10 - lsls r0, r1, 1 - add r0, r10 - ldr r1, _080FD320 @ =gUnknown_083E7A50 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsrs r0, 3 - movs r1, 0x7 - ands r0, r1 - movs r1, 0x3 - str r2, [sp, 0x18] - str r3, [sp, 0x1C] - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - cmp r0, 0x1 - beq _080FD33C - cmp r0, 0x1 - bgt _080FD324 - cmp r0, 0 - beq _080FD32A - b _080FD36C - .align 2, 0 -_080FD320: .4byte gUnknown_083E7A50 -_080FD324: - cmp r0, 0x2 - beq _080FD34E - b _080FD36C -_080FD32A: - ldrh r0, [r6, 0x2] - cmp r7, r0 - bcc _080FD338 - subs r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - b _080FD36C -_080FD338: - movs r7, 0 - b _080FD36C -_080FD33C: - ldrh r0, [r6, 0x2] - cmp r5, r0 - bcc _080FD34A - subs r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - b _080FD36C -_080FD34A: - movs r5, 0 - b _080FD36C -_080FD34E: - ldrh r0, [r6, 0x2] - cmp r4, r0 - bcc _080FD35C - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - b _080FD36C -_080FD35C: - movs r4, 0 - b _080FD36C -_080FD360: - cmp r5, 0x1F - bls _080FD366 - movs r5, 0x1F -_080FD366: - cmp r4, 0x1F - bls _080FD36C - movs r4, 0x1F -_080FD36C: - lsls r0, r4, 10 - lsls r1, r5, 5 - orrs r0, r1 - orrs r7, r0 - strh r7, [r2] -_080FD376: - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcs _080FD38A - b _080FD28A -_080FD38A: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80FD1C8 - - thumb_func_start sub_80FD39C -sub_80FD39C: @ 80FD39C - push {lr} - ldrh r1, [r0] - movs r3, 0x1F - movs r0, 0x1F - ands r0, r1 - lsls r1, 16 - lsrs r2, r1, 21 - ands r2, r3 - lsrs r1, 26 - ands r1, r3 - adds r0, r2 - adds r0, r1 - movs r1, 0x3 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - lsls r0, r1, 10 - lsls r2, r1, 5 - orrs r0, r2 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_80FD39C - - thumb_func_start sub_80FD3D0 -sub_80FD3D0: @ 80FD3D0 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _080FD400 - cmp r3, 0x10 - bhi _080FD400 - cmp r0, 0x10 - bhi _080FD400 - adds r0, r4, 0 - bl sub_80FD40C - lsls r0, 16 - lsrs r0, 16 - b _080FD402 -_080FD400: - ldr r0, _080FD408 @ =0x00007fff -_080FD402: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080FD408: .4byte 0x00007fff - thumb_func_end sub_80FD3D0 - - thumb_func_start sub_80FD40C -sub_80FD40C: @ 80FD40C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r7, 0 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _080FD4C4 - lsls r0, 2 - ldr r1, _080FD450 @ =_080FD454 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FD450: .4byte _080FD454 - .align 2, 0 -_080FD454: - .4byte _080FD46C - .4byte _080FD47C - .4byte _080FD48C - .4byte _080FD49A - .4byte _080FD4A8 - .4byte _080FD4B6 -_080FD46C: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - adds r7, r6, 0 - movs r1, 0 - mov r8, r1 - b _080FD4C4 -_080FD47C: - movs r7, 0 - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r6, r8 - b _080FD4C4 -_080FD48C: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r7 - b _080FD4C4 -_080FD49A: - movs r7, 0 - movs r6, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - b _080FD4C2 -_080FD4A8: - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r6 - b _080FD4C4 -_080FD4B6: - movs r7, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0 -_080FD4C2: - mov r8, r0 -_080FD4C4: - lsls r0, r7, 10 - lsls r1, r6, 5 - orrs r0, r1 - mov r1, r8 - orrs r1, r0 - lsls r0, r1, 16 - lsrs r0, 16 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80FD40C - - thumb_func_start sub_80FD4DC -sub_80FD4DC: @ 80FD4DC - push {lr} - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _080FD500 - cmp r3, 0x10 - bhi _080FD500 - cmp r0, 0x10 - bhi _080FD500 - movs r0, 0 - b _080FD502 -_080FD500: - ldr r0, _080FD508 @ =0x00007fff -_080FD502: - pop {r1} - bx r1 - .align 2, 0 -_080FD508: .4byte 0x00007fff - thumb_func_end sub_80FD4DC - - thumb_func_start sub_80FD50C -sub_80FD50C: @ 80FD50C - push {r4,lr} - adds r4, r0, 0 - ldrh r3, [r4] - cmp r3, 0 - beq _080FD534 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _080FD526 - adds r0, r2, 0 - b _080FD536 -_080FD526: - ldrh r1, [r1] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _080FD534 - ldrh r0, [r4] - b _080FD536 -_080FD534: - movs r0, 0 -_080FD536: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FD50C - - thumb_func_start sub_80FD53C -sub_80FD53C: @ 80FD53C - push {r4,lr} - ldrh r1, [r0] - movs r0, 0x1F - movs r3, 0x1F - ands r3, r1 - lsls r1, 16 - lsrs r2, r1, 21 - lsrs r1, 26 - subs r3, r0, r3 - adds r4, r0, 0 - bics r4, r2 - adds r2, r4, 0 - bics r0, r1 - lsls r0, 10 - lsls r2, 5 - orrs r0, r2 - orrs r0, r3 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FD53C - thumb_func_start sub_80FD568 sub_80FD568: @ 80FD568 push {r4-r7,lr} @@ -2479,7 +1119,7 @@ _080FDDD8: .4byte gUnknown_03005DF8 _080FDDDC: .4byte gUnknown_03005E0C _080FDDE0: adds r0, r4, 0 - bl sub_80FD4DC + bl ConvertToBlackOrWhite lsls r0, 16 cmp r0, 0 bne _080FDDF2 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s deleted file mode 100644 index 67655e63f..000000000 --- a/asm/pokemon_storage_system.s +++ /dev/null @@ -1,1485 +0,0 @@ - .include "constants/gba_constants.inc" - .include "include/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_809C85C -@ u8 sub_809C85C(void) -sub_809C85C: @ 809C85C - push {r4-r6,lr} - ldr r0, _0809C894 @ =gPokemonStorageSystemPtr - ldr r2, [r0] - ldr r1, _0809C898 @ =0x000011df - adds r0, r2, r1 - movs r1, 0 - strb r1, [r0] - ldr r3, _0809C89C @ =0x000011de - adds r0, r2, r3 - strb r1, [r0] - ldr r0, _0809C8A0 @ =0x000011e3 - adds r2, r0 - strb r1, [r2] - ldr r1, _0809C8A4 @ =gMain - ldrh r3, [r1, 0x30] - movs r0, 0x40 - ands r0, r3 - cmp r0, 0 - bne _0809C91A - movs r0, 0x80 - ands r0, r3 - cmp r0, 0 - beq _0809C8A8 - movs r4, 0x1 - movs r0, 0 - movs r5, 0x2 - b _0809C922 - .align 2, 0 -_0809C894: .4byte gPokemonStorageSystemPtr -_0809C898: .4byte 0x000011df -_0809C89C: .4byte 0x000011de -_0809C8A0: .4byte 0x000011e3 -_0809C8A4: .4byte gMain -_0809C8A8: - ldrh r2, [r1, 0x2C] - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - bne _0809C8CC - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - bne _0809C8DE - ldr r0, _0809C8D0 @ =gSaveBlock2 - ldrb r0, [r0, 0x13] - cmp r0, 0x1 - bne _0809C8E2 - movs r0, 0x80 - lsls r0, 2 - ands r0, r2 - cmp r0, 0 - beq _0809C8D4 -_0809C8CC: - movs r0, 0xA - b _0809C93E - .align 2, 0 -_0809C8D0: .4byte gSaveBlock2 -_0809C8D4: - movs r0, 0x80 - lsls r0, 1 - ands r0, r2 - cmp r0, 0 - beq _0809C8E2 -_0809C8DE: - movs r0, 0x9 - b _0809C93E -_0809C8E2: - ldrh r1, [r1, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809C8FA - movs r0, 0 - bl sub_809A860 - bl sub_809CA8C - movs r0, 0x7 - b _0809C93E -_0809C8FA: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809C906 - movs r0, 0x10 - b _0809C93E -_0809C906: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809C916 - bl sub_809CD88 - movs r0, 0 - b _0809C93E -_0809C916: - movs r4, 0 - b _0809C93C -_0809C91A: - movs r4, 0x1 - movs r0, 0x3 - movs r5, 0 - strb r4, [r2] -_0809C922: - cmp r4, 0 - beq _0809C93C - lsls r6, r0, 24 - cmp r0, 0x2 - beq _0809C932 - movs r0, 0 - bl sub_809A860 -_0809C932: - lsrs r0, r6, 24 - lsls r1, r5, 24 - lsrs r1, 24 - bl sub_809AF18 -_0809C93C: - adds r0, r4, 0 -_0809C93E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_809C85C - - thumb_func_start sub_809C944 -@ u8 sub_809C944(void) -sub_809C944: @ 809C944 - push {r4-r7,lr} - ldr r0, _0809C988 @ =gUnknown_020384E4 - ldrb r0, [r0] - mov r12, r0 - ldr r7, _0809C98C @ =gUnknown_020384E5 - ldrb r3, [r7] - ldr r0, _0809C990 @ =gPokemonStorageSystemPtr - ldr r1, [r0] - ldr r0, _0809C994 @ =0x000011df - adds r5, r1, r0 - movs r0, 0 - strb r0, [r5] - ldr r2, _0809C998 @ =0x000011de - adds r4, r1, r2 - strb r0, [r4] - adds r2, 0x5 - adds r1, r2 - strb r0, [r1] - ldr r6, _0809C99C @ =gMain - ldrh r2, [r6, 0x30] - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - bne _0809CA14 - movs r0, 0x88 - ands r0, r2 - cmp r0, 0 - beq _0809C9A0 - movs r6, 0x1 - movs r0, 0x2 - mov r12, r0 - movs r3, 0 - b _0809CA2A - .align 2, 0 -_0809C988: .4byte gUnknown_020384E4 -_0809C98C: .4byte gUnknown_020384E5 -_0809C990: .4byte gPokemonStorageSystemPtr -_0809C994: .4byte 0x000011df -_0809C998: .4byte 0x000011de -_0809C99C: .4byte gMain -_0809C9A0: - movs r0, 0x20 - ands r0, r2 - cmp r0, 0 - beq _0809C9C0 - movs r6, 0x1 - lsls r0, r3, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r3, r0, 24 - cmp r0, 0 - bge _0809CA2C - movs r0, 0xFF - strb r0, [r5] - movs r3, 0x1 - b _0809CA2C -_0809C9C0: - movs r0, 0x10 - ands r0, r2 - cmp r0, 0 - beq _0809C9E0 - movs r6, 0x1 - lsls r0, r3, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r3, r0, 24 - asrs r0, 24 - cmp r0, 0x1 - ble _0809CA2C - strb r6, [r5] - movs r3, 0 - b _0809CA2C -_0809C9E0: - ldrh r1, [r6, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809C9F4 - movs r0, 0x4 - cmp r3, 0 - bne _0809CA3A - movs r0, 0x5 - b _0809CA3A -_0809C9F4: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809CA00 - movs r0, 0x10 - b _0809CA3A -_0809CA00: - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0809CA10 - bl sub_809CD88 - movs r0, 0 - b _0809CA3A -_0809CA10: - movs r6, 0 - b _0809CA38 -_0809CA14: - movs r6, 0x1 - movs r0, 0 - mov r12, r0 - movs r0, 0xFF - strb r0, [r4] - movs r0, 0 - ldrsb r0, [r7, r0] - movs r3, 0x1D - cmp r0, 0 - bne _0809CA2A - movs r3, 0x18 -_0809CA2A: - strb r6, [r1] -_0809CA2C: - cmp r6, 0 - beq _0809CA38 - mov r0, r12 - adds r1, r3, 0 - bl sub_809AF18 -_0809CA38: - adds r0, r6, 0 -_0809CA3A: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809C944 - - thumb_func_start sub_809CA40 -sub_809CA40: @ 809CA40 - push {r4,r5,lr} - movs r3, 0 - ldr r0, _0809CA6C @ =gUnknown_083BBBD4 - ldr r1, [r0] - adds r4, r0, 0 - cmp r1, 0 - beq _0809CA84 - ldr r5, _0809CA70 @ =gUnknown_020384E4 -_0809CA50: - lsls r0, r3, 3 - adds r2, r0, r4 - movs r1, 0x4 - ldrsb r1, [r2, r1] - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r1, r0 - bne _0809CA74 - ldr r0, [r2] - bl _call_via_r0 - lsls r0, 24 - lsrs r0, 24 - b _0809CA86 - .align 2, 0 -_0809CA6C: .4byte gUnknown_083BBBD4 -_0809CA70: .4byte gUnknown_020384E4 -_0809CA74: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - lsls r0, r3, 3 - adds r0, r4 - ldr r0, [r0] - cmp r0, 0 - bne _0809CA50 -_0809CA84: - movs r0, 0 -_0809CA86: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809CA40 - - thumb_func_start sub_809CA8C -sub_809CA8C: @ 809CA8C - push {lr} - bl sub_809CDCC - movs r0, 0x9 - bl sub_809CDEC - movs r0, 0xA - bl sub_809CDEC - movs r0, 0xB - bl sub_809CDEC - movs r0, 0 - bl sub_809CDEC - pop {r0} - bx r0 - thumb_func_end sub_809CA8C - -.if DEBUG - thumb_func_start debug_sub_80AA40C -debug_sub_80AA40C: -.syntax divided - push {lr} - bl sub_809AB8C - lsl r0, r0, #0x10 - cmp r0, #0 - beq ._2084 @cond_branch - bl sub_809CDCC - mov r0, #0x20 - bl sub_809CDEC - mov r0, #0x6 - bl sub_809CDEC - mov r0, #0x1 - b ._2085 -._2084: - mov r0, #0x0 -._2085: - pop {r1} - bx r1 -.syntax unified - thumb_func_end debug_sub_80AA40C -.endif - -.if DEBUG - thumb_func_start sub_809CAB0 -sub_809CAB0: -.syntax divided - push {lr} - ldr r0, ._2088 @ unk_2038790 - ldrb r0, [r0] - cmp r0, #0 - beq ._2086 @cond_branch - bl debug_sub_80AA40C - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - b ._2110 -._2089: - .align 2, 0 -._2088: - .word unk_2038790 -._2086: - bl sub_809CDCC - bl sub_809AB8C - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - ldr r0, ._2094 @ gPokemonStorageSystemPtr - ldr r0, [r0] - ldrb r0, [r0, #0x5] - cmp r0, #0x1 - beq ._2090 @cond_branch - cmp r0, #0x1 - bgt ._2091 @cond_branch - cmp r0, #0 - beq ._2092 @cond_branch - b ._2108 -._2095: - .align 2, 0 -._2094: - .word gPokemonStorageSystemPtr -._2091: - cmp r0, #0x2 - beq ._2096 @cond_branch - b ._2108 -._2090: - cmp r1, #0 - beq ._2108 @cond_branch - mov r0, #0x1 - bl sub_809CDEC - b ._2109 -._2092: - cmp r1, #0 - beq ._2108 @cond_branch - mov r0, #0x2 - bl sub_809CDEC - b ._2109 -._2096: - ldr r0, ._2105 @ gUnknown_020384E6 - ldrb r0, [r0] - cmp r0, #0 - beq ._2102 @cond_branch - cmp r1, #0 - beq ._2103 @cond_branch - mov r0, #0x4 - bl sub_809CDEC - b ._2109 -._2106: - .align 2, 0 -._2105: - .word gUnknown_020384E6 -._2103: - mov r0, #0x5 - bl sub_809CDEC - b ._2109 -._2102: - cmp r1, #0 - beq ._2108 @cond_branch - mov r0, #0x3 - bl sub_809CDEC - b ._2109 -._2108: - mov r0, #0x0 - b ._2110 -._2109: - mov r0, #0x6 - bl sub_809CDEC - ldr r0, ._2114 @ gPokemonStorageSystemPtr - ldr r0, [r0] - ldrb r0, [r0, #0x5] - cmp r0, #0x2 - bne ._2113 @cond_branch - ldr r0, ._2114 + 4 @ gUnknown_020384E4 - ldrb r0, [r0] - lsl r0, r0, #0x18 - asr r0, r0, #0x18 - cmp r0, #0 - bne ._2112 @cond_branch - mov r0, #0x2 - bl sub_809CDEC - b ._2113 -._2115: - .align 2, 0 -._2114: - .word gPokemonStorageSystemPtr - .word gUnknown_020384E4 -._2112: - mov r0, #0x1 - bl sub_809CDEC -._2113: - mov r0, #0x8 - bl sub_809CDEC - mov r0, #0x7 - bl sub_809CDEC - mov r0, #0x0 - bl sub_809CDEC - mov r0, #0x1 -._2110: - pop {r1} - bx r1 -.syntax unified - thumb_func_end sub_809CAB0 -.else - thumb_func_start sub_809CAB0 -sub_809CAB0: @ 809CAB0 - push {lr} - bl sub_809CDCC - bl sub_809AB8C - lsls r0, 16 - lsrs r1, r0, 16 - ldr r0, _0809CAD4 @ =gPokemonStorageSystemPtr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - beq _0809CADE - cmp r0, 0x1 - bgt _0809CAD8 - cmp r0, 0 - beq _0809CAEA - b _0809CB24 - .align 2, 0 -_0809CAD4: .4byte gPokemonStorageSystemPtr -_0809CAD8: - cmp r0, 0x2 - beq _0809CAF6 - b _0809CB24 -_0809CADE: - cmp r1, 0 - beq _0809CB24 - movs r0, 0x1 - bl sub_809CDEC - b _0809CB28 -_0809CAEA: - cmp r1, 0 - beq _0809CB24 - movs r0, 0x2 - bl sub_809CDEC - b _0809CB28 -_0809CAF6: - ldr r0, _0809CB0C @ =gUnknown_020384E6 - ldrb r0, [r0] - cmp r0, 0 - beq _0809CB18 - cmp r1, 0 - beq _0809CB10 - movs r0, 0x4 - bl sub_809CDEC - b _0809CB28 - .align 2, 0 -_0809CB0C: .4byte gUnknown_020384E6 -_0809CB10: - movs r0, 0x5 - bl sub_809CDEC - b _0809CB28 -_0809CB18: - cmp r1, 0 - beq _0809CB24 - movs r0, 0x3 - bl sub_809CDEC - b _0809CB28 -_0809CB24: - movs r0, 0 - b _0809CB6E -_0809CB28: - movs r0, 0x6 - bl sub_809CDEC - ldr r0, _0809CB4C @ =gPokemonStorageSystemPtr - ldr r0, [r0] - ldrb r0, [r0, 0x5] - cmp r0, 0x2 - bne _0809CB5A - ldr r0, _0809CB50 @ =gUnknown_020384E4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _0809CB54 - movs r0, 0x2 - bl sub_809CDEC - b _0809CB5A - .align 2, 0 -_0809CB4C: .4byte gPokemonStorageSystemPtr -_0809CB50: .4byte gUnknown_020384E4 -_0809CB54: - movs r0, 0x1 - bl sub_809CDEC -_0809CB5A: - movs r0, 0x8 - bl sub_809CDEC - movs r0, 0x7 - bl sub_809CDEC - movs r0, 0 - bl sub_809CDEC - movs r0, 0x1 -_0809CB6E: - pop {r1} - bx r1 - thumb_func_end sub_809CAB0 -.endif - - thumb_func_start sub_809CB74 -sub_809CB74: @ 809CB74 - ldr r1, _0809CB90 @ =gPokemonStorageSystemPtr - ldr r1, [r1] - movs r2, 0x8E - lsls r2, 5 - adds r1, r2 - ldr r2, [r1] - ldrh r2, [r2, 0x20] - strh r2, [r0, 0x20] - ldr r1, [r1] - ldrh r1, [r1, 0x22] - adds r1, 0x14 - strh r1, [r0, 0x22] - bx lr - .align 2, 0 -_0809CB90: .4byte gPokemonStorageSystemPtr - thumb_func_end sub_809CB74 - - thumb_func_start debug_sub_809CB94 -debug_sub_809CB94: @ 809CB94 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0809CBBC @ =gUnknown_020384E4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809CBC8 - ldr r2, _0809CBC0 @ =gPlayerParty - ldr r0, _0809CBC4 @ =gUnknown_020384E5 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x64 - muls r1, r0 - adds r1, r2 - adds r0, r4, 0 - movs r2, 0x50 - bl memcpy - b _0809CBF6 - .align 2, 0 -_0809CBBC: .4byte gUnknown_020384E4 -_0809CBC0: .4byte gPlayerParty -_0809CBC4: .4byte gUnknown_020384E5 -_0809CBC8: - bl get_preferred_box - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0809CBFC @ =gPokemonStorage - ldr r1, _0809CC00 @ =gUnknown_020384E5 - movs r2, 0 - ldrsb r2, [r1, r2] - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 4 - lsls r2, r0, 2 - adds r2, r0 - lsls r0, r2, 4 - subs r0, r2 - lsls r0, 5 - adds r1, r0 - adds r1, r3 - adds r1, 0x4 - adds r0, r4, 0 - movs r2, 0x50 - bl memcpy -_0809CBF6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809CBFC: .4byte gPokemonStorage -_0809CC00: .4byte gUnknown_020384E5 - thumb_func_end debug_sub_809CB94 - - thumb_func_start sub_809CC04 -sub_809CC04: @ 809CC04 - push {r4-r7,lr} - sub sp, 0x34 - mov r1, sp - ldr r0, _0809CCB0 @ =gHandCursorSpriteSheets - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - add r4, sp, 0x18 - adds r1, r4, 0 - ldr r0, _0809CCB4 @ =gHandCursorSpritePalettes - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - mov r0, sp - bl LoadSpriteSheets - adds r0, r4, 0 - bl LoadSpritePalettes - ldr r0, _0809CCB8 @ =0x0000dac6 - bl IndexOfSpritePaletteTag - ldr r1, _0809CCBC @ =gPokemonStorageSystemPtr - ldr r6, [r1] - ldr r4, _0809CCC0 @ =0x000011e4 - adds r7, r6, r4 - strb r0, [r7] - ldr r0, _0809CCC4 @ =0x0000dad1 - bl IndexOfSpritePaletteTag - ldr r5, _0809CCC8 @ =0x000011e5 - adds r1, r6, r5 - strb r0, [r1] - ldr r0, _0809CCCC @ =gUnknown_020384E4 - ldrb r0, [r0] - ldr r1, _0809CCD0 @ =gUnknown_020384E5 - ldrb r1, [r1] - add r4, sp, 0x30 - mov r5, sp - adds r5, 0x32 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_809AACC - ldr r0, _0809CCD4 @ =gSpriteTemplate_83BBC70 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0 - ldrsh r2, [r5, r3] - movs r3, 0x6 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0809CCE4 - movs r5, 0x8E - lsls r5, 5 - adds r4, r6, r5 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r0, _0809CCD8 @ =gSprites - adds r1, r0 - str r1, [r4] - ldr r0, _0809CCDC @ =gUnknown_020384E9 - ldrb r0, [r0] - adds r0, r7, r0 - ldrb r2, [r0] - lsls r2, 4 - ldrb r3, [r1, 0x5] - movs r0, 0xF - ands r0, r3 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, _0809CCE0 @ =gUnknown_020384E6 - ldrb r0, [r0] - cmp r0, 0 - beq _0809CCEE - ldr r0, [r4] - movs r1, 0x3 - bl StartSpriteAnim - b _0809CCEE - .align 2, 0 -_0809CCB0: .4byte gHandCursorSpriteSheets -_0809CCB4: .4byte gHandCursorSpritePalettes -_0809CCB8: .4byte 0x0000dac6 -_0809CCBC: .4byte gPokemonStorageSystemPtr -_0809CCC0: .4byte 0x000011e4 -_0809CCC4: .4byte 0x0000dad1 -_0809CCC8: .4byte 0x000011e5 -_0809CCCC: .4byte gUnknown_020384E4 -_0809CCD0: .4byte gUnknown_020384E5 -_0809CCD4: .4byte gSpriteTemplate_83BBC70 -_0809CCD8: .4byte gSprites -_0809CCDC: .4byte gUnknown_020384E9 -_0809CCE0: .4byte gUnknown_020384E6 -_0809CCE4: - movs r0, 0x8E - lsls r0, 5 - adds r1, r6, r0 - movs r0, 0 - str r0, [r1] -_0809CCEE: - ldr r0, _0809CD00 @ =gUnknown_020384E4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _0809CD04 - movs r3, 0xC - movs r5, 0x1 - b _0809CD08 - .align 2, 0 -_0809CD00: .4byte gUnknown_020384E4 -_0809CD04: - movs r3, 0x14 - movs r5, 0x2 -_0809CD08: - ldr r0, _0809CD58 @ =gSpriteTemplate_83BBC88 - movs r1, 0 - movs r2, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0809CD6C - ldr r0, _0809CD5C @ =gPokemonStorageSystemPtr - ldr r0, [r0] - ldr r1, _0809CD60 @ =0x000011c4 - adds r4, r0, r1 - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r0, _0809CD64 @ =gSprites - adds r1, r0 - str r1, [r4] - lsls r3, r5, 2 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r1, 0x5] - ldr r0, _0809CD68 @ =gUnknown_020384E4 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _0809CD78 - ldr r0, [r4] - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0809CD78 - .align 2, 0 -_0809CD58: .4byte gSpriteTemplate_83BBC88 -_0809CD5C: .4byte gPokemonStorageSystemPtr -_0809CD60: .4byte 0x000011c4 -_0809CD64: .4byte gSprites -_0809CD68: .4byte gUnknown_020384E4 -_0809CD6C: - ldr r0, _0809CD80 @ =gPokemonStorageSystemPtr - ldr r0, [r0] - ldr r2, _0809CD84 @ =0x000011c4 - adds r0, r2 - movs r1, 0 - str r1, [r0] -_0809CD78: - add sp, 0x34 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809CD80: .4byte gPokemonStorageSystemPtr -_0809CD84: .4byte 0x000011c4 - thumb_func_end sub_809CC04 - - thumb_func_start sub_809CD88 -sub_809CD88: @ 809CD88 - push {lr} - ldr r2, _0809CDC0 @ =gUnknown_020384E9 - movs r1, 0 - ldrb r0, [r2] - cmp r0, 0 - bne _0809CD96 - movs r1, 0x1 -_0809CD96: - strb r1, [r2] - ldr r0, _0809CDC4 @ =gPokemonStorageSystemPtr - ldr r0, [r0] - movs r3, 0x8E - lsls r3, 5 - adds r1, r0, r3 - ldr r3, [r1] - ldr r1, _0809CDC8 @ =0x000011e4 - adds r0, r1 - ldrb r2, [r2] - adds r0, r2 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r3, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - pop {r0} - bx r0 - .align 2, 0 -_0809CDC0: .4byte gUnknown_020384E9 -_0809CDC4: .4byte gPokemonStorageSystemPtr -_0809CDC8: .4byte 0x000011e4 - thumb_func_end sub_809CD88 - -// file boundary here - - thumb_func_start sub_809CDCC -sub_809CDCC: @ 809CDCC - ldr r0, _0809CDE0 @ =gPokemonStorageSystemPtr - ldr r0, [r0] - ldr r2, _0809CDE4 @ =0x000011b8 - adds r1, r0, r2 - movs r2, 0 - strb r2, [r1] - ldr r1, _0809CDE8 @ =0x000011b9 - adds r0, r1 - strb r2, [r0] - bx lr - .align 2, 0 -_0809CDE0: .4byte gPokemonStorageSystemPtr -_0809CDE4: .4byte 0x000011b8 -_0809CDE8: .4byte 0x000011b9 - thumb_func_end sub_809CDCC - - thumb_func_start sub_809CDEC -sub_809CDEC: @ 809CDEC - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0809CE3C @ =gPokemonStorageSystemPtr - ldr r5, [r0] - ldr r0, _0809CE40 @ =0x000011b8 - adds r4, r5, r0 - ldrb r0, [r4] - cmp r0, 0x6 - bhi _0809CE36 - adds r1, r0, 0 - lsls r1, 3 - movs r2, 0x8C - lsls r2, 5 - adds r1, r2 - adds r1, r5, r1 - ldr r2, _0809CE44 @ =gUnknown_083BBCA0 - lsls r0, r3, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] - str r3, [r1, 0x4] - bl GetStringWidthInMenuWindow - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0x7 - lsrs r1, 3 - ldr r2, _0809CE48 @ =0x000011b9 - adds r0, r5, r2 - ldrb r2, [r0] - cmp r1, r2 - bls _0809CE30 - strb r1, [r0] -_0809CE30: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] -_0809CE36: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809CE3C: .4byte gPokemonStorageSystemPtr -_0809CE40: .4byte 0x000011b8 -_0809CE44: .4byte gUnknown_083BBCA0 -_0809CE48: .4byte 0x000011b9 - thumb_func_end sub_809CDEC - - thumb_func_start sub_809CE4C -sub_809CE4C: @ 809CE4C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0809CE70 @ =gPokemonStorageSystemPtr - ldr r1, [r0] - ldr r3, _0809CE74 @ =0x000011b8 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r2, r0 - bcs _0809CE7C - lsls r0, r2, 3 - ldr r2, _0809CE78 @ =0x00001184 - adds r1, r2 - adds r1, r0 - movs r0, 0 - ldrsb r0, [r1, r0] - b _0809CE80 - .align 2, 0 -_0809CE70: .4byte gPokemonStorageSystemPtr -_0809CE74: .4byte 0x000011b8 -_0809CE78: .4byte 0x00001184 -_0809CE7C: - movs r0, 0x1 - negs r0, r0 -_0809CE80: - pop {r1} - bx r1 - thumb_func_end sub_809CE4C - - thumb_func_start sub_809CE84 -sub_809CE84: @ 809CE84 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x8 - ldr r0, _0809CF20 @ =gPokemonStorageSystemPtr - ldr r4, [r0] - ldr r0, _0809CF24 @ =0x000011b8 - adds r0, r4 - mov r8, r0 - ldrb r0, [r0] - lsls r0, 1 - movs r1, 0xE - subs r1, r0 - ldr r3, _0809CF28 @ =0x000011bc - adds r6, r4, r3 - movs r0, 0 - mov r10, r0 - strh r1, [r6] - ldr r1, _0809CF2C @ =0x000011b9 - adds r1, r4 - mov r9, r1 - ldrb r1, [r1] - movs r0, 0x1C - subs r0, r1 - subs r3, 0x2 - adds r5, r4, r3 - strh r0, [r5] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r6] - movs r2, 0x1D - movs r3, 0xF - bl Menu_DrawStdWindowFrame - ldrb r0, [r5] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r6] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - mov r3, r8 - ldrb r2, [r3] - movs r3, 0x8C - lsls r3, 5 - adds r4, r3 - adds r3, r4, 0 - bl Menu_PrintItems - ldrb r1, [r5] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6] - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - mov r4, r8 - ldrb r3, [r4] - mov r0, r10 - str r0, [sp] - mov r4, r9 - ldrb r0, [r4] - str r0, [sp, 0x4] - movs r0, 0 - bl InitMenu - 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 -_0809CF20: .4byte gPokemonStorageSystemPtr -_0809CF24: .4byte 0x000011b8 -_0809CF28: .4byte 0x000011bc -_0809CF2C: .4byte 0x000011b9 - thumb_func_end sub_809CE84 - - thumb_func_start sub_809CF30 -sub_809CF30: @ 809CF30 - push {r4,r5,lr} - movs r5, 0x2 - negs r5, r5 - ldr r4, _0809CF6C @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809CF86 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809CF52 - movs r0, 0x5 - bl PlaySE - adds r5, 0x1 -_0809CF52: - ldrh r1, [r4, 0x2E] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0809CF70 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl Menu_MoveCursor - b _0809CF8E - .align 2, 0 -_0809CF6C: .4byte gMain -_0809CF70: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0809CF8E - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl Menu_MoveCursor - b _0809CF8E -_0809CF86: - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r5, r0, 24 -_0809CF8E: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0809CFB2 - bl Menu_DestroyCursor - ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr - ldr r1, [r0] - ldr r2, _0809CFD4 @ =0x000011ba - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, 0x2 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0x1D - movs r3, 0xF - bl Menu_EraseWindowRect -_0809CFB2: - cmp r5, 0 - blt _0809CFC4 - ldr r0, _0809CFD0 @ =gPokemonStorageSystemPtr - ldr r0, [r0] - lsls r1, r5, 3 - ldr r2, _0809CFD8 @ =0x00001184 - adds r0, r2 - adds r0, r1 - ldr r5, [r0] -_0809CFC4: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809CFD0: .4byte gPokemonStorageSystemPtr -_0809CFD4: .4byte 0x000011ba -_0809CFD8: .4byte 0x00001184 - thumb_func_end sub_809CF30 - - thumb_func_start sub_809CFDC -sub_809CFDC: @ 809CFDC - ldr r3, _0809CFEC @ =gUnknown_020384EC - str r0, [r3] - str r1, [r0] - movs r1, 0 - strb r2, [r0, 0x5] - strb r1, [r0, 0x4] - bx lr - .align 2, 0 -_0809CFEC: .4byte gUnknown_020384EC - thumb_func_end sub_809CFDC - - thumb_func_start sub_809CFF0 -sub_809CFF0: @ 809CFF0 - push {r4,r5,lr} - ldr r2, _0809D030 @ =gUnknown_020384EC - ldr r1, [r2] - ldrb r0, [r1, 0x4] - cmp r0, 0 - beq _0809D02A - movs r4, 0 - ldrb r1, [r1, 0x4] - cmp r4, r1 - bcs _0809D022 - adds r5, r2, 0 -_0809D006: - ldr r0, [r5] - lsls r1, r4, 4 - ldr r0, [r0] - adds r0, r1 - ldr r1, [r0, 0xC] - bl _call_via_r1 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - cmp r4, r0 - bcc _0809D006 -_0809D022: - ldr r0, _0809D030 @ =gUnknown_020384EC - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x4] -_0809D02A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809D030: .4byte gUnknown_020384EC - thumb_func_end sub_809CFF0 - - thumb_func_start sub_809D034 -sub_809D034: @ 809D034 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r8, r0 - mov r9, r3 - ldr r0, [sp, 0x20] - ldr r3, [sp, 0x24] - ldr r4, [sp, 0x28] - ldr r5, [sp, 0x2C] - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r6, r2, 16 - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _0809D0A4 @ =gUnknown_020384EC - ldr r2, [r0] - ldrb r0, [r2, 0x4] - adds r1, r0, 0 - ldrb r7, [r2, 0x5] - cmp r1, r7 - bcs _0809D0AC - adds r0, 0x1 - strb r0, [r2, 0x4] - lsls r0, r1, 4 - ldr r2, [r2] - adds r2, r0 - lsls r0, r4, 1 - strh r0, [r2, 0x8] - lsls r0, r6, 6 - add r0, r8 - mov r4, r10 - lsls r1, r4, 1 - adds r0, r1 - str r0, [r2, 0x4] - lsls r0, r3, 6 - add r0, r9 - mov r7, r12 - lsls r1, r7, 1 - adds r0, r1 - str r0, [r2] - strh r5, [r2, 0xA] - ldr r0, _0809D0A8 @ =sub_809D0BC - str r0, [r2, 0xC] - movs r0, 0x1 - b _0809D0AE - .align 2, 0 -_0809D0A4: .4byte gUnknown_020384EC -_0809D0A8: .4byte sub_809D0BC -_0809D0AC: - movs r0, 0 -_0809D0AE: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809D034 - - thumb_func_start sub_809D0BC -sub_809D0BC: @ 809D0BC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r6, [r0] - ldr r5, [r0, 0x4] - ldrh r7, [r0, 0xA] - ldrh r2, [r0, 0x8] - movs r4, 0 - cmp r4, r7 - bcs _0809D0F2 - lsrs r2, 1 - mov r8, r2 - ldr r0, _0809D100 @ =0x001fffff - mov r9, r0 -_0809D0DA: - adds r0, r6, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r9 - ands r2, r3 - bl CpuSet - adds r5, 0x40 - adds r6, 0x40 - adds r4, 0x1 - cmp r4, r7 - bcc _0809D0DA -_0809D0F2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D100: .4byte 0x001fffff - thumb_func_end sub_809D0BC - - thumb_func_start sub_809D104 -sub_809D104: @ 809D104 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, [sp, 0x18] - ldr r4, [sp, 0x1C] - ldr r6, [sp, 0x20] - mov r8, r6 - ldr r6, [sp, 0x24] - lsls r1, 16 - lsls r2, 16 - lsrs r2, 16 - lsls r5, 16 - lsls r4, 16 - mov r7, r8 - lsls r7, 16 - lsls r6, 16 - lsrs r6, 16 - lsrs r4, 10 - adds r3, r4 - lsrs r5, 15 - adds r5, r3, r5 - lsls r3, r2, 6 - adds r3, r0, r3 - lsrs r1, 15 - adds r4, r3, r1 - adds r2, r6 - lsls r2, 6 - adds r6, r0, r2 - lsrs r2, r7, 15 - cmp r4, r6 - bcs _0809D15C - lsrs r7, r2, 1 - ldr r0, _0809D168 @ =0x001fffff - mov r8, r0 -_0809D148: - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, r8 - ands r2, r7 - bl CpuSet - adds r4, 0x40 - adds r5, 0x40 - cmp r4, r6 - bcc _0809D148 -_0809D15C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D168: .4byte 0x001fffff - thumb_func_end sub_809D104 - - thumb_func_start sub_809D16C -sub_809D16C: @ 809D16C - push {r4-r7,lr} - mov r12, r0 - ldr r0, [sp, 0x14] - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 16 - lsrs r4, r2, 16 - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0809D1B4 @ =gUnknown_020384EC - ldr r1, [r0] - ldrb r0, [r1, 0x4] - adds r2, r0, 0 - ldrb r7, [r1, 0x5] - cmp r2, r7 - bcs _0809D1BC - adds r0, 0x1 - strb r0, [r1, 0x4] - lsls r0, r2, 4 - ldr r1, [r1] - adds r1, r0 - lsls r0, r3, 1 - strh r0, [r1, 0x8] - lsls r0, r4, 5 - adds r0, r6 - lsls r0, 1 - add r0, r12 - str r0, [r1, 0x4] - strh r5, [r1, 0xA] - ldr r0, _0809D1B8 @ =sub_809D1C4 - str r0, [r1, 0xC] - movs r0, 0x1 - b _0809D1BE - .align 2, 0 -_0809D1B4: .4byte gUnknown_020384EC -_0809D1B8: .4byte sub_809D1C4 -_0809D1BC: - movs r0, 0 -_0809D1BE: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_809D16C - - thumb_func_start sub_809D1C4 -sub_809D1C4: @ 809D1C4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r6, r0, 0 - movs r0, 0 - ldrh r1, [r6, 0xA] - cmp r0, r1 - bcs _0809D252 - movs r7, 0x80 - lsls r7, 5 - mov r5, sp - ldr r2, _0809D210 @ =0x040000d4 - mov r8, r2 - movs r1, 0x81 - lsls r1, 24 - mov r10, r1 -_0809D1EA: - ldr r2, [r6, 0x4] - ldrh r3, [r6, 0x8] - mov r12, r2 - adds r0, 0x1 - mov r9, r0 - cmp r3, r7 - bhi _0809D214 - movs r0, 0 - strh r0, [r5] - mov r2, sp - mov r0, r8 - str r2, [r0] - mov r1, r12 - str r1, [r0, 0x4] - lsrs r0, r3, 1 - mov r2, r10 - orrs r0, r2 - mov r1, r8 - b _0809D23C - .align 2, 0 -_0809D210: .4byte 0x040000d4 -_0809D214: - movs r4, 0 - strh r4, [r5] - ldr r1, _0809D264 @ =0x040000d4 - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _0809D268 @ =0x81000800 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r7 - subs r3, r7 - cmp r3, r7 - bhi _0809D214 - strh r4, [r5] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r10 - orrs r0, r2 -_0809D23C: - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, r12 - adds r0, 0x40 - str r0, [r6, 0x4] - mov r1, r9 - lsls r0, r1, 16 - lsrs r0, 16 - ldrh r2, [r6, 0xA] - cmp r0, r2 - bcc _0809D1EA -_0809D252: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809D264: .4byte 0x040000d4 -_0809D268: .4byte 0x81000800 - thumb_func_end sub_809D1C4 - - .align 2, 0 @ Don't pad with nop. |