summaryrefslogtreecommitdiff
path: root/arm9/asm
diff options
context:
space:
mode:
authorAkira Akashi <rubenru09@aol.com>2021-07-05 17:50:58 +0100
committerGitHub <noreply@github.com>2021-07-05 17:50:58 +0100
commit7a2362a15aade4fde583b6612cff3d6613a5eaa4 (patch)
treeb4d547f092ec9fedf15c2e2a4fb0be4e55b438e5 /arm9/asm
parent97efa5f28e697c85d0a47c45f04b0b69dbf699b0 (diff)
parent042e8e5a558d3fb9470234f1ffdfa42d3556d5d3 (diff)
Merge pull request #423 from Gogume1er/map_matrix
decompile unk_020343A8 to map_matrix
Diffstat (limited to 'arm9/asm')
-rw-r--r--arm9/asm/unk_020343A8.s481
-rw-r--r--arm9/asm/unk_020372D4.s4
-rw-r--r--arm9/asm/unk_02048904.s2
-rw-r--r--arm9/asm/unk_0204A368.s6
-rw-r--r--arm9/asm/unk_0204A498.s8
-rw-r--r--arm9/asm/unk_0205DD18.s2
-rw-r--r--arm9/asm/unk_0205F7A0.s2
7 files changed, 12 insertions, 493 deletions
diff --git a/arm9/asm/unk_020343A8.s b/arm9/asm/unk_020343A8.s
deleted file mode 100644
index 38e95c4f..00000000
--- a/arm9/asm/unk_020343A8.s
+++ /dev/null
@@ -1,481 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_020343A8
-FUN_020343A8: ; 0x020343A8
- push {r4-r7, lr}
- sub sp, #0xc
- add r4, r0, #0x0
- str r2, [sp, #0x0]
- mov r2, #0x0
- strb r2, [r4, #0x1]
- mov r0, #0xe1
- ldr r7, _02034488 ; =0x0000070A
- ldr r6, _0203448C ; =0x00000A8E
- mov r12, r1
- strb r2, [r4, #0x0]
- add r3, r4, #0x0
- add r5, r2, #0x0
- lsl r0, r0, #0x2
-_020343C4:
- add r1, r4, r2
- strh r5, [r3, #0x2]
- strb r5, [r1, r7]
- strh r5, [r3, r6]
- add r2, r2, #0x1
- add r3, r3, #0x2
- cmp r2, r0
- blt _020343C4
- ldr r0, _02034490 ; =0x00001196
- mov r2, #0x0
-_020343D8:
- add r1, r4, r5
- add r5, r5, #0x1
- strb r2, [r1, r0]
- cmp r5, #0x10
- blt _020343D8
- mov r0, #0x29
- mov r1, r12
- mov r2, #0xb
- bl AllocAtEndAndReadWholeNarcMemberByIdPair
- add r6, r0, #0x0
- ldrb r0, [r6, #0x0]
- add r5, r6, #0x5
- strb r0, [r4, #0x1]
- ldrb r0, [r6, #0x1]
- strb r0, [r4, #0x0]
- ldrb r0, [r6, #0x2]
- str r0, [sp, #0x8]
- ldrb r0, [r6, #0x3]
- str r0, [sp, #0x4]
- ldrb r7, [r6, #0x4]
- cmp r7, #0x10
- bls _0203440A
- bl GF_AssertFail
-_0203440A:
- ldr r1, _02034490 ; =0x00001196
- add r0, r5, #0x0
- add r1, r4, r1
- add r2, r7, #0x0
- bl MI_CpuCopy8
- ldr r0, [sp, #0x8]
- add r5, r5, r7
- cmp r0, #0x0
- beq _0203443A
- ldrb r3, [r4, #0x1]
- ldrb r2, [r4, #0x0]
- add r0, r5, #0x0
- add r1, r4, #0x2
- mul r2, r3
- lsl r2, r2, #0x1
- bl MI_CpuCopy8
- ldrb r1, [r4, #0x1]
- ldrb r0, [r4, #0x0]
- mul r0, r1
- lsl r0, r0, #0x1
- add r5, r5, r0
- b _0203444E
-_0203443A:
- ldrb r3, [r4, #0x1]
- ldrb r2, [r4, #0x0]
- ldr r0, [sp, #0x0]
- add r1, r4, #0x2
- lsl r0, r0, #0x10
- mul r2, r3
- lsr r0, r0, #0x10
- lsl r2, r2, #0x1
- bl MIi_CpuClear16
-_0203444E:
- ldr r0, [sp, #0x4]
- cmp r0, #0x0
- beq _0203446C
- ldrb r3, [r4, #0x1]
- ldrb r2, [r4, #0x0]
- ldr r1, _02034488 ; =0x0000070A
- add r0, r5, #0x0
- add r1, r4, r1
- mul r2, r3
- bl MI_CpuCopy8
- ldrb r1, [r4, #0x1]
- ldrb r0, [r4, #0x0]
- mul r0, r1
- add r5, r5, r0
-_0203446C:
- ldrb r3, [r4, #0x1]
- ldrb r2, [r4, #0x0]
- ldr r1, _0203448C ; =0x00000A8E
- add r0, r5, #0x0
- mul r2, r3
- add r1, r4, r1
- lsl r2, r2, #0x1
- bl MI_CpuCopy8
- add r0, r6, #0x0
- bl FreeToHeap
- add sp, #0xc
- pop {r4-r7, pc}
- .balign 4
-_02034488: .word 0x0000070A
-_0203448C: .word 0x00000A8E
-_02034490: .word 0x00001196
-
- thumb_func_start FUN_02034494
-FUN_02034494: ; 0x02034494
- push {r3, lr}
- ldr r1, _020344A8 ; =0x000011AA
- mov r0, #0xb
- bl AllocFromHeap
- mov r1, #0x0
- strb r1, [r0, #0x0]
- strb r1, [r0, #0x1]
- strb r1, [r0, #0x2]
- pop {r3, pc}
- .balign 4
-_020344A8: .word 0x000011AA
-
- thumb_func_start FUN_020344AC
-FUN_020344AC: ; 0x020344AC
- push {r4-r6, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bl MapHeader_GetMatrixId
- add r6, r0, #0x0
- add r0, r4, #0x4
- add r1, r6, #0x0
- add r2, r5, #0x0
- bl FUN_020343A8
- strb r6, [r4, #0x2]
- ldrb r0, [r4, #0x4]
- strb r0, [r4, #0x1]
- ldrb r0, [r4, #0x5]
- strb r0, [r4, #0x0]
- pop {r4-r6, pc}
- .balign 4
-
- thumb_func_start FUN_020344D0
-FUN_020344D0: ; 0x020344D0
- ldr r3, _020344D4 ; =FreeToHeap
- bx r3
- .balign 4
-_020344D4: .word FreeToHeap
-
- thumb_func_start FUN_020344D8
-FUN_020344D8: ; 0x020344D8
- push {r3-r5, lr}
- add r4, r1, #0x0
- add r5, r0, #0x0
- ldrb r1, [r4, #0x0]
- ldrb r0, [r4, #0x1]
- mul r0, r1
- cmp r5, r0
- blt _020344EC
- bl GF_AssertFail
-_020344EC:
- lsl r0, r5, #0x1
- add r1, r4, r0
- ldr r0, _020344F8 ; =0x00000A92
- ldrh r0, [r1, r0]
- pop {r3-r5, pc}
- nop
-_020344F8: .word 0x00000A92
-
- thumb_func_start FUN_020344FC
-FUN_020344FC: ; 0x020344FC
- push {r4, lr}
- add r4, r0, #0x0
- bne _02034506
- bl GF_AssertFail
-_02034506:
- ldrb r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203450C
-FUN_0203450C: ; 0x0203450C
- push {r4, lr}
- add r4, r0, #0x0
- bne _02034516
- bl GF_AssertFail
-_02034516:
- ldrb r0, [r4, #0x1]
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_0203451C
-FUN_0203451C: ; 0x0203451C
- push {r3-r7, lr}
- add r7, r0, #0x0
- ldrb r0, [r7, #0x1]
- add r5, r1, #0x0
- add r4, r2, #0x0
- ldrb r6, [r7, #0x0]
- str r0, [sp, #0x0]
- cmp r5, #0x0
- blt _02034532
- cmp r5, r6
- blt _02034536
-_02034532:
- bl GF_AssertFail
-_02034536:
- cmp r4, #0x0
- blt _02034540
- ldr r0, [sp, #0x0]
- cmp r4, r0
- blt _02034544
-_02034540:
- bl GF_AssertFail
-_02034544:
- add r0, r4, #0x0
- mul r0, r6
- add r0, r5, r0
- lsl r0, r0, #0x1
- add r0, r7, r0
- ldrh r0, [r0, #0x6]
- pop {r3-r7, pc}
- .balign 4
-
- thumb_func_start FUN_02034554
-FUN_02034554: ; 0x02034554
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- ldrb r1, [r5, #0x0]
- ldrb r0, [r5, #0x1]
- mul r0, r1
- cmp r4, #0x0
- blt _02034568
- cmp r4, r0
- blt _0203456C
-_02034568:
- bl GF_AssertFail
-_0203456C:
- lsl r0, r4, #0x1
- add r0, r5, r0
- ldrh r0, [r0, #0x6]
- pop {r3-r5, pc}
-
- thumb_func_start FUN_02034574
-FUN_02034574: ; 0x02034574
- ldrb r0, [r0, #0x2]
- bx lr
-
- thumb_func_start FUN_02034578
-FUN_02034578: ; 0x02034578
- push {r4-r6, lr}
- add r5, r0, #0x0
- ldr r0, [sp, #0x10]
- add r4, r2, #0x0
- add r6, r3, #0x0
- cmp r4, r0
- blt _0203458A
- bl GF_AssertFail
-_0203458A:
- ldr r0, [sp, #0x10]
- mul r0, r6
- add r4, r4, r0
- mov r0, #0xe1
- lsl r0, r0, #0x2
- cmp r4, r0
- blt _0203459C
- bl GF_AssertFail
-_0203459C:
- ldr r0, _020345A4 ; =0x0000070E
- add r1, r5, r4
- ldrb r0, [r1, r0]
- pop {r4-r6, pc}
- .balign 4
-_020345A4: .word 0x0000070E
-
- thumb_func_start FUN_020345A8
-FUN_020345A8: ; 0x020345A8
- push {r3-r5, lr}
- ldr r1, _020345D8 ; =0x00000708
- add r4, r0, #0x0
- bl AllocFromHeap
- add r5, r0, #0x0
- mov r0, #0x29
- mov r1, #0x0
- add r2, r4, #0x0
- bl AllocAtEndAndReadWholeNarcMemberByIdPair
- add r4, r0, #0x0
- ldrb r1, [r4, #0x4]
- add r0, r4, #0x5
- ldr r2, _020345D8 ; =0x00000708
- add r0, r0, r1
- add r1, r5, #0x0
- bl MI_CpuCopy8
- add r0, r4, #0x0
- bl FreeToHeap
- add r0, r5, #0x0
- pop {r3-r5, pc}
- .balign 4
-_020345D8: .word 0x00000708
-
- thumb_func_start FUN_020345DC
-FUN_020345DC: ; 0x020345DC
- push {r4, lr}
- add r4, r0, #0x0
- bne _020345E6
- bl GF_AssertFail
-_020345E6:
- add r0, r4, #0x0
- bl FreeToHeap
- pop {r4, pc}
- .balign 4
-
- thumb_func_start FUN_020345F0
-FUN_020345F0: ; 0x020345F0
- mov r3, #0x1e
- mul r3, r2
- add r1, r1, r3
- lsl r1, r1, #0x1
- ldrh r0, [r0, r1]
- bx lr
-
- thumb_func_start FUN_020345FC
-FUN_020345FC: ; 0x020345FC
- push {r3-r5, lr}
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1fc
- sub sp, #0x1c8
- add r3, r0, #0x0
- add r5, r1, #0x0
- lsl r1, r3, #0x10
- add r4, r2, #0x0
- add r0, sp, #0x0
- lsr r1, r1, #0x10
- mov r2, #0x0
- bl FUN_020343A8
- add r0, sp, #0x0
- ldrb r0, [r0, #0x1]
- cmp r5, r0
- blt _0203462E
- bl GF_AssertFail
-_0203462E:
- add r0, sp, #0x0
- ldrb r0, [r0, #0x0]
- cmp r4, r0
- blt _0203463A
- bl GF_AssertFail
-_0203463A:
- add r0, sp, #0x0
- ldrb r0, [r0, #0x1]
- mul r0, r4
- add r0, r5, r0
- lsl r1, r0, #0x1
- add r0, sp, #0x0
- add r0, #0x2
- ldrh r0, [r0, r1]
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1fc
- add sp, #0x1c8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02034660
-FUN_02034660: ; 0x02034660
- push {r3-r5, lr}
- add r5, r0, #0x0
- add r4, r1, #0x0
- bne _0203466C
- bl GF_AssertFail
-_0203466C:
- add r0, r5, #0x0
- add r1, r4, #0x0
- bl FUN_020344D8
- pop {r3-r5, pc}
- .balign 4
-
- thumb_func_start FUN_02034678
-FUN_02034678: ; 0x02034678
- push {r4-r7}
- ldr r1, _020346C4 ; =0x00000A92
- ldrb r7, [r0, #0x0]
- add r2, r0, r1
- ldr r1, _020346C8 ; =0x0000070E
- add r1, r0, r1
- ldrb r0, [r0, #0x2]
- cmp r0, #0x0
- bne _020346BE
- mov r0, #0x15
- add r6, r7, #0x0
- mul r6, r0
- add r5, r6, #0x0
- add r5, #0x17
- mov r4, #0xb0
- lsl r0, r5, #0x1
- add r6, #0x18
- strh r4, [r2, r0]
- lsl r0, r6, #0x1
- strh r4, [r2, r0]
- mov r0, #0x16
- add r3, r7, #0x0
- mul r3, r0
- add r0, r3, #0x0
- add r0, #0x17
- lsl r7, r0, #0x1
- add r3, #0x18
- strh r4, [r2, r7]
- lsl r7, r3, #0x1
- strh r4, [r2, r7]
- mov r2, #0x2
- strb r2, [r1, r5]
- strb r2, [r1, r6]
- strb r2, [r1, r0]
- strb r2, [r1, r3]
-_020346BE:
- pop {r4-r7}
- bx lr
- nop
-_020346C4: .word 0x00000A92
-_020346C8: .word 0x0000070E
-
- thumb_func_start FUN_020346CC
-FUN_020346CC: ; 0x020346CC
- push {r3-r4}
- ldr r1, _0203470C ; =0x00000A92
- add r2, r0, r1
- ldrb r1, [r0, #0x0]
- ldrb r0, [r0, #0x2]
- cmp r0, #0x0
- bne _02034706
- mov r0, #0xf
- mul r0, r1
- add r0, #0x1c
- mov r3, #0x77
- lsl r0, r0, #0x1
- strh r3, [r2, r0]
- lsl r0, r1, #0x4
- add r3, r0, #0x0
- add r3, #0x1b
- mov r4, #0x78
- lsl r3, r3, #0x1
- strh r4, [r2, r3]
- add r3, r0, #0x0
- add r3, #0x1c
- add r0, r1, r0
- add r0, #0x1b
- mov r4, #0x79
- lsl r3, r3, #0x1
- strh r4, [r2, r3]
- mov r3, #0x7a
- lsl r0, r0, #0x1
- strh r3, [r2, r0]
-_02034706:
- pop {r3-r4}
- bx lr
- nop
-_0203470C: .word 0x00000A92
diff --git a/arm9/asm/unk_020372D4.s b/arm9/asm/unk_020372D4.s
index 88845239..42b6d930 100644
--- a/arm9/asm/unk_020372D4.s
+++ b/arm9/asm/unk_020372D4.s
@@ -227,7 +227,7 @@ FUN_02037400: ; 0x02037400
bl FUN_02034E30
bl FUN_02034DC0
str r0, [r4, #0x1c]
- bl FUN_02034494
+ bl MapMatrix_New
str r0, [r4, #0x28]
add r0, r4, #0x0
mov r1, #0xb
@@ -262,7 +262,7 @@ FUN_020374B0: ; 0x020374B0
bl OverlayManager_GetData
add r4, r0, #0x0
ldr r0, [r4, #0x28]
- bl FUN_020344D0
+ bl MapMatrix_Free
add r0, r4, #0x0
bl FUN_02034A48
add r0, r4, #0x0
diff --git a/arm9/asm/unk_02048904.s b/arm9/asm/unk_02048904.s
index eb461974..8cf0ee61 100644
--- a/arm9/asm/unk_02048904.s
+++ b/arm9/asm/unk_02048904.s
@@ -346,7 +346,7 @@ _02048BA2:
ldr r0, [r4, #0x1c]
ldr r1, [r4, #0x28]
ldr r0, [r0, #0x0]
- bl FUN_020344AC
+ bl MapMatrix_Load
ldr r0, [r4, #0xc]
bl SavArray_Flags_get
mov r1, #0x3
diff --git a/arm9/asm/unk_0204A368.s b/arm9/asm/unk_0204A368.s
index 4b9f5a98..dee2d54b 100644
--- a/arm9/asm/unk_0204A368.s
+++ b/arm9/asm/unk_0204A368.s
@@ -56,10 +56,10 @@ FUN_0204A3B0: ; 0x0204A3B0
mov r2, #0x0
add r1, sp, #0x18
strb r2, [r1, #0x0]
- bl FUN_020344FC
+ bl MapMatrix_GetWidth
add r6, r0, #0x0
ldr r0, [sp, #0x4]
- bl FUN_0203450C
+ bl MapMatrix_GetHeight
str r0, [sp, #0x10]
mov r0, #0x0
str r0, [sp, #0x14]
@@ -77,7 +77,7 @@ _0204A3E0:
lsr r4, r0, #0x10
ldr r1, [sp, #0x4]
add r0, r4, #0x0
- bl FUN_020344D8
+ bl MapMatrix_GetMapData
add r1, sp, #0x18
add r1, #0x2
add r2, sp, #0x18
diff --git a/arm9/asm/unk_0204A498.s b/arm9/asm/unk_0204A498.s
index 3e0580b3..6b7e034d 100644
--- a/arm9/asm/unk_0204A498.s
+++ b/arm9/asm/unk_0204A498.s
@@ -39,7 +39,7 @@ FUN_0204A4A4: ; 0x0204A4A4
str r1, [sp, #0x4]
str r0, [sp, #0x8]
ldr r0, [r5, #0x28]
- bl FUN_020344FC
+ bl MapMatrix_GetWidth
str r0, [sp, #0x24]
lsl r0, r0, #0x5
str r0, [sp, #0xc]
@@ -247,7 +247,7 @@ FUN_0204A640: ; 0x0204A640
add r4, r2, #0x0
add r5, r1, #0x0
add r7, r3, #0x0
- bl FUN_020344FC
+ bl MapMatrix_GetWidth
asr r2, r4, #0x4
asr r1, r5, #0x4
lsr r2, r2, #0x1b
@@ -617,7 +617,7 @@ _0204A8D4:
add r4, r0, #0x0
ldr r0, [sp, #0x0]
ldr r0, [r0, #0x28]
- bl FUN_020344FC
+ bl MapMatrix_GetWidth
add r1, r0, #0x0
add r0, r4, #0x0
add r2, sp, #0x10
@@ -685,7 +685,7 @@ _0204A95C:
add r6, r0, #0x0
ldr r0, [sp, #0x0]
ldr r0, [r0, #0x28]
- bl FUN_020344FC
+ bl MapMatrix_GetWidth
add r1, r0, #0x0
add r0, r6, #0x0
add r2, sp, #0x10
diff --git a/arm9/asm/unk_0205DD18.s b/arm9/asm/unk_0205DD18.s
index 5f01125f..b5431d9c 100644
--- a/arm9/asm/unk_0205DD18.s
+++ b/arm9/asm/unk_0205DD18.s
@@ -622,7 +622,7 @@ _0205E180:
ldr r0, [r7, #0x28]
asr r1, r1, #0x5
asr r2, r2, #0x5
- bl FUN_0203451C
+ bl MapMatrix_GetMapHeader
ldr r1, [r7, #0x1c]
ldr r1, [r1, #0x0]
cmp r1, r0
diff --git a/arm9/asm/unk_0205F7A0.s b/arm9/asm/unk_0205F7A0.s
index 73e22dfa..67b26aea 100644
--- a/arm9/asm/unk_0205F7A0.s
+++ b/arm9/asm/unk_0205F7A0.s
@@ -54,7 +54,7 @@ FUN_0205F7A0: ; 0x0205F7A0
ldr r0, [r0, #0x28]
asr r1, r1, #0x5
asr r2, r2, #0x5
- bl FUN_0203451C
+ bl MapMatrix_GetMapHeader
bl MapHeader_MapIsOnMainMatrix
cmp r0, #0x0
beq _0205F806