more list menu work

This commit is contained in:
DizzyEggg
2018-03-03 01:02:07 +01:00
parent ae29f35afd
commit 87274b9eed
3 changed files with 62 additions and 172 deletions
-171
View File
@@ -6,177 +6,6 @@
.text
thumb_func_start ListMenuDrawCursor
@ void ListMenuDrawCursor(struct ListMenu *listMenu)
ListMenuDrawCursor: @ 81AEB20
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r6, r0, 0
ldrb r0, [r6, 0x17]
lsls r0, 26
lsrs r0, 26
movs r1, 0x1
bl GetFontAttribute
ldrb r1, [r6, 0x16]
lsls r1, 26
lsrs r1, 29
adds r0, r1
lsls r0, 24
lsrs r0, 24
ldrb r1, [r6, 0x13]
mov r8, r1
ldrh r1, [r6, 0x1A]
muls r1, r0
ldrb r0, [r6, 0x14]
lsls r0, 28
lsrs r0, 28
adds r0, r1
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r6, 0x17]
lsrs r0, 6
cmp r0, 0x1
beq _081AEC0C
cmp r0, 0x1
bgt _081AEB66
cmp r0, 0
beq _081AEB70
b _081AEC0C
_081AEB66:
cmp r0, 0x2
beq _081AEB84
cmp r0, 0x3
beq _081AEBCC
b _081AEC0C
_081AEB70:
ldr r1, =gText_SelectorArrow2
adds r0, r6, 0
mov r2, r8
adds r3, r7, 0
bl ListMenuPrint
b _081AEC0C
.pool
_081AEB84:
ldrb r0, [r6, 0x1E]
cmp r0, 0xFF
bne _081AEB94
adds r0, r6, 0
movs r1, 0
bl ListMenuAddCursorObject
strb r0, [r6, 0x1E]
_081AEB94:
ldrb r5, [r6, 0x1E]
ldrb r0, [r6, 0x10]
movs r1, 0x1
bl GetWindowAttribute
adds r4, r0, 0
lsls r4, 19
ldr r0, =0xffff0000
adds r4, r0
lsrs r4, 16
ldrb r0, [r6, 0x10]
movs r1, 0x2
bl GetWindowAttribute
adds r2, r0, 0
lsls r2, 3
adds r2, r7
subs r2, 0x1
lsls r2, 16
lsrs r2, 16
adds r0, r5, 0
adds r1, r4, 0
movs r3, 0
bl ListMenuUpdateCursorObject
b _081AEC0C
.pool
_081AEBCC:
ldrb r0, [r6, 0x1E]
cmp r0, 0xFF
bne _081AEBDC
adds r0, r6, 0
movs r1, 0x1
bl ListMenuAddCursorObject
strb r0, [r6, 0x1E]
_081AEBDC:
ldrb r5, [r6, 0x1E]
ldrb r0, [r6, 0x10]
movs r1, 0x1
bl GetWindowAttribute
adds r4, r0, 0
lsls r4, 3
add r4, r8
lsls r4, 16
lsrs r4, 16
ldrb r0, [r6, 0x10]
movs r1, 0x2
bl GetWindowAttribute
adds r2, r0, 0
lsls r2, 3
adds r2, r7
lsls r2, 16
lsrs r2, 16
adds r0, r5, 0
adds r1, r4, 0
movs r3, 0x1
bl ListMenuUpdateCursorObject
_081AEC0C:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end ListMenuDrawCursor
thumb_func_start ListMenuAddCursorObject
ListMenuAddCursorObject: @ 81AEC18
push {r4,r5,lr}
sub sp, 0xC
adds r4, r0, 0
adds r5, r1, 0
mov r1, sp
movs r0, 0
strb r0, [r1]
movs r0, 0xA0
strb r0, [r1, 0x1]
ldrb r0, [r4, 0x10]
movs r1, 0x3
bl GetWindowAttribute
mov r1, sp
lsls r0, 3
adds r0, 0x2
strh r0, [r1, 0x2]
ldrb r0, [r4, 0x17]
lsls r0, 26
lsrs r0, 26
movs r1, 0x1
bl GetFontAttribute
mov r1, sp
lsls r0, 24
lsrs r0, 24
adds r0, 0x2
strh r0, [r1, 0x4]
movs r0, 0x80
lsls r0, 7
strh r0, [r1, 0x6]
ldr r0, =0x0000ffff
strh r0, [r1, 0x8]
movs r0, 0xF
strb r0, [r1, 0xA]
mov r0, sp
adds r1, r5, 0
bl ListMenuAddCursorObjectInternal
lsls r0, 24
lsrs r0, 24
add sp, 0xC
pop {r4,r5}
pop {r1}
bx r1
.pool
thumb_func_end ListMenuAddCursorObject
thumb_func_start ListMenuErasePrintedCursor
ListMenuErasePrintedCursor: @ 81AEC78
push {r4-r7,lr}