From 17055159a4118b09acdf3481fd4ecb19faa96f1a Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 12 Jun 2021 20:24:32 -0400 Subject: Decompile unk_0201E7D8, 1 --- arm9/asm/unk_0201E7D8.s | 1186 --------------------------------------------- arm9/asm/unk_0201E7D8_s.s | 800 ++++++++++++++++++++++++++++++ 2 files changed, 800 insertions(+), 1186 deletions(-) delete mode 100644 arm9/asm/unk_0201E7D8.s create mode 100644 arm9/asm/unk_0201E7D8_s.s (limited to 'arm9/asm') diff --git a/arm9/asm/unk_0201E7D8.s b/arm9/asm/unk_0201E7D8.s deleted file mode 100644 index abc19a78..00000000 --- a/arm9/asm/unk_0201E7D8.s +++ /dev/null @@ -1,1186 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .extern NNS_G3dGlb - .extern NNS_G3dGlb - .extern NNS_G3dGlb - .extern FX_SinCosTable_ - .extern NNS_G3dGlb - .extern NNS_G3dGlb - .extern NNS_G3dGlb - - .section .data - - .global UNK_02105BB8 -UNK_02105BB8: ; 0x02105BB8 - .byte 0x01, 0x00, 0x00, 0x00 - - .section .bss - - .global UNK_021C59A4 -UNK_021C59A4: ; 0x021C59A4 - .space 0x4 - - .text - - thumb_func_start FUN_0201E7D8 -FUN_0201E7D8: ; 0x0201E7D8 - push {r3-r5, lr} - add r5, r0, #0x0 - ldrh r0, [r5, #0x3e] - ldr r2, [r5, #0x38] - ldrh r4, [r5, #0x3c] - asr r0, r0, #0x4 - lsl r1, r0, #0x2 - ldr r0, _0201E8B4 ; =FX_SinCosTable_ - asr r3, r2, #0x1f - ldrsh r0, [r0, r1] - asr r1, r0, #0x1f - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r0, r0, r2 - adc r1, r3 - asr r2, r4, #0x4 - lsl r2, r2, #0x1 - add r2, r2, #0x1 - lsl r3, r2, #0x1 - ldr r2, _0201E8B4 ; =FX_SinCosTable_ - lsl r1, r1, #0x14 - ldrsh r2, [r2, r3] - lsr r0, r0, #0xc - orr r0, r1 - asr r1, r0, #0x1f - asr r3, r2, #0x1f - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r2, r0, r2 - adc r1, r3 - lsl r0, r1, #0x14 - lsr r1, r2, #0xc - orr r1, r0 - str r1, [r5, #0x14] - ldrh r0, [r5, #0x3e] - ldr r2, [r5, #0x38] - asr r0, r0, #0x4 - lsl r0, r0, #0x1 - add r0, r0, #0x1 - lsl r1, r0, #0x1 - ldr r0, _0201E8B4 ; =FX_SinCosTable_ - asr r3, r2, #0x1f - ldrsh r0, [r0, r1] - asr r1, r0, #0x1f - bl _ll_mul - mov r2, #0x2 - lsl r2, r2, #0xa - mov r3, #0x0 - add r0, r0, r2 - adc r1, r3 - ldrh r2, [r5, #0x3c] - lsl r1, r1, #0x14 - lsr r0, r0, #0xc - asr r2, r2, #0x4 - lsl r2, r2, #0x1 - add r2, r2, #0x1 - lsl r3, r2, #0x1 - ldr r2, _0201E8B4 ; =FX_SinCosTable_ - orr r0, r1 - ldrsh r2, [r2, r3] - asr r1, r0, #0x1f - asr r3, r2, #0x1f - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r2, r0, r2 - adc r1, r3 - lsl r0, r1, #0x14 - lsr r1, r2, #0xc - orr r1, r0 - neg r0, r4 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r1, [r5, #0x1c] - asr r0, r0, #0x4 - lsl r1, r0, #0x2 - ldr r0, _0201E8B4 ; =FX_SinCosTable_ - ldr r2, [r5, #0x38] - ldrsh r0, [r0, r1] - asr r3, r2, #0x1f - asr r1, r0, #0x1f - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r2, r0, r2 - adc r1, r3 - lsl r0, r1, #0x14 - lsr r1, r2, #0xc - orr r1, r0 - add r0, r5, #0x0 - str r1, [r5, #0x18] - add r0, #0x14 - add r5, #0x20 - add r1, r5, #0x0 - add r2, r0, #0x0 - bl VEC_Add - pop {r3-r5, pc} - nop -_0201E8B4: .word FX_SinCosTable_ - - thumb_func_start FUN_0201E8B8 -FUN_0201E8B8: ; 0x0201E8B8 - push {r3-r5, lr} - add r5, r0, #0x0 - ldrh r0, [r5, #0x3e] - ldr r2, [r5, #0x38] - ldrh r4, [r5, #0x3c] - asr r0, r0, #0x4 - lsl r1, r0, #0x2 - ldr r0, _0201E998 ; =FX_SinCosTable_ - asr r3, r2, #0x1f - ldrsh r0, [r0, r1] - asr r1, r0, #0x1f - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r0, r0, r2 - adc r1, r3 - asr r2, r4, #0x4 - lsl r2, r2, #0x1 - add r2, r2, #0x1 - lsl r3, r2, #0x1 - ldr r2, _0201E998 ; =FX_SinCosTable_ - lsl r1, r1, #0x14 - ldrsh r2, [r2, r3] - lsr r0, r0, #0xc - orr r0, r1 - asr r1, r0, #0x1f - asr r3, r2, #0x1f - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r2, r0, r2 - adc r1, r3 - lsl r0, r1, #0x14 - lsr r1, r2, #0xc - orr r1, r0 - neg r0, r1 - str r0, [r5, #0x20] - ldrh r0, [r5, #0x3e] - ldr r2, [r5, #0x38] - asr r0, r0, #0x4 - lsl r0, r0, #0x1 - add r0, r0, #0x1 - lsl r1, r0, #0x1 - ldr r0, _0201E998 ; =FX_SinCosTable_ - asr r3, r2, #0x1f - ldrsh r0, [r0, r1] - asr r1, r0, #0x1f - bl _ll_mul - mov r2, #0x2 - lsl r2, r2, #0xa - mov r3, #0x0 - add r0, r0, r2 - adc r1, r3 - ldrh r2, [r5, #0x3c] - lsl r1, r1, #0x14 - lsr r0, r0, #0xc - asr r2, r2, #0x4 - lsl r2, r2, #0x1 - add r2, r2, #0x1 - lsl r3, r2, #0x1 - ldr r2, _0201E998 ; =FX_SinCosTable_ - orr r0, r1 - ldrsh r2, [r2, r3] - asr r1, r0, #0x1f - asr r3, r2, #0x1f - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r2, r0, r2 - adc r1, r3 - lsl r0, r1, #0x14 - lsr r1, r2, #0xc - orr r1, r0 - neg r0, r1 - str r0, [r5, #0x28] - neg r0, r4 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - asr r0, r0, #0x4 - lsl r1, r0, #0x2 - ldr r0, _0201E998 ; =FX_SinCosTable_ - ldr r2, [r5, #0x38] - ldrsh r0, [r0, r1] - asr r3, r2, #0x1f - asr r1, r0, #0x1f - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r2, r0, r2 - adc r1, r3 - lsl r0, r1, #0x14 - lsr r1, r2, #0xc - orr r1, r0 - neg r0, r1 - str r0, [r5, #0x24] - add r0, r5, #0x0 - add r0, #0x20 - add r5, #0x14 - add r1, r5, #0x0 - add r2, r0, #0x0 - bl VEC_Add - pop {r3-r5, pc} - .balign 4 -_0201E998: .word FX_SinCosTable_ - - thumb_func_start FUN_0201E99C -FUN_0201E99C: ; 0x0201E99C - add r2, r1, #0x0 - add r2, #0x46 - strh r0, [r2, #0x0] - asr r0, r0, #0x4 - lsl r3, r0, #0x1 - ldr r2, _0201E9E0 ; =FX_SinCosTable_ - lsl r0, r3, #0x1 - ldrsh r0, [r2, r0] - str r0, [r1, #0x0] - add r0, r3, #0x1 - lsl r0, r0, #0x1 - ldrsh r0, [r2, r0] - mov r2, #0x0 - str r0, [r1, #0x4] - ldr r0, _0201E9E4 ; =0x00001555 - str r0, [r1, #0x8] - mov r0, #0x96 - lsl r0, r0, #0xc - str r0, [r1, #0xc] - mov r0, #0xe1 - lsl r0, r0, #0xe - str r0, [r1, #0x10] - mov r0, #0x1 - str r2, [r1, #0x2c] - lsl r0, r0, #0xc - str r0, [r1, #0x30] - str r2, [r1, #0x34] - str r2, [r1, #0x54] - str r2, [r1, #0x58] - str r2, [r1, #0x5c] - str r2, [r1, #0x60] - str r2, [r1, #0x64] - bx lr - nop -_0201E9E0: .word FX_SinCosTable_ -_0201E9E4: .word 0x00001555 - - thumb_func_start FUN_0201E9E8 -FUN_0201E9E8: ; 0x0201E9E8 - ldr r2, [r0, #0x58] - cmp r2, #0x0 - bne _0201E9F2 - mov r2, #0x0 - str r2, [r1, #0x0] -_0201E9F2: - ldr r2, [r0, #0x5c] - cmp r2, #0x0 - bne _0201E9FC - mov r2, #0x0 - str r2, [r1, #0x4] -_0201E9FC: - ldr r0, [r0, #0x60] - cmp r0, #0x0 - bne _0201EA06 - mov r0, #0x0 - str r0, [r1, #0x8] -_0201EA06: - bx lr - - thumb_func_start FUN_0201EA08 -FUN_0201EA08: ; 0x0201EA08 - push {r3-r7, lr} - add r5, r0, #0x0 - ldr r7, [r5, #0x64] - add r4, r1, #0x0 - add r6, r2, #0x0 - cmp r7, #0x0 - bne _0201EA20 - ldmia r4!, {r0-r1} - stmia r6!, {r0-r1} - ldr r0, [r4, #0x0] - str r0, [r6, #0x0] - pop {r3-r7, pc} -_0201EA20: - add r0, r7, #0x0 - str r0, [sp, #0x0] - add r0, #0x8 - str r0, [sp, #0x0] - ldr r0, [r7, #0x10] - cmp r0, #0x0 - bne _0201EA48 - add r3, r4, #0x0 - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - ldr r0, [r5, #0x64] - ldr r2, [r7, #0x4] - ldr r1, [r0, #0xc] - cmp r2, r1 - bne _0201EA5C - mov r1, #0x1 - str r1, [r0, #0x10] - b _0201EA5C -_0201EA48: - ldr r2, [r7, #0x4] - mov r1, #0xc - mul r1, r2 - ldr r0, [r7, #0x20] - add r2, r6, #0x0 - add r3, r0, r1 - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] -_0201EA5C: - ldr r1, [r5, #0x64] - ldr r0, [r7, #0x4] - ldr r1, [r1, #0x0] - add r0, r0, #0x1 - bl _s32_div_f - str r1, [r7, #0x4] - ldr r1, [sp, #0x0] - ldr r0, [r5, #0x64] - ldr r2, [r1, #0x0] - mov r1, #0xc - ldr r0, [r0, #0x20] - mul r1, r2 - add r3, r4, #0x0 - add r2, r0, r1 - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - ldr r0, [sp, #0x0] - ldr r1, [r5, #0x64] - ldr r0, [r0, #0x0] - ldr r1, [r1, #0x0] - add r0, r0, #0x1 - bl _s32_div_f - ldr r0, [sp, #0x0] - str r1, [r0, #0x0] - ldr r0, [r5, #0x64] - ldr r0, [r0, #0x14] - cmp r0, #0x0 - bne _0201EAA0 - ldr r0, [r4, #0x0] - str r0, [r6, #0x0] -_0201EAA0: - ldr r0, [r5, #0x64] - ldr r0, [r0, #0x18] - cmp r0, #0x0 - bne _0201EAAC - ldr r0, [r4, #0x4] - str r0, [r6, #0x4] -_0201EAAC: - ldr r0, [r5, #0x64] - ldr r0, [r0, #0x1c] - cmp r0, #0x0 - bne _0201EAB8 - ldr r0, [r4, #0x8] - str r0, [r6, #0x8] -_0201EAB8: - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_0201EABC -FUN_0201EABC: ; 0x0201EABC - push {r3-r7, lr} - add r5, r0, #0x0 - ldr r0, [sp, #0x18] - add r7, r1, #0x0 - str r0, [sp, #0x18] - ldr r0, [r0, #0x54] - add r6, r2, #0x0 - str r3, [sp, #0x0] - cmp r0, #0x0 - beq _0201EB46 - add r0, r7, #0x1 - cmp r0, r5 - ble _0201EADA - bl GF_AssertFail -_0201EADA: - ldr r0, [sp, #0x0] - mov r1, #0x24 - bl AllocFromHeap - add r4, r0, #0x0 - mov r1, #0xc - ldr r0, [sp, #0x0] - mul r1, r5 - bl AllocFromHeap - mov r1, #0x0 - str r0, [r4, #0x20] - cmp r5, #0x0 - ble _0201EB12 - add r2, r1, #0x0 - add r0, r1, #0x0 -_0201EAFA: - ldr r3, [r4, #0x20] - add r1, r1, #0x1 - str r0, [r3, r2] - ldr r3, [r4, #0x20] - add r3, r3, r2 - str r0, [r3, #0x4] - ldr r3, [r4, #0x20] - add r3, r3, r2 - str r0, [r3, #0x8] - add r2, #0xc - cmp r1, r5 - blt _0201EAFA -_0201EB12: - str r5, [r4, #0x0] - mov r0, #0x0 - str r0, [r4, #0x4] - str r7, [r4, #0x8] - str r7, [r4, #0xc] - str r0, [r4, #0x10] - str r0, [r4, #0x14] - str r0, [r4, #0x18] - str r0, [r4, #0x1c] - mov r0, #0x1 - add r1, r6, #0x0 - tst r1, r0 - beq _0201EB2E - str r0, [r4, #0x14] -_0201EB2E: - mov r0, #0x2 - tst r0, r6 - beq _0201EB38 - mov r0, #0x1 - str r0, [r4, #0x18] -_0201EB38: - mov r0, #0x4 - tst r0, r6 - beq _0201EB42 - mov r0, #0x1 - str r0, [r4, #0x1c] -_0201EB42: - ldr r0, [sp, #0x18] - str r4, [r0, #0x64] -_0201EB46: - pop {r3-r7, pc} - - thumb_func_start FUN_0201EB48 -FUN_0201EB48: ; 0x0201EB48 - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x64] - cmp r0, #0x0 - beq _0201EB62 - ldr r0, [r0, #0x20] - bl FreeToHeap - ldr r0, [r4, #0x64] - bl FreeToHeap - mov r0, #0x0 - str r0, [r4, #0x64] -_0201EB62: - pop {r4, pc} - - thumb_func_start FUN_0201EB64 -FUN_0201EB64: ; 0x0201EB64 - ldr r3, _0201EB6C ; =AllocFromHeap - mov r1, #0x68 - bx r3 - nop -_0201EB6C: .word AllocFromHeap - - thumb_func_start FUN_0201EB70 -FUN_0201EB70: ; 0x0201EB70 - ldr r3, _0201EB74 ; =FreeToHeap - bx r3 - .balign 4 -_0201EB74: .word FreeToHeap - - thumb_func_start FUN_0201EB78 -FUN_0201EB78: ; 0x0201EB78 - push {r3-r4} - add r4, r0, #0x0 - add r3, r1, #0x0 - mov r2, #0xd -_0201EB80: - ldmia r4!, {r0-r1} - stmia r3!, {r0-r1} - sub r2, r2, #0x1 - bne _0201EB80 - pop {r3-r4} - bx lr - - thumb_func_start FUN_0201EB8C -FUN_0201EB8C: ; 0x0201EB8C - ldr r1, _0201EB94 ; =UNK_021C59A4 - str r0, [r1, #0x0] - bx lr - nop -_0201EB94: .word UNK_021C59A4 - - thumb_func_start FUN_0201EB98 -FUN_0201EB98: ; 0x0201EB98 - ldr r0, _0201EBA0 ; =UNK_021C59A4 - mov r1, #0x0 - str r1, [r0, #0x0] - bx lr - .balign 4 -_0201EBA0: .word UNK_021C59A4 - - thumb_func_start FUN_0201EBA4 -FUN_0201EBA4: ; 0x0201EBA4 - push {r3-r6, lr} - sub sp, #0x1c - ldr r0, _0201EC40 ; =UNK_021C59A4 - ldr r1, [r0, #0x0] - cmp r1, #0x0 - beq _0201EC3A - ldr r0, [r1, #0x54] - cmp r0, #0x0 - beq _0201EBEE - add r1, #0x48 - add r2, sp, #0x10 - bl VEC_Subtract - ldr r0, _0201EC40 ; =UNK_021C59A4 - add r1, sp, #0x10 - ldr r0, [r0, #0x0] - bl FUN_0201E9E8 - ldr r0, _0201EC40 ; =UNK_021C59A4 - add r1, sp, #0x10 - ldr r0, [r0, #0x0] - add r2, sp, #0x4 - bl FUN_0201EA08 - ldr r1, _0201EC40 ; =UNK_021C59A4 - add r0, sp, #0x4 - ldr r1, [r1, #0x0] - bl FUN_0201EF70 - ldr r0, _0201EC40 ; =UNK_021C59A4 - ldr r3, [r0, #0x0] - ldr r2, [r3, #0x54] - add r3, #0x48 - ldmia r2!, {r0-r1} - stmia r3!, {r0-r1} - ldr r0, [r2, #0x0] - str r0, [r3, #0x0] -_0201EBEE: - ldr r0, _0201EC40 ; =UNK_021C59A4 - ldr r5, _0201EC44 ; =NNS_G3dGlb + 0x240 - ldr r4, [r0, #0x0] - add r3, r4, #0x0 - add r2, r4, #0x0 - add r4, #0x14 - add r6, r4, #0x0 - ldmia r6!, {r0-r1} - stmia r5!, {r0-r1} - ldr r0, [r6, #0x0] - add r2, #0x2c - str r0, [r5, #0x0] - add r6, r2, #0x0 - ldr r5, _0201EC48 ; =NNS_G3dGlb + 0x24C - ldmia r6!, {r0-r1} - stmia r5!, {r0-r1} - ldr r0, [r6, #0x0] - add r3, #0x20 - str r0, [r5, #0x0] - add r6, r3, #0x0 - ldr r5, _0201EC4C ; =NNS_G3dGlb + 0x258 - ldmia r6!, {r0-r1} - stmia r5!, {r0-r1} - ldr r0, [r6, #0x0] - add r1, r2, #0x0 - str r0, [r5, #0x0] - ldr r0, _0201EC50 ; =NNS_G3dGlb + 0x4C - add r2, r3, #0x0 - str r0, [sp, #0x0] - add r0, r4, #0x0 - mov r3, #0x0 - bl G3i_LookAt_ - ldr r1, _0201EC54 ; =NNS_G3dGlb + 0x80 - mov r0, #0xe8 - ldr r2, [r1, #0x7c] - bic r2, r0 - str r2, [r1, #0x7c] -_0201EC3A: - add sp, #0x1c - pop {r3-r6, pc} - nop -_0201EC40: .word UNK_021C59A4 -_0201EC44: .word NNS_G3dGlb + 0x240 -_0201EC48: .word NNS_G3dGlb + 0x24C -_0201EC4C: .word NNS_G3dGlb + 0x258 -_0201EC50: .word NNS_G3dGlb + 0x4C -_0201EC54: .word NNS_G3dGlb + 0x80 - - thumb_func_start FUN_0201EC58 -FUN_0201EC58: ; 0x0201EC58 - add r3, r0, #0x0 - add r2, r1, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x2c - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - bx lr - - thumb_func_start FUN_0201EC68 -FUN_0201EC68: ; 0x0201EC68 - push {r3-r4} - add r3, r1, #0x0 - add r4, r0, #0x0 - str r4, [r3, #0x54] - add r2, r3, #0x0 - ldmia r4!, {r0-r1} - add r2, #0x48 - stmia r2!, {r0-r1} - ldr r0, [r4, #0x0] - str r0, [r2, #0x0] - mov r0, #0x1 - str r0, [r3, #0x58] - str r0, [r3, #0x5c] - str r0, [r3, #0x60] - pop {r3-r4} - bx lr - - thumb_func_start FUN_0201EC88 -FUN_0201EC88: ; 0x0201EC88 - mov r1, #0x0 - str r1, [r0, #0x54] - str r1, [r0, #0x58] - str r1, [r0, #0x5c] - str r1, [r0, #0x60] - bx lr - - thumb_func_start FUN_0201EC94 -FUN_0201EC94: ; 0x0201EC94 - str r0, [r2, #0xc] - add r0, r2, #0x0 - str r1, [r2, #0x10] - add r0, #0x44 - ldr r3, _0201ECA4 ; =FUN_0201EE2C - ldrb r0, [r0, #0x0] - add r1, r2, #0x0 - bx r3 - .balign 4 -_0201ECA4: .word FUN_0201EE2C - - thumb_func_start FUN_0201ECA8 -FUN_0201ECA8: ; 0x0201ECA8 - push {r3-r7, lr} - ldr r4, [sp, #0x20] - add r5, r0, #0x0 - add r7, r1, #0x0 - add r0, r3, #0x0 - add r1, r4, #0x0 - add r6, r2, #0x0 - bl FUN_0201E99C - add r3, r5, #0x0 - add r2, r4, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x20 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - str r7, [r4, #0x38] - ldrh r0, [r6, #0x0] - strh r0, [r4, #0x3c] - ldrh r0, [r6, #0x2] - strh r0, [r4, #0x3e] - add r0, r4, #0x0 - ldrh r1, [r6, #0x4] - add r0, #0x40 - strh r1, [r0, #0x0] - add r0, r4, #0x0 - ldrh r1, [r6, #0x6] - add r0, #0x42 - strh r1, [r0, #0x0] - add r0, r4, #0x0 - bl FUN_0201E7D8 - add r0, sp, #0x8 - ldrb r0, [r0, #0x10] - add r1, r4, #0x0 - bl FUN_0201EE2C - ldr r0, [sp, #0x1c] - cmp r0, #0x0 - beq _0201ED0E - str r5, [r4, #0x54] - add r2, r4, #0x0 - ldmia r5!, {r0-r1} - add r2, #0x48 - stmia r2!, {r0-r1} - ldr r0, [r5, #0x0] - str r0, [r2, #0x0] - mov r0, #0x1 - str r0, [r4, #0x58] - str r0, [r4, #0x5c] - str r0, [r4, #0x60] -_0201ED0E: - pop {r3-r7, pc} - - thumb_func_start FUN_0201ED10 -FUN_0201ED10: ; 0x0201ED10 - push {r3-r7, lr} - ldr r4, [sp, #0x1c] - add r6, r0, #0x0 - add r7, r1, #0x0 - add r0, r3, #0x0 - add r1, r4, #0x0 - add r5, r2, #0x0 - bl FUN_0201E99C - add r2, r4, #0x0 - ldmia r6!, {r0-r1} - add r2, #0x14 - stmia r2!, {r0-r1} - ldr r0, [r6, #0x0] - str r0, [r2, #0x0] - str r7, [r4, #0x38] - ldrh r0, [r5, #0x0] - strh r0, [r4, #0x3c] - ldrh r0, [r5, #0x2] - strh r0, [r4, #0x3e] - add r0, r4, #0x0 - ldrh r1, [r5, #0x4] - add r0, #0x40 - strh r1, [r0, #0x0] - add r0, r4, #0x0 - ldrh r1, [r5, #0x6] - add r0, #0x42 - strh r1, [r0, #0x0] - add r0, r4, #0x0 - bl FUN_0201E8B8 - add r0, sp, #0x8 - ldrb r0, [r0, #0x10] - add r1, r4, #0x0 - bl FUN_0201EE2C - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_0201ED5C -FUN_0201ED5C: ; 0x0201ED5C - push {r4-r7, lr} - sub sp, #0x3c - ldr r4, [sp, #0x54] - add r5, r0, #0x0 - add r6, r1, #0x0 - add r0, r2, #0x0 - add r1, r4, #0x0 - add r7, r3, #0x0 - bl FUN_0201E99C - add r3, r5, #0x0 - add r2, r4, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x20 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - add r3, r6, #0x0 - str r0, [r2, #0x0] - add r2, r4, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x14 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - add r1, r5, #0x0 - str r0, [r2, #0x0] - add r0, r6, #0x0 - add r2, sp, #0x30 - bl VEC_Subtract - add r0, sp, #0x30 - bl VEC_Mag - str r0, [r4, #0x38] - mov r6, #0x0 - add r0, sp, #0x24 - str r6, [r0, #0x0] - str r6, [r0, #0x4] - str r6, [r0, #0x8] - add r0, sp, #0x18 - str r6, [r0, #0x0] - str r6, [r0, #0x4] - str r6, [r0, #0x8] - add r0, sp, #0xc - str r6, [r0, #0x0] - str r6, [r0, #0x4] - str r6, [r0, #0x8] - mov r0, #0x1 - lsl r0, r0, #0xc - add r3, sp, #0x30 - str r0, [sp, #0x8] - ldmia r3!, {r0-r1} - add r2, sp, #0xc - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r6, [sp, #0x0] - str r0, [r2, #0x0] - str r6, [sp, #0x4] - str r6, [sp, #0x10] - add r0, sp, #0x0 - add r1, sp, #0xc - bl FUN_0201C7B0 - strh r0, [r4, #0x3e] - add r1, r6, #0x0 - mov r0, #0x1 - lsl r0, r0, #0xc - str r0, [sp, #0x0] - ldr r0, [sp, #0x38] - str r1, [sp, #0x4] - str r0, [sp, #0xc] - ldr r0, [sp, #0x34] - str r1, [sp, #0x8] - str r0, [sp, #0x14] - str r1, [sp, #0x10] - add r0, sp, #0x0 - add r1, sp, #0xc - bl FUN_0201C7B0 - strh r0, [r4, #0x3c] - add r0, r4, #0x0 - add r1, r6, #0x0 - add r0, #0x40 - strh r1, [r0, #0x0] - add r0, r7, #0x0 - add r1, r4, #0x0 - bl FUN_0201EE2C - ldr r0, [sp, #0x50] - cmp r0, #0x0 - beq _0201EE26 - str r5, [r4, #0x54] - add r2, r4, #0x0 - ldmia r5!, {r0-r1} - add r2, #0x48 - stmia r2!, {r0-r1} - ldr r0, [r5, #0x0] - str r0, [r2, #0x0] - mov r0, #0x1 - str r0, [r4, #0x58] - str r0, [r4, #0x5c] - str r0, [r4, #0x60] -_0201EE26: - add sp, #0x3c - pop {r4-r7, pc} - .balign 4 - - thumb_func_start FUN_0201EE2C -FUN_0201EE2C: ; 0x0201EE2C - push {r3-r6, lr} - sub sp, #0x14 - add r5, r1, #0x0 - cmp r0, #0x0 - bne _0201EE6C - ldr r0, [r5, #0x10] - str r0, [sp, #0x0] - mov r0, #0x1 - lsl r0, r0, #0xc - str r0, [sp, #0x4] - mov r0, #0x0 - str r0, [sp, #0x8] - ldr r0, _0201EEE4 ; =NNS_G3dGlb + 0x8 - str r0, [sp, #0xc] - ldr r0, [r5, #0x0] - ldr r1, [r5, #0x4] - ldr r2, [r5, #0x8] - ldr r3, [r5, #0xc] - bl G3i_PerspectiveW_ - ldr r1, _0201EEE8 ; =NNS_G3dGlb + 0x80 - mov r0, #0x50 - ldr r2, [r1, #0x7c] - add r5, #0x44 - bic r2, r0 - str r2, [r1, #0x7c] - mov r1, #0x0 - ldr r0, _0201EEEC ; =UNK_02105BB8 - strb r1, [r5, #0x0] - str r1, [r0, #0x0] - add sp, #0x14 - pop {r3-r6, pc} -_0201EE6C: - ldr r4, [r5, #0x38] - ldr r0, [r5, #0x0] - ldr r1, [r5, #0x4] - bl FX_Div - asr r1, r0, #0x1f - asr r3, r4, #0x1f - add r2, r4, #0x0 - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r2, r0, r2 - adc r1, r3 - lsr r4, r2, #0xc - lsl r0, r1, #0x14 - orr r4, r0 - ldr r2, [r5, #0x8] - asr r1, r4, #0x1f - add r0, r4, #0x0 - asr r3, r2, #0x1f - bl _ll_mul - mov r6, #0x2 - mov r2, #0x0 - lsl r6, r6, #0xa - add r3, r0, r6 - adc r1, r2 - lsl r0, r1, #0x14 - lsr r3, r3, #0xc - orr r3, r0 - ldr r0, [r5, #0xc] - neg r1, r4 - str r0, [sp, #0x0] - ldr r0, [r5, #0x10] - str r0, [sp, #0x4] - lsl r0, r6, #0x1 - str r0, [sp, #0x8] - str r2, [sp, #0xc] - ldr r0, _0201EEE4 ; =NNS_G3dGlb + 0x8 - neg r2, r3 - str r0, [sp, #0x10] - add r0, r4, #0x0 - bl G3i_OrthoW_ - ldr r1, _0201EEE8 ; =NNS_G3dGlb + 0x80 - mov r0, #0x50 - ldr r2, [r1, #0x7c] - add r5, #0x44 - bic r2, r0 - str r2, [r1, #0x7c] - mov r0, #0x1 - strb r0, [r5, #0x0] - ldr r0, _0201EEEC ; =UNK_02105BB8 - mov r1, #0x0 - str r1, [r0, #0x0] - add sp, #0x14 - pop {r3-r6, pc} - nop -_0201EEE4: .word NNS_G3dGlb + 0x8 -_0201EEE8: .word NNS_G3dGlb + 0x80 -_0201EEEC: .word UNK_02105BB8 - - thumb_func_start FUN_0201EEF0 -FUN_0201EEF0: ; 0x0201EEF0 - add r2, r1, #0x0 - add r2, #0x46 - strh r0, [r2, #0x0] - add r0, r1, #0x0 - add r0, #0x46 - ldrh r0, [r0, #0x0] - ldr r3, _0201EF24 ; =FUN_0201EE2C - asr r0, r0, #0x4 - lsl r2, r0, #0x2 - ldr r0, _0201EF28 ; =FX_SinCosTable_ - ldrsh r2, [r0, r2] - str r2, [r1, #0x0] - add r2, r1, #0x0 - add r2, #0x46 - ldrh r2, [r2, #0x0] - asr r2, r2, #0x4 - lsl r2, r2, #0x1 - add r2, r2, #0x1 - lsl r2, r2, #0x1 - ldrsh r0, [r0, r2] - str r0, [r1, #0x4] - add r0, r1, #0x0 - add r0, #0x44 - ldrb r0, [r0, #0x0] - bx r3 - nop -_0201EF24: .word FUN_0201EE2C -_0201EF28: .word FX_SinCosTable_ - - thumb_func_start FUN_0201EF2C -FUN_0201EF2C: ; 0x0201EF2C - add r2, r1, #0x0 - add r2, #0x46 - ldrh r2, [r2, #0x0] - ldr r3, _0201EF68 ; =FUN_0201EE2C - add r2, r2, r0 - add r0, r1, #0x0 - add r0, #0x46 - strh r2, [r0, #0x0] - add r0, r1, #0x0 - add r0, #0x46 - ldrh r0, [r0, #0x0] - asr r0, r0, #0x4 - lsl r2, r0, #0x2 - ldr r0, _0201EF6C ; =FX_SinCosTable_ - ldrsh r2, [r0, r2] - str r2, [r1, #0x0] - add r2, r1, #0x0 - add r2, #0x46 - ldrh r2, [r2, #0x0] - asr r2, r2, #0x4 - lsl r2, r2, #0x1 - add r2, r2, #0x1 - lsl r2, r2, #0x1 - ldrsh r0, [r0, r2] - str r0, [r1, #0x4] - add r0, r1, #0x0 - add r0, #0x44 - ldrb r0, [r0, #0x0] - bx r3 - nop -_0201EF68: .word FUN_0201EE2C -_0201EF6C: .word FX_SinCosTable_ - - thumb_func_start FUN_0201EF70 -FUN_0201EF70: ; 0x0201EF70 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x14 - add r1, r5, #0x0 - add r2, r0, #0x0 - bl VEC_Add - add r4, #0x20 - add r0, r4, #0x0 - add r1, r5, #0x0 - add r2, r4, #0x0 - bl VEC_Add - pop {r3-r5, pc} - - thumb_func_start FUN_0201EF90 -FUN_0201EF90: ; 0x0201EF90 - ldrh r2, [r0, #0x0] - strh r2, [r1, #0x3c] - ldrh r2, [r0, #0x2] - strh r2, [r1, #0x3e] - add r2, r1, #0x0 - ldrh r3, [r0, #0x4] - add r2, #0x40 - strh r3, [r2, #0x0] - ldrh r2, [r0, #0x6] - add r0, r1, #0x0 - add r0, #0x42 - strh r2, [r0, #0x0] - ldr r3, _0201EFB0 ; =FUN_0201E7D8 - add r0, r1, #0x0 - bx r3 - nop -_0201EFB0: .word FUN_0201E7D8 - - thumb_func_start FUN_0201EFB4 -FUN_0201EFB4: ; 0x0201EFB4 - ldrh r3, [r1, #0x3c] - ldrh r2, [r0, #0x0] - add r2, r3, r2 - strh r2, [r1, #0x3c] - ldrh r3, [r1, #0x3e] - ldrh r2, [r0, #0x2] - add r2, r3, r2 - strh r2, [r1, #0x3e] - add r2, r1, #0x0 - add r2, #0x40 - ldrh r2, [r2, #0x0] - ldrh r0, [r0, #0x4] - ldr r3, _0201EFDC ; =FUN_0201E8B8 - add r2, r2, r0 - add r0, r1, #0x0 - add r0, #0x40 - strh r2, [r0, #0x0] - add r0, r1, #0x0 - bx r3 - nop -_0201EFDC: .word FUN_0201E8B8 - - thumb_func_start FUN_0201EFE0 -FUN_0201EFE0: ; 0x0201EFE0 - ldr r3, _0201EFE8 ; =FUN_0201E7D8 - str r0, [r1, #0x38] - add r0, r1, #0x0 - bx r3 - .balign 4 -_0201EFE8: .word FUN_0201E7D8 - - thumb_func_start FUN_0201EFEC -FUN_0201EFEC: ; 0x0201EFEC - push {r4, lr} - add r3, r1, #0x0 - add r4, r0, #0x0 - add r2, r3, #0x0 - ldmia r4!, {r0-r1} - add r2, #0x20 - stmia r2!, {r0-r1} - ldr r0, [r4, #0x0] - str r0, [r2, #0x0] - add r0, r3, #0x0 - bl FUN_0201E7D8 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_0201F008 -FUN_0201F008: ; 0x0201F008 - add r0, #0x46 - ldrh r0, [r0, #0x0] - bx lr - .balign 4 - - thumb_func_start FUN_0201F010 -FUN_0201F010: ; 0x0201F010 - ldr r0, [r0, #0x38] - bx lr - - thumb_func_start FUN_0201F014 -FUN_0201F014: ; 0x0201F014 - ldrh r2, [r1, #0x3c] - strh r2, [r0, #0x0] - ldrh r2, [r1, #0x3e] - strh r2, [r0, #0x2] - add r2, r1, #0x0 - add r2, #0x40 - ldrh r2, [r2, #0x0] - add r1, #0x42 - strh r2, [r0, #0x4] - ldrh r1, [r1, #0x0] - strh r1, [r0, #0x6] - bx lr - - thumb_func_start FUN_0201F02C -FUN_0201F02C: ; 0x0201F02C - add r2, r1, #0x0 - add r2, #0x20 - add r3, r0, #0x0 - ldmia r2!, {r0-r1} - stmia r3!, {r0-r1} - ldr r0, [r2, #0x0] - str r0, [r3, #0x0] - bx lr - - thumb_func_start FUN_0201F03C -FUN_0201F03C: ; 0x0201F03C - add r2, r1, #0x0 - add r2, #0x14 - add r3, r0, #0x0 - ldmia r2!, {r0-r1} - stmia r3!, {r0-r1} - ldr r0, [r2, #0x0] - str r0, [r3, #0x0] - bx lr - - thumb_func_start FUN_0201F04C -FUN_0201F04C: ; 0x0201F04C - add r3, r0, #0x0 - add r2, r1, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x20 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - bx lr - - thumb_func_start FUN_0201F05C -FUN_0201F05C: ; 0x0201F05C - add r3, r0, #0x0 - add r2, r1, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x14 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - bx lr diff --git a/arm9/asm/unk_0201E7D8_s.s b/arm9/asm/unk_0201E7D8_s.s new file mode 100644 index 00000000..6a0f205f --- /dev/null +++ b/arm9/asm/unk_0201E7D8_s.s @@ -0,0 +1,800 @@ + .include "asm/macros.inc" + .include "global.inc" + + .extern NNS_G3dGlb + .extern FX_SinCosTable_ + .extern UNK_02105BB8 + .extern UNK_021C59A4 + + .text + + .extern FUN_0201E7D8 + .extern FUN_0201E8B8 + .extern FUN_0201E99C + .extern FUN_0201E9E8 + .extern FUN_0201EA08 + + thumb_func_start FUN_0201EABC +FUN_0201EABC: ; 0x0201EABC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [sp, #0x18] + add r7, r1, #0x0 + str r0, [sp, #0x18] + ldr r0, [r0, #0x54] + add r6, r2, #0x0 + str r3, [sp, #0x0] + cmp r0, #0x0 + beq _0201EB46 + add r0, r7, #0x1 + cmp r0, r5 + ble _0201EADA + bl GF_AssertFail +_0201EADA: + ldr r0, [sp, #0x0] + mov r1, #0x24 + bl AllocFromHeap + add r4, r0, #0x0 + mov r1, #0xc + ldr r0, [sp, #0x0] + mul r1, r5 + bl AllocFromHeap + mov r1, #0x0 + str r0, [r4, #0x20] + cmp r5, #0x0 + ble _0201EB12 + add r2, r1, #0x0 + add r0, r1, #0x0 +_0201EAFA: + ldr r3, [r4, #0x20] + add r1, r1, #0x1 + str r0, [r3, r2] + ldr r3, [r4, #0x20] + add r3, r3, r2 + str r0, [r3, #0x4] + ldr r3, [r4, #0x20] + add r3, r3, r2 + str r0, [r3, #0x8] + add r2, #0xc + cmp r1, r5 + blt _0201EAFA +_0201EB12: + str r5, [r4, #0x0] + mov r0, #0x0 + str r0, [r4, #0x4] + str r7, [r4, #0x8] + str r7, [r4, #0xc] + str r0, [r4, #0x10] + str r0, [r4, #0x14] + str r0, [r4, #0x18] + str r0, [r4, #0x1c] + mov r0, #0x1 + add r1, r6, #0x0 + tst r1, r0 + beq _0201EB2E + str r0, [r4, #0x14] +_0201EB2E: + mov r0, #0x2 + tst r0, r6 + beq _0201EB38 + mov r0, #0x1 + str r0, [r4, #0x18] +_0201EB38: + mov r0, #0x4 + tst r0, r6 + beq _0201EB42 + mov r0, #0x1 + str r0, [r4, #0x1c] +_0201EB42: + ldr r0, [sp, #0x18] + str r4, [r0, #0x64] +_0201EB46: + pop {r3-r7, pc} + + thumb_func_start FUN_0201EB48 +FUN_0201EB48: ; 0x0201EB48 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x64] + cmp r0, #0x0 + beq _0201EB62 + ldr r0, [r0, #0x20] + bl FreeToHeap + ldr r0, [r4, #0x64] + bl FreeToHeap + mov r0, #0x0 + str r0, [r4, #0x64] +_0201EB62: + pop {r4, pc} + + thumb_func_start FUN_0201EB64 +FUN_0201EB64: ; 0x0201EB64 + ldr r3, _0201EB6C ; =AllocFromHeap + mov r1, #0x68 + bx r3 + nop +_0201EB6C: .word AllocFromHeap + + thumb_func_start FUN_0201EB70 +FUN_0201EB70: ; 0x0201EB70 + ldr r3, _0201EB74 ; =FreeToHeap + bx r3 + .balign 4 +_0201EB74: .word FreeToHeap + + thumb_func_start FUN_0201EB78 +FUN_0201EB78: ; 0x0201EB78 + push {r3-r4} + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r2, #0xd +_0201EB80: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0201EB80 + pop {r3-r4} + bx lr + + thumb_func_start FUN_0201EB8C +FUN_0201EB8C: ; 0x0201EB8C + ldr r1, _0201EB94 ; =UNK_021C59A4 + str r0, [r1, #0x0] + bx lr + nop +_0201EB94: .word UNK_021C59A4 + + thumb_func_start FUN_0201EB98 +FUN_0201EB98: ; 0x0201EB98 + ldr r0, _0201EBA0 ; =UNK_021C59A4 + mov r1, #0x0 + str r1, [r0, #0x0] + bx lr + .balign 4 +_0201EBA0: .word UNK_021C59A4 + + thumb_func_start FUN_0201EBA4 +FUN_0201EBA4: ; 0x0201EBA4 + push {r3-r6, lr} + sub sp, #0x1c + ldr r0, _0201EC40 ; =UNK_021C59A4 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0201EC3A + ldr r0, [r1, #0x54] + cmp r0, #0x0 + beq _0201EBEE + add r1, #0x48 + add r2, sp, #0x10 + bl VEC_Subtract + ldr r0, _0201EC40 ; =UNK_021C59A4 + add r1, sp, #0x10 + ldr r0, [r0, #0x0] + bl FUN_0201E9E8 + ldr r0, _0201EC40 ; =UNK_021C59A4 + add r1, sp, #0x10 + ldr r0, [r0, #0x0] + add r2, sp, #0x4 + bl FUN_0201EA08 + ldr r1, _0201EC40 ; =UNK_021C59A4 + add r0, sp, #0x4 + ldr r1, [r1, #0x0] + bl FUN_0201EF70 + ldr r0, _0201EC40 ; =UNK_021C59A4 + ldr r3, [r0, #0x0] + ldr r2, [r3, #0x54] + add r3, #0x48 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] +_0201EBEE: + ldr r0, _0201EC40 ; =UNK_021C59A4 + ldr r5, _0201EC44 ; =NNS_G3dGlb + 0x240 + ldr r4, [r0, #0x0] + add r3, r4, #0x0 + add r2, r4, #0x0 + add r4, #0x14 + add r6, r4, #0x0 + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + add r2, #0x2c + str r0, [r5, #0x0] + add r6, r2, #0x0 + ldr r5, _0201EC48 ; =NNS_G3dGlb + 0x24C + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + add r3, #0x20 + str r0, [r5, #0x0] + add r6, r3, #0x0 + ldr r5, _0201EC4C ; =NNS_G3dGlb + 0x258 + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + add r1, r2, #0x0 + str r0, [r5, #0x0] + ldr r0, _0201EC50 ; =NNS_G3dGlb + 0x4C + add r2, r3, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl G3i_LookAt_ + ldr r1, _0201EC54 ; =NNS_G3dGlb + 0x80 + mov r0, #0xe8 + ldr r2, [r1, #0x7c] + bic r2, r0 + str r2, [r1, #0x7c] +_0201EC3A: + add sp, #0x1c + pop {r3-r6, pc} + nop +_0201EC40: .word UNK_021C59A4 +_0201EC44: .word NNS_G3dGlb + 0x240 +_0201EC48: .word NNS_G3dGlb + 0x24C +_0201EC4C: .word NNS_G3dGlb + 0x258 +_0201EC50: .word NNS_G3dGlb + 0x4C +_0201EC54: .word NNS_G3dGlb + 0x80 + + thumb_func_start FUN_0201EC58 +FUN_0201EC58: ; 0x0201EC58 + add r3, r0, #0x0 + add r2, r1, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x2c + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start FUN_0201EC68 +FUN_0201EC68: ; 0x0201EC68 + push {r3-r4} + add r3, r1, #0x0 + add r4, r0, #0x0 + str r4, [r3, #0x54] + add r2, r3, #0x0 + ldmia r4!, {r0-r1} + add r2, #0x48 + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] + mov r0, #0x1 + str r0, [r3, #0x58] + str r0, [r3, #0x5c] + str r0, [r3, #0x60] + pop {r3-r4} + bx lr + + thumb_func_start FUN_0201EC88 +FUN_0201EC88: ; 0x0201EC88 + mov r1, #0x0 + str r1, [r0, #0x54] + str r1, [r0, #0x58] + str r1, [r0, #0x5c] + str r1, [r0, #0x60] + bx lr + + thumb_func_start FUN_0201EC94 +FUN_0201EC94: ; 0x0201EC94 + str r0, [r2, #0xc] + add r0, r2, #0x0 + str r1, [r2, #0x10] + add r0, #0x44 + ldr r3, _0201ECA4 ; =FUN_0201EE2C + ldrb r0, [r0, #0x0] + add r1, r2, #0x0 + bx r3 + .balign 4 +_0201ECA4: .word FUN_0201EE2C + + thumb_func_start FUN_0201ECA8 +FUN_0201ECA8: ; 0x0201ECA8 + push {r3-r7, lr} + ldr r4, [sp, #0x20] + add r5, r0, #0x0 + add r7, r1, #0x0 + add r0, r3, #0x0 + add r1, r4, #0x0 + add r6, r2, #0x0 + bl FUN_0201E99C + add r3, r5, #0x0 + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x20 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + str r7, [r4, #0x38] + ldrh r0, [r6, #0x0] + strh r0, [r4, #0x3c] + ldrh r0, [r6, #0x2] + strh r0, [r4, #0x3e] + add r0, r4, #0x0 + ldrh r1, [r6, #0x4] + add r0, #0x40 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + ldrh r1, [r6, #0x6] + add r0, #0x42 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + bl FUN_0201E7D8 + add r0, sp, #0x8 + ldrb r0, [r0, #0x10] + add r1, r4, #0x0 + bl FUN_0201EE2C + ldr r0, [sp, #0x1c] + cmp r0, #0x0 + beq _0201ED0E + str r5, [r4, #0x54] + add r2, r4, #0x0 + ldmia r5!, {r0-r1} + add r2, #0x48 + stmia r2!, {r0-r1} + ldr r0, [r5, #0x0] + str r0, [r2, #0x0] + mov r0, #0x1 + str r0, [r4, #0x58] + str r0, [r4, #0x5c] + str r0, [r4, #0x60] +_0201ED0E: + pop {r3-r7, pc} + + thumb_func_start FUN_0201ED10 +FUN_0201ED10: ; 0x0201ED10 + push {r3-r7, lr} + ldr r4, [sp, #0x1c] + add r6, r0, #0x0 + add r7, r1, #0x0 + add r0, r3, #0x0 + add r1, r4, #0x0 + add r5, r2, #0x0 + bl FUN_0201E99C + add r2, r4, #0x0 + ldmia r6!, {r0-r1} + add r2, #0x14 + stmia r2!, {r0-r1} + ldr r0, [r6, #0x0] + str r0, [r2, #0x0] + str r7, [r4, #0x38] + ldrh r0, [r5, #0x0] + strh r0, [r4, #0x3c] + ldrh r0, [r5, #0x2] + strh r0, [r4, #0x3e] + add r0, r4, #0x0 + ldrh r1, [r5, #0x4] + add r0, #0x40 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + ldrh r1, [r5, #0x6] + add r0, #0x42 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + bl FUN_0201E8B8 + add r0, sp, #0x8 + ldrb r0, [r0, #0x10] + add r1, r4, #0x0 + bl FUN_0201EE2C + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0201ED5C +FUN_0201ED5C: ; 0x0201ED5C + push {r4-r7, lr} + sub sp, #0x3c + ldr r4, [sp, #0x54] + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r2, #0x0 + add r1, r4, #0x0 + add r7, r3, #0x0 + bl FUN_0201E99C + add r3, r5, #0x0 + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x20 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r3, r6, #0x0 + str r0, [r2, #0x0] + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x14 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r1, r5, #0x0 + str r0, [r2, #0x0] + add r0, r6, #0x0 + add r2, sp, #0x30 + bl VEC_Subtract + add r0, sp, #0x30 + bl VEC_Mag + str r0, [r4, #0x38] + mov r6, #0x0 + add r0, sp, #0x24 + str r6, [r0, #0x0] + str r6, [r0, #0x4] + str r6, [r0, #0x8] + add r0, sp, #0x18 + str r6, [r0, #0x0] + str r6, [r0, #0x4] + str r6, [r0, #0x8] + add r0, sp, #0xc + str r6, [r0, #0x0] + str r6, [r0, #0x4] + str r6, [r0, #0x8] + mov r0, #0x1 + lsl r0, r0, #0xc + add r3, sp, #0x30 + str r0, [sp, #0x8] + ldmia r3!, {r0-r1} + add r2, sp, #0xc + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r6, [sp, #0x0] + str r0, [r2, #0x0] + str r6, [sp, #0x4] + str r6, [sp, #0x10] + add r0, sp, #0x0 + add r1, sp, #0xc + bl FUN_0201C7B0 + strh r0, [r4, #0x3e] + add r1, r6, #0x0 + mov r0, #0x1 + lsl r0, r0, #0xc + str r0, [sp, #0x0] + ldr r0, [sp, #0x38] + str r1, [sp, #0x4] + str r0, [sp, #0xc] + ldr r0, [sp, #0x34] + str r1, [sp, #0x8] + str r0, [sp, #0x14] + str r1, [sp, #0x10] + add r0, sp, #0x0 + add r1, sp, #0xc + bl FUN_0201C7B0 + strh r0, [r4, #0x3c] + add r0, r4, #0x0 + add r1, r6, #0x0 + add r0, #0x40 + strh r1, [r0, #0x0] + add r0, r7, #0x0 + add r1, r4, #0x0 + bl FUN_0201EE2C + ldr r0, [sp, #0x50] + cmp r0, #0x0 + beq _0201EE26 + str r5, [r4, #0x54] + add r2, r4, #0x0 + ldmia r5!, {r0-r1} + add r2, #0x48 + stmia r2!, {r0-r1} + ldr r0, [r5, #0x0] + str r0, [r2, #0x0] + mov r0, #0x1 + str r0, [r4, #0x58] + str r0, [r4, #0x5c] + str r0, [r4, #0x60] +_0201EE26: + add sp, #0x3c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start FUN_0201EE2C +FUN_0201EE2C: ; 0x0201EE2C + push {r3-r6, lr} + sub sp, #0x14 + add r5, r1, #0x0 + cmp r0, #0x0 + bne _0201EE6C + ldr r0, [r5, #0x10] + str r0, [sp, #0x0] + mov r0, #0x1 + lsl r0, r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, _0201EEE4 ; =NNS_G3dGlb + 0x8 + str r0, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + ldr r3, [r5, #0xc] + bl G3i_PerspectiveW_ + ldr r1, _0201EEE8 ; =NNS_G3dGlb + 0x80 + mov r0, #0x50 + ldr r2, [r1, #0x7c] + add r5, #0x44 + bic r2, r0 + str r2, [r1, #0x7c] + mov r1, #0x0 + ldr r0, _0201EEEC ; =UNK_02105BB8 + strb r1, [r5, #0x0] + str r1, [r0, #0x0] + add sp, #0x14 + pop {r3-r6, pc} +_0201EE6C: + ldr r4, [r5, #0x38] + ldr r0, [r5, #0x0] + ldr r1, [r5, #0x4] + bl FX_Div + asr r1, r0, #0x1f + asr r3, r4, #0x1f + add r2, r4, #0x0 + bl _ll_mul + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsr r4, r2, #0xc + lsl r0, r1, #0x14 + orr r4, r0 + ldr r2, [r5, #0x8] + asr r1, r4, #0x1f + add r0, r4, #0x0 + asr r3, r2, #0x1f + bl _ll_mul + mov r6, #0x2 + mov r2, #0x0 + lsl r6, r6, #0xa + add r3, r0, r6 + adc r1, r2 + lsl r0, r1, #0x14 + lsr r3, r3, #0xc + orr r3, r0 + ldr r0, [r5, #0xc] + neg r1, r4 + str r0, [sp, #0x0] + ldr r0, [r5, #0x10] + str r0, [sp, #0x4] + lsl r0, r6, #0x1 + str r0, [sp, #0x8] + str r2, [sp, #0xc] + ldr r0, _0201EEE4 ; =NNS_G3dGlb + 0x8 + neg r2, r3 + str r0, [sp, #0x10] + add r0, r4, #0x0 + bl G3i_OrthoW_ + ldr r1, _0201EEE8 ; =NNS_G3dGlb + 0x80 + mov r0, #0x50 + ldr r2, [r1, #0x7c] + add r5, #0x44 + bic r2, r0 + str r2, [r1, #0x7c] + mov r0, #0x1 + strb r0, [r5, #0x0] + ldr r0, _0201EEEC ; =UNK_02105BB8 + mov r1, #0x0 + str r1, [r0, #0x0] + add sp, #0x14 + pop {r3-r6, pc} + nop +_0201EEE4: .word NNS_G3dGlb + 0x8 +_0201EEE8: .word NNS_G3dGlb + 0x80 +_0201EEEC: .word UNK_02105BB8 + + thumb_func_start FUN_0201EEF0 +FUN_0201EEF0: ; 0x0201EEF0 + add r2, r1, #0x0 + add r2, #0x46 + strh r0, [r2, #0x0] + add r0, r1, #0x0 + add r0, #0x46 + ldrh r0, [r0, #0x0] + ldr r3, _0201EF24 ; =FUN_0201EE2C + asr r0, r0, #0x4 + lsl r2, r0, #0x2 + ldr r0, _0201EF28 ; =FX_SinCosTable_ + ldrsh r2, [r0, r2] + str r2, [r1, #0x0] + add r2, r1, #0x0 + add r2, #0x46 + ldrh r2, [r2, #0x0] + asr r2, r2, #0x4 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrsh r0, [r0, r2] + str r0, [r1, #0x4] + add r0, r1, #0x0 + add r0, #0x44 + ldrb r0, [r0, #0x0] + bx r3 + nop +_0201EF24: .word FUN_0201EE2C +_0201EF28: .word FX_SinCosTable_ + + thumb_func_start FUN_0201EF2C +FUN_0201EF2C: ; 0x0201EF2C + add r2, r1, #0x0 + add r2, #0x46 + ldrh r2, [r2, #0x0] + ldr r3, _0201EF68 ; =FUN_0201EE2C + add r2, r2, r0 + add r0, r1, #0x0 + add r0, #0x46 + strh r2, [r0, #0x0] + add r0, r1, #0x0 + add r0, #0x46 + ldrh r0, [r0, #0x0] + asr r0, r0, #0x4 + lsl r2, r0, #0x2 + ldr r0, _0201EF6C ; =FX_SinCosTable_ + ldrsh r2, [r0, r2] + str r2, [r1, #0x0] + add r2, r1, #0x0 + add r2, #0x46 + ldrh r2, [r2, #0x0] + asr r2, r2, #0x4 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrsh r0, [r0, r2] + str r0, [r1, #0x4] + add r0, r1, #0x0 + add r0, #0x44 + ldrb r0, [r0, #0x0] + bx r3 + nop +_0201EF68: .word FUN_0201EE2C +_0201EF6C: .word FX_SinCosTable_ + + thumb_func_start FUN_0201EF70 +FUN_0201EF70: ; 0x0201EF70 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x14 + add r1, r5, #0x0 + add r2, r0, #0x0 + bl VEC_Add + add r4, #0x20 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl VEC_Add + pop {r3-r5, pc} + + thumb_func_start FUN_0201EF90 +FUN_0201EF90: ; 0x0201EF90 + ldrh r2, [r0, #0x0] + strh r2, [r1, #0x3c] + ldrh r2, [r0, #0x2] + strh r2, [r1, #0x3e] + add r2, r1, #0x0 + ldrh r3, [r0, #0x4] + add r2, #0x40 + strh r3, [r2, #0x0] + ldrh r2, [r0, #0x6] + add r0, r1, #0x0 + add r0, #0x42 + strh r2, [r0, #0x0] + ldr r3, _0201EFB0 ; =FUN_0201E7D8 + add r0, r1, #0x0 + bx r3 + nop +_0201EFB0: .word FUN_0201E7D8 + + thumb_func_start FUN_0201EFB4 +FUN_0201EFB4: ; 0x0201EFB4 + ldrh r3, [r1, #0x3c] + ldrh r2, [r0, #0x0] + add r2, r3, r2 + strh r2, [r1, #0x3c] + ldrh r3, [r1, #0x3e] + ldrh r2, [r0, #0x2] + add r2, r3, r2 + strh r2, [r1, #0x3e] + add r2, r1, #0x0 + add r2, #0x40 + ldrh r2, [r2, #0x0] + ldrh r0, [r0, #0x4] + ldr r3, _0201EFDC ; =FUN_0201E8B8 + add r2, r2, r0 + add r0, r1, #0x0 + add r0, #0x40 + strh r2, [r0, #0x0] + add r0, r1, #0x0 + bx r3 + nop +_0201EFDC: .word FUN_0201E8B8 + + thumb_func_start FUN_0201EFE0 +FUN_0201EFE0: ; 0x0201EFE0 + ldr r3, _0201EFE8 ; =FUN_0201E7D8 + str r0, [r1, #0x38] + add r0, r1, #0x0 + bx r3 + .balign 4 +_0201EFE8: .word FUN_0201E7D8 + + thumb_func_start FUN_0201EFEC +FUN_0201EFEC: ; 0x0201EFEC + push {r4, lr} + add r3, r1, #0x0 + add r4, r0, #0x0 + add r2, r3, #0x0 + ldmia r4!, {r0-r1} + add r2, #0x20 + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] + add r0, r3, #0x0 + bl FUN_0201E7D8 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_0201F008 +FUN_0201F008: ; 0x0201F008 + add r0, #0x46 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start FUN_0201F010 +FUN_0201F010: ; 0x0201F010 + ldr r0, [r0, #0x38] + bx lr + + thumb_func_start FUN_0201F014 +FUN_0201F014: ; 0x0201F014 + ldrh r2, [r1, #0x3c] + strh r2, [r0, #0x0] + ldrh r2, [r1, #0x3e] + strh r2, [r0, #0x2] + add r2, r1, #0x0 + add r2, #0x40 + ldrh r2, [r2, #0x0] + add r1, #0x42 + strh r2, [r0, #0x4] + ldrh r1, [r1, #0x0] + strh r1, [r0, #0x6] + bx lr + + thumb_func_start FUN_0201F02C +FUN_0201F02C: ; 0x0201F02C + add r2, r1, #0x0 + add r2, #0x20 + add r3, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start FUN_0201F03C +FUN_0201F03C: ; 0x0201F03C + add r2, r1, #0x0 + add r2, #0x14 + add r3, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start FUN_0201F04C +FUN_0201F04C: ; 0x0201F04C + add r3, r0, #0x0 + add r2, r1, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x20 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start FUN_0201F05C +FUN_0201F05C: ; 0x0201F05C + add r3, r0, #0x0 + add r2, r1, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x14 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr -- cgit v1.2.3 From 53ac2be5cf4064c9e5df4a97f4233b7014acb004 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 12 Jun 2021 21:18:42 -0400 Subject: Decompile unk_0201E7D8, 2 --- arm9/asm/unk_0201E7D8_s.s | 263 +--------------------------------------------- 1 file changed, 1 insertion(+), 262 deletions(-) (limited to 'arm9/asm') diff --git a/arm9/asm/unk_0201E7D8_s.s b/arm9/asm/unk_0201E7D8_s.s index 6a0f205f..70a62da3 100644 --- a/arm9/asm/unk_0201E7D8_s.s +++ b/arm9/asm/unk_0201E7D8_s.s @@ -13,268 +13,7 @@ .extern FUN_0201E99C .extern FUN_0201E9E8 .extern FUN_0201EA08 - - thumb_func_start FUN_0201EABC -FUN_0201EABC: ; 0x0201EABC - push {r3-r7, lr} - add r5, r0, #0x0 - ldr r0, [sp, #0x18] - add r7, r1, #0x0 - str r0, [sp, #0x18] - ldr r0, [r0, #0x54] - add r6, r2, #0x0 - str r3, [sp, #0x0] - cmp r0, #0x0 - beq _0201EB46 - add r0, r7, #0x1 - cmp r0, r5 - ble _0201EADA - bl GF_AssertFail -_0201EADA: - ldr r0, [sp, #0x0] - mov r1, #0x24 - bl AllocFromHeap - add r4, r0, #0x0 - mov r1, #0xc - ldr r0, [sp, #0x0] - mul r1, r5 - bl AllocFromHeap - mov r1, #0x0 - str r0, [r4, #0x20] - cmp r5, #0x0 - ble _0201EB12 - add r2, r1, #0x0 - add r0, r1, #0x0 -_0201EAFA: - ldr r3, [r4, #0x20] - add r1, r1, #0x1 - str r0, [r3, r2] - ldr r3, [r4, #0x20] - add r3, r3, r2 - str r0, [r3, #0x4] - ldr r3, [r4, #0x20] - add r3, r3, r2 - str r0, [r3, #0x8] - add r2, #0xc - cmp r1, r5 - blt _0201EAFA -_0201EB12: - str r5, [r4, #0x0] - mov r0, #0x0 - str r0, [r4, #0x4] - str r7, [r4, #0x8] - str r7, [r4, #0xc] - str r0, [r4, #0x10] - str r0, [r4, #0x14] - str r0, [r4, #0x18] - str r0, [r4, #0x1c] - mov r0, #0x1 - add r1, r6, #0x0 - tst r1, r0 - beq _0201EB2E - str r0, [r4, #0x14] -_0201EB2E: - mov r0, #0x2 - tst r0, r6 - beq _0201EB38 - mov r0, #0x1 - str r0, [r4, #0x18] -_0201EB38: - mov r0, #0x4 - tst r0, r6 - beq _0201EB42 - mov r0, #0x1 - str r0, [r4, #0x1c] -_0201EB42: - ldr r0, [sp, #0x18] - str r4, [r0, #0x64] -_0201EB46: - pop {r3-r7, pc} - - thumb_func_start FUN_0201EB48 -FUN_0201EB48: ; 0x0201EB48 - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x64] - cmp r0, #0x0 - beq _0201EB62 - ldr r0, [r0, #0x20] - bl FreeToHeap - ldr r0, [r4, #0x64] - bl FreeToHeap - mov r0, #0x0 - str r0, [r4, #0x64] -_0201EB62: - pop {r4, pc} - - thumb_func_start FUN_0201EB64 -FUN_0201EB64: ; 0x0201EB64 - ldr r3, _0201EB6C ; =AllocFromHeap - mov r1, #0x68 - bx r3 - nop -_0201EB6C: .word AllocFromHeap - - thumb_func_start FUN_0201EB70 -FUN_0201EB70: ; 0x0201EB70 - ldr r3, _0201EB74 ; =FreeToHeap - bx r3 - .balign 4 -_0201EB74: .word FreeToHeap - - thumb_func_start FUN_0201EB78 -FUN_0201EB78: ; 0x0201EB78 - push {r3-r4} - add r4, r0, #0x0 - add r3, r1, #0x0 - mov r2, #0xd -_0201EB80: - ldmia r4!, {r0-r1} - stmia r3!, {r0-r1} - sub r2, r2, #0x1 - bne _0201EB80 - pop {r3-r4} - bx lr - - thumb_func_start FUN_0201EB8C -FUN_0201EB8C: ; 0x0201EB8C - ldr r1, _0201EB94 ; =UNK_021C59A4 - str r0, [r1, #0x0] - bx lr - nop -_0201EB94: .word UNK_021C59A4 - - thumb_func_start FUN_0201EB98 -FUN_0201EB98: ; 0x0201EB98 - ldr r0, _0201EBA0 ; =UNK_021C59A4 - mov r1, #0x0 - str r1, [r0, #0x0] - bx lr - .balign 4 -_0201EBA0: .word UNK_021C59A4 - - thumb_func_start FUN_0201EBA4 -FUN_0201EBA4: ; 0x0201EBA4 - push {r3-r6, lr} - sub sp, #0x1c - ldr r0, _0201EC40 ; =UNK_021C59A4 - ldr r1, [r0, #0x0] - cmp r1, #0x0 - beq _0201EC3A - ldr r0, [r1, #0x54] - cmp r0, #0x0 - beq _0201EBEE - add r1, #0x48 - add r2, sp, #0x10 - bl VEC_Subtract - ldr r0, _0201EC40 ; =UNK_021C59A4 - add r1, sp, #0x10 - ldr r0, [r0, #0x0] - bl FUN_0201E9E8 - ldr r0, _0201EC40 ; =UNK_021C59A4 - add r1, sp, #0x10 - ldr r0, [r0, #0x0] - add r2, sp, #0x4 - bl FUN_0201EA08 - ldr r1, _0201EC40 ; =UNK_021C59A4 - add r0, sp, #0x4 - ldr r1, [r1, #0x0] - bl FUN_0201EF70 - ldr r0, _0201EC40 ; =UNK_021C59A4 - ldr r3, [r0, #0x0] - ldr r2, [r3, #0x54] - add r3, #0x48 - ldmia r2!, {r0-r1} - stmia r3!, {r0-r1} - ldr r0, [r2, #0x0] - str r0, [r3, #0x0] -_0201EBEE: - ldr r0, _0201EC40 ; =UNK_021C59A4 - ldr r5, _0201EC44 ; =NNS_G3dGlb + 0x240 - ldr r4, [r0, #0x0] - add r3, r4, #0x0 - add r2, r4, #0x0 - add r4, #0x14 - add r6, r4, #0x0 - ldmia r6!, {r0-r1} - stmia r5!, {r0-r1} - ldr r0, [r6, #0x0] - add r2, #0x2c - str r0, [r5, #0x0] - add r6, r2, #0x0 - ldr r5, _0201EC48 ; =NNS_G3dGlb + 0x24C - ldmia r6!, {r0-r1} - stmia r5!, {r0-r1} - ldr r0, [r6, #0x0] - add r3, #0x20 - str r0, [r5, #0x0] - add r6, r3, #0x0 - ldr r5, _0201EC4C ; =NNS_G3dGlb + 0x258 - ldmia r6!, {r0-r1} - stmia r5!, {r0-r1} - ldr r0, [r6, #0x0] - add r1, r2, #0x0 - str r0, [r5, #0x0] - ldr r0, _0201EC50 ; =NNS_G3dGlb + 0x4C - add r2, r3, #0x0 - str r0, [sp, #0x0] - add r0, r4, #0x0 - mov r3, #0x0 - bl G3i_LookAt_ - ldr r1, _0201EC54 ; =NNS_G3dGlb + 0x80 - mov r0, #0xe8 - ldr r2, [r1, #0x7c] - bic r2, r0 - str r2, [r1, #0x7c] -_0201EC3A: - add sp, #0x1c - pop {r3-r6, pc} - nop -_0201EC40: .word UNK_021C59A4 -_0201EC44: .word NNS_G3dGlb + 0x240 -_0201EC48: .word NNS_G3dGlb + 0x24C -_0201EC4C: .word NNS_G3dGlb + 0x258 -_0201EC50: .word NNS_G3dGlb + 0x4C -_0201EC54: .word NNS_G3dGlb + 0x80 - - thumb_func_start FUN_0201EC58 -FUN_0201EC58: ; 0x0201EC58 - add r3, r0, #0x0 - add r2, r1, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x2c - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - bx lr - - thumb_func_start FUN_0201EC68 -FUN_0201EC68: ; 0x0201EC68 - push {r3-r4} - add r3, r1, #0x0 - add r4, r0, #0x0 - str r4, [r3, #0x54] - add r2, r3, #0x0 - ldmia r4!, {r0-r1} - add r2, #0x48 - stmia r2!, {r0-r1} - ldr r0, [r4, #0x0] - str r0, [r2, #0x0] - mov r0, #0x1 - str r0, [r3, #0x58] - str r0, [r3, #0x5c] - str r0, [r3, #0x60] - pop {r3-r4} - bx lr - - thumb_func_start FUN_0201EC88 -FUN_0201EC88: ; 0x0201EC88 - mov r1, #0x0 - str r1, [r0, #0x54] - str r1, [r0, #0x58] - str r1, [r0, #0x5c] - str r1, [r0, #0x60] - bx lr + .extern FUN_0201EABC thumb_func_start FUN_0201EC94 FUN_0201EC94: ; 0x0201EC94 -- cgit v1.2.3 From 3de127d797a8183d4e2d68f9e8da0ba5d336cfd1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 13 Jun 2021 19:06:41 -0400 Subject: Finish decomping unk_0201E7D8 --- arm9/asm/scrcmd_asm.s | 6 +- arm9/asm/unk_02012CC8.s | 18 +- arm9/asm/unk_0201C7A0.s | 4 +- arm9/asm/unk_0201E7D8_s.s | 539 ---------------------------------------------- arm9/asm/unk_02046030.s | 10 +- arm9/asm/unk_0204C1B4.s | 8 +- arm9/asm/unk_020607D4.s | 4 +- arm9/asm/unk_0206DE24.s | 2 +- arm9/asm/unk_0207EF6C.s | 14 +- arm9/asm/unk_02086414.s | 2 +- 10 files changed, 34 insertions(+), 573 deletions(-) delete mode 100644 arm9/asm/unk_0201E7D8_s.s (limited to 'arm9/asm') diff --git a/arm9/asm/scrcmd_asm.s b/arm9/asm/scrcmd_asm.s index ef0c42fa..26b3a3ef 100644 --- a/arm9/asm/scrcmd_asm.s +++ b/arm9/asm/scrcmd_asm.s @@ -607,7 +607,7 @@ ScrCmd_Unk0066: ; 0x0203B468 ldr r1, [r5, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x20] - bl FUN_0201EC68 + bl Camera_SetFixedTarget mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} @@ -640,7 +640,7 @@ ScrCmd_Unk0067: ; 0x0203B500 ldr r1, [r5, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x20] - bl FUN_0201EC68 + bl Camera_SetFixedTarget mov r0, #0x0 pop {r3-r5, pc} @@ -854,7 +854,7 @@ _0203B6F8: ldr r1, [r5, #0x0] add r0, sp, #0x0 ldr r1, [r1, #0x20] - bl FUN_0201EF70 + bl Camera_OffsetLookAtPosAndTarget mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} diff --git a/arm9/asm/unk_02012CC8.s b/arm9/asm/unk_02012CC8.s index e54565f1..b9d7da8e 100644 --- a/arm9/asm/unk_02012CC8.s +++ b/arm9/asm/unk_02012CC8.s @@ -145,7 +145,7 @@ _02012D14: cmp r0, #0x1 bne _02012DA8 ldr r0, [sp, #0x2c] - bl FUN_0201EB64 + bl Camera_Alloc str r0, [r4, #0x20] mov r3, #0x0 str r3, [r4, #0x24] @@ -160,13 +160,13 @@ _02012D14: str r0, [sp, #0x4] ldrh r2, [r4, #0x30] ldr r0, _02012DDC ; =UNK_020ED4F0 - bl FUN_0201ED5C + bl Camera_InitWithPosAndTarget add r0, r4, #0x0 mov r1, #0x0 add r0, #0xdb strb r1, [r0, #0x0] ldr r0, [r4, #0x20] - bl FUN_0201EB8C + bl Camera_SetWorkPtr _02012DA8: mov r0, #0x6 str r0, [sp, #0x0] @@ -291,7 +291,7 @@ _02012E94: ldr r0, [r5, #0x20] cmp r0, #0x0 beq _02012E9E - bl FUN_0201EB70 + bl Camera_Free _02012E9E: add r0, r5, #0x0 bl FreeToHeap @@ -947,10 +947,10 @@ FUN_02013300: ; 0x02013300 beq _0201331C add r0, #0xdb ldrb r0, [r0, #0x0] - bl FUN_0201EE2C + bl ApplyPerspectiveType ldr r0, [r4, #0x20] - bl FUN_0201EB8C - bl FUN_0201EBA4 + bl Camera_SetWorkPtr + bl Camera_PushLookAtToNNSGlb _0201331C: bl NNS_G3dGlbFlushP ldr r0, [r4, #0x0] @@ -959,7 +959,7 @@ _0201331C: ldr r0, [r4, #0x20] cmp r0, #0x0 beq _02013332 - bl FUN_0201EB98 + bl Camera_UnsetWorkPtr _02013332: bl NNS_G3dGlbFlushP pop {r4, pc} @@ -1106,7 +1106,7 @@ FUN_020133FC: ; 0x020133FC str r0, [r2, #0x0] ldr r1, [r5, #0x20] add r0, r4, #0x0 - bl FUN_0201EC58 + bl Camera_SetLookAtCamUp pop {r3-r5, pc} .balign 4 diff --git a/arm9/asm/unk_0201C7A0.s b/arm9/asm/unk_0201C7A0.s index cbc055af..0602b2cb 100644 --- a/arm9/asm/unk_0201C7A0.s +++ b/arm9/asm/unk_0201C7A0.s @@ -22,8 +22,8 @@ FUN_0201C7A8: ; 0x0201C7A8 _0201C7AE: bx lr - thumb_func_start FUN_0201C7B0 -FUN_0201C7B0: ; 0x0201C7B0 + thumb_func_start CalcAngleBetweenVecs +CalcAngleBetweenVecs: ; 0x0201C7B0 push {r3-r7, lr} sub sp, #0x30 add r4, r1, #0x0 diff --git a/arm9/asm/unk_0201E7D8_s.s b/arm9/asm/unk_0201E7D8_s.s deleted file mode 100644 index 70a62da3..00000000 --- a/arm9/asm/unk_0201E7D8_s.s +++ /dev/null @@ -1,539 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .extern NNS_G3dGlb - .extern FX_SinCosTable_ - .extern UNK_02105BB8 - .extern UNK_021C59A4 - - .text - - .extern FUN_0201E7D8 - .extern FUN_0201E8B8 - .extern FUN_0201E99C - .extern FUN_0201E9E8 - .extern FUN_0201EA08 - .extern FUN_0201EABC - - thumb_func_start FUN_0201EC94 -FUN_0201EC94: ; 0x0201EC94 - str r0, [r2, #0xc] - add r0, r2, #0x0 - str r1, [r2, #0x10] - add r0, #0x44 - ldr r3, _0201ECA4 ; =FUN_0201EE2C - ldrb r0, [r0, #0x0] - add r1, r2, #0x0 - bx r3 - .balign 4 -_0201ECA4: .word FUN_0201EE2C - - thumb_func_start FUN_0201ECA8 -FUN_0201ECA8: ; 0x0201ECA8 - push {r3-r7, lr} - ldr r4, [sp, #0x20] - add r5, r0, #0x0 - add r7, r1, #0x0 - add r0, r3, #0x0 - add r1, r4, #0x0 - add r6, r2, #0x0 - bl FUN_0201E99C - add r3, r5, #0x0 - add r2, r4, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x20 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - str r7, [r4, #0x38] - ldrh r0, [r6, #0x0] - strh r0, [r4, #0x3c] - ldrh r0, [r6, #0x2] - strh r0, [r4, #0x3e] - add r0, r4, #0x0 - ldrh r1, [r6, #0x4] - add r0, #0x40 - strh r1, [r0, #0x0] - add r0, r4, #0x0 - ldrh r1, [r6, #0x6] - add r0, #0x42 - strh r1, [r0, #0x0] - add r0, r4, #0x0 - bl FUN_0201E7D8 - add r0, sp, #0x8 - ldrb r0, [r0, #0x10] - add r1, r4, #0x0 - bl FUN_0201EE2C - ldr r0, [sp, #0x1c] - cmp r0, #0x0 - beq _0201ED0E - str r5, [r4, #0x54] - add r2, r4, #0x0 - ldmia r5!, {r0-r1} - add r2, #0x48 - stmia r2!, {r0-r1} - ldr r0, [r5, #0x0] - str r0, [r2, #0x0] - mov r0, #0x1 - str r0, [r4, #0x58] - str r0, [r4, #0x5c] - str r0, [r4, #0x60] -_0201ED0E: - pop {r3-r7, pc} - - thumb_func_start FUN_0201ED10 -FUN_0201ED10: ; 0x0201ED10 - push {r3-r7, lr} - ldr r4, [sp, #0x1c] - add r6, r0, #0x0 - add r7, r1, #0x0 - add r0, r3, #0x0 - add r1, r4, #0x0 - add r5, r2, #0x0 - bl FUN_0201E99C - add r2, r4, #0x0 - ldmia r6!, {r0-r1} - add r2, #0x14 - stmia r2!, {r0-r1} - ldr r0, [r6, #0x0] - str r0, [r2, #0x0] - str r7, [r4, #0x38] - ldrh r0, [r5, #0x0] - strh r0, [r4, #0x3c] - ldrh r0, [r5, #0x2] - strh r0, [r4, #0x3e] - add r0, r4, #0x0 - ldrh r1, [r5, #0x4] - add r0, #0x40 - strh r1, [r0, #0x0] - add r0, r4, #0x0 - ldrh r1, [r5, #0x6] - add r0, #0x42 - strh r1, [r0, #0x0] - add r0, r4, #0x0 - bl FUN_0201E8B8 - add r0, sp, #0x8 - ldrb r0, [r0, #0x10] - add r1, r4, #0x0 - bl FUN_0201EE2C - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_0201ED5C -FUN_0201ED5C: ; 0x0201ED5C - push {r4-r7, lr} - sub sp, #0x3c - ldr r4, [sp, #0x54] - add r5, r0, #0x0 - add r6, r1, #0x0 - add r0, r2, #0x0 - add r1, r4, #0x0 - add r7, r3, #0x0 - bl FUN_0201E99C - add r3, r5, #0x0 - add r2, r4, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x20 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - add r3, r6, #0x0 - str r0, [r2, #0x0] - add r2, r4, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x14 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - add r1, r5, #0x0 - str r0, [r2, #0x0] - add r0, r6, #0x0 - add r2, sp, #0x30 - bl VEC_Subtract - add r0, sp, #0x30 - bl VEC_Mag - str r0, [r4, #0x38] - mov r6, #0x0 - add r0, sp, #0x24 - str r6, [r0, #0x0] - str r6, [r0, #0x4] - str r6, [r0, #0x8] - add r0, sp, #0x18 - str r6, [r0, #0x0] - str r6, [r0, #0x4] - str r6, [r0, #0x8] - add r0, sp, #0xc - str r6, [r0, #0x0] - str r6, [r0, #0x4] - str r6, [r0, #0x8] - mov r0, #0x1 - lsl r0, r0, #0xc - add r3, sp, #0x30 - str r0, [sp, #0x8] - ldmia r3!, {r0-r1} - add r2, sp, #0xc - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r6, [sp, #0x0] - str r0, [r2, #0x0] - str r6, [sp, #0x4] - str r6, [sp, #0x10] - add r0, sp, #0x0 - add r1, sp, #0xc - bl FUN_0201C7B0 - strh r0, [r4, #0x3e] - add r1, r6, #0x0 - mov r0, #0x1 - lsl r0, r0, #0xc - str r0, [sp, #0x0] - ldr r0, [sp, #0x38] - str r1, [sp, #0x4] - str r0, [sp, #0xc] - ldr r0, [sp, #0x34] - str r1, [sp, #0x8] - str r0, [sp, #0x14] - str r1, [sp, #0x10] - add r0, sp, #0x0 - add r1, sp, #0xc - bl FUN_0201C7B0 - strh r0, [r4, #0x3c] - add r0, r4, #0x0 - add r1, r6, #0x0 - add r0, #0x40 - strh r1, [r0, #0x0] - add r0, r7, #0x0 - add r1, r4, #0x0 - bl FUN_0201EE2C - ldr r0, [sp, #0x50] - cmp r0, #0x0 - beq _0201EE26 - str r5, [r4, #0x54] - add r2, r4, #0x0 - ldmia r5!, {r0-r1} - add r2, #0x48 - stmia r2!, {r0-r1} - ldr r0, [r5, #0x0] - str r0, [r2, #0x0] - mov r0, #0x1 - str r0, [r4, #0x58] - str r0, [r4, #0x5c] - str r0, [r4, #0x60] -_0201EE26: - add sp, #0x3c - pop {r4-r7, pc} - .balign 4 - - thumb_func_start FUN_0201EE2C -FUN_0201EE2C: ; 0x0201EE2C - push {r3-r6, lr} - sub sp, #0x14 - add r5, r1, #0x0 - cmp r0, #0x0 - bne _0201EE6C - ldr r0, [r5, #0x10] - str r0, [sp, #0x0] - mov r0, #0x1 - lsl r0, r0, #0xc - str r0, [sp, #0x4] - mov r0, #0x0 - str r0, [sp, #0x8] - ldr r0, _0201EEE4 ; =NNS_G3dGlb + 0x8 - str r0, [sp, #0xc] - ldr r0, [r5, #0x0] - ldr r1, [r5, #0x4] - ldr r2, [r5, #0x8] - ldr r3, [r5, #0xc] - bl G3i_PerspectiveW_ - ldr r1, _0201EEE8 ; =NNS_G3dGlb + 0x80 - mov r0, #0x50 - ldr r2, [r1, #0x7c] - add r5, #0x44 - bic r2, r0 - str r2, [r1, #0x7c] - mov r1, #0x0 - ldr r0, _0201EEEC ; =UNK_02105BB8 - strb r1, [r5, #0x0] - str r1, [r0, #0x0] - add sp, #0x14 - pop {r3-r6, pc} -_0201EE6C: - ldr r4, [r5, #0x38] - ldr r0, [r5, #0x0] - ldr r1, [r5, #0x4] - bl FX_Div - asr r1, r0, #0x1f - asr r3, r4, #0x1f - add r2, r4, #0x0 - bl _ll_mul - mov r2, #0x2 - mov r3, #0x0 - lsl r2, r2, #0xa - add r2, r0, r2 - adc r1, r3 - lsr r4, r2, #0xc - lsl r0, r1, #0x14 - orr r4, r0 - ldr r2, [r5, #0x8] - asr r1, r4, #0x1f - add r0, r4, #0x0 - asr r3, r2, #0x1f - bl _ll_mul - mov r6, #0x2 - mov r2, #0x0 - lsl r6, r6, #0xa - add r3, r0, r6 - adc r1, r2 - lsl r0, r1, #0x14 - lsr r3, r3, #0xc - orr r3, r0 - ldr r0, [r5, #0xc] - neg r1, r4 - str r0, [sp, #0x0] - ldr r0, [r5, #0x10] - str r0, [sp, #0x4] - lsl r0, r6, #0x1 - str r0, [sp, #0x8] - str r2, [sp, #0xc] - ldr r0, _0201EEE4 ; =NNS_G3dGlb + 0x8 - neg r2, r3 - str r0, [sp, #0x10] - add r0, r4, #0x0 - bl G3i_OrthoW_ - ldr r1, _0201EEE8 ; =NNS_G3dGlb + 0x80 - mov r0, #0x50 - ldr r2, [r1, #0x7c] - add r5, #0x44 - bic r2, r0 - str r2, [r1, #0x7c] - mov r0, #0x1 - strb r0, [r5, #0x0] - ldr r0, _0201EEEC ; =UNK_02105BB8 - mov r1, #0x0 - str r1, [r0, #0x0] - add sp, #0x14 - pop {r3-r6, pc} - nop -_0201EEE4: .word NNS_G3dGlb + 0x8 -_0201EEE8: .word NNS_G3dGlb + 0x80 -_0201EEEC: .word UNK_02105BB8 - - thumb_func_start FUN_0201EEF0 -FUN_0201EEF0: ; 0x0201EEF0 - add r2, r1, #0x0 - add r2, #0x46 - strh r0, [r2, #0x0] - add r0, r1, #0x0 - add r0, #0x46 - ldrh r0, [r0, #0x0] - ldr r3, _0201EF24 ; =FUN_0201EE2C - asr r0, r0, #0x4 - lsl r2, r0, #0x2 - ldr r0, _0201EF28 ; =FX_SinCosTable_ - ldrsh r2, [r0, r2] - str r2, [r1, #0x0] - add r2, r1, #0x0 - add r2, #0x46 - ldrh r2, [r2, #0x0] - asr r2, r2, #0x4 - lsl r2, r2, #0x1 - add r2, r2, #0x1 - lsl r2, r2, #0x1 - ldrsh r0, [r0, r2] - str r0, [r1, #0x4] - add r0, r1, #0x0 - add r0, #0x44 - ldrb r0, [r0, #0x0] - bx r3 - nop -_0201EF24: .word FUN_0201EE2C -_0201EF28: .word FX_SinCosTable_ - - thumb_func_start FUN_0201EF2C -FUN_0201EF2C: ; 0x0201EF2C - add r2, r1, #0x0 - add r2, #0x46 - ldrh r2, [r2, #0x0] - ldr r3, _0201EF68 ; =FUN_0201EE2C - add r2, r2, r0 - add r0, r1, #0x0 - add r0, #0x46 - strh r2, [r0, #0x0] - add r0, r1, #0x0 - add r0, #0x46 - ldrh r0, [r0, #0x0] - asr r0, r0, #0x4 - lsl r2, r0, #0x2 - ldr r0, _0201EF6C ; =FX_SinCosTable_ - ldrsh r2, [r0, r2] - str r2, [r1, #0x0] - add r2, r1, #0x0 - add r2, #0x46 - ldrh r2, [r2, #0x0] - asr r2, r2, #0x4 - lsl r2, r2, #0x1 - add r2, r2, #0x1 - lsl r2, r2, #0x1 - ldrsh r0, [r0, r2] - str r0, [r1, #0x4] - add r0, r1, #0x0 - add r0, #0x44 - ldrb r0, [r0, #0x0] - bx r3 - nop -_0201EF68: .word FUN_0201EE2C -_0201EF6C: .word FX_SinCosTable_ - - thumb_func_start FUN_0201EF70 -FUN_0201EF70: ; 0x0201EF70 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x14 - add r1, r5, #0x0 - add r2, r0, #0x0 - bl VEC_Add - add r4, #0x20 - add r0, r4, #0x0 - add r1, r5, #0x0 - add r2, r4, #0x0 - bl VEC_Add - pop {r3-r5, pc} - - thumb_func_start FUN_0201EF90 -FUN_0201EF90: ; 0x0201EF90 - ldrh r2, [r0, #0x0] - strh r2, [r1, #0x3c] - ldrh r2, [r0, #0x2] - strh r2, [r1, #0x3e] - add r2, r1, #0x0 - ldrh r3, [r0, #0x4] - add r2, #0x40 - strh r3, [r2, #0x0] - ldrh r2, [r0, #0x6] - add r0, r1, #0x0 - add r0, #0x42 - strh r2, [r0, #0x0] - ldr r3, _0201EFB0 ; =FUN_0201E7D8 - add r0, r1, #0x0 - bx r3 - nop -_0201EFB0: .word FUN_0201E7D8 - - thumb_func_start FUN_0201EFB4 -FUN_0201EFB4: ; 0x0201EFB4 - ldrh r3, [r1, #0x3c] - ldrh r2, [r0, #0x0] - add r2, r3, r2 - strh r2, [r1, #0x3c] - ldrh r3, [r1, #0x3e] - ldrh r2, [r0, #0x2] - add r2, r3, r2 - strh r2, [r1, #0x3e] - add r2, r1, #0x0 - add r2, #0x40 - ldrh r2, [r2, #0x0] - ldrh r0, [r0, #0x4] - ldr r3, _0201EFDC ; =FUN_0201E8B8 - add r2, r2, r0 - add r0, r1, #0x0 - add r0, #0x40 - strh r2, [r0, #0x0] - add r0, r1, #0x0 - bx r3 - nop -_0201EFDC: .word FUN_0201E8B8 - - thumb_func_start FUN_0201EFE0 -FUN_0201EFE0: ; 0x0201EFE0 - ldr r3, _0201EFE8 ; =FUN_0201E7D8 - str r0, [r1, #0x38] - add r0, r1, #0x0 - bx r3 - .balign 4 -_0201EFE8: .word FUN_0201E7D8 - - thumb_func_start FUN_0201EFEC -FUN_0201EFEC: ; 0x0201EFEC - push {r4, lr} - add r3, r1, #0x0 - add r4, r0, #0x0 - add r2, r3, #0x0 - ldmia r4!, {r0-r1} - add r2, #0x20 - stmia r2!, {r0-r1} - ldr r0, [r4, #0x0] - str r0, [r2, #0x0] - add r0, r3, #0x0 - bl FUN_0201E7D8 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_0201F008 -FUN_0201F008: ; 0x0201F008 - add r0, #0x46 - ldrh r0, [r0, #0x0] - bx lr - .balign 4 - - thumb_func_start FUN_0201F010 -FUN_0201F010: ; 0x0201F010 - ldr r0, [r0, #0x38] - bx lr - - thumb_func_start FUN_0201F014 -FUN_0201F014: ; 0x0201F014 - ldrh r2, [r1, #0x3c] - strh r2, [r0, #0x0] - ldrh r2, [r1, #0x3e] - strh r2, [r0, #0x2] - add r2, r1, #0x0 - add r2, #0x40 - ldrh r2, [r2, #0x0] - add r1, #0x42 - strh r2, [r0, #0x4] - ldrh r1, [r1, #0x0] - strh r1, [r0, #0x6] - bx lr - - thumb_func_start FUN_0201F02C -FUN_0201F02C: ; 0x0201F02C - add r2, r1, #0x0 - add r2, #0x20 - add r3, r0, #0x0 - ldmia r2!, {r0-r1} - stmia r3!, {r0-r1} - ldr r0, [r2, #0x0] - str r0, [r3, #0x0] - bx lr - - thumb_func_start FUN_0201F03C -FUN_0201F03C: ; 0x0201F03C - add r2, r1, #0x0 - add r2, #0x14 - add r3, r0, #0x0 - ldmia r2!, {r0-r1} - stmia r3!, {r0-r1} - ldr r0, [r2, #0x0] - str r0, [r3, #0x0] - bx lr - - thumb_func_start FUN_0201F04C -FUN_0201F04C: ; 0x0201F04C - add r3, r0, #0x0 - add r2, r1, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x20 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - bx lr - - thumb_func_start FUN_0201F05C -FUN_0201F05C: ; 0x0201F05C - add r3, r0, #0x0 - add r2, r1, #0x0 - ldmia r3!, {r0-r1} - add r2, #0x14 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - bx lr diff --git a/arm9/asm/unk_02046030.s b/arm9/asm/unk_02046030.s index 43942b2f..573fba7e 100644 --- a/arm9/asm/unk_02046030.s +++ b/arm9/asm/unk_02046030.s @@ -251,10 +251,10 @@ FUN_02046224: ; 0x02046224 add r4, r0, #0x0 ldr r0, _02046278 ; =0x000008C1 ldr r1, [r4, #0x20] - bl FUN_0201EEF0 + bl Camera_SetPerspectiveAngle ldr r0, _0204627C ; =0x000F81B8 ldr r1, [r4, #0x20] - bl FUN_0201EFE0 + bl Camera_SetDistance ldr r0, _02046280 ; =0x0350523D str r0, [sp, #0x8] ldr r0, _02046284 ; =0x0015EDB7 @@ -263,7 +263,7 @@ FUN_02046224: ; 0x02046224 str r0, [sp, #0x10] ldr r1, [r4, #0x20] add r0, sp, #0x8 - bl FUN_0201F04C + bl Camera_SetLookAtCamTarget ldr r1, _0204628C ; =0x00000823 add r0, sp, #0x0 strh r1, [r0, #0x0] @@ -274,12 +274,12 @@ FUN_02046224: ; 0x02046224 strh r1, [r0, #0x4] ldr r1, [r4, #0x20] add r0, sp, #0x0 - bl FUN_0201EF90 + bl Camera_SetAngle mov r0, #0x3 ldr r1, _02046290 ; =0x0061C000 ldr r2, [r4, #0x20] lsl r0, r0, #0xe - bl FUN_0201EC94 + bl Camera_SetPerspectiveClippingPlane add sp, #0x14 pop {r3-r4, pc} nop diff --git a/arm9/asm/unk_0204C1B4.s b/arm9/asm/unk_0204C1B4.s index c7a18f3f..4970ada1 100644 --- a/arm9/asm/unk_0204C1B4.s +++ b/arm9/asm/unk_0204C1B4.s @@ -1038,11 +1038,11 @@ _0204C9B4: ldr r0, [r5, #0x38] bl FUN_02055360 ldr r1, [r5, #0x20] - bl FUN_0201EFEC + bl Camera_SetLookAtTargetAndRecalcPos ldr r0, [r5, #0x38] bl FUN_02055360 ldr r1, [r5, #0x20] - bl FUN_0201EC68 + bl Camera_SetFixedTarget add sp, #0x10 pop {r3-r5, pc} @@ -1104,10 +1104,10 @@ _0204CA48: ldr r0, [r5, #0x38] bl FUN_02055360 ldr r1, [r5, #0x20] - bl FUN_0201EFEC + bl Camera_SetLookAtTargetAndRecalcPos ldr r0, [r5, #0x38] bl FUN_02055360 ldr r1, [r5, #0x20] - bl FUN_0201EC68 + bl Camera_SetFixedTarget add sp, #0x10 pop {r4-r6, pc} diff --git a/arm9/asm/unk_020607D4.s b/arm9/asm/unk_020607D4.s index 92be6430..84ef467a 100644 --- a/arm9/asm/unk_020607D4.s +++ b/arm9/asm/unk_020607D4.s @@ -124,11 +124,11 @@ _02060892: add r1, #0x24 bl FUN_02055350 ldr r0, [r5, #0x20] - bl FUN_0201EC88 + bl Camera_ClearFixedTarget add r0, r4, #0x0 ldr r1, [r5, #0x20] add r0, #0x24 - bl FUN_0201EC68 + bl Camera_SetFixedTarget mov r0, #0x0 ldr r1, [r4, #0x10] mvn r0, r0 diff --git a/arm9/asm/unk_0206DE24.s b/arm9/asm/unk_0206DE24.s index 46895ddb..d11acd85 100644 --- a/arm9/asm/unk_0206DE24.s +++ b/arm9/asm/unk_0206DE24.s @@ -228,7 +228,7 @@ FUN_0206DFB4: ; 0x0206DFB4 mov r1, #0xe1 lsl r0, r0, #0xc lsl r1, r1, #0xe - bl FUN_0201EC94 + bl Camera_SetPerspectiveClippingPlane _0206DFEC: add r0, r4, #0x0 add sp, #0x8 diff --git a/arm9/asm/unk_0207EF6C.s b/arm9/asm/unk_0207EF6C.s index 2d585edb..77550e14 100644 --- a/arm9/asm/unk_0207EF6C.s +++ b/arm9/asm/unk_0207EF6C.s @@ -173,7 +173,7 @@ FUN_0207F008: ; 0x0207F008 cmp r0, #0x4 bne _0207F046 bl FUN_020222AC - bl FUN_0201EBA4 + bl Camera_PushLookAtToNNSGlb ldr r2, _0207F060 ; =0x04000440 mov r3, #0x0 add r1, r2, #0x0 @@ -213,7 +213,7 @@ FUN_0207F068: ; 0x0207F068 mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl FUN_0201EB70 + bl Camera_Free mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] @@ -247,7 +247,7 @@ FUN_0207F098: ; 0x0207F098 strh r0, [r1, #0x4] strh r0, [r1, #0x6] mov r0, #0x13 - bl FUN_0201EB64 + bl Camera_Alloc mov r1, #0xad lsl r1, r1, #0x2 str r0, [r4, r1] @@ -259,22 +259,22 @@ FUN_0207F098: ; 0x0207F098 ldr r3, _0207F104 ; =0x000005C1 add r0, sp, #0x10 add r2, sp, #0x8 - bl FUN_0201ED10 + bl Camera_InitWithPosAndAngle mov r2, #0xad lsl r2, r2, #0x2 mov r1, #0x19 ldr r2, [r4, r2] mov r0, #0x0 lsl r1, r1, #0xe - bl FUN_0201EC94 + bl Camera_SetPerspectiveClippingPlane mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl FUN_0201EC88 + bl Camera_ClearFixedTarget mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl FUN_0201EB8C + bl Camera_SetWorkPtr add sp, #0x1c pop {r3-r4, pc} nop diff --git a/arm9/asm/unk_02086414.s b/arm9/asm/unk_02086414.s index f01e84e2..00825639 100644 --- a/arm9/asm/unk_02086414.s +++ b/arm9/asm/unk_02086414.s @@ -897,7 +897,7 @@ FUN_02086A80: ; 0x02086A80 mov r1, #0xe1 lsl r0, r0, #0xc lsl r1, r1, #0xe - bl FUN_0201EC94 + bl Camera_SetPerspectiveClippingPlane _02086AB8: add r0, r4, #0x0 add sp, #0x8 -- cgit v1.2.3 From 7e5c80f9b086a0e1df2430a0c0ed2f9eec3a5cb0 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 25 Jul 2021 14:49:32 -0400 Subject: Address review comments on #414 --- arm9/asm/unk_02012CC8.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arm9/asm') diff --git a/arm9/asm/unk_02012CC8.s b/arm9/asm/unk_02012CC8.s index b9d7da8e..3a1b080f 100644 --- a/arm9/asm/unk_02012CC8.s +++ b/arm9/asm/unk_02012CC8.s @@ -947,7 +947,7 @@ FUN_02013300: ; 0x02013300 beq _0201331C add r0, #0xdb ldrb r0, [r0, #0x0] - bl ApplyPerspectiveType + bl Camera_ApplyPerspectiveType ldr r0, [r4, #0x20] bl Camera_SetWorkPtr bl Camera_PushLookAtToNNSGlb -- cgit v1.2.3