summaryrefslogtreecommitdiff
path: root/arm9/asm
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-05-21 16:09:22 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2021-05-21 16:09:22 -0400
commit433f9a7f144c3f0fcad357f8916cf1d599a1bcd4 (patch)
tree2a6ec3c94805fe4603f60fb1d7f15ad36e9d5b8c /arm9/asm
parentc49b55a8f94b6b74fe35b8e6994551dc33a4ff6f (diff)
Finish decompiling list_menu
Diffstat (limited to 'arm9/asm')
-rw-r--r--arm9/asm/unk_020010A8.s127
-rw-r--r--arm9/asm/unk_02001B80.s6
-rw-r--r--arm9/asm/unk_0200CABC.s2
-rw-r--r--arm9/asm/unk_02012CC8.s8
-rw-r--r--arm9/asm/unk_02016B94.s2
-rw-r--r--arm9/asm/unk_02035068.s12
-rw-r--r--arm9/asm/unk_02050E48.s2
-rw-r--r--arm9/asm/unk_02053750.s12
-rw-r--r--arm9/asm/unk_02057380.s8
-rw-r--r--arm9/asm/unk_0205AD98.s2
-rw-r--r--arm9/asm/unk_0205C598.s2
-rw-r--r--arm9/asm/unk_020625EC.s2
-rw-r--r--arm9/asm/unk_020643C0.s8
-rw-r--r--arm9/asm/unk_020653EC.s8
-rw-r--r--arm9/asm/unk_0206F3FC.s6
-rw-r--r--arm9/asm/unk_02073DA8.s2
-rw-r--r--arm9/asm/unk_020772F0.s8
-rw-r--r--arm9/asm/unk_02079C70.s2
-rw-r--r--arm9/asm/unk_0208A338.s2
19 files changed, 47 insertions, 174 deletions
diff --git a/arm9/asm/unk_020010A8.s b/arm9/asm/unk_020010A8.s
deleted file mode 100644
index 37faa5e7..00000000
--- a/arm9/asm/unk_020010A8.s
+++ /dev/null
@@ -1,127 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .extern gMain
- .extern ListMenuPrint
- .extern ListMenuPrintEntries
- .extern ListMenuDrawCursor
- .extern ListMenuErasePrintedCursor
- .extern ListMenuUpdateSelectedRowIndexAndScrollOffset
- .extern ListMenuScroll
-
- .text
-
- thumb_func_start ListMenuChangeSelection
-ListMenuChangeSelection: ; 0x02001AA4
- push {r3-r7, lr}
- sub sp, #0x10
- str r1, [sp, #0x0]
- str r2, [sp, #0x4]
- add r4, r0, #0x0
- str r3, [sp, #0x8]
- ldrh r0, [r4, #0x2e]
- mov r6, #0x0
- add r5, r6, #0x0
- str r0, [sp, #0xc]
- ldr r0, [sp, #0x4]
- add r7, r6, #0x0
- cmp r0, #0x0
- bls _02001AF6
-_02001AC0:
- ldr r1, [sp, #0x8]
- add r0, r4, #0x0
- bl ListMenuUpdateSelectedRowIndexAndScrollOffset
- orr r5, r0
- cmp r0, #0x2
- bne _02001AEA
- add r0, r6, #0x1
- lsl r0, r0, #0x18
- lsr r6, r0, #0x18
- ldrh r1, [r4, #0x2c]
- ldrh r0, [r4, #0x2e]
- ldr r2, [r4, #0x0]
- add r0, r1, r0
- lsl r0, r0, #0x3
- add r0, r2, r0
- ldr r1, [r0, #0x4]
- mov r0, #0x2
- mvn r0, r0
- cmp r1, r0
- beq _02001AC0
-_02001AEA:
- add r0, r7, #0x1
- lsl r0, r0, #0x18
- lsr r7, r0, #0x18
- ldr r0, [sp, #0x4]
- cmp r7, r0
- blo _02001AC0
-_02001AF6:
- ldr r0, [sp, #0x0]
- cmp r0, #0x0
- beq _02001B5E
- cmp r5, #0x3
- bhi _02001B14
- add r0, r5, r5
- add r0, pc
- ldrh r0, [r0, #0x6]
- lsl r0, r0, #0x10
- asr r0, r0, #0x10
- add pc, r0
-_02001B0C: ; jump table (using 16-bit offset)
- .short _02001B14 - _02001B0C - 2; case 0
- .short _02001B1A - _02001B0C - 2; case 1
- .short _02001B38 - _02001B0C - 2; case 2
- .short _02001B38 - _02001B0C - 2; case 3
-_02001B14:
- add sp, #0x10
- mov r0, #0x1
- pop {r3-r7, pc}
-_02001B1A:
- ldr r1, [sp, #0xc]
- add r0, r4, #0x0
- bl ListMenuErasePrintedCursor
- add r0, r4, #0x0
- bl ListMenuDrawCursor
- add r0, r4, #0x0
- mov r1, #0x0
- bl ListMenuCallSelectionChangedCallback
- ldr r0, [r4, #0xc]
- bl CopyWindowToVram
- b _02001B5E
-_02001B38:
- ldr r1, [sp, #0xc]
- add r0, r4, #0x0
- bl ListMenuErasePrintedCursor
- ldr r2, [sp, #0x8]
- add r0, r4, #0x0
- add r1, r6, #0x0
- bl ListMenuScroll
- add r0, r4, #0x0
- bl ListMenuDrawCursor
- add r0, r4, #0x0
- mov r1, #0x0
- bl ListMenuCallSelectionChangedCallback
- ldr r0, [r4, #0xc]
- bl CopyWindowToVram
-_02001B5E:
- mov r0, #0x0
- add sp, #0x10
- pop {r3-r7, pc}
-
- thumb_func_start ListMenuCallSelectionChangedCallback
-ListMenuCallSelectionChangedCallback: ; 0x02001B64
- push {r3-r5, lr}
- ldr r3, [r0, #0x4]
- add r2, r1, #0x0
- cmp r3, #0x0
- beq _02001B7E
- ldrh r5, [r0, #0x2c]
- ldrh r4, [r0, #0x2e]
- ldr r1, [r0, #0x0]
- add r4, r5, r4
- lsl r4, r4, #0x3
- add r1, r1, r4
- ldr r1, [r1, #0x4]
- blx r3
-_02001B7E:
- pop {r3-r5, pc}
diff --git a/arm9/asm/unk_02001B80.s b/arm9/asm/unk_02001B80.s
index c2e1a245..6e08d1db 100644
--- a/arm9/asm/unk_02001B80.s
+++ b/arm9/asm/unk_02001B80.s
@@ -41,7 +41,7 @@ FUN_02001B8C: ; 0x02001B8C
ldr r0, [r3, #0x0]
str r0, [r2, #0x0]
ldr r0, [sp, #0x4]
- bl FUN_02013690
+ bl ListMenuCursorNew
str r0, [r4, #0xc]
ldr r0, [sp, #0x24]
str r0, [r4, #0x10]
@@ -133,7 +133,7 @@ _02001C68:
bl DestroyListMenuCursorObj
ldrb r0, [r4, #0x1c]
add r1, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
pop {r4, pc}
thumb_func_start FUN_02001C78
@@ -894,7 +894,7 @@ FUN_020021EC: ; 0x020021EC
bl FUN_02019178
ldr r1, [r5, #0x4]
add r0, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
ldr r0, [r5, #0x0]
bl ListMenu_dtor
add r0, r5, #0x0
diff --git a/arm9/asm/unk_0200CABC.s b/arm9/asm/unk_0200CABC.s
index 57462727..69afdbe7 100644
--- a/arm9/asm/unk_0200CABC.s
+++ b/arm9/asm/unk_0200CABC.s
@@ -1098,7 +1098,7 @@ FUN_0200D300: ; 0x0200D300
bl FUN_02017FB4
ldr r1, [sp, #0x14]
add r0, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
add r0, sp, #0x20
ldrb r3, [r0, #0x10]
cmp r3, #0x1
diff --git a/arm9/asm/unk_02012CC8.s b/arm9/asm/unk_02012CC8.s
index c3ed22aa..781d1d6d 100644
--- a/arm9/asm/unk_02012CC8.s
+++ b/arm9/asm/unk_02012CC8.s
@@ -1488,8 +1488,8 @@ _02013688:
strh r0, [r4, #0x0]
pop {r4, pc}
- thumb_func_start FUN_02013690
-FUN_02013690: ; 0x02013690
+ thumb_func_start ListMenuCursorNew
+ListMenuCursorNew: ; 0x02013690
push {r3-r5, lr}
mov r1, #0x8
add r5, r0, #0x0
@@ -1530,8 +1530,8 @@ _020136D8:
_020136DE:
pop {r4, pc}
- thumb_func_start CreateListMenuCursorObj
-CreateListMenuCursorObj: ; 0x020136E0
+ thumb_func_start ListMenuCursorSetColor
+ListMenuCursorSetColor: ; 0x020136E0
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
diff --git a/arm9/asm/unk_02016B94.s b/arm9/asm/unk_02016B94.s
index 6f46943c..73330a71 100644
--- a/arm9/asm/unk_02016B94.s
+++ b/arm9/asm/unk_02016B94.s
@@ -2716,7 +2716,7 @@ FUN_02017F18: ; 0x02017F18
bl FUN_02017E84
ldr r0, [sp, #0x0]
add r1, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
pop {r3-r7, pc}
thumb_func_start FUN_02017F48
diff --git a/arm9/asm/unk_02035068.s b/arm9/asm/unk_02035068.s
index 38fb3842..1123d9f5 100644
--- a/arm9/asm/unk_02035068.s
+++ b/arm9/asm/unk_02035068.s
@@ -1731,7 +1731,7 @@ FUN_02035DC8: ; 0x02035DC8
cmp r1, #0x0
beq _02035DF0
mov r0, #0xb
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
_02035DF0:
mov r0, #0xc
strh r0, [r4, #0x2a]
@@ -3193,7 +3193,7 @@ FUN_02036A14: ; 0x02036A14
lsl r1, r1, #0x2
ldr r1, [r4, r1]
mov r0, #0xb
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r1, #0x73
lsl r1, r1, #0x2
add r0, r5, #0x0
@@ -3223,7 +3223,7 @@ FUN_02036A78: ; 0x02036A78
lsl r1, r1, #0x2
ldr r1, [r4, r1]
mov r0, #0xb
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r1, #0x73
lsl r1, r1, #0x2
add r0, r5, #0x0
@@ -3255,7 +3255,7 @@ FUN_02036AB8: ; 0x02036AB8
ldr r1, [r4, r0]
mov r0, #0xb
ldr r7, [r1, #0x0]
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r0, #0x7e
lsl r0, r0, #0x2
ldr r5, [r4, r0]
@@ -3264,7 +3264,7 @@ FUN_02036AB8: ; 0x02036AB8
bne _02036B0E
mov r0, #0xb
add r1, r5, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r1, #0x7a
lsl r1, r1, #0x2
lsl r2, r7, #0x18
@@ -3320,7 +3320,7 @@ _02036B0E:
lsl r1, r1, #0x2
ldr r1, [r4, r1]
mov r0, #0xb
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
add r0, r6, #0x0
bl FUN_0204649C
mov r0, #0x72
diff --git a/arm9/asm/unk_02050E48.s b/arm9/asm/unk_02050E48.s
index 70ba73b0..d7eb4bc4 100644
--- a/arm9/asm/unk_02050E48.s
+++ b/arm9/asm/unk_02050E48.s
@@ -1333,7 +1333,7 @@ _0205188E:
add r0, #0x64
bl FUN_0201901C
mov r0, #0xb
- bl FUN_02013690
+ bl ListMenuCursorNew
str r0, [r4, #0x78]
bl FUN_02033534
add r1, r4, #0x0
diff --git a/arm9/asm/unk_02053750.s b/arm9/asm/unk_02053750.s
index 6ab54142..4724c308 100644
--- a/arm9/asm/unk_02053750.s
+++ b/arm9/asm/unk_02053750.s
@@ -1291,7 +1291,7 @@ FUN_020540C8: ; 0x020540C8
bl FUN_0201FFC8
ldr r1, [r4, #0x0]
mov r0, #0x4
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r0, #0x0
str r0, [r4, #0x0]
_020540E4:
@@ -1408,7 +1408,7 @@ FUN_020541A4: ; 0x020541A4
bl FUN_0201FFC8
ldr r1, [r4, #0x0]
mov r0, #0x4
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r0, #0x0
str r0, [r4, #0x0]
_020541C0:
@@ -1481,7 +1481,7 @@ FUN_02054228: ; 0x02054228
bl FUN_0201FFC8
ldr r1, [r4, #0x0]
mov r0, #0x4
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r0, #0x0
str r0, [r4, #0x0]
_02054244:
@@ -1581,7 +1581,7 @@ FUN_020542E8: ; 0x020542E8
bl FUN_0201FFC8
ldr r1, [r4, #0x0]
mov r0, #0x4
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r0, #0x0
str r0, [r4, #0x0]
_02054304:
@@ -1749,7 +1749,7 @@ FUN_0205442C: ; 0x0205442C
bl FUN_0201FFC8
ldr r1, [r4, #0x0]
mov r0, #0x4
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r0, #0x0
str r0, [r4, #0x0]
_02054448:
@@ -1900,7 +1900,7 @@ FUN_0205454C: ; 0x0205454C
bl FUN_0201FFC8
ldr r1, [r4, #0x0]
mov r0, #0x4
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r0, #0x0
str r0, [r4, #0x0]
_02054568:
diff --git a/arm9/asm/unk_02057380.s b/arm9/asm/unk_02057380.s
index c6a25876..ef4050e3 100644
--- a/arm9/asm/unk_02057380.s
+++ b/arm9/asm/unk_02057380.s
@@ -33,10 +33,10 @@ FUN_020573AC: ; 0x020573AC
bl FUN_020583CC
add r1, r0, #0x0
mov r0, #0xb
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r0, #0xb
add r1, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
pop {r4, pc}
.balign 4
@@ -1035,10 +1035,10 @@ _02057C42:
blt _02057C1A
ldr r1, [r5, #0x10]
mov r0, #0xb
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r0, #0xb
add r1, r5, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
pop {r3-r7, pc}
thumb_func_start FUN_02057C64
diff --git a/arm9/asm/unk_0205AD98.s b/arm9/asm/unk_0205AD98.s
index bc0fa0dd..54448e61 100644
--- a/arm9/asm/unk_0205AD98.s
+++ b/arm9/asm/unk_0205AD98.s
@@ -212,7 +212,7 @@ _0205AF14:
bl FUN_0205AE50
mov r0, #0x4
add r1, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
add r0, r5, #0x0
bl FUN_0200CAB4
pop {r3-r5, pc}
diff --git a/arm9/asm/unk_0205C598.s b/arm9/asm/unk_0205C598.s
index ac7a6808..d80c26b4 100644
--- a/arm9/asm/unk_0205C598.s
+++ b/arm9/asm/unk_0205C598.s
@@ -723,7 +723,7 @@ FUN_0205CAE0: ; 0x0205CAE0
bl FUN_0201B6C8
add r1, r0, #0x0
mov r0, #0x4
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
add r0, r4, #0x0
bl FUN_0200CAB4
pop {r4, pc}
diff --git a/arm9/asm/unk_020625EC.s b/arm9/asm/unk_020625EC.s
index 5147f099..48f512e9 100644
--- a/arm9/asm/unk_020625EC.s
+++ b/arm9/asm/unk_020625EC.s
@@ -1552,7 +1552,7 @@ FUN_020631C8: ; 0x020631C8
add r0, r5, #0x0
add r1, #0x2
add r2, sp, #0x0
- bl FUN_02001448
+ bl ListMenuGetScrollAndRow
add r0, r5, #0x0
mov r1, #0x2
bl ListMenuGetTemplateField
diff --git a/arm9/asm/unk_020643C0.s b/arm9/asm/unk_020643C0.s
index bc843c82..4a7b92d3 100644
--- a/arm9/asm/unk_020643C0.s
+++ b/arm9/asm/unk_020643C0.s
@@ -292,12 +292,12 @@ _020645F2:
thumb_func_start FUN_02064600
FUN_02064600: ; 0x02064600
- ldr r3, _02064608 ; =FUN_02016A8C
+ ldr r3, _02064608 ; =FreeToHeapExplicit
add r1, r0, #0x0
ldr r0, [r1, #0x8]
bx r3
.balign 4
-_02064608: .word FUN_02016A8C
+_02064608: .word FreeToHeapExplicit
thumb_func_start FUN_0206460C
FUN_0206460C: ; 0x0206460C
@@ -320,13 +320,13 @@ _02064622:
thumb_func_start FUN_02064630
FUN_02064630: ; 0x02064630
- ldr r3, _0206463C ; =FUN_02016A8C
+ ldr r3, _0206463C ; =FreeToHeapExplicit
add r1, r0, #0x0
ldr r0, [r1, #0x8]
ldr r1, [r1, #0xc]
bx r3
nop
-_0206463C: .word FUN_02016A8C
+_0206463C: .word FreeToHeapExplicit
thumb_func_start FUN_02064640
FUN_02064640: ; 0x02064640
diff --git a/arm9/asm/unk_020653EC.s b/arm9/asm/unk_020653EC.s
index 003e1330..69cc0dbd 100644
--- a/arm9/asm/unk_020653EC.s
+++ b/arm9/asm/unk_020653EC.s
@@ -1177,7 +1177,7 @@ FUN_02065CFC: ; 0x02065CFC
mov r1, #0x1
mov r2, #0xf
mov r3, #0x2
- bl FUN_020013E8
+ bl ListMenuOverrideSetColors
pop {r3-r5, pc}
_02065D1C:
mov r1, #0xc
@@ -1191,14 +1191,14 @@ _02065D1C:
mov r1, #0x3
mov r2, #0xf
mov r3, #0x4
- bl FUN_020013E8
+ bl ListMenuOverrideSetColors
pop {r3-r5, pc}
_02065D38:
add r0, r5, #0x0
mov r1, #0x7
mov r2, #0xf
mov r3, #0x8
- bl FUN_020013E8
+ bl ListMenuOverrideSetColors
pop {r3-r5, pc}
nop
_02065D48: .word 0x0000FFFF
@@ -1216,7 +1216,7 @@ FUN_02065D4C: ; 0x02065D4C
add r0, r4, #0x0
add r1, #0x2
add r2, sp, #0x0
- bl FUN_02001448
+ bl ListMenuGetScrollAndRow
add r0, r4, #0x0
mov r1, #0x2
bl ListMenuGetTemplateField
diff --git a/arm9/asm/unk_0206F3FC.s b/arm9/asm/unk_0206F3FC.s
index b1a1edbd..772480ed 100644
--- a/arm9/asm/unk_0206F3FC.s
+++ b/arm9/asm/unk_0206F3FC.s
@@ -1237,7 +1237,7 @@ FUN_0206FCD4: ; 0x0206FCD4
bl FUN_020178A0
mov r0, #0xc
add r1, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
pop {r4, pc}
.balign 4
@@ -1293,7 +1293,7 @@ FUN_0206FD24: ; 0x0206FD24
bl memcpy
mov r0, #0xc
add r1, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r1, #0x1a
mov r0, #0x0
lsl r1, r1, #0x4
@@ -3729,7 +3729,7 @@ _02071146:
bl FUN_02072844
mov r0, #0xc
add r1, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
add r0, r5, #0x0
bl FUN_0207295C
mov r1, #0x0
diff --git a/arm9/asm/unk_02073DA8.s b/arm9/asm/unk_02073DA8.s
index a854727b..6dd1bf64 100644
--- a/arm9/asm/unk_02073DA8.s
+++ b/arm9/asm/unk_02073DA8.s
@@ -1672,7 +1672,7 @@ _02074B6A:
add r1, r7, #0x0
str r0, [r3, #0x0]
mov r0, #0xc
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
mov r1, #0x3
lsl r1, r1, #0x8
ldrb r3, [r4, r1]
diff --git a/arm9/asm/unk_020772F0.s b/arm9/asm/unk_020772F0.s
index 7a074186..80d633bb 100644
--- a/arm9/asm/unk_020772F0.s
+++ b/arm9/asm/unk_020772F0.s
@@ -1509,18 +1509,18 @@ _02077982:
ldr r1, _02077A70 ; =0x000004AC
mov r0, #0x12
ldr r1, [r4, r1]
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
ldr r0, [r4, #0x0]
cmp r0, #0x1
bne _020779C2
ldr r1, _02077A74 ; =0x000004B4
mov r0, #0x12
ldr r1, [r4, r1]
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
ldr r1, _02077A78 ; =0x000004BC
mov r0, #0x12
ldr r1, [r4, r1]
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
_020779C2:
mov r0, #0x16
lsl r0, r0, #0x4
@@ -2250,7 +2250,7 @@ _02077FB0:
bl FUN_020178A0
mov r0, #0x12
add r1, r6, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
pop {r4-r6, pc}
thumb_func_start FUN_02077FE8
diff --git a/arm9/asm/unk_02079C70.s b/arm9/asm/unk_02079C70.s
index 722c8144..617a122a 100644
--- a/arm9/asm/unk_02079C70.s
+++ b/arm9/asm/unk_02079C70.s
@@ -533,7 +533,7 @@ FUN_0207A08C: ; 0x0207A08C
bl FUN_020178A0
mov r0, #0x13
add r1, r4, #0x0
- bl FUN_02016A8C
+ bl FreeToHeapExplicit
pop {r4, pc}
.balign 4
diff --git a/arm9/asm/unk_0208A338.s b/arm9/asm/unk_0208A338.s
index 3b40567c..2005be3e 100644
--- a/arm9/asm/unk_0208A338.s
+++ b/arm9/asm/unk_0208A338.s
@@ -36,7 +36,7 @@ FUN_0208A338: ; 0x0208A338
bl NewMsgDataFromNarc
str r0, [r4, #0x10]
mov r0, #0x20
- bl FUN_02013690
+ bl ListMenuCursorNew
str r0, [r4, #0x14]
ldr r2, [r4, #0x0]
mov r0, #0x2