diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-19 17:11:27 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-19 18:02:59 -0400 |
commit | fadfb9a62221e19c8e01ccd943b85c65b993ce04 (patch) | |
tree | 5446c1addd3bc45b0e42e582ac5ceee8d0b68888 /arm9/asm/scrcmd_5.s | |
parent | 7e24d1c0996146fc757b51390495b755584553c4 (diff) |
Split scrcmd.s
Diffstat (limited to 'arm9/asm/scrcmd_5.s')
-rw-r--r-- | arm9/asm/scrcmd_5.s | 274 |
1 files changed, 274 insertions, 0 deletions
diff --git a/arm9/asm/scrcmd_5.s b/arm9/asm/scrcmd_5.s new file mode 100644 index 00000000..1cec77e4 --- /dev/null +++ b/arm9/asm/scrcmd_5.s @@ -0,0 +1,274 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + thumb_func_start FUN_02041194 +FUN_02041194: ; 0x02041194 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + add r4, r0, #0x0 + add r0, r5, #0x0 + bl ScriptReadHalfword + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0205F5D8 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_020411C4 +FUN_020411C4: ; 0x020411C4 + push {r4-r7, lr} + sub sp, #0x24 + add r4, r0, #0x0 + add r0, #0x80 + ldr r7, [r0, #0x0] + ldr r0, [r7, #0xc] + bl FUN_02022510 + str r0, [sp, #0x20] + add r0, r4, #0x0 + bl ScriptReadHalfword + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl ScriptReadHalfword + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl ScriptReadHalfword + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl ScriptReadHalfword + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + ldr r0, _0204133C ; =0x00000000 + str r0, [sp, #0x1c] + str r0, [sp, #0x18] + ldr r5, [sp, #0x1c] + beq _02041286 +_0204123C: + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _0204127C + add r0, r4, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl FUN_020671BC + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r1, r1, #0x10 + ldr r0, [sp, #0x0] + lsr r1, r1, #0x10 + bl FUN_02041354 + cmp r0, #0x0 + beq _0204127C + ldr r1, [sp, #0x1c] + cmp r1, r0 + bge _0204127C + str r0, [sp, #0x1c] + str r5, [sp, #0x18] +_0204127C: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, r6 + blo _0204123C +_02041286: + mov r6, #0x0 + str r6, [sp, #0x14] + str r6, [sp, #0x10] + add r7, r6, #0x0 +_0204128E: + mov r5, #0x0 +_02041290: + ldr r0, [sp, #0x20] + ldr r1, [sp, #0x10] + add r2, r5, #0x0 + bl FUN_0206B5E4 + mov r1, #0x5 + mov r2, #0x0 + add r4, r0, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + beq _020412E0 + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + bne _020412E0 + add r0, r4, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl FUN_020672BC + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r1, r1, #0x10 + ldr r0, [sp, #0x0] + lsr r1, r1, #0x10 + bl FUN_02041354 + cmp r0, #0x0 + beq _020412E0 + cmp r6, r0 + bge _020412E0 + add r6, r0, #0x0 + add r0, r5, r7 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x14] +_020412E0: + add r5, r5, #0x1 + cmp r5, #0x1e + blo _02041290 + ldr r0, [sp, #0x10] + add r7, #0x1e + add r0, r0, #0x1 + str r0, [sp, #0x10] + cmp r0, #0x12 + blo _0204128E + ldr r0, [sp, #0x1c] + cmp r0, #0x0 + bne _0204130C + cmp r6, #0x0 + bne _0204130C + ldr r0, [sp, #0xc] + mov r1, #0x0 + strh r1, [r0, #0x0] + ldr r0, [sp, #0x8] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x4] + strh r1, [r0, #0x0] + b _02041336 +_0204130C: + ldr r0, [sp, #0x1c] + cmp r0, r6 + blo _02041326 + ldr r1, [sp, #0x18] + ldr r0, [sp, #0xc] + strh r1, [r0, #0x0] + ldr r1, [sp, #0x1c] + ldr r0, [sp, #0x8] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x4] + mov r1, #0x0 + strh r1, [r0, #0x0] + b _02041336 +_02041326: + ldr r1, [sp, #0x14] + ldr r0, [sp, #0xc] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x8] + mov r1, #0x1 + strh r6, [r0, #0x0] + ldr r0, [sp, #0x4] + strh r1, [r0, #0x0] +_02041336: + mov r0, #0x0 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 +_0204133C: .word 0x00000000 + + thumb_func_start FUN_02041340 +FUN_02041340: ; 0x02041340 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F5FC + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_02041354 +FUN_02041354: ; 0x02041354 + push {r4-r7, lr} + sub sp, #0xc + mov r6, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r7, r6, #0x0 +_02041360: + add r0, r5, #0x0 + mov r1, #0xa + bl _s32_div_f + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0xa + bl _s32_div_f + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x8] + ldr r0, [sp, #0x0] + cmp r0, r1 + bne _020413AC + add r0, r5, #0x0 + mov r1, #0xa + bl _s32_div_f + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0x0 + mov r1, #0xa + bl _s32_div_f + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r7, #0x1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x5 + blo _02041360 +_020413AC: + ldr r1, _020413BC ; =0x021C5A10 + ldr r0, [sp, #0x8] + strh r0, [r1, #0x2] + ldr r0, [sp, #0x4] + strh r0, [r1, #0x0] + add r0, r6, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_020413BC: .word 0x021C5A10 |