diff options
author | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
---|---|---|
committer | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
commit | 670fef77ac4d9116d5fdc28c0da40622919a062b (patch) | |
tree | 61c0e925f059404473826ac775305ba5e2706ab1 /asm/field_screen_effect.s |
first commit
Diffstat (limited to 'asm/field_screen_effect.s')
-rw-r--r-- | asm/field_screen_effect.s | 1033 |
1 files changed, 1033 insertions, 0 deletions
diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s new file mode 100644 index 000000000..82551fa78 --- /dev/null +++ b/asm/field_screen_effect.s @@ -0,0 +1,1033 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_807EE00 +sub_807EE00: @ 807EE00 + push {lr} + cmp r1, 0xA0 + bhi _0807EE28 + cmp r2, 0 + bge _0807EE0C + movs r2, 0 +_0807EE0C: + cmp r2, 0xFF + ble _0807EE12 + movs r2, 0xFF +_0807EE12: + cmp r3, 0 + bge _0807EE18 + movs r3, 0 +_0807EE18: + cmp r3, 0xFF + ble _0807EE1E + movs r3, 0xFF +_0807EE1E: + lsls r1, 1 + adds r1, r0 + lsls r0, r2, 8 + orrs r0, r3 + strh r0, [r1] +_0807EE28: + pop {r0} + bx r0 + thumb_func_end sub_807EE00 + + thumb_func_start sub_807EE2C +sub_807EE2C: @ 807EE2C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + str r0, [sp] + mov r10, r1 + mov r9, r2 + adds r6, r3, 0 + mov r8, r6 + movs r7, 0 + cmp r6, 0 + blt _0807EEA8 +_0807EE48: + mov r0, r9 + subs r1, r0, r7 + mov r0, r10 + subs r4, r0, r6 + adds r5, r0, r6 + ldr r0, [sp] + adds r2, r4, 0 + adds r3, r5, 0 + bl sub_807EE00 + mov r0, r9 + adds r1, r0, r7 + ldr r0, [sp] + adds r2, r4, 0 + adds r3, r5, 0 + bl sub_807EE00 + mov r0, r9 + subs r1, r0, r6 + mov r0, r10 + subs r4, r0, r7 + adds r5, r0, r7 + ldr r0, [sp] + adds r2, r4, 0 + adds r3, r5, 0 + bl sub_807EE00 + mov r0, r9 + adds r1, r0, r6 + ldr r0, [sp] + adds r2, r4, 0 + adds r3, r5, 0 + bl sub_807EE00 + mov r1, r8 + adds r1, 0x1 + lsls r0, r7, 1 + subs r1, r0 + mov r8, r1 + adds r7, 0x1 + cmp r1, 0 + bge _0807EEA4 + subs r1, r6, 0x1 + lsls r0, r1, 1 + add r8, r0 + adds r6, r1, 0 +_0807EEA4: + cmp r6, r7 + bge _0807EE48 +_0807EEA8: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_807EE2C + + thumb_func_start sub_807EEB8 +sub_807EEB8: @ 807EEB8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0807EEDC @ =gUnknown_3005098 + adds r4, r0, r1 + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _0807EF14 + cmp r0, 0x1 + bgt _0807EEE0 + cmp r0, 0 + beq _0807EEE6 + b _0807EF76 + .align 2, 0 +_0807EEDC: .4byte gUnknown_3005098 +_0807EEE0: + cmp r0, 0x2 + beq _0807EF6C + b _0807EF76 +_0807EEE6: + ldr r0, _0807EF0C @ =gUnknown_2039600 + ldrb r1, [r0, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + ldr r1, _0807EF10 @ =gUnknown_2038700 + adds r0, r1 + movs r2, 0x2 + ldrsh r1, [r4, r2] + movs r3, 0x4 + ldrsh r2, [r4, r3] + movs r5, 0x6 + ldrsh r3, [r4, r5] + bl sub_807EE2C + movs r0, 0x1 + strh r0, [r4] + b _0807EF76 + .align 2, 0 +_0807EF0C: .4byte gUnknown_2039600 +_0807EF10: .4byte gUnknown_2038700 +_0807EF14: + ldr r0, _0807EF5C @ =gUnknown_2039600 + ldrb r1, [r0, 0x14] + lsls r0, r1, 4 + subs r0, r1 + lsls r0, 7 + ldr r1, _0807EF60 @ =gUnknown_2038700 + adds r0, r1 + movs r6, 0x2 + ldrsh r1, [r4, r6] + movs r3, 0x4 + ldrsh r2, [r4, r3] + movs r6, 0x6 + ldrsh r3, [r4, r6] + bl sub_807EE2C + movs r0, 0 + strh r0, [r4] + ldrh r0, [r4, 0xA] + ldrh r1, [r4, 0x6] + adds r0, r1 + strh r0, [r4, 0x6] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x8 + ldrsh r1, [r4, r2] + cmp r0, r1 + ble _0807EF76 + movs r3, 0xC + ldrsh r0, [r4, r3] + cmp r0, 0x1 + bne _0807EF64 + bl sub_8087E64 + movs r0, 0x2 + strh r0, [r4] + b _0807EF76 + .align 2, 0 +_0807EF5C: .4byte gUnknown_2039600 +_0807EF60: .4byte gUnknown_2038700 +_0807EF64: + adds r0, r5, 0 + bl sub_8077508 + b _0807EF76 +_0807EF6C: + bl sub_8087EA4 + adds r0, r5, 0 + bl sub_8077508 +_0807EF76: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_807EEB8 + + thumb_func_start sub_807EF7C +sub_807EF7C: @ 807EF7C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0807EFA0 @ =sub_807EEB8 + bl sub_8077650 + lsls r0, 24 + cmp r0, 0 + bne _0807EF98 + bl sub_8069B34 + adds r0, r4, 0 + bl sub_8077508 +_0807EF98: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807EFA0: .4byte sub_807EEB8 + thumb_func_end sub_807EF7C + + thumb_func_start sub_807EFA4 +sub_807EFA4: @ 807EFA4 + push {r4,lr} + ldr r4, _0807EFC4 @ =sub_807EF7C + adds r0, r4, 0 + bl sub_8077650 + lsls r0, 24 + cmp r0, 0 + bne _0807EFBC + adds r0, r4, 0 + movs r1, 0x50 + bl sub_807741C +_0807EFBC: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807EFC4: .4byte sub_807EF7C + thumb_func_end sub_807EFA4 + + thumb_func_start sub_807EFC8 +sub_807EFC8: @ 807EFC8 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r8, r0 + mov r9, r1 + adds r5, r2, 0 + adds r4, r3, 0 + ldr r6, [sp, 0x1C] + ldr r0, [sp, 0x20] + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, _0807F00C @ =sub_807EEB8 + movs r1, 0x50 + bl sub_807741C + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + ldr r1, _0807F010 @ =gUnknown_3005098 + adds r1, r0, r1 + strh r5, [r1, 0x6] + strh r4, [r1, 0x8] + mov r0, r8 + strh r0, [r1, 0x2] + mov r0, r9 + strh r0, [r1, 0x4] + strh r6, [r1, 0xC] + cmp r5, r4 + bge _0807F014 + strh r7, [r1, 0xA] + b _0807F018 + .align 2, 0 +_0807F00C: .4byte sub_807EEB8 +_0807F010: .4byte gUnknown_3005098 +_0807F014: + negs r0, r7 + strh r0, [r1, 0xA] +_0807F018: + adds r0, r2, 0 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_807EFC8 + + thumb_func_start sub_807F028 +sub_807F028: @ 807F028 + push {r4,r5,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + adds r4, r0, 0 + bl sub_8055D30 + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + cmp r4, 0 + bne _0807F042 + movs r5, 0x1 +_0807F042: + ldr r1, _0807F070 @ =gUnknown_83C68D4 + lsls r0, 1 + adds r0, r1 + ldrh r2, [r0] + lsls r0, r4, 1 + adds r0, r1 + ldrh r3, [r0] + str r5, [sp] + movs r0, 0x2 + str r0, [sp, 0x4] + movs r0, 0x78 + movs r1, 0x50 + bl sub_807EFC8 + bl sub_807EFA4 + bl sub_8069940 + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0807F070: .4byte gUnknown_83C68D4 + thumb_func_end sub_807F028 + + thumb_func_start sub_807F074 +sub_807F074: @ 807F074 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _0807F0A2 + ldr r4, _0807F0A8 @ =gUnknown_2038700 + ldr r1, _0807F0AC @ =gUnknown_83C68D4 + lsls r0, 1 + adds r0, r1 + ldrh r3, [r0] + adds r0, r4, 0 + movs r1, 0x78 + movs r2, 0x50 + bl sub_807EE2C + movs r0, 0xF0 + lsls r0, 3 + adds r1, r4, r0 + movs r2, 0xF0 + lsls r2, 1 + adds r0, r4, 0 + bl CpuFastSet +_0807F0A2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807F0A8: .4byte gUnknown_2038700 +_0807F0AC: .4byte gUnknown_83C68D4 + thumb_func_end sub_807F074 + + thumb_func_start sub_807F0B0 +sub_807F0B0: @ 807F0B0 + push {lr} + bl sub_8055FD4 + ldr r0, _0807F0C4 @ =sub_807F0C8 + movs r1, 0x50 + bl sub_807741C + pop {r0} + bx r0 + .align 2, 0 +_0807F0C4: .4byte sub_807F0C8 + thumb_func_end sub_807F0B0 + + thumb_func_start sub_807F0C8 +sub_807F0C8: @ 807F0C8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8055FC4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0807F0E4 + adds r0, r4, 0 + bl sub_8077508 + bl sub_8069B34 +_0807F0E4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_807F0C8 + + thumb_func_start sub_807F0EC +sub_807F0EC: @ 807F0EC + push {lr} + ldr r0, _0807F10C @ =sub_807F204 + movs r1, 0x50 + bl sub_807741C + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0807F110 @ =gUnknown_3005090 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0 + strh r0, [r1, 0x1C] + pop {r0} + bx r0 + .align 2, 0 +_0807F10C: .4byte sub_807F204 +_0807F110: .4byte gUnknown_3005090 + thumb_func_end sub_807F0EC + + thumb_func_start sub_807F114 +sub_807F114: @ 807F114 + push {lr} + ldr r0, _0807F134 @ =sub_807F204 + movs r1, 0x50 + bl sub_807741C + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0807F138 @ =gUnknown_3005090 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0x1 + strh r0, [r1, 0x1C] + pop {r0} + bx r0 + .align 2, 0 +_0807F134: .4byte sub_807F204 +_0807F138: .4byte gUnknown_3005090 + thumb_func_end sub_807F114 + + thumb_func_start sub_807F13C +sub_807F13C: @ 807F13C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _0807F19C @ =gUnknown_3005098 + adds r4, r0 + movs r0, 0 + bl sub_8000AC4 + strh r0, [r4] + movs r0, 0x48 + bl sub_8000AC4 + strh r0, [r4, 0x2] + movs r0, 0x4A + bl sub_8000AC4 + strh r0, [r4, 0x4] + movs r0, 0x50 + bl sub_8000AC4 + strh r0, [r4, 0x6] + movs r0, 0x52 + bl sub_8000AC4 + strh r0, [r4, 0x8] + movs r0, 0x40 + bl sub_8000AC4 + strh r0, [r4, 0xA] + movs r0, 0x44 + bl sub_8000AC4 + strh r0, [r4, 0xC] + movs r0, 0x42 + bl sub_8000AC4 + strh r0, [r4, 0xE] + movs r0, 0x46 + bl sub_8000AC4 + strh r0, [r4, 0x10] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807F19C: .4byte gUnknown_3005098 + thumb_func_end sub_807F13C + + thumb_func_start sub_807F1A0 +sub_807F1A0: @ 807F1A0 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r0, _0807F200 @ =gUnknown_3005098 + adds r4, r0 + ldrh r1, [r4] + movs r0, 0 + bl sub_8000A38 + ldrh r1, [r4, 0x2] + movs r0, 0x48 + bl sub_8000A38 + ldrh r1, [r4, 0x4] + movs r0, 0x4A + bl sub_8000A38 + ldrh r1, [r4, 0x6] + movs r0, 0x50 + bl sub_8000A38 + ldrh r1, [r4, 0x8] + movs r0, 0x52 + bl sub_8000A38 + ldrh r1, [r4, 0xA] + movs r0, 0x40 + bl sub_8000A38 + ldrh r1, [r4, 0xC] + movs r0, 0x44 + bl sub_8000A38 + ldrh r1, [r4, 0xE] + movs r0, 0x42 + bl sub_8000A38 + ldrh r1, [r4, 0x10] + movs r0, 0x46 + bl sub_8000A38 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0807F200: .4byte gUnknown_3005098 + thumb_func_end sub_807F1A0 + + thumb_func_start sub_807F204 +sub_807F204: @ 807F204 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + ldr r1, _0807F228 @ =gUnknown_3005098 + adds r5, r0, r1 + movs r1, 0x12 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _0807F2BC + cmp r0, 0x1 + bgt _0807F22C + cmp r0, 0 + beq _0807F236 + b _0807F2F4 + .align 2, 0 +_0807F228: .4byte gUnknown_3005098 +_0807F22C: + cmp r0, 0x2 + beq _0807F2D0 + cmp r0, 0x3 + beq _0807F2E8 + b _0807F2F4 +_0807F236: + adds r0, r4, 0 + bl sub_807F13C + movs r1, 0x80 + lsls r1, 6 + movs r0, 0 + bl sub_8000AF4 + movs r1, 0x80 + lsls r1, 7 + movs r0, 0 + bl sub_8000AF4 + movs r1, 0x14 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _0807F280 + movs r0, 0x40 + movs r1, 0 + bl sub_8000A38 + ldr r1, _0807F27C @ =0x0000f0ff + movs r0, 0x42 + bl sub_8000A38 + movs r0, 0x44 + movs r1, 0xFF + bl sub_8000A38 + movs r0, 0x46 + movs r1, 0xFF + bl sub_8000A38 + b _0807F2A0 + .align 2, 0 +_0807F27C: .4byte 0x0000f0ff +_0807F280: + movs r0, 0x40 + movs r1, 0x78 + bl sub_8000A38 + movs r0, 0x44 + movs r1, 0xFF + bl sub_8000A38 + ldr r1, _0807F2B8 @ =0x000078ff + movs r0, 0x42 + bl sub_8000A38 + movs r0, 0x46 + movs r1, 0xFF + bl sub_8000A38 +_0807F2A0: + movs r0, 0x48 + movs r1, 0 + bl sub_8000A38 + movs r0, 0x4A + movs r1, 0x3F + bl sub_8000A38 + movs r0, 0x1 + strh r0, [r5, 0x12] + b _0807F2F4 + .align 2, 0 +_0807F2B8: .4byte 0x000078ff +_0807F2BC: + ldr r0, _0807F2CC @ =sub_807F2FC + movs r1, 0x50 + bl sub_807741C + movs r0, 0x2 + strh r0, [r5, 0x12] + b _0807F2F4 + .align 2, 0 +_0807F2CC: .4byte sub_807F2FC +_0807F2D0: + ldr r0, _0807F2E4 @ =sub_807F2FC + bl sub_8077650 + lsls r0, 24 + cmp r0, 0 + bne _0807F2F4 + movs r0, 0x3 + strh r0, [r5, 0x12] + b _0807F2F4 + .align 2, 0 +_0807F2E4: .4byte sub_807F2FC +_0807F2E8: + adds r0, r4, 0 + bl sub_807F1A0 + adds r0, r4, 0 + bl sub_8077508 +_0807F2F4: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_807F204 + + thumb_func_start sub_807F2FC +sub_807F2FC: @ 807F2FC + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r5, r0, 24 + mov r8, r5 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r4, _0807F348 @ =gUnknown_3005098 + adds r6, r0, r4 + ldr r0, _0807F34C @ =sub_807F204 + bl sub_8077688 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1 + movs r1, 0x14 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0807F350 + ldrh r4, [r6] + movs r0, 0xF0 + subs r0, r4 + lsls r0, 16 + lsrs r7, r0, 16 + lsls r0, r4, 16 + asrs r0, 16 + cmp r0, 0x78 + ble _0807F36C + adds r0, r5, 0 + bl sub_8077508 + b _0807F39A + .align 2, 0 +_0807F348: .4byte gUnknown_3005098 +_0807F34C: .4byte sub_807F204 +_0807F350: + ldrh r0, [r6] + movs r1, 0x78 + subs r1, r0 + lsls r1, 16 + adds r0, 0x78 + lsls r0, 16 + lsrs r7, r0, 16 + lsrs r4, r1, 16 + cmp r1, 0 + bge _0807F36C + mov r0, r8 + bl sub_8077508 + b _0807F39A +_0807F36C: + lsls r4, 16 + lsrs r1, r4, 16 + movs r0, 0x40 + bl sub_8000A38 + lsls r1, r7, 16 + asrs r1, 8 + movs r0, 0xF0 + orrs r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x42 + bl sub_8000A38 + asrs r4, 16 + cmp r4, 0x59 + bgt _0807F394 + ldrh r0, [r6] + adds r0, 0x4 + b _0807F398 +_0807F394: + ldrh r0, [r6] + adds r0, 0x2 +_0807F398: + strh r0, [r6] +_0807F39A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_807F2FC + + thumb_func_start sub_807F3A4 +sub_807F3A4: @ 807F3A4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + mov r8, r1 + lsls r0, 24 + lsrs r0, 24 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + lsls r3, 24 + lsrs r3, 24 + mov r9, r3 + ldr r2, _0807F3DC @ =gUnknown_3005090 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrb r7, [r4, 0xA] + movs r0, 0xC + ldrsh r6, [r4, r0] + cmp r6, 0 + beq _0807F3E0 + cmp r6, 0x1 + beq _0807F430 + b _0807F448 + .align 2, 0 +_0807F3DC: .4byte gUnknown_3005090 +_0807F3E0: + adds r0, r7, 0 + movs r1, 0 + bl sub_800445C + ldr r5, _0807F424 @ =gUnknown_2021D18 + adds r0, r5, 0 + mov r1, r8 + bl sub_8008FCC + movs r0, 0x1 + mov r8, r0 + str r0, [sp] + str r6, [sp, 0x4] + ldr r0, _0807F428 @ =gUnknown_83C68EC + str r0, [sp, 0x8] + mov r0, r8 + str r0, [sp, 0xC] + str r5, [sp, 0x10] + adds r0, r7, 0 + movs r1, 0x2 + mov r2, r10 + mov r3, r9 + bl sub_812E5A4 + ldr r2, _0807F42C @ =gUnknown_3003E50 + ldrb r1, [r2] + movs r0, 0x2 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + mov r0, r8 + strh r0, [r4, 0xC] + b _0807F448 + .align 2, 0 +_0807F424: .4byte gUnknown_2021D18 +_0807F428: .4byte gUnknown_83C68EC +_0807F42C: .4byte gUnknown_3003E50 +_0807F430: + bl sub_8002DE8 + adds r0, r7, 0 + bl sub_8002E64 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0 + bne _0807F448 + strh r0, [r4, 0xC] + movs r0, 0x1 + b _0807F44A +_0807F448: + movs r0, 0 +_0807F44A: + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_807F3A4 + + thumb_func_start sub_807F45C +sub_807F45C: @ 807F45C + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _0807F484 @ =gUnknown_3005090 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r2, r1, 0 + cmp r0, 0x6 + bls _0807F478 + b _0807F5E4 +_0807F478: + lsls r0, 2 + ldr r1, _0807F488 @ =_0807F48C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0807F484: .4byte gUnknown_3005090 +_0807F488: .4byte _0807F48C + .align 2, 0 +_0807F48C: + .4byte _0807F4A8 + .4byte _0807F538 + .4byte _0807F588 + .4byte _0807F5B6 + .4byte _0807F540 + .4byte _0807F588 + .4byte _0807F5D0 +_0807F4A8: + ldr r0, _0807F518 @ =gUnknown_83C68E4 + bl sub_8003CE4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0807F51C @ =gUnknown_3005090 + lsls r4, r6, 2 + adds r0, r4, r6 + lsls r0, 3 + adds r7, r0, r1 + strh r5, [r7, 0xA] + movs r0, 0xF0 + bl sub_80F77CC + adds r0, r5, 0 + movs r1, 0 + bl sub_800445C + adds r0, r5, 0 + bl sub_8003FA0 + adds r0, r5, 0 + movs r1, 0x3 + bl sub_8003F20 + movs r0, 0x1 + bl sub_80BFCB0 + adds r3, r0, 0 + ldr r0, _0807F520 @ =gUnknown_3005008 + ldr r2, [r0] + ldrh r0, [r2, 0x1C] + ldrh r5, [r3] + cmp r0, r5 + bne _0807F524 + movs r1, 0x1E + ldrsb r1, [r2, r1] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _0807F524 + movs r0, 0x20 + ldrsh r1, [r2, r0] + movs r5, 0x2 + ldrsh r0, [r3, r5] + cmp r1, r0 + bne _0807F524 + movs r0, 0x22 + ldrsh r1, [r2, r0] + movs r2, 0x4 + ldrsh r0, [r3, r2] + cmp r1, r0 + bne _0807F524 + movs r0, 0x4 + strh r0, [r7, 0x8] + b _0807F5E4 + .align 2, 0 +_0807F518: .4byte gUnknown_83C68E4 +_0807F51C: .4byte gUnknown_3005090 +_0807F520: .4byte gUnknown_3005008 +_0807F524: + ldr r0, _0807F534 @ =gUnknown_3005090 + adds r1, r4, r6 + lsls r1, 3 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x8] + b _0807F5E4 + .align 2, 0 +_0807F534: .4byte gUnknown_3005090 +_0807F538: + ldr r1, _0807F53C @ =gUnknown_841B554 + b _0807F542 + .align 2, 0 +_0807F53C: .4byte gUnknown_841B554 +_0807F540: + ldr r1, _0807F578 @ =gUnknown_841B5B6 +_0807F542: + adds r0, r6, 0 + movs r2, 0x2 + movs r3, 0x8 + bl sub_807F3A4 + lsls r0, 24 + cmp r0, 0 + beq _0807F5E4 + ldr r0, _0807F57C @ =gUnknown_2037078 + ldrb r1, [r0, 0x5] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, _0807F580 @ =gUnknown_2036E38 + adds r0, r1 + movs r1, 0x2 + bl sub_805F218 + ldr r1, _0807F584 @ =gUnknown_3005090 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] + b _0807F5E4 + .align 2, 0 +_0807F578: .4byte gUnknown_841B5B6 +_0807F57C: .4byte gUnknown_2037078 +_0807F580: .4byte gUnknown_2036E38 +_0807F584: .4byte gUnknown_3005090 +_0807F588: + lsls r4, r6, 2 + adds r4, r6 + lsls r4, 3 + adds r4, r2 + ldrb r5, [r4, 0xA] + adds r0, r5, 0 + bl sub_80040B8 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8003F20 + adds r0, r5, 0 + bl sub_8003E3C + bl sub_807DB38 + bl sub_807DC00 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _0807F5E4 +_0807F5B6: + bl sub_807E418 + cmp r0, 0x1 + bne _0807F5E4 + adds r0, r6, 0 + bl sub_8077508 + ldr r0, _0807F5CC @ =gUnknown_81A8D97 + bl sub_8069AE4 + b _0807F5E4 + .align 2, 0 +_0807F5CC: .4byte gUnknown_81A8D97 +_0807F5D0: + bl sub_807E418 + cmp r0, 0x1 + bne _0807F5E4 + adds r0, r6, 0 + bl sub_8077508 + ldr r0, _0807F5EC @ =gUnknown_81A8DD8 + bl sub_8069AE4 +_0807F5E4: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807F5EC: .4byte gUnknown_81A8DD8 + thumb_func_end sub_807F45C + + thumb_func_start sub_807F5F0 +sub_807F5F0: @ 807F5F0 + push {lr} + bl sub_8069940 + bl sub_807DB38 + ldr r0, _0807F618 @ =sub_807F45C + movs r1, 0xA + bl sub_807741C + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0807F61C @ =gUnknown_3005090 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0 + strh r0, [r1, 0x8] + pop {r0} + bx r0 + .align 2, 0 +_0807F618: .4byte sub_807F45C +_0807F61C: .4byte gUnknown_3005090 + thumb_func_end sub_807F5F0 + + .align 2, 0 @ Don't pad with nop. |