diff options
| author | PikalaxALT <pikalaxalt@gmail.com> | 2018-05-24 10:26:55 -0400 | 
|---|---|---|
| committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-05-24 10:26:55 -0400 | 
| commit | 6ae395a6366ceefffe8f492911a4e517bdbbc7b2 (patch) | |
| tree | c4b431e94d3877897f8f26e68a7a39a2dce0cd9d /asm | |
| parent | 5539e282a39c34a278d1ea2fdc53ee46ffe154d5 (diff) | |
| parent | de60bdf2febff1879d7a1985a009dc439a546497 (diff) | |
Merge branch 'master' into contest
Diffstat (limited to 'asm')
| -rw-r--r-- | asm/field_tasks.s | 1921 | ||||
| -rw-r--r-- | asm/menu_helpers.s | 986 | ||||
| -rw-r--r-- | asm/menu_indicators.s | 1442 | 
3 files changed, 0 insertions, 4349 deletions
| diff --git a/asm/field_tasks.s b/asm/field_tasks.s deleted file mode 100644 index 09f5bbc9b..000000000 --- a/asm/field_tasks.s +++ /dev/null @@ -1,1921 +0,0 @@ -	.include "asm/macros.inc" -	.include "constants/constants.inc" - -	.syntax unified - -	.text - -	thumb_func_start task_per_step_callback_manager -task_per_step_callback_manager: @ 809D88C -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	movs r2, 0x8 -	ldrsh r1, [r1, r2] -	ldr r2, =gUnknown_08510348 -	lsls r1, 2 -	adds r1, r2 -	ldr r1, [r1] -	bl _call_via_r1 -	pop {r0} -	bx r0 -	.pool -	thumb_func_end task_per_step_callback_manager - -	thumb_func_start sub_809D8B8 -sub_809D8B8: @ 809D8B8 -	push {r4,lr} -	adds r4, r0, 0 -	movs r1, 0 -	ldrsh r0, [r4, r1] -	cmp r0, 0 -	beq _0809D8CA -	cmp r0, 0x1 -	beq _0809D8E8 -	b _0809D8FC -_0809D8CA: -	ldr r0, =gMain -	ldr r0, [r0, 0x20] -	movs r1, 0x80 -	lsls r1, 5 -	ands r0, r1 -	cmp r0, 0 -	beq _0809D8FC -	bl DoTimeBasedEvents -	ldrh r0, [r4] -	adds r0, 0x1 -	b _0809D8FA -	.pool -_0809D8E8: -	ldr r0, =gMain -	ldr r0, [r0, 0x20] -	movs r1, 0x80 -	lsls r1, 5 -	ands r0, r1 -	cmp r0, 0 -	bne _0809D8FC -	ldrh r0, [r4] -	subs r0, 0x1 -_0809D8FA: -	strh r0, [r4] -_0809D8FC: -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809D8B8 - -	thumb_func_start sub_809D908 -sub_809D908: @ 809D908 -	push {r4,lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r4, r1, r0 -	bl ScriptContext2_IsEnabled -	lsls r0, 24 -	cmp r0, 0 -	bne _0809D930 -	adds r0, r4, 0 -	bl sub_809D8B8 -	adds r0, r4, 0x2 -	adds r1, r4, 0x4 -	bl UpdateAmbientCry -_0809D930: -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809D908 - -	thumb_func_start SetUpFieldTasks -SetUpFieldTasks: @ 809D93C -	push {r4,r5,lr} -	ldr r5, =task_per_step_callback_manager -	adds r0, r5, 0 -	bl FuncIsActiveTask -	lsls r0, 24 -	lsrs r4, r0, 24 -	cmp r4, 0 -	bne _0809D966 -	adds r0, r5, 0 -	movs r1, 0x50 -	bl CreateTask -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	strh r4, [r1, 0x8] -_0809D966: -	ldr r4, =sub_809E638 -	adds r0, r4, 0 -	bl FuncIsActiveTask -	lsls r0, 24 -	cmp r0, 0 -	bne _0809D97C -	adds r0, r4, 0 -	movs r1, 0x50 -	bl CreateTask -_0809D97C: -	ldr r4, =sub_809D908 -	adds r0, r4, 0 -	bl FuncIsActiveTask -	lsls r0, 24 -	cmp r0, 0 -	bne _0809D992 -	adds r0, r4, 0 -	movs r1, 0x50 -	bl CreateTask -_0809D992: -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end SetUpFieldTasks - -	thumb_func_start ActivatePerStepCallback -ActivatePerStepCallback: @ 809D9A8 -	push {r4,lr} -	lsls r0, 24 -	lsrs r4, r0, 24 -	ldr r0, =task_per_step_callback_manager -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r1, r0, 24 -	cmp r1, 0xFF -	beq _0809D9EA -	lsls r0, r1, 2 -	adds r0, r1 -	lsls r0, 3 -	ldr r1, =gTasks + 0x8 -	adds r1, r0, r1 -	movs r2, 0 -	adds r0, r1, 0 -	adds r0, 0x1E -_0809D9CC: -	strh r2, [r0] -	subs r0, 0x2 -	cmp r0, r1 -	bge _0809D9CC -	cmp r4, 0x7 -	bls _0809D9E8 -	movs r0, 0 -	strh r0, [r1] -	b _0809D9EA -	.pool -_0809D9E8: -	strh r4, [r1] -_0809D9EA: -	pop {r4} -	pop {r0} -	bx r0 -	thumb_func_end ActivatePerStepCallback - -	thumb_func_start ResetFieldTasksArgs -ResetFieldTasksArgs: @ 809D9F0 -	push {lr} -	ldr r0, =task_per_step_callback_manager -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r1, r0, 24 -	ldr r0, =sub_809D908 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r1, r0, 24 -	cmp r1, 0xFF -	beq _0809DA1A -	lsls r0, r1, 2 -	adds r0, r1 -	lsls r0, 3 -	ldr r1, =gTasks + 0x8 -	adds r0, r1 -	movs r1, 0 -	strh r1, [r0, 0x2] -	strh r1, [r0, 0x4] -_0809DA1A: -	pop {r0} -	bx r0 -	.pool -	thumb_func_end ResetFieldTasksArgs - -	thumb_func_start nullsub_34 -nullsub_34: @ 809DA2C -	bx lr -	thumb_func_end nullsub_34 - -	thumb_func_start sub_809DA30 -sub_809DA30: @ 809DA30 -	push {r4,r5,lr} -	adds r5, r0, 0 -	lsls r1, 24 -	lsrs r4, r1, 24 -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogVerticalLog1 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DA48 -	adds r0, r5, 0 -	b _0809DA80 -_0809DA48: -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogVerticalLog2 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DA5A -	adds r0, r5, 0 -	adds r0, 0x8 -	b _0809DA80 -_0809DA5A: -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogHorizontalLog1 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DA6C -	adds r0, r5, 0 -	adds r0, 0x10 -	b _0809DA80 -_0809DA6C: -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogHorizontalLog2 -	lsls r0, 24 -	cmp r0, 0 -	bne _0809DA7C -	movs r0, 0 -	b _0809DA80 -_0809DA7C: -	adds r0, r5, 0 -	adds r0, 0x18 -_0809DA80: -	pop {r4,r5} -	pop {r1} -	bx r1 -	thumb_func_end sub_809DA30 - -	thumb_func_start sub_809DA88 -sub_809DA88: @ 809DA88 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	adds r5, r0, 0 -	mov r8, r3 -	lsls r1, 16 -	asrs r6, r1, 16 -	lsls r2, 16 -	asrs r7, r2, 16 -	adds r0, r6, 0 -	adds r1, r7, 0 -	bl MapGridGetMetatileBehaviorAt -	adds r1, r0, 0 -	lsls r1, 16 -	lsrs r1, 16 -	adds r0, r5, 0 -	bl sub_809DA30 -	adds r4, r0, 0 -	adds r5, r4, 0 -	cmp r4, 0 -	beq _0809DB06 -	movs r0, 0 -	ldrsb r0, [r4, r0] -	adds r0, r6, r0 -	movs r1, 0x1 -	ldrsb r1, [r4, r1] -	adds r1, r7, r1 -	ldrh r2, [r4, 0x2] -	bl MapGridSetMetatileIdAt -	mov r0, r8 -	cmp r0, 0 -	beq _0809DADE -	movs r0, 0 -	ldrsb r0, [r4, r0] -	adds r0, r6, r0 -	movs r1, 0x1 -	ldrsb r1, [r4, r1] -	adds r1, r7, r1 -	bl CurrentMapDrawMetatileAt -_0809DADE: -	movs r0, 0x4 -	ldrsb r0, [r5, r0] -	adds r0, r6, r0 -	movs r1, 0x5 -	ldrsb r1, [r5, r1] -	adds r1, r7, r1 -	ldrh r2, [r5, 0x6] -	bl MapGridSetMetatileIdAt -	mov r0, r8 -	cmp r0, 0 -	beq _0809DB06 -	movs r0, 0x4 -	ldrsb r0, [r5, r0] -	adds r0, r6, r0 -	movs r1, 0x5 -	ldrsb r1, [r5, r1] -	adds r1, r7, r1 -	bl CurrentMapDrawMetatileAt -_0809DB06: -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_809DA88 - -	thumb_func_start sub_809DB10 -sub_809DB10: @ 809DB10 -	push {r4,r5,lr} -	adds r4, r0, 0 -	adds r5, r1, 0 -	adds r3, r2, 0 -	ldr r0, =gUnknown_08510368 -	lsls r4, 16 -	asrs r4, 16 -	lsls r5, 16 -	asrs r5, 16 -	adds r1, r4, 0 -	adds r2, r5, 0 -	bl sub_809DA88 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809DB10 - -	thumb_func_start sub_809DB34 -sub_809DB34: @ 809DB34 -	push {r4,r5,lr} -	adds r4, r0, 0 -	adds r5, r1, 0 -	adds r3, r2, 0 -	ldr r0, =gUnknown_08510388 -	lsls r4, 16 -	asrs r4, 16 -	lsls r5, 16 -	asrs r5, 16 -	adds r1, r4, 0 -	adds r2, r5, 0 -	bl sub_809DA88 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809DB34 - -	thumb_func_start sub_809DB58 -sub_809DB58: @ 809DB58 -	push {r4,r5,lr} -	adds r4, r0, 0 -	adds r5, r1, 0 -	adds r3, r2, 0 -	ldr r0, =gUnknown_085103A8 -	lsls r4, 16 -	asrs r4, 16 -	lsls r5, 16 -	asrs r5, 16 -	adds r1, r4, 0 -	adds r2, r5, 0 -	bl sub_809DA88 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809DB58 - -	thumb_func_start sub_809DB7C -sub_809DB7C: @ 809DB7C -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	lsls r0, 16 -	lsrs r0, 16 -	mov r8, r0 -	mov r10, r8 -	lsls r1, 16 -	lsrs r7, r1, 16 -	mov r9, r7 -	lsls r2, 16 -	asrs r6, r2, 16 -	lsls r3, 16 -	asrs r5, r3, 16 -	adds r0, r6, 0 -	adds r1, r5, 0 -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r4, r0, 24 -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogVerticalLog1 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DBC0 -	lsls r0, r7, 16 -	asrs r0, 16 -	cmp r0, r5 -	ble _0809DC06 -_0809DBBC: -	movs r0, 0 -	b _0809DC08 -_0809DBC0: -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogVerticalLog2 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DBD8 -	mov r1, r9 -	lsls r0, r1, 16 -	asrs r0, 16 -	cmp r0, r5 -	bge _0809DC06 -	b _0809DBBC -_0809DBD8: -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogHorizontalLog1 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DBF0 -	mov r1, r8 -	lsls r0, r1, 16 -	asrs r0, 16 -	cmp r0, r6 -	ble _0809DC06 -	b _0809DBBC -_0809DBF0: -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogHorizontalLog2 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DC06 -	mov r1, r10 -	lsls r0, r1, 16 -	asrs r0, 16 -	cmp r0, r6 -	blt _0809DBBC -_0809DC06: -	movs r0, 0x1 -_0809DC08: -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r1} -	bx r1 -	thumb_func_end sub_809DB7C - -	thumb_func_start sub_809DC18 -sub_809DC18: @ 809DC18 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	lsls r2, 16 -	lsrs r2, 16 -	mov r8, r2 -	mov r10, r8 -	lsls r3, 16 -	lsrs r7, r3, 16 -	mov r9, r7 -	lsls r0, 16 -	asrs r6, r0, 16 -	lsls r1, 16 -	asrs r5, r1, 16 -	adds r0, r6, 0 -	adds r1, r5, 0 -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r4, r0, 24 -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogVerticalLog1 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DC5C -	lsls r0, r7, 16 -	asrs r0, 16 -	cmp r5, r0 -	bge _0809DCA2 -_0809DC58: -	movs r0, 0 -	b _0809DCA4 -_0809DC5C: -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogVerticalLog2 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DC74 -	mov r1, r9 -	lsls r0, r1, 16 -	asrs r0, 16 -	cmp r5, r0 -	ble _0809DCA2 -	b _0809DC58 -_0809DC74: -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogHorizontalLog1 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DC8C -	mov r1, r8 -	lsls r0, r1, 16 -	asrs r0, 16 -	cmp r6, r0 -	bge _0809DCA2 -	b _0809DC58 -_0809DC8C: -	adds r0, r4, 0 -	bl MetatileBehavior_IsPacifilogHorizontalLog2 -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DCA2 -	mov r1, r10 -	lsls r0, r1, 16 -	asrs r0, 16 -	cmp r6, r0 -	bgt _0809DC58 -_0809DCA2: -	movs r0, 0x1 -_0809DCA4: -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r1} -	bx r1 -	thumb_func_end sub_809DC18 - -	thumb_func_start sub_809DCB4 -sub_809DCB4: @ 809DCB4 -	push {r4-r7,lr} -	sub sp, 0x4 -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r4, r1, r0 -	mov r5, sp -	adds r5, 0x2 -	mov r0, sp -	adds r1, r5, 0 -	bl PlayerGetDestCoords -	movs r1, 0x2 -	ldrsh r0, [r4, r1] -	adds r6, r5, 0 -	cmp r0, 0x1 -	beq _0809DD0E -	cmp r0, 0x1 -	bgt _0809DCEC -	cmp r0, 0 -	beq _0809DCF2 -	b _0809DE1E -	.pool -_0809DCEC: -	cmp r0, 0x2 -	beq _0809DDDC -	b _0809DE1E -_0809DCF2: -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r4, 0x4] -	ldrh r0, [r5] -	strh r0, [r4, 0x6] -	mov r0, sp -	movs r2, 0 -	ldrsh r0, [r0, r2] -	movs r3, 0 -	ldrsh r1, [r5, r3] -	movs r2, 0x1 -	bl sub_809DB34 -	b _0809DE1A -_0809DD0E: -	mov r0, sp -	movs r7, 0 -	ldrsh r1, [r0, r7] -	movs r2, 0x4 -	ldrsh r0, [r4, r2] -	cmp r1, r0 -	bne _0809DD28 -	movs r3, 0 -	ldrsh r1, [r5, r3] -	movs r7, 0x6 -	ldrsh r0, [r4, r7] -	cmp r1, r0 -	beq _0809DE1E -_0809DD28: -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	movs r2, 0 -	ldrsh r1, [r5, r2] -	movs r3, 0x4 -	ldrsh r2, [r4, r3] -	movs r5, 0x6 -	ldrsh r3, [r4, r5] -	bl sub_809DB7C -	cmp r0, 0 -	beq _0809DD70 -	movs r7, 0x4 -	ldrsh r0, [r4, r7] -	movs r2, 0x6 -	ldrsh r1, [r4, r2] -	movs r2, 0x1 -	bl sub_809DB10 -	movs r3, 0x4 -	ldrsh r0, [r4, r3] -	movs r5, 0x6 -	ldrsh r1, [r4, r5] -	movs r2, 0 -	bl sub_809DB58 -	ldrh r0, [r4, 0x4] -	strh r0, [r4, 0x8] -	ldrh r0, [r4, 0x6] -	strh r0, [r4, 0xA] -	movs r0, 0x2 -	strh r0, [r4, 0x2] -	movs r0, 0x8 -	strh r0, [r4, 0xC] -	b _0809DD7A -_0809DD70: -	movs r7, 0x1 -	negs r7, r7 -	adds r0, r7, 0 -	strh r0, [r4, 0x8] -	strh r0, [r4, 0xA] -_0809DD7A: -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	adds r5, r6, 0 -	movs r2, 0 -	ldrsh r1, [r5, r2] -	movs r3, 0x4 -	ldrsh r2, [r4, r3] -	movs r7, 0x6 -	ldrsh r3, [r4, r7] -	bl sub_809DC18 -	cmp r0, 0 -	beq _0809DDAE -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	movs r2, 0 -	ldrsh r1, [r5, r2] -	movs r2, 0x1 -	bl sub_809DB10 -	movs r0, 0x2 -	strh r0, [r4, 0x2] -	movs r0, 0x8 -	strh r0, [r4, 0xC] -_0809DDAE: -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r4, 0x4] -	ldrh r0, [r6] -	strh r0, [r4, 0x6] -	mov r0, sp -	movs r3, 0 -	ldrsh r0, [r0, r3] -	movs r5, 0 -	ldrsh r1, [r6, r5] -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r0, 24 -	bl MetatileBehavior_IsPacifidlogLog -	lsls r0, 24 -	cmp r0, 0 -	beq _0809DE1E -	movs r0, 0x46 -	bl PlaySE -	b _0809DE1E -_0809DDDC: -	ldrh r0, [r4, 0xC] -	subs r0, 0x1 -	strh r0, [r4, 0xC] -	lsls r0, 16 -	cmp r0, 0 -	bne _0809DE1E -	mov r0, sp -	movs r7, 0 -	ldrsh r0, [r0, r7] -	movs r2, 0 -	ldrsh r1, [r5, r2] -	movs r2, 0x1 -	bl sub_809DB34 -	movs r3, 0x8 -	ldrsh r0, [r4, r3] -	movs r1, 0x1 -	negs r1, r1 -	cmp r0, r1 -	beq _0809DE1A -	movs r5, 0xA -	ldrsh r0, [r4, r5] -	cmp r0, r1 -	beq _0809DE1A -	movs r7, 0x8 -	ldrsh r0, [r4, r7] -	movs r2, 0xA -	ldrsh r1, [r4, r2] -	movs r2, 0x1 -	bl sub_809DB58 -_0809DE1A: -	movs r0, 0x1 -	strh r0, [r4, 0x2] -_0809DE1E: -	add sp, 0x4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_809DCB4 - -	thumb_func_start sub_809DE28 -sub_809DE28: @ 809DE28 -	push {r4,r5,lr} -	lsls r0, 16 -	lsrs r4, r0, 16 -	lsls r1, 16 -	lsrs r5, r1, 16 -	bl PlayerGetZCoord -	lsls r0, 24 -	lsrs r0, 24 -	movs r1, 0x1 -	ands r0, r1 -	cmp r0, 0 -	bne _0809DE82 -	lsls r0, r4, 16 -	asrs r4, r0, 16 -	lsls r0, r5, 16 -	asrs r5, r0, 16 -	adds r0, r4, 0 -	adds r1, r5, 0 -	bl MapGridGetMetatileIdAt -	adds r1, r0, 0 -	ldr r0, =0x0000024e -	cmp r1, r0 -	beq _0809DE68 -	adds r0, 0x8 -	cmp r1, r0 -	beq _0809DE78 -	b _0809DE82 -	.pool -_0809DE68: -	ldr r2, =0x0000024f -	adds r0, r4, 0 -	adds r1, r5, 0 -	bl MapGridSetMetatileIdAt -	b _0809DE82 -	.pool -_0809DE78: -	ldr r2, =0x00000257 -	adds r0, r4, 0 -	adds r1, r5, 0 -	bl MapGridSetMetatileIdAt -_0809DE82: -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809DE28 - -	thumb_func_start sub_809DE8C -sub_809DE8C: @ 809DE8C -	push {r4,r5,lr} -	lsls r0, 16 -	lsrs r4, r0, 16 -	lsls r1, 16 -	lsrs r5, r1, 16 -	bl PlayerGetZCoord -	lsls r0, 24 -	lsrs r0, 24 -	movs r1, 0x1 -	ands r0, r1 -	cmp r0, 0 -	bne _0809DEE6 -	lsls r0, r4, 16 -	asrs r4, r0, 16 -	lsls r0, r5, 16 -	asrs r5, r0, 16 -	adds r0, r4, 0 -	adds r1, r5, 0 -	bl MapGridGetMetatileIdAt -	adds r1, r0, 0 -	ldr r0, =0x0000024f -	cmp r1, r0 -	beq _0809DECC -	adds r0, 0x8 -	cmp r1, r0 -	beq _0809DEDC -	b _0809DEE6 -	.pool -_0809DECC: -	ldr r2, =0x0000024e -	adds r0, r4, 0 -	adds r1, r5, 0 -	bl MapGridSetMetatileIdAt -	b _0809DEE6 -	.pool -_0809DEDC: -	ldr r2, =0x00000256 -	adds r0, r4, 0 -	adds r1, r5, 0 -	bl MapGridSetMetatileIdAt -_0809DEE6: -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809DE8C - -	thumb_func_start sub_809DEF0 -sub_809DEF0: @ 809DEF0 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x8 -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r6, r1, r0 -	mov r4, sp -	adds r4, 0x2 -	mov r0, sp -	adds r1, r4, 0 -	bl PlayerGetDestCoords -	movs r0, 0x2 -	ldrsh r5, [r6, r0] -	mov r9, r4 -	cmp r5, 0x1 -	beq _0809DF84 -	cmp r5, 0x1 -	bgt _0809DF30 -	cmp r5, 0 -	beq _0809DF38 -	b _0809E0F6 -	.pool -_0809DF30: -	cmp r5, 0x2 -	bne _0809DF36 -	b _0809E064 -_0809DF36: -	b _0809E0F6 -_0809DF38: -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r6, 0x4] -	mov r1, r9 -	ldrh r0, [r1] -	strh r0, [r6, 0x6] -	mov r0, sp -	movs r2, 0 -	ldrsh r0, [r0, r2] -	movs r3, 0 -	ldrsh r1, [r1, r3] -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r0, 24 -	bl MetatileBehavior_IsFortreeBridge -	lsls r0, 24 -	cmp r0, 0 -	bne _0809DF62 -	b _0809E0F2 -_0809DF62: -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	mov r2, r9 -	movs r3, 0 -	ldrsh r1, [r2, r3] -	bl sub_809DE28 -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	mov r2, r9 -	movs r3, 0 -	ldrsh r1, [r2, r3] -	bl CurrentMapDrawMetatileAt -	b _0809E0F2 -_0809DF84: -	ldrh r0, [r6, 0x6] -	mov r8, r0 -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	ldrh r2, [r6, 0x4] -	mov r10, r2 -	movs r3, 0x4 -	ldrsh r7, [r6, r3] -	cmp r0, r7 -	bne _0809DFAC -	mov r0, r9 -	movs r2, 0 -	ldrsh r1, [r0, r2] -	mov r3, r8 -	lsls r0, r3, 16 -	asrs r0, 16 -	cmp r1, r0 -	bne _0809DFAC -	b _0809E0F6 -_0809DFAC: -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	mov r2, r9 -	movs r3, 0 -	ldrsh r1, [r2, r3] -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r0, 24 -	bl MetatileBehavior_IsFortreeBridge -	lsls r0, 24 -	lsrs r0, 24 -	str r0, [sp, 0x4] -	mov r0, r8 -	lsls r4, r0, 16 -	asrs r1, r4, 16 -	adds r0, r7, 0 -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r0, 24 -	bl MetatileBehavior_IsFortreeBridge -	lsls r0, 24 -	lsrs r7, r0, 24 -	bl PlayerGetZCoord -	movs r1, 0 -	ands r5, r0 -	lsls r0, r5, 24 -	adds r5, r4, 0 -	cmp r0, 0 -	bne _0809DFF4 -	movs r1, 0x1 -_0809DFF4: -	cmp r1, 0 -	beq _0809E008 -	ldr r1, [sp, 0x4] -	cmp r1, 0x1 -	beq _0809E002 -	cmp r7, 0x1 -	bne _0809E008 -_0809E002: -	movs r0, 0x47 -	bl PlaySE -_0809E008: -	cmp r7, 0 -	beq _0809E044 -	mov r2, r10 -	lsls r4, r2, 16 -	asrs r4, 16 -	asrs r5, 16 -	adds r0, r4, 0 -	adds r1, r5, 0 -	bl sub_809DE8C -	adds r0, r4, 0 -	adds r1, r5, 0 -	bl CurrentMapDrawMetatileAt -	mov r0, sp -	movs r3, 0 -	ldrsh r0, [r0, r3] -	mov r2, r9 -	movs r3, 0 -	ldrsh r1, [r2, r3] -	bl sub_809DE28 -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	mov r2, r9 -	movs r3, 0 -	ldrsh r1, [r2, r3] -	bl CurrentMapDrawMetatileAt -_0809E044: -	mov r0, r10 -	strh r0, [r6, 0x8] -	mov r1, r8 -	strh r1, [r6, 0xA] -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r6, 0x4] -	mov r2, r9 -	ldrh r0, [r2] -	strh r0, [r6, 0x6] -	cmp r7, 0 -	beq _0809E0F6 -	movs r0, 0x10 -	strh r0, [r6, 0xC] -	movs r0, 0x2 -	strh r0, [r6, 0x2] -_0809E064: -	ldrh r0, [r6, 0xC] -	subs r0, 0x1 -	strh r0, [r6, 0xC] -	ldrh r3, [r6, 0x8] -	mov r10, r3 -	ldrh r0, [r6, 0xA] -	mov r8, r0 -	movs r1, 0xC -	ldrsh r0, [r6, r1] -	movs r1, 0x7 -	bl __modsi3 -	lsls r0, 16 -	asrs r0, 16 -	cmp r0, 0x7 -	bhi _0809E0EA -	lsls r0, 2 -	ldr r1, =_0809E094 -	adds r0, r1 -	ldr r0, [r0] -	mov pc, r0 -	.pool -	.align 2, 0 -_0809E094: -	.4byte _0809E0B4 -	.4byte _0809E0EA -	.4byte _0809E0EA -	.4byte _0809E0EA -	.4byte _0809E0C6 -	.4byte _0809E0EA -	.4byte _0809E0EA -	.4byte _0809E0EA -_0809E0B4: -	mov r2, r10 -	lsls r0, r2, 16 -	asrs r0, 16 -	mov r3, r8 -	lsls r1, r3, 16 -	asrs r1, 16 -	bl CurrentMapDrawMetatileAt -	b _0809E0EA -_0809E0C6: -	mov r0, r10 -	lsls r5, r0, 16 -	asrs r5, 16 -	mov r1, r8 -	lsls r4, r1, 16 -	asrs r4, 16 -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl sub_809DE28 -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl CurrentMapDrawMetatileAt -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl sub_809DE8C -_0809E0EA: -	movs r2, 0xC -	ldrsh r0, [r6, r2] -	cmp r0, 0 -	bne _0809E0F6 -_0809E0F2: -	movs r0, 0x1 -	strh r0, [r6, 0x2] -_0809E0F6: -	add sp, 0x8 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_809DEF0 - -	thumb_func_start sub_809E108 -sub_809E108: @ 809E108 -	push {lr} -	lsls r1, 16 -	lsrs r1, 16 -	lsls r0, 16 -	ldr r2, =0xfffd0000 -	adds r0, r2 -	lsrs r0, 16 -	cmp r0, 0xA -	bhi _0809E144 -	lsls r0, r1, 16 -	asrs r1, r0, 16 -	ldr r2, =0xfffa0000 -	adds r0, r2 -	lsrs r0, 16 -	cmp r0, 0xD -	bhi _0809E144 -	ldr r0, =gUnknown_085103C8 -	lsls r1, 1 -	adds r1, r0 -	ldrh r0, [r1] -	cmp r0, 0 -	beq _0809E144 -	movs r0, 0x1 -	b _0809E146 -	.pool -_0809E144: -	movs r0, 0 -_0809E146: -	pop {r1} -	bx r1 -	thumb_func_end sub_809E108 - -	thumb_func_start sub_809E14C -sub_809E14C: @ 809E14C -	push {r4,r5,lr} -	lsls r0, 16 -	asrs r5, r0, 16 -	lsls r1, 16 -	asrs r4, r1, 16 -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl sub_809E108 -	cmp r0, 0 -	beq _0809E17A -	ldr r1, =gUnknown_085103C8 -	lsls r0, r4, 1 -	adds r0, r1 -	ldrh r0, [r0] -	bl GetVarPointer -	subs r2, r5, 0x3 -	movs r1, 0x1 -	lsls r1, r2 -	ldrh r2, [r0] -	orrs r1, r2 -	strh r1, [r0] -_0809E17A: -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809E14C - -	thumb_func_start sub_809E184 -sub_809E184: @ 809E184 -	push {r4,r5,lr} -	lsls r0, 16 -	asrs r5, r0, 16 -	lsls r1, 16 -	asrs r4, r1, 16 -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl sub_809E108 -	cmp r0, 0 -	beq _0809E1B6 -	ldr r1, =gUnknown_085103C8 -	lsls r0, r4, 1 -	adds r0, r1 -	ldrh r0, [r0] -	bl VarGet -	lsls r0, 16 -	subs r2, r5, 0x3 -	movs r1, 0x80 -	lsls r1, 9 -	lsls r1, r2 -	ands r1, r0 -	cmp r1, 0 -	bne _0809E1C0 -_0809E1B6: -	movs r0, 0 -	b _0809E1C2 -	.pool -_0809E1C0: -	movs r0, 0x1 -_0809E1C2: -	pop {r4,r5} -	pop {r1} -	bx r1 -	thumb_func_end sub_809E184 - -	thumb_func_start sub_809E1C8 -sub_809E1C8: @ 809E1C8 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	ldr r0, =gMapHeader -	ldr r0, [r0] -	ldr r1, [r0] -	mov r9, r1 -	ldr r7, [r0, 0x4] -	movs r5, 0 -	cmp r5, r9 -	bge _0809E210 -_0809E1E0: -	movs r4, 0 -	adds r0, r5, 0x1 -	mov r8, r0 -	cmp r4, r7 -	bge _0809E20A -	lsls r6, r5, 16 -_0809E1EC: -	lsls r1, r4, 16 -	asrs r1, 16 -	asrs r0, r6, 16 -	bl sub_809E184 -	cmp r0, 0x1 -	bne _0809E204 -	adds r1, r4, 0x7 -	adds r0, r5, 0x7 -	ldr r2, =0x0000020e -	bl MapGridSetMetatileIdAt -_0809E204: -	adds r4, 0x1 -	cmp r4, r7 -	blt _0809E1EC -_0809E20A: -	mov r5, r8 -	cmp r5, r9 -	blt _0809E1E0 -_0809E210: -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809E1C8 - -	thumb_func_start sub_809E224 -sub_809E224: @ 809E224 -	push {r4-r7,lr} -	sub sp, 0x4 -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r5, r1, r0 -	movs r1, 0x2 -	ldrsh r0, [r5, r1] -	cmp r0, 0x1 -	beq _0809E270 -	cmp r0, 0x1 -	bgt _0809E24C -	cmp r0, 0 -	beq _0809E258 -	b _0809E3A6 -	.pool -_0809E24C: -	cmp r0, 0x2 -	beq _0809E306 -	cmp r0, 0x3 -	bne _0809E256 -	b _0809E360 -_0809E256: -	b _0809E3A6 -_0809E258: -	mov r4, sp -	adds r4, 0x2 -	mov r0, sp -	adds r1, r4, 0 -	bl PlayerGetDestCoords -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r5, 0x4] -	ldrh r0, [r4] -	strh r0, [r5, 0x6] -	b _0809E3A2 -_0809E270: -	mov r7, sp -	adds r7, 0x2 -	mov r0, sp -	adds r1, r7, 0 -	bl PlayerGetDestCoords -	mov r0, sp -	ldrh r2, [r0] -	movs r3, 0 -	ldrsh r1, [r0, r3] -	movs r3, 0x4 -	ldrsh r0, [r5, r3] -	cmp r1, r0 -	bne _0809E29A -	movs r0, 0 -	ldrsh r1, [r7, r0] -	movs r3, 0x6 -	ldrsh r0, [r5, r3] -	cmp r1, r0 -	bne _0809E29A -	b _0809E3A6 -_0809E29A: -	strh r2, [r5, 0x4] -	ldrh r0, [r7] -	strh r0, [r5, 0x6] -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	movs r2, 0 -	ldrsh r1, [r7, r2] -	bl MapGridGetMetatileBehaviorAt -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	ldr r0, =0x00004022 -	bl GetVarPointer -	adds r6, r0, 0 -	lsls r4, 24 -	lsrs r4, 24 -	adds r0, r4, 0 -	bl MetatileBehavior_IsThinIce -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _0809E2E0 -	ldrh r0, [r6] -	adds r0, 0x1 -	strh r0, [r6] -	movs r0, 0x4 -	strh r0, [r5, 0xC] -	movs r0, 0x2 -	b _0809E2F8 -	.pool -_0809E2E0: -	adds r0, r4, 0 -	bl MetatileBehavior_IsCrackedIce -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _0809E3A6 -	movs r0, 0 -	strh r0, [r6] -	movs r0, 0x4 -	strh r0, [r5, 0xC] -	movs r0, 0x3 -_0809E2F8: -	strh r0, [r5, 0x2] -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r5, 0x8] -	ldrh r0, [r7] -	strh r0, [r5, 0xA] -	b _0809E3A6 -_0809E306: -	ldrh r1, [r5, 0xC] -	movs r3, 0xC -	ldrsh r0, [r5, r3] -	cmp r0, 0 -	bne _0809E36A -	mov r1, sp -	ldrh r0, [r5, 0x8] -	strh r0, [r1] -	mov r4, sp -	adds r4, 0x2 -	ldrh r0, [r5, 0xA] -	strh r0, [r4] -	movs r0, 0x2A -	bl PlaySE -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	movs r2, 0 -	ldrsh r1, [r4, r2] -	ldr r2, =0x0000020e -	bl MapGridSetMetatileIdAt -	mov r0, sp -	movs r3, 0 -	ldrsh r0, [r0, r3] -	movs r2, 0 -	ldrsh r1, [r4, r2] -	bl CurrentMapDrawMetatileAt -	mov r0, sp -	ldrh r0, [r0] -	subs r0, 0x7 -	lsls r0, 16 -	asrs r0, 16 -	ldrh r1, [r4] -	subs r1, 0x7 -	lsls r1, 16 -	asrs r1, 16 -	bl sub_809E14C -	b _0809E3A2 -	.pool -_0809E360: -	ldrh r1, [r5, 0xC] -	movs r3, 0xC -	ldrsh r0, [r5, r3] -	cmp r0, 0 -	beq _0809E370 -_0809E36A: -	subs r0, r1, 0x1 -	strh r0, [r5, 0xC] -	b _0809E3A6 -_0809E370: -	mov r1, sp -	ldrh r0, [r5, 0x8] -	strh r0, [r1] -	mov r4, sp -	adds r4, 0x2 -	ldrh r0, [r5, 0xA] -	strh r0, [r4] -	movs r0, 0x29 -	bl PlaySE -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	movs r2, 0 -	ldrsh r1, [r4, r2] -	ldr r2, =0x00000206 -	bl MapGridSetMetatileIdAt -	mov r0, sp -	movs r3, 0 -	ldrsh r0, [r0, r3] -	movs r2, 0 -	ldrsh r1, [r4, r2] -	bl CurrentMapDrawMetatileAt -_0809E3A2: -	movs r0, 0x1 -	strh r0, [r5, 0x2] -_0809E3A6: -	add sp, 0x4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809E224 - -	thumb_func_start sub_809E3B4 -sub_809E3B4: @ 809E3B4 -	push {r4,r5,lr} -	sub sp, 0x4 -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r5, r1, r0 -	mov r4, sp -	adds r4, 0x2 -	mov r0, sp -	adds r1, r4, 0 -	bl PlayerGetDestCoords -	mov r0, sp -	ldrh r2, [r0] -	movs r3, 0 -	ldrsh r1, [r0, r3] -	movs r3, 0x2 -	ldrsh r0, [r5, r3] -	cmp r1, r0 -	bne _0809E3EE -	movs r0, 0 -	ldrsh r1, [r4, r0] -	movs r3, 0x4 -	ldrsh r0, [r5, r3] -	cmp r1, r0 -	beq _0809E47A -_0809E3EE: -	strh r2, [r5, 0x2] -	ldrh r0, [r4] -	strh r0, [r5, 0x4] -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	movs r2, 0 -	ldrsh r1, [r4, r2] -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r0, 24 -	bl MetatileBehavior_IsAsh -	lsls r0, 24 -	cmp r0, 0 -	beq _0809E47A -	mov r0, sp -	movs r3, 0 -	ldrsh r0, [r0, r3] -	movs r2, 0 -	ldrsh r1, [r4, r2] -	bl MapGridGetMetatileIdAt -	ldr r1, =0x0000020a -	cmp r0, r1 -	bne _0809E444 -	mov r0, sp -	movs r3, 0 -	ldrsh r0, [r0, r3] -	movs r2, 0 -	ldrsh r1, [r4, r2] -	ldr r2, =0x00000212 -	movs r3, 0x4 -	bl ash -	b _0809E456 -	.pool -_0809E444: -	mov r0, sp -	movs r3, 0 -	ldrsh r0, [r0, r3] -	movs r2, 0 -	ldrsh r1, [r4, r2] -	ldr r2, =0x00000206 -	movs r3, 0x4 -	bl ash -_0809E456: -	movs r0, 0x87 -	lsls r0, 1 -	movs r1, 0x1 -	bl CheckBagHasItem -	lsls r0, 24 -	cmp r0, 0 -	beq _0809E47A -	ldr r0, =0x00004048 -	bl GetVarPointer -	adds r2, r0, 0 -	ldrh r1, [r2] -	ldr r0, =0x0000270e -	cmp r1, r0 -	bhi _0809E47A -	adds r0, r1, 0x1 -	strh r0, [r2] -_0809E47A: -	add sp, 0x4 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809E3B4 - -	thumb_func_start sub_809E490 -sub_809E490: @ 809E490 -	push {r4,r5,lr} -	lsls r0, 16 -	asrs r5, r0, 16 -	lsls r1, 16 -	asrs r4, r1, 16 -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl MapGridGetMetatileIdAt -	ldr r1, =0x0000022f -	ldr r2, =0x00000237 -	cmp r0, r1 -	bne _0809E4AC -	subs r2, 0x31 -_0809E4AC: -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl MapGridSetMetatileIdAt -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl CurrentMapDrawMetatileAt -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809E490 - -	thumb_func_start sub_809E4CC -sub_809E4CC: @ 809E4CC -	push {r4-r7,lr} -	sub sp, 0x4 -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r5, r1, r0 -	mov r4, sp -	adds r4, 0x2 -	mov r0, sp -	adds r1, r4, 0 -	bl PlayerGetDestCoords -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	movs r2, 0 -	ldrsh r1, [r4, r2] -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 16 -	lsrs r6, r0, 16 -	ldrh r1, [r5, 0x8] -	movs r3, 0x8 -	ldrsh r0, [r5, r3] -	adds r7, r4, 0 -	cmp r0, 0 -	beq _0809E51E -	subs r0, r1, 0x1 -	strh r0, [r5, 0x8] -	lsls r0, 16 -	cmp r0, 0 -	bne _0809E51E -	movs r1, 0xA -	ldrsh r0, [r5, r1] -	movs r2, 0xC -	ldrsh r1, [r5, r2] -	bl sub_809E490 -_0809E51E: -	ldrh r1, [r5, 0xE] -	movs r3, 0xE -	ldrsh r0, [r5, r3] -	cmp r0, 0 -	beq _0809E53E -	subs r0, r1, 0x1 -	strh r0, [r5, 0xE] -	lsls r0, 16 -	cmp r0, 0 -	bne _0809E53E -	movs r1, 0x10 -	ldrsh r0, [r5, r1] -	movs r2, 0x12 -	ldrsh r1, [r5, r2] -	bl sub_809E490 -_0809E53E: -	lsls r0, r6, 24 -	lsrs r6, r0, 24 -	adds r0, r6, 0 -	bl MetatileBehavior_IsCrackedFloorHole -	lsls r0, 24 -	cmp r0, 0 -	beq _0809E556 -	ldr r0, =0x00004022 -	movs r1, 0 -	bl VarSet -_0809E556: -	mov r0, sp -	ldrh r2, [r0] -	movs r3, 0 -	ldrsh r1, [r0, r3] -	movs r3, 0x4 -	ldrsh r0, [r5, r3] -	cmp r1, r0 -	bne _0809E572 -	movs r0, 0 -	ldrsh r1, [r7, r0] -	movs r3, 0x6 -	ldrsh r0, [r5, r3] -	cmp r1, r0 -	beq _0809E5D2 -_0809E572: -	strh r2, [r5, 0x4] -	adds r4, r7, 0 -	ldrh r0, [r4] -	strh r0, [r5, 0x6] -	adds r0, r6, 0 -	bl MetatileBehavior_IsCrackedFloor -	lsls r0, 24 -	cmp r0, 0 -	beq _0809E5D2 -	bl GetPlayerSpeed -	lsls r0, 16 -	asrs r0, 16 -	cmp r0, 0x4 -	beq _0809E59A -	ldr r0, =0x00004022 -	movs r1, 0 -	bl VarSet -_0809E59A: -	movs r1, 0x8 -	ldrsh r0, [r5, r1] -	cmp r0, 0 -	bne _0809E5BC -	movs r0, 0x3 -	strh r0, [r5, 0x8] -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r5, 0xA] -	ldrh r0, [r4] -	strh r0, [r5, 0xC] -	b _0809E5D2 -	.pool -_0809E5BC: -	movs r2, 0xE -	ldrsh r0, [r5, r2] -	cmp r0, 0 -	bne _0809E5D2 -	movs r0, 0x3 -	strh r0, [r5, 0xE] -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r5, 0x10] -	ldrh r0, [r7] -	strh r0, [r5, 0x12] -_0809E5D2: -	add sp, 0x4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_809E4CC - -	thumb_func_start sub_809E5DC -sub_809E5DC: @ 809E5DC -	push {r4,r5,lr} -	adds r3, r0, 0 -	lsls r1, 16 -	lsrs r5, r1, 16 -	lsls r2, 16 -	lsrs r4, r2, 16 -	ldrh r0, [r3] -	subs r0, 0x1 -	strh r0, [r3] -	lsls r0, 16 -	cmp r0, 0 -	bne _0809E5F8 -	movs r2, 0xE8 -	b _0809E60C -_0809E5F8: -	ldr r1, =gUnknown_085103FC -	movs r2, 0 -	ldrsh r0, [r3, r2] -	cmp r0, 0 -	bge _0809E604 -	adds r0, 0x7 -_0809E604: -	asrs r0, 3 -	lsls r0, 1 -	adds r0, r1 -	ldrh r2, [r0] -_0809E60C: -	lsls r5, 16 -	asrs r5, 16 -	lsls r4, 16 -	asrs r4, 16 -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl MapGridSetMetatileIdAt -	adds r0, r5, 0 -	adds r1, r4, 0 -	bl CurrentMapDrawMetatileAt -	adds r0, r5, 0 -	adds r1, r4, 0 -	movs r2, 0xE8 -	bl MapGridSetMetatileIdAt -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_809E5DC - -	thumb_func_start sub_809E638 -sub_809E638: @ 809E638 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x4 -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r4, r1, r0 -	mov r5, sp -	adds r5, 0x2 -	mov r0, sp -	adds r1, r5, 0 -	bl PlayerGetDestCoords -	ldr r0, =gSaveBlock1Ptr -	ldr r0, [r0] -	movs r1, 0x4 -	ldrsb r1, [r0, r1] -	lsls r1, 8 -	ldrb r0, [r0, 0x5] -	lsls r0, 24 -	asrs r0, 24 -	orrs r0, r1 -	lsls r0, 16 -	lsrs r7, r0, 16 -	movs r0, 0x2 -	ldrsh r1, [r4, r0] -	mov r8, r5 -	cmp r1, 0 -	beq _0809E688 -	cmp r1, 0x1 -	beq _0809E6B4 -	b _0809E708 -	.pool -_0809E688: -	strh r7, [r4] -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r4, 0x4] -	ldrh r0, [r5] -	strh r0, [r4, 0x6] -	movs r0, 0x1 -	strh r0, [r4, 0x2] -	strh r1, [r4, 0x8] -	strh r1, [r4, 0xE] -	strh r1, [r4, 0x14] -	strh r1, [r4, 0x1A] -	b _0809E708 -_0809E6A2: -	movs r0, 0x20 -	strh r0, [r1] -	mov r0, sp -	ldrh r0, [r0] -	strh r0, [r1, 0x2] -	mov r2, r8 -	ldrh r0, [r2] -	strh r0, [r1, 0x4] -	b _0809E708 -_0809E6B4: -	mov r0, sp -	movs r3, 0x4 -	ldrsh r1, [r4, r3] -	ldrh r2, [r0] -	movs r3, 0 -	ldrsh r0, [r0, r3] -	cmp r1, r0 -	bne _0809E6D0 -	movs r0, 0x6 -	ldrsh r1, [r4, r0] -	movs r3, 0 -	ldrsh r0, [r5, r3] -	cmp r1, r0 -	beq _0809E708 -_0809E6D0: -	strh r2, [r4, 0x4] -	ldrh r0, [r5] -	strh r0, [r4, 0x6] -	mov r0, sp -	movs r1, 0 -	ldrsh r0, [r0, r1] -	movs r2, 0 -	ldrsh r1, [r5, r2] -	bl MapGridGetMetatileBehaviorAt -	lsls r0, 24 -	lsrs r0, 24 -	bl MetatileBehavior_IsMuddySlope -	lsls r0, 24 -	cmp r0, 0 -	beq _0809E708 -	movs r6, 0x4 -	adds r1, r4, 0 -	adds r1, 0x8 -_0809E6F8: -	movs r3, 0 -	ldrsh r0, [r1, r3] -	cmp r0, 0 -	beq _0809E6A2 -	adds r1, 0x6 -	adds r6, 0x3 -	cmp r6, 0xD -	ble _0809E6F8 -_0809E708: -	ldr r2, =gCamera -	ldrb r1, [r2] -	movs r0, 0x1 -	ands r0, r1 -	cmp r0, 0 -	beq _0809E728 -	movs r1, 0 -	ldrsh r0, [r4, r1] -	cmp r7, r0 -	beq _0809E728 -	strh r7, [r4] -	ldrh r0, [r2, 0x4] -	ldrh r1, [r2, 0x8] -	b _0809E72C -	.pool -_0809E728: -	movs r0, 0 -	movs r1, 0 -_0809E72C: -	lsls r0, 16 -	asrs r0, 16 -	mov r8, r0 -	lsls r0, r1, 16 -	asrs r7, r0, 16 -	adds r5, r4, 0 -	adds r5, 0x8 -	adds r4, r5, 0 -	movs r6, 0x9 -_0809E73E: -	movs r2, 0 -	ldrsh r0, [r4, r2] -	cmp r0, 0 -	beq _0809E762 -	ldrh r0, [r4, 0x2] -	mov r3, r8 -	subs r0, r3 -	strh r0, [r4, 0x2] -	ldrh r0, [r4, 0x4] -	subs r0, r7 -	strh r0, [r4, 0x4] -	movs r0, 0x2 -	ldrsh r1, [r4, r0] -	movs r3, 0x4 -	ldrsh r2, [r4, r3] -	adds r0, r5, 0 -	bl sub_809E5DC -_0809E762: -	adds r4, 0x6 -	adds r5, 0x6 -	subs r6, 0x3 -	cmp r6, 0 -	bge _0809E73E -	add sp, 0x4 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_809E638 - -	.align 2, 0 @ Don't pad with nop. diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s deleted file mode 100644 index 90e846b97..000000000 --- a/asm/menu_helpers.s +++ /dev/null @@ -1,986 +0,0 @@ -	.include "asm/macros.inc" -	.include "constants/constants.inc" - -	.syntax unified - -	.text - -	thumb_func_start ResetVramOamAndBgCntRegs -ResetVramOamAndBgCntRegs: @ 8121DA0 -	push {r4,lr} -	sub sp, 0xC -	movs r0, 0 -	movs r1, 0 -	bl SetGpuReg -	movs r0, 0xE -	movs r1, 0 -	bl SetGpuReg -	movs r0, 0xC -	movs r1, 0 -	bl SetGpuReg -	movs r0, 0xA -	movs r1, 0 -	bl SetGpuReg -	movs r0, 0x8 -	movs r1, 0 -	bl SetGpuReg -	mov r1, sp -	movs r0, 0 -	strh r0, [r1] -	movs r1, 0xC0 -	lsls r1, 19 -	ldr r2, =0x0100c000 -	mov r0, sp -	bl CpuSet -	movs r4, 0 -	str r4, [sp, 0x4] -	add r0, sp, 0x4 -	movs r1, 0xE0 -	lsls r1, 19 -	ldr r2, =0x05000100 -	bl CpuSet -	add r0, sp, 0x8 -	strh r4, [r0] -	movs r1, 0xA0 -	lsls r1, 19 -	ldr r2, =0x01000200 -	bl CpuSet -	add sp, 0xC -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end ResetVramOamAndBgCntRegs - -	thumb_func_start ResetAllBgsCoordinates -ResetAllBgsCoordinates: @ 8121E10 -	push {lr} -	movs r0, 0 -	movs r1, 0 -	movs r2, 0 -	bl ChangeBgX -	movs r0, 0 -	movs r1, 0 -	movs r2, 0 -	bl ChangeBgY -	movs r0, 0x1 -	movs r1, 0 -	movs r2, 0 -	bl ChangeBgX -	movs r0, 0x1 -	movs r1, 0 -	movs r2, 0 -	bl ChangeBgY -	movs r0, 0x2 -	movs r1, 0 -	movs r2, 0 -	bl ChangeBgX -	movs r0, 0x2 -	movs r1, 0 -	movs r2, 0 -	bl ChangeBgY -	movs r0, 0x3 -	movs r1, 0 -	movs r2, 0 -	bl ChangeBgX -	movs r0, 0x3 -	movs r1, 0 -	movs r2, 0 -	bl ChangeBgY -	pop {r0} -	bx r0 -	thumb_func_end ResetAllBgsCoordinates - -	thumb_func_start SetVBlankHBlankCallbacksToNull -@ void SetVBlankHBlankCallbacksToNull() -SetVBlankHBlankCallbacksToNull: @ 8121E68 -	push {lr} -	movs r0, 0 -	bl SetVBlankCallback -	movs r0, 0 -	bl SetHBlankCallback -	pop {r0} -	bx r0 -	thumb_func_end SetVBlankHBlankCallbacksToNull - -	thumb_func_start DisplayMessageAndContinueTask -@ void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 windowBorderFirstTileNum, u8 windowBorderPalette, u8 fontId, u8 speed, u8 *str, void ( *callback)(u8 taskId)) -DisplayMessageAndContinueTask: @ 8121E7C -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x10 -	ldr r4, [sp, 0x28] -	ldr r5, [sp, 0x2C] -	lsls r0, 24 -	lsrs r0, 24 -	mov r8, r0 -	lsls r1, 24 -	lsrs r1, 24 -	adds r6, r1, 0 -	lsls r2, 16 -	lsrs r2, 16 -	lsls r3, 24 -	lsrs r3, 24 -	lsls r4, 24 -	lsrs r7, r4, 24 -	lsls r5, 24 -	lsrs r5, 24 -	ldr r0, =gUnknown_0203A140 -	strb r6, [r0] -	adds r0, r6, 0 -	movs r1, 0x1 -	bl sub_8197B1C -	ldr r4, =gStringVar4 -	ldr r0, [sp, 0x30] -	cmp r0, r4 -	beq _08121EC0 -	adds r0, r4, 0 -	ldr r1, [sp, 0x30] -	bl StringExpandPlaceholders -_08121EC0: -	ldr r2, =gTextFlags -	ldrb r0, [r2] -	movs r1, 0x1 -	orrs r0, r1 -	strb r0, [r2] -	movs r0, 0 -	str r0, [sp] -	movs r0, 0x2 -	str r0, [sp, 0x4] -	movs r0, 0x1 -	str r0, [sp, 0x8] -	movs r0, 0x3 -	str r0, [sp, 0xC] -	adds r0, r6, 0 -	adds r1, r7, 0 -	adds r2, r4, 0 -	adds r3, r5, 0 -	bl AddTextPrinterParameterized -	ldr r1, =gUnknown_0300117C -	ldr r0, [sp, 0x34] -	str r0, [r1] -	ldr r1, =gTasks -	mov r2, r8 -	lsls r0, r2, 2 -	add r0, r8 -	lsls r0, 3 -	adds r0, r1 -	ldr r1, =Task_ContinueTaskAfterMessagePrints -	str r1, [r0] -	add sp, 0x10 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end DisplayMessageAndContinueTask - -	thumb_func_start RunTextPrintersRetIsActive -RunTextPrintersRetIsActive: @ 8121F20 -	push {r4,lr} -	adds r4, r0, 0 -	lsls r4, 24 -	lsrs r4, 24 -	bl RunTextPrinters -	adds r0, r4, 0 -	bl IsTextPrinterActive -	lsls r0, 16 -	lsrs r0, 16 -	pop {r4} -	pop {r1} -	bx r1 -	thumb_func_end RunTextPrintersRetIsActive - -	thumb_func_start Task_ContinueTaskAfterMessagePrints -@ void Task_ContinueTaskAfterMessagePrints(u8 taskId) -Task_ContinueTaskAfterMessagePrints: @ 8121F3C -	push {r4,lr} -	lsls r0, 24 -	lsrs r4, r0, 24 -	ldr r0, =gUnknown_0203A140 -	ldrb r0, [r0] -	bl RunTextPrintersRetIsActive -	lsls r0, 16 -	cmp r0, 0 -	bne _08121F5A -	ldr r0, =gUnknown_0300117C -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -_08121F5A: -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end Task_ContinueTaskAfterMessagePrints - -	thumb_func_start sub_8121F68 -sub_8121F68: @ 8121F68 -	lsls r0, 24 -	lsrs r0, 24 -	ldr r3, =gUnknown_0203A138 -	ldr r2, [r1, 0x4] -	ldr r1, [r1] -	str r1, [r3] -	str r2, [r3, 0x4] -	ldr r2, =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	ldr r0, =Task_CallYesOrNoCallback -	str r0, [r1] -	bx lr -	.pool -	thumb_func_end sub_8121F68 - -	thumb_func_start CreateYesNoMenuWithCallbacks -@ void CreateYesNoMenuWithCallbacks(u8 taskId, struct WindowTemplate *windowTemplate, int a3, int a4, int a5, u16 borderFirstTileNum, u8 borderPalette, void ( **callbacks)(u8 taskId)) -CreateYesNoMenuWithCallbacks: @ 8121F94 -	push {r4,r5,lr} -	adds r4, r0, 0 -	adds r0, r1, 0 -	ldr r1, [sp, 0x10] -	ldr r2, [sp, 0x14] -	ldr r5, [sp, 0x18] -	lsls r4, 24 -	lsrs r4, 24 -	lsls r1, 16 -	lsrs r1, 16 -	lsls r2, 24 -	lsrs r2, 24 -	movs r3, 0 -	bl CreateYesNoMenu -	ldr r2, =gUnknown_0203A138 -	ldr r0, [r5] -	ldr r1, [r5, 0x4] -	str r0, [r2] -	str r1, [r2, 0x4] -	ldr r1, =gTasks -	lsls r0, r4, 2 -	adds r0, r4 -	lsls r0, 3 -	adds r0, r1 -	ldr r1, =Task_CallYesOrNoCallback -	str r1, [r0] -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end CreateYesNoMenuWithCallbacks - -	thumb_func_start Task_CallYesOrNoCallback -@ void Task_CallYesOrNoCallback(u8 taskId) -Task_CallYesOrNoCallback: @ 8121FDC -	push {r4,lr} -	lsls r0, 24 -	lsrs r4, r0, 24 -	bl ProcessMenuInputNoWrap_ -	lsls r0, 24 -	asrs r1, r0, 24 -	cmp r1, 0 -	beq _08122002 -	cmp r1, 0 -	bgt _08121FFC -	movs r0, 0x1 -	negs r0, r0 -	cmp r1, r0 -	beq _08122018 -	b _08122028 -_08121FFC: -	cmp r1, 0x1 -	beq _08122018 -	b _08122028 -_08122002: -	movs r0, 0x5 -	bl PlaySE -	ldr r0, =gUnknown_0203A138 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	b _08122028 -	.pool -_08122018: -	movs r0, 0x5 -	bl PlaySE -	ldr r0, =gUnknown_0203A138 -	ldr r1, [r0, 0x4] -	adds r0, r4, 0 -	bl _call_via_r1 -_08122028: -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end Task_CallYesOrNoCallback - -	thumb_func_start AdjustQuantityAccordingToDPadInput -@ bool8 AdjustQuantityAccordingToDPadInput(u16 *quantity, u16 maxQuantity) -AdjustQuantityAccordingToDPadInput: @ 8122034 -	push {r4-r6,lr} -	adds r2, r0, 0 -	lsls r1, 16 -	lsrs r1, 16 -	adds r5, r1, 0 -	ldrh r4, [r2] -	adds r6, r4, 0 -	ldr r0, =gMain -	ldrh r0, [r0, 0x30] -	movs r3, 0xF0 -	ands r3, r0 -	cmp r3, 0x40 -	bne _0812206C -	adds r0, r4, 0x1 -	strh r0, [r2] -	movs r3, 0 -	ldrsh r0, [r2, r3] -	cmp r0, r1 -	ble _0812205E -	movs r0, 0x1 -	strh r0, [r2] -_0812205E: -	movs r0, 0 -	ldrsh r1, [r2, r0] -_08122062: -	lsls r0, r4, 16 -	b _081220B6 -	.pool -_0812206C: -	cmp r3, 0x80 -	bne _08122082 -	subs r0, r4, 0x1 -	strh r0, [r2] -	lsls r0, 16 -	cmp r0, 0 -	bgt _0812207C -	strh r1, [r2] -_0812207C: -	movs r3, 0 -	ldrsh r1, [r2, r3] -	b _08122062 -_08122082: -	cmp r3, 0x10 -	bne _0812209C -	adds r0, r4, 0 -	adds r0, 0xA -	strh r0, [r2] -	movs r1, 0 -	ldrsh r0, [r2, r1] -	cmp r0, r5 -	ble _08122096 -	strh r5, [r2] -_08122096: -	movs r3, 0 -	ldrsh r1, [r2, r3] -	b _08122062 -_0812209C: -	cmp r3, 0x20 -	bne _081220C6 -	adds r0, r4, 0 -	subs r0, 0xA -	strh r0, [r2] -	lsls r0, 16 -	cmp r0, 0 -	bgt _081220B0 -	movs r0, 0x1 -	strh r0, [r2] -_081220B0: -	movs r0, 0 -	ldrsh r1, [r2, r0] -	lsls r0, r6, 16 -_081220B6: -	asrs r0, 16 -	cmp r1, r0 -	beq _081220C6 -	movs r0, 0x5 -	bl PlaySE -	movs r0, 0x1 -	b _081220C8 -_081220C6: -	movs r0, 0 -_081220C8: -	pop {r4-r6} -	pop {r1} -	bx r1 -	thumb_func_end AdjustQuantityAccordingToDPadInput - -	thumb_func_start GetLRKeysState -GetLRKeysState: @ 81220D0 -	push {lr} -	ldr r0, =gSaveBlock2Ptr -	ldr r0, [r0] -	ldrb r0, [r0, 0x13] -	cmp r0, 0x1 -	bne _08122106 -	ldr r0, =gMain -	ldrh r1, [r0, 0x2E] -	movs r0, 0x80 -	lsls r0, 2 -	ands r0, r1 -	cmp r0, 0 -	beq _081220F8 -	movs r0, 0x1 -	b _08122108 -	.pool -_081220F8: -	movs r0, 0x80 -	lsls r0, 1 -	ands r0, r1 -	cmp r0, 0 -	beq _08122106 -	movs r0, 0x2 -	b _08122108 -_08122106: -	movs r0, 0 -_08122108: -	pop {r1} -	bx r1 -	thumb_func_end GetLRKeysState - -	thumb_func_start sub_812210C -sub_812210C: @ 812210C -	push {lr} -	ldr r0, =gSaveBlock2Ptr -	ldr r0, [r0] -	ldrb r0, [r0, 0x13] -	cmp r0, 0x1 -	bne _08122142 -	ldr r0, =gMain -	ldrh r1, [r0, 0x30] -	movs r0, 0x80 -	lsls r0, 2 -	ands r0, r1 -	cmp r0, 0 -	beq _08122134 -	movs r0, 0x1 -	b _08122144 -	.pool -_08122134: -	movs r0, 0x80 -	lsls r0, 1 -	ands r0, r1 -	cmp r0, 0 -	beq _08122142 -	movs r0, 0x2 -	b _08122144 -_08122142: -	movs r0, 0 -_08122144: -	pop {r1} -	bx r1 -	thumb_func_end sub_812210C - -	thumb_func_start sub_8122148 -sub_8122148: @ 8122148 -	push {lr} -	lsls r0, 16 -	lsrs r0, 16 -	cmp r0, 0xAF -	bne _08122174 -	ldr r0, =gSaveBlock1Ptr -	ldr r0, [r0] -	ldrh r1, [r0, 0x4] -	ldr r0, =0x00001919 -	cmp r1, r0 -	beq _08122166 -	bl InUnionRoom -	cmp r0, 0x1 -	bne _08122174 -_08122166: -	movs r0, 0 -	b _08122176 -	.pool -_08122174: -	movs r0, 0x1 -_08122176: -	pop {r1} -	bx r1 -	thumb_func_end sub_8122148 - -	thumb_func_start itemid_80BF6D8_mail_related -itemid_80BF6D8_mail_related: @ 812217C -	push {r4,lr} -	lsls r0, 16 -	lsrs r4, r0, 16 -	bl is_c1_link_related_active -	cmp r0, 0x1 -	beq _08122192 -	bl InUnionRoom -	cmp r0, 0x1 -	bne _081221A4 -_08122192: -	adds r0, r4, 0 -	bl ItemIsMail -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	bne _081221A4 -	movs r0, 0 -	b _081221A6 -_081221A4: -	movs r0, 0x1 -_081221A6: -	pop {r4} -	pop {r1} -	bx r1 -	thumb_func_end itemid_80BF6D8_mail_related - -	thumb_func_start sub_81221AC -sub_81221AC: @ 81221AC -	push {lr} -	bl is_c1_link_related_active -	cmp r0, 0x1 -	beq _081221BE -	ldr r0, =gReceivedRemoteLinkPlayers -	ldrb r0, [r0] -	cmp r0, 0x1 -	bne _081221C8 -_081221BE: -	movs r0, 0x1 -	b _081221CA -	.pool -_081221C8: -	movs r0, 0 -_081221CA: -	pop {r1} -	bx r1 -	thumb_func_end sub_81221AC - -	thumb_func_start sub_81221D0 -sub_81221D0: @ 81221D0 -	push {lr} -	bl sub_81221AC -	lsls r0, 24 -	cmp r0, 0 -	beq _081221E6 -	bl sub_8087598 -	lsls r0, 24 -	lsrs r0, 24 -	b _081221E8 -_081221E6: -	movs r0, 0 -_081221E8: -	pop {r1} -	bx r1 -	thumb_func_end sub_81221D0 - -	thumb_func_start sub_81221EC -sub_81221EC: @ 81221EC -	push {lr} -	bl sub_81221D0 -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x1 -	beq _08122202 -	bl sub_800B504 -	cmp r0, 0x1 -	bne _08122206 -_08122202: -	movs r0, 0x1 -	b _08122208 -_08122206: -	movs r0, 0 -_08122208: -	pop {r1} -	bx r1 -	thumb_func_end sub_81221EC - -	thumb_func_start sub_812220C -sub_812220C: @ 812220C -	push {r4-r6,lr} -	adds r6, r2, 0 -	ldr r2, [sp, 0x10] -	lsls r1, 24 -	lsls r2, 24 -	lsrs r5, r2, 24 -	adds r4, r0, 0 -	movs r0, 0 -	strb r0, [r3] -	movs r2, 0 -	lsrs r1, 24 -	cmp r2, r1 -	bcs _08122240 -_08122226: -	lsls r0, r2, 2 -	adds r0, r4 -	ldrh r0, [r0] -	cmp r0, 0 -	beq _08122236 -	ldrb r0, [r3] -	adds r0, 0x1 -	strb r0, [r3] -_08122236: -	adds r0, r2, 0x1 -	lsls r0, 16 -	lsrs r2, r0, 16 -	cmp r2, r1 -	bcc _08122226 -_08122240: -	ldrb r0, [r3] -	adds r1, r0, 0x1 -	strb r1, [r3] -	lsls r0, r1, 24 -	lsrs r0, 24 -	cmp r0, r5 -	bls _08122252 -	strb r5, [r6] -	b _08122254 -_08122252: -	strb r1, [r6] -_08122254: -	pop {r4-r6} -	pop {r0} -	bx r0 -	thumb_func_end sub_812220C - -	thumb_func_start sub_812225C -sub_812225C: @ 812225C -	push {r4,r5,lr} -	adds r4, r0, 0 -	adds r5, r1, 0 -	lsls r2, 24 -	lsrs r2, 24 -	lsls r3, 24 -	lsrs r3, 24 -	ldrh r0, [r4] -	cmp r0, 0 -	beq _0812227A -	adds r0, r2 -	cmp r0, r3 -	ble _0812227A -	subs r0, r3, r2 -	strh r0, [r4] -_0812227A: -	ldrh r0, [r4] -	ldrh r1, [r5] -	adds r0, r1 -	cmp r0, r3 -	blt _08122290 -	cmp r3, 0 -	bne _0812228C -	strh r3, [r5] -	b _08122290 -_0812228C: -	subs r0, r3, 0x1 -	strh r0, [r5] -_08122290: -	pop {r4,r5} -	pop {r0} -	bx r0 -	thumb_func_end sub_812225C - -	thumb_func_start sub_8122298 -sub_8122298: @ 8122298 -	push {r4-r7,lr} -	adds r5, r0, 0 -	adds r4, r1, 0 -	ldr r0, [sp, 0x14] -	lsls r2, 24 -	lsrs r7, r2, 24 -	lsls r3, 24 -	lsrs r6, r3, 24 -	lsls r2, r0, 24 -	lsrs r0, r2, 24 -	movs r1, 0x1 -	ands r0, r1 -	cmp r0, 0 -	beq _081222F0 -	lsrs r2, 25 -	ldrh r0, [r4] -	cmp r0, r2 -	bcc _08122322 -	movs r1, 0 -	subs r0, r2 -	cmp r1, r0 -	bge _08122322 -	ldrh r0, [r5] -	adds r0, r7 -	cmp r0, r6 -	beq _08122322 -_081222CC: -	ldrh r0, [r4] -	subs r0, 0x1 -	strh r0, [r4] -	ldrh r0, [r5] -	adds r0, 0x1 -	strh r0, [r5] -	adds r0, r1, 0x1 -	lsls r0, 24 -	lsrs r1, r0, 24 -	ldrh r0, [r4] -	subs r0, r2 -	cmp r1, r0 -	bge _08122322 -	ldrh r0, [r5] -	adds r0, r7 -	cmp r0, r6 -	bne _081222CC -	b _08122322 -_081222F0: -	ldrh r3, [r4] -	lsrs r2, 25 -	adds r0, r2, 0x1 -	cmp r3, r0 -	blt _08122322 -	movs r1, 0 -	subs r0, r3, r2 -	b _08122316 -_08122300: -	ldrh r0, [r4] -	subs r0, 0x1 -	strh r0, [r4] -	ldrh r0, [r5] -	adds r0, 0x1 -	strh r0, [r5] -	adds r0, r1, 0x1 -	lsls r0, 24 -	lsrs r1, r0, 24 -	ldrh r0, [r4] -	subs r0, r2 -_08122316: -	cmp r1, r0 -	bgt _08122322 -	ldrh r0, [r5] -	adds r0, r7 -	cmp r0, r6 -	bne _08122300 -_08122322: -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_8122298 - -	thumb_func_start LoadListMenuArrowsGfx -LoadListMenuArrowsGfx: @ 8122328 -	push {lr} -	ldr r0, =gUnknown_0859F514 -	bl LoadCompressedObjectPic -	ldr r0, =gUnknown_0859F51C -	bl LoadCompressedObjectPalette -	pop {r0} -	bx r0 -	.pool -	thumb_func_end LoadListMenuArrowsGfx - -	thumb_func_start sub_8122344 -sub_8122344: @ 8122344 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	mov r8, r0 -	lsls r1, 24 -	lsrs r6, r1, 24 -	movs r5, 0 -	cmp r5, r6 -	bcs _0812239C -	ldr r7, =gSprites -_08122358: -	lsls r1, r5, 4 -	ldr r0, =gUnknown_0859F524 -	movs r2, 0 -	movs r3, 0 -	bl CreateSprite -	mov r1, r8 -	adds r4, r1, r5 -	strb r0, [r4] -	cmp r5, 0 -	beq _0812237E -	ldrb r1, [r4] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r7 -	movs r1, 0x1 -	bl StartSpriteAnim -_0812237E: -	ldrb r1, [r4] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r7 -	adds r0, 0x3E -	ldrb r1, [r0] -	movs r2, 0x4 -	orrs r1, r2 -	strb r1, [r0] -	adds r0, r5, 0x1 -	lsls r0, 24 -	lsrs r5, r0, 24 -	cmp r5, r6 -	bcc _08122358 -_0812239C: -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_8122344 - -	thumb_func_start sub_81223B0 -sub_81223B0: @ 81223B0 -	push {r4-r7,lr} -	adds r6, r0, 0 -	lsls r1, 24 -	lsrs r5, r1, 24 -	movs r4, 0 -	cmp r4, r5 -	bcs _081223F6 -	ldr r7, =gSprites -_081223C0: -	subs r0, r5, 0x1 -	cmp r4, r0 -	bne _081223DC -	adds r0, r6, r4 -	ldrb r1, [r0] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r7 -	bl DestroySpriteAndFreeResources -	b _081223EC -	.pool -_081223DC: -	adds r0, r6, r4 -	ldrb r1, [r0] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r7 -	bl DestroySprite -_081223EC: -	adds r0, r4, 0x1 -	lsls r0, 24 -	lsrs r4, r0, 24 -	cmp r4, r5 -	bcc _081223C0 -_081223F6: -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_81223B0 - -	thumb_func_start sub_81223FC -sub_81223FC: @ 81223FC -	push {r4-r7,lr} -	adds r6, r0, 0 -	lsls r1, 24 -	lsrs r4, r1, 24 -	lsls r2, 24 -	lsrs r0, r2, 24 -	movs r3, 0 -	cmp r3, r4 -	bcs _0812243E -	ldr r1, =gSprites -	mov r12, r1 -	movs r1, 0x1 -	ands r0, r1 -	lsls r5, r0, 2 -	movs r7, 0x5 -	negs r7, r7 -_0812241C: -	adds r0, r6, r3 -	ldrb r0, [r0] -	lsls r1, r0, 4 -	adds r1, r0 -	lsls r1, 2 -	add r1, r12 -	adds r1, 0x3E -	ldrb r2, [r1] -	adds r0, r7, 0 -	ands r0, r2 -	orrs r0, r5 -	strb r0, [r1] -	adds r0, r3, 0x1 -	lsls r0, 24 -	lsrs r3, r0, 24 -	cmp r3, r4 -	bcc _0812241C -_0812243E: -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_81223FC - -	thumb_func_start sub_8122448 -@ void sub_8122448(int a1, u8 a2, u16 x, u16 y) -sub_8122448: @ 8122448 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	adds r6, r0, 0 -	lsls r1, 24 -	lsrs r4, r1, 24 -	lsls r2, 16 -	lsrs r7, r2, 16 -	lsls r3, 16 -	lsrs r3, 16 -	mov r9, r3 -	movs r0, 0x80 -	ands r0, r4 -	lsls r0, 24 -	lsrs r0, 24 -	mov r8, r0 -	movs r0, 0x7F -	ands r4, r0 -	movs r3, 0 -	cmp r3, r4 -	bcs _081224C8 -	ldr r5, =gSprites -	lsls r0, r7, 16 -	asrs r0, 16 -	subs r0, 0x8 -	mov r12, r0 -_0812247E: -	subs r0, r4, 0x1 -	cmp r3, r0 -	bne _081224A0 -	mov r0, r8 -	cmp r0, 0 -	beq _081224A0 -	adds r2, r6, r3 -	ldrb r1, [r2] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r5 -	mov r1, r12 -	strh r1, [r0, 0x24] -	b _081224AE -	.pool -_081224A0: -	adds r2, r6, r3 -	ldrb r1, [r2] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r5 -	strh r7, [r0, 0x24] -_081224AE: -	ldrb r1, [r2] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r5 -	mov r1, r9 -	adds r1, 0x1 -	strh r1, [r0, 0x22] -	adds r0, r3, 0x1 -	lsls r0, 24 -	lsrs r3, r0, 24 -	cmp r3, r4 -	bcc _0812247E -_081224C8: -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_8122448 - -	.align 2, 0 @ Don't pad with nop. diff --git a/asm/menu_indicators.s b/asm/menu_indicators.s deleted file mode 100644 index b923b53d0..000000000 --- a/asm/menu_indicators.s +++ /dev/null @@ -1,1442 +0,0 @@ -	.include "asm/macros.inc" -	.include "constants/constants.inc" - -	.syntax unified - -	.text - -	thumb_func_start sub_81AF08C -sub_81AF08C: @ 81AF08C -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, 24 -	lsrs r3, r1, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r2, r1, r0 -	cmp r3, 0x10 -	bhi _081AF154 -	lsls r0, r3, 2 -	ldr r1, =_081AF0B8 -	adds r0, r1 -	ldr r0, [r0] -	mov pc, r0 -	.pool -	.align 2, 0 -_081AF0B8: -	.4byte _081AF0FC -	.4byte _081AF0FC -	.4byte _081AF100 -	.4byte _081AF104 -	.4byte _081AF108 -	.4byte _081AF10C -	.4byte _081AF110 -	.4byte _081AF114 -	.4byte _081AF118 -	.4byte _081AF11C -	.4byte _081AF122 -	.4byte _081AF12A -	.4byte _081AF130 -	.4byte _081AF138 -	.4byte _081AF140 -	.4byte _081AF146 -	.4byte _081AF14E -_081AF0FC: -	ldr r0, [r2, 0x4] -	b _081AF158 -_081AF100: -	ldrh r0, [r2, 0xC] -	b _081AF158 -_081AF104: -	ldrh r0, [r2, 0xE] -	b _081AF158 -_081AF108: -	ldrb r0, [r2, 0x10] -	b _081AF158 -_081AF10C: -	ldrb r0, [r2, 0x11] -	b _081AF158 -_081AF110: -	ldrb r0, [r2, 0x12] -	b _081AF158 -_081AF114: -	ldrb r0, [r2, 0x13] -	b _081AF158 -_081AF118: -	ldrb r0, [r2, 0x14] -	b _081AF124 -_081AF11C: -	ldrb r0, [r2, 0x14] -	lsrs r0, 4 -	b _081AF158 -_081AF122: -	ldrb r0, [r2, 0x15] -_081AF124: -	lsls r0, 28 -	lsrs r0, 28 -	b _081AF158 -_081AF12A: -	ldrb r0, [r2, 0x15] -	lsrs r0, 4 -	b _081AF158 -_081AF130: -	ldrb r0, [r2, 0x16] -	lsls r0, 29 -	lsrs r0, 29 -	b _081AF158 -_081AF138: -	ldrb r0, [r2, 0x16] -	lsls r0, 26 -	lsrs r0, 29 -	b _081AF158 -_081AF140: -	ldrb r0, [r2, 0x16] -	lsrs r0, 6 -	b _081AF158 -_081AF146: -	ldrb r0, [r2, 0x17] -	lsls r0, 26 -	lsrs r0, 26 -	b _081AF158 -_081AF14E: -	ldrb r0, [r2, 0x17] -	lsrs r0, 6 -	b _081AF158 -_081AF154: -	movs r0, 0x1 -	negs r0, r0 -_081AF158: -	pop {r1} -	bx r1 -	thumb_func_end sub_81AF08C - -	thumb_func_start sub_81AF15C -sub_81AF15C: @ 81AF15C -	push {r4,lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, 24 -	lsrs r4, r1, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r3, r1, r0 -	cmp r4, 0x10 -	bhi _081AF25C -	lsls r0, r4, 2 -	ldr r1, =_081AF188 -	adds r0, r1 -	ldr r0, [r0] -	mov pc, r0 -	.pool -	.align 2, 0 -_081AF188: -	.4byte _081AF1CC -	.4byte _081AF1CC -	.4byte _081AF1D0 -	.4byte _081AF1D4 -	.4byte _081AF1D8 -	.4byte _081AF1DC -	.4byte _081AF1E0 -	.4byte _081AF1E4 -	.4byte _081AF1E8 -	.4byte _081AF1F4 -	.4byte _081AF202 -	.4byte _081AF20E -	.4byte _081AF21C -	.4byte _081AF228 -	.4byte _081AF236 -	.4byte _081AF244 -	.4byte _081AF250 -_081AF1CC: -	str r2, [r3, 0x4] -	b _081AF25C -_081AF1D0: -	strh r2, [r3, 0xC] -	b _081AF25C -_081AF1D4: -	strh r2, [r3, 0xE] -	b _081AF25C -_081AF1D8: -	strb r2, [r3, 0x10] -	b _081AF25C -_081AF1DC: -	strb r2, [r3, 0x11] -	b _081AF25C -_081AF1E0: -	strb r2, [r3, 0x12] -	b _081AF25C -_081AF1E4: -	strb r2, [r3, 0x13] -	b _081AF25C -_081AF1E8: -	movs r0, 0xF -	ands r2, r0 -	ldrb r1, [r3, 0x14] -	movs r0, 0x10 -	negs r0, r0 -	b _081AF1FA -_081AF1F4: -	lsls r2, 4 -	ldrb r1, [r3, 0x14] -	movs r0, 0xF -_081AF1FA: -	ands r0, r1 -	orrs r0, r2 -	strb r0, [r3, 0x14] -	b _081AF25C -_081AF202: -	movs r0, 0xF -	ands r2, r0 -	ldrb r1, [r3, 0x15] -	movs r0, 0x10 -	negs r0, r0 -	b _081AF214 -_081AF20E: -	lsls r2, 4 -	ldrb r1, [r3, 0x15] -	movs r0, 0xF -_081AF214: -	ands r0, r1 -	orrs r0, r2 -	strb r0, [r3, 0x15] -	b _081AF25C -_081AF21C: -	movs r0, 0x7 -	ands r2, r0 -	ldrb r1, [r3, 0x16] -	movs r0, 0x8 -	negs r0, r0 -	b _081AF23C -_081AF228: -	movs r0, 0x7 -	ands r2, r0 -	lsls r2, 3 -	ldrb r1, [r3, 0x16] -	movs r0, 0x39 -	negs r0, r0 -	b _081AF23C -_081AF236: -	lsls r2, 6 -	ldrb r1, [r3, 0x16] -	movs r0, 0x3F -_081AF23C: -	ands r0, r1 -	orrs r0, r2 -	strb r0, [r3, 0x16] -	b _081AF25C -_081AF244: -	movs r0, 0x3F -	ands r2, r0 -	ldrb r1, [r3, 0x17] -	movs r0, 0x40 -	negs r0, r0 -	b _081AF256 -_081AF250: -	lsls r2, 6 -	ldrb r1, [r3, 0x17] -	movs r0, 0x3F -_081AF256: -	ands r0, r1 -	orrs r0, r2 -	strb r0, [r3, 0x17] -_081AF25C: -	pop {r4} -	pop {r0} -	bx r0 -	thumb_func_end sub_81AF15C - -	thumb_func_start sub_81AF264 -sub_81AF264: @ 81AF264 -	push {r4,lr} -	adds r4, r0, 0 -	movs r1, 0x2E -	ldrsh r0, [r4, r1] -	cmp r0, 0 -	beq _081AF276 -	cmp r0, 0x1 -	beq _081AF28A -	b _081AF2E4 -_081AF276: -	ldrh r1, [r4, 0x30] -	lsls r1, 24 -	lsrs r1, 24 -	adds r0, r4, 0 -	bl StartSpriteAnim -	ldrh r0, [r4, 0x2E] -	adds r0, 0x1 -	strh r0, [r4, 0x2E] -	b _081AF2E4 -_081AF28A: -	movs r1, 0x32 -	ldrsh r0, [r4, r1] -	cmp r0, 0 -	beq _081AF29A -	cmp r0, 0x1 -	beq _081AF2C0 -	ldrh r2, [r4, 0x38] -	b _081AF2DE -_081AF29A: -	movs r0, 0x34 -	ldrsh r3, [r4, r0] -	ldr r1, =gSineTable -	ldrh r2, [r4, 0x38] -	lsls r0, r2, 24 -	lsrs r0, 23 -	adds r0, r1 -	movs r1, 0 -	ldrsh r0, [r0, r1] -	muls r0, r3 -	cmp r0, 0 -	bge _081AF2B4 -	adds r0, 0xFF -_081AF2B4: -	asrs r0, 8 -	strh r0, [r4, 0x24] -	b _081AF2DE -	.pool -_081AF2C0: -	movs r0, 0x34 -	ldrsh r3, [r4, r0] -	ldr r1, =gSineTable -	ldrh r2, [r4, 0x38] -	lsls r0, r2, 24 -	lsrs r0, 23 -	adds r0, r1 -	movs r1, 0 -	ldrsh r0, [r0, r1] -	muls r0, r3 -	cmp r0, 0 -	bge _081AF2DA -	adds r0, 0xFF -_081AF2DA: -	asrs r0, 8 -	strh r0, [r4, 0x26] -_081AF2DE: -	ldrh r0, [r4, 0x36] -	adds r0, r2, r0 -	strh r0, [r4, 0x38] -_081AF2E4: -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end sub_81AF264 - -	thumb_func_start AddScrollIndicatorArrowObject -AddScrollIndicatorArrowObject: @ 81AF2F0 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x18 -	adds r6, r0, 0 -	ldr r5, [sp, 0x30] -	lsls r6, 24 -	lsrs r6, 24 -	mov r8, r6 -	lsls r1, 24 -	lsrs r1, 24 -	lsls r2, 24 -	lsrs r2, 24 -	lsls r5, 16 -	lsrs r5, 16 -	mov r12, r5 -	mov r4, sp -	ldr r0, =gUnknown_08614244 -	ldm r0!, {r5-r7} -	stm r4!, {r5-r7} -	ldm r0!, {r5-r7} -	stm r4!, {r5-r7} -	mov r0, sp -	movs r4, 0 -	strh r3, [r0] -	mov r3, r12 -	strh r3, [r0, 0x2] -	movs r3, 0 -	bl CreateSprite -	lsls r0, 24 -	lsrs r0, 24 -	ldr r1, =gSprites -	lsls r3, r0, 4 -	adds r3, r0 -	lsls r3, 2 -	adds r3, r1 -	adds r5, r3, 0 -	adds r5, 0x3E -	ldrb r1, [r5] -	movs r2, 0x4 -	orrs r1, r2 -	strb r1, [r5] -	strh r4, [r3, 0x2E] -	ldr r1, =gUnknown_086141FC -	mov r5, r8 -	lsls r6, r5, 2 -	adds r6, r1 -	ldrb r2, [r6] -	lsls r1, r2, 28 -	lsrs r1, 28 -	strh r1, [r3, 0x30] -	lsrs r2, 4 -	strh r2, [r3, 0x32] -	ldrb r1, [r6, 0x1] -	strh r1, [r3, 0x34] -	ldrh r1, [r6, 0x2] -	strh r1, [r3, 0x36] -	strh r4, [r3, 0x38] -	add sp, 0x18 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end AddScrollIndicatorArrowObject - -	thumb_func_start AddScrollIndicatorArrowPair -AddScrollIndicatorArrowPair: @ 81AF380 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	sub sp, 0x14 -	adds r6, r0, 0 -	mov r9, r1 -	ldr r0, =gUnknown_086142C8 -	str r0, [sp, 0x4] -	ldr r5, =0xffff0000 -	ldr r0, [sp, 0x8] -	ands r0, r5 -	movs r1, 0x80 -	lsls r1, 1 -	orrs r0, r1 -	ldrh r1, [r6, 0xA] -	lsls r1, 16 -	ldr r4, =0x0000ffff -	ands r0, r4 -	orrs r0, r1 -	str r0, [sp, 0x8] -	add r0, sp, 0x4 -	bl LoadCompressedObjectPic -	ldrh r2, [r6, 0xC] -	cmp r2, r4 -	bne _081AF3DC -	ldr r0, =gUnknown_086142A8 -	ldrb r1, [r6, 0xE] -	lsls r1, 20 -	movs r2, 0x80 -	lsls r2, 17 -	adds r1, r2 -	lsrs r1, 16 -	movs r2, 0x20 -	bl LoadPalette -	b _081AF3EE -	.pool -_081AF3DC: -	ldr r0, =gUnknown_086142A8 -	str r0, [sp, 0xC] -	add r0, sp, 0xC -	ldr r1, [r0, 0x4] -	ands r1, r5 -	orrs r1, r2 -	str r1, [r0, 0x4] -	bl LoadSpritePalette -_081AF3EE: -	ldr r0, =Task_ScrollIndicatorArrowPair -	movs r1, 0 -	bl CreateTask -	lsls r0, 24 -	lsrs r0, 24 -	mov r8, r0 -	lsls r0, 2 -	add r0, r8 -	lsls r0, 3 -	ldr r1, =gTasks + 0x8 -	adds r7, r0, r1 -	movs r0, 0 -	strb r0, [r7] -	mov r0, r9 -	str r0, [r7, 0x4] -	ldrh r0, [r6, 0x6] -	strh r0, [r7, 0x8] -	ldrh r0, [r6, 0x8] -	strh r0, [r7, 0xA] -	ldrh r0, [r6, 0xA] -	strh r0, [r7, 0xE] -	ldrh r0, [r6, 0xC] -	strh r0, [r7, 0x10] -	ldrb r0, [r6] -	ldrb r1, [r6, 0x1] -	ldrb r2, [r6, 0x2] -	ldrh r3, [r6, 0xA] -	ldrh r4, [r6, 0xC] -	str r4, [sp] -	bl AddScrollIndicatorArrowObject -	strb r0, [r7, 0xC] -	ldrb r0, [r6, 0x3] -	ldrb r1, [r6, 0x4] -	ldrb r2, [r6, 0x5] -	ldrh r3, [r6, 0xA] -	ldrh r4, [r6, 0xC] -	str r4, [sp] -	bl AddScrollIndicatorArrowObject -	strb r0, [r7, 0xD] -	ldrh r1, [r6, 0xC] -	ldr r0, =0x0000ffff -	cmp r1, r0 -	bne _081AF47C -	ldr r5, =gSprites -	ldrb r0, [r7, 0xC] -	lsls r1, r0, 4 -	adds r1, r0 -	lsls r1, 2 -	adds r1, r5 -	ldrb r3, [r6, 0xE] -	lsls r3, 4 -	ldrb r4, [r1, 0x5] -	movs r2, 0xF -	adds r0, r2, 0 -	ands r0, r4 -	orrs r0, r3 -	strb r0, [r1, 0x5] -	ldrb r1, [r7, 0xD] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r5 -	ldrb r1, [r6, 0xE] -	lsls r1, 4 -	ldrb r3, [r0, 0x5] -	ands r2, r3 -	orrs r2, r1 -	strb r2, [r0, 0x5] -_081AF47C: -	mov r0, r8 -	add sp, 0x14 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end AddScrollIndicatorArrowPair - -	thumb_func_start AddScrollIndicatorArrowPairParametrized -AddScrollIndicatorArrowPairParametrized: @ 81AF4A0 -	push {r4,lr} -	adds r4, r1, 0 -	subs r0, 0x2 -	cmp r0, 0x1 -	bhi _081AF4C4 -	ldr r0, =gUnknown_0203CE8C -	movs r1, 0x2 -	strb r1, [r0] -	strb r4, [r0, 0x1] -	strb r2, [r0, 0x2] -	movs r1, 0x3 -	strb r1, [r0, 0x3] -	strb r4, [r0, 0x4] -	strb r3, [r0, 0x5] -	b _081AF4D6 -	.pool -_081AF4C4: -	ldr r0, =gUnknown_0203CE8C -	movs r1, 0 -	strb r1, [r0] -	strb r2, [r0, 0x1] -	strb r4, [r0, 0x2] -	movs r1, 0x1 -	strb r1, [r0, 0x3] -	strb r3, [r0, 0x4] -	strb r4, [r0, 0x5] -_081AF4D6: -	adds r2, r0, 0 -	movs r1, 0 -	movs r0, 0 -	strh r0, [r2, 0x6] -	ldr r0, [sp, 0x8] -	strh r0, [r2, 0x8] -	ldr r0, [sp, 0xC] -	strh r0, [r2, 0xA] -	ldr r0, [sp, 0x10] -	strh r0, [r2, 0xC] -	strb r1, [r2, 0xE] -	adds r0, r2, 0 -	ldr r1, [sp, 0x14] -	bl AddScrollIndicatorArrowPair -	lsls r0, 24 -	lsrs r0, 24 -	pop {r4} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end AddScrollIndicatorArrowPairParametrized - -	thumb_func_start Task_ScrollIndicatorArrowPair -Task_ScrollIndicatorArrowPair: @ 81AF504 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r4, r1, r0 -	ldr r0, [r4, 0x4] -	ldrh r5, [r0] -	ldrh r0, [r4, 0x8] -	cmp r5, r0 -	bne _081AF548 -	ldr r0, =0x0000ffff -	cmp r5, r0 -	beq _081AF548 -	ldr r3, =gSprites -	ldrb r1, [r4, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	adds r0, 0x3E -	ldrb r1, [r0] -	movs r2, 0x4 -	orrs r1, r2 -	b _081AF55E -	.pool -_081AF548: -	ldr r3, =gSprites -	ldrb r1, [r4, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	adds r0, 0x3E -	ldrb r2, [r0] -	movs r1, 0x5 -	negs r1, r1 -	ands r1, r2 -_081AF55E: -	strb r1, [r0] -	ldrh r0, [r4, 0xA] -	cmp r5, r0 -	bne _081AF580 -	ldrb r1, [r4, 0xD] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	adds r0, 0x3E -	ldrb r1, [r0] -	movs r2, 0x4 -	orrs r1, r2 -	b _081AF594 -	.pool -_081AF580: -	ldrb r1, [r4, 0xD] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	adds r0, 0x3E -	ldrb r2, [r0] -	movs r1, 0x5 -	negs r1, r1 -	ands r1, r2 -_081AF594: -	strb r1, [r0] -	pop {r4,r5} -	pop {r0} -	bx r0 -	thumb_func_end Task_ScrollIndicatorArrowPair - -	thumb_func_start Task_ScrollIndicatorArrowPairOnMainMenu -Task_ScrollIndicatorArrowPairOnMainMenu: @ 81AF59C -	push {r4,lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	ldr r0, =gTasks + 0x8 -	adds r4, r1, r0 -	movs r1, 0x1E -	ldrsh r0, [r4, r1] -	cmp r0, 0 -	beq _081AF5E8 -	ldr r3, =gSprites -	ldrb r1, [r4, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	adds r0, 0x3E -	ldrb r2, [r0] -	movs r1, 0x5 -	negs r1, r1 -	ands r1, r2 -	strb r1, [r0] -	ldrb r1, [r4, 0xD] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	adds r0, 0x3E -	ldrb r1, [r0] -	movs r2, 0x4 -	orrs r1, r2 -	b _081AF612 -	.pool -_081AF5E8: -	ldr r3, =gSprites -	ldrb r1, [r4, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	adds r0, 0x3E -	ldrb r1, [r0] -	movs r2, 0x4 -	orrs r1, r2 -	strb r1, [r0] -	ldrb r1, [r4, 0xD] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	adds r0, 0x3E -	ldrb r2, [r0] -	movs r1, 0x5 -	negs r1, r1 -	ands r1, r2 -_081AF612: -	strb r1, [r0] -	pop {r4} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end Task_ScrollIndicatorArrowPairOnMainMenu - -	thumb_func_start RemoveScrollIndicatorArrowPair -RemoveScrollIndicatorArrowPair: @ 81AF620 -	push {r4-r6,lr} -	lsls r0, 24 -	lsrs r0, 24 -	adds r6, r0, 0 -	lsls r0, r6, 2 -	adds r0, r6 -	lsls r0, 3 -	ldr r1, =gTasks + 0x8 -	adds r5, r0, r1 -	ldrh r0, [r5, 0xE] -	ldr r4, =0x0000ffff -	cmp r0, r4 -	beq _081AF63E -	bl FreeSpriteTilesByTag -_081AF63E: -	ldrh r0, [r5, 0x10] -	cmp r0, r4 -	beq _081AF648 -	bl FreeSpritePaletteByTag -_081AF648: -	ldrb r1, [r5, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	ldr r4, =gSprites -	adds r0, r4 -	bl DestroySprite -	ldrb r1, [r5, 0xD] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r4 -	bl DestroySprite -	adds r0, r6, 0 -	bl DestroyTask -	pop {r4-r6} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end RemoveScrollIndicatorArrowPair - -	thumb_func_start ListMenuAddCursorObjectInternal -ListMenuAddCursorObjectInternal: @ 81AF680 -	push {lr} -	cmp r1, 0 -	beq _081AF68A -	cmp r1, 0x1 -	beq _081AF690 -_081AF68A: -	bl ListMenuAddRedOutlineCursorObject -	b _081AF694 -_081AF690: -	bl ListMenuAddRedArrowCursorObject -_081AF694: -	lsls r0, 24 -	lsrs r0, 24 -	pop {r1} -	bx r1 -	thumb_func_end ListMenuAddCursorObjectInternal - -	thumb_func_start ListMenuUpdateCursorObject -@ void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 a4) -ListMenuUpdateCursorObject: @ 81AF69C -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, 16 -	lsrs r1, 16 -	lsls r2, 16 -	lsrs r2, 16 -	cmp r3, 0 -	beq _081AF6B4 -	cmp r3, 0x1 -	beq _081AF6BA -	b _081AF6BE -_081AF6B4: -	bl ListMenuUpdateRedOutlineCursorObject -	b _081AF6BE -_081AF6BA: -	bl ListMenuUpdateRedArrowCursorObject -_081AF6BE: -	pop {r0} -	bx r0 -	thumb_func_end ListMenuUpdateCursorObject - -	thumb_func_start ListMenuRemoveCursorObject -ListMenuRemoveCursorObject: @ 81AF6C4 -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	cmp r1, 0 -	beq _081AF6D4 -	cmp r1, 0x1 -	beq _081AF6DA -	b _081AF6DE -_081AF6D4: -	bl ListMenuRemoveRedOutlineCursorObject -	b _081AF6DE -_081AF6DA: -	bl ListMenuRemoveRedArrowCursorObject -_081AF6DE: -	pop {r0} -	bx r0 -	thumb_func_end ListMenuRemoveCursorObject - -	thumb_func_start Task_RedOutlineCursor -Task_RedOutlineCursor: @ 81AF6E4 -	bx lr -	thumb_func_end Task_RedOutlineCursor - -	thumb_func_start ListMenuGetRedOutlineCursorSpriteCount -ListMenuGetRedOutlineCursorSpriteCount: @ 81AF6E8 -	push {lr} -	lsls r0, 16 -	lsrs r0, 16 -	lsls r1, 16 -	lsrs r1, 16 -	movs r3, 0x4 -	cmp r0, 0x10 -	bls _081AF708 -	movs r2, 0x8 -	subs r0, 0x8 -	cmp r2, r0 -	bge _081AF708 -_081AF700: -	adds r3, 0x2 -	adds r2, 0x8 -	cmp r2, r0 -	blt _081AF700 -_081AF708: -	cmp r1, 0x10 -	bls _081AF71C -	movs r2, 0x8 -	subs r1, 0x8 -	cmp r2, r1 -	bge _081AF71C -_081AF714: -	adds r3, 0x2 -	adds r2, 0x8 -	cmp r2, r1 -	blt _081AF714 -_081AF71C: -	lsls r0, r3, 24 -	lsrs r0, 24 -	pop {r1} -	bx r1 -	thumb_func_end ListMenuGetRedOutlineCursorSpriteCount - -	thumb_func_start ListMenuSetUpRedOutlineCursorSpriteOamTable -ListMenuSetUpRedOutlineCursorSpriteOamTable: @ 81AF724 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x4 -	adds r3, r2, 0 -	lsls r0, 16 -	lsrs r0, 16 -	mov r8, r0 -	lsls r1, 16 -	lsrs r1, 16 -	mov r9, r1 -	ldr r0, =gUnknown_0861425C -	ldr r0, [r0] -	str r0, [r3] -	movs r1, 0x88 -	strb r1, [r3] -	strb r1, [r3, 0x1] -	ldr r0, =gUnknown_08614260 -	ldr r0, [r0] -	str r0, [r3, 0x4] -	mov r2, r8 -	adds r2, 0x80 -	strb r2, [r3, 0x4] -	strb r1, [r3, 0x5] -	ldr r0, =gUnknown_08614274 -	ldr r0, [r0] -	str r0, [r3, 0x8] -	strb r1, [r3, 0x8] -	mov r4, r9 -	adds r4, 0x80 -	strb r4, [r3, 0x9] -	ldr r0, =gUnknown_08614278 -	ldr r0, [r0] -	str r0, [r3, 0xC] -	strb r2, [r3, 0xC] -	strb r4, [r3, 0xD] -	movs r0, 0x4 -	mov r12, r0 -	mov r2, r8 -	cmp r2, 0x10 -	bls _081AF7B8 -	movs r2, 0x8 -	mov r5, r8 -	subs r5, 0x8 -	cmp r2, r5 -	bge _081AF7B8 -	ldr r0, =gUnknown_08614264 -	ldr r0, [r0] -	str r0, [sp] -	ldr r0, =gUnknown_08614270 -	ldr r6, [r0] -	adds r1, r3, 0 -	adds r1, 0x10 -	movs r7, 0x88 -	mov r10, r7 -_081AF796: -	ldr r0, [sp] -	str r0, [r1] -	adds r0, r2, 0 -	subs r0, 0x78 -	strb r0, [r1] -	mov r7, r10 -	strb r7, [r1, 0x1] -	adds r1, 0x4 -	str r6, [r1] -	strb r0, [r1] -	strb r4, [r1, 0x1] -	adds r1, 0x4 -	movs r0, 0x2 -	add r12, r0 -	adds r2, 0x8 -	cmp r2, r5 -	blt _081AF796 -_081AF7B8: -	mov r2, r9 -	cmp r2, 0x10 -	bls _081AF7F6 -	movs r1, 0x8 -	mov r4, r9 -	subs r4, 0x8 -	cmp r1, r4 -	bge _081AF7F6 -	ldr r0, =gUnknown_08614268 -	ldr r6, [r0] -	ldr r0, =gUnknown_0861426C -	ldr r5, [r0] -	mov r7, r12 -	lsls r0, r7, 2 -	adds r2, r0, r3 -	movs r7, 0x88 -	mov r3, r8 -	adds r3, 0x80 -_081AF7DC: -	str r6, [r2] -	strb r7, [r2] -	adds r0, r1, 0 -	subs r0, 0x78 -	strb r0, [r2, 0x1] -	adds r2, 0x4 -	str r5, [r2] -	strb r3, [r2] -	strb r0, [r2, 0x1] -	adds r2, 0x4 -	adds r1, 0x8 -	cmp r1, r4 -	blt _081AF7DC -_081AF7F6: -	add sp, 0x4 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end ListMenuSetUpRedOutlineCursorSpriteOamTable - -	thumb_func_start ListMenuAddRedOutlineCursorObject -ListMenuAddRedOutlineCursorObject: @ 81AF828 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x28 -	adds r6, r0, 0 -	ldr r0, =gUnknown_08614338 -	str r0, [sp, 0x18] -	ldr r5, =0xffff0000 -	add r0, sp, 0x18 -	ldr r1, [r0, 0x4] -	ands r1, r5 -	movs r2, 0x80 -	lsls r2, 1 -	orrs r1, r2 -	ldrh r2, [r6, 0x6] -	lsls r2, 16 -	ldr r3, =0x0000ffff -	ands r1, r3 -	orrs r1, r2 -	str r1, [r0, 0x4] -	bl LoadCompressedObjectPic -	ldrh r2, [r6, 0x8] -	ldr r7, =0x0000ffff -	cmp r2, r7 -	bne _081AF884 -	ldr r0, =gUnknown_086142A8 -	ldrb r1, [r6, 0xA] -	lsls r1, 20 -	movs r2, 0x80 -	lsls r2, 17 -	adds r1, r2 -	lsrs r1, 16 -	movs r2, 0x20 -	bl LoadPalette -	b _081AF896 -	.pool -_081AF884: -	ldr r0, =gUnknown_086142A8 -	str r0, [sp, 0x20] -	add r0, sp, 0x20 -	ldr r1, [r0, 0x4] -	ands r1, r5 -	orrs r1, r2 -	str r1, [r0, 0x4] -	bl LoadSpritePalette -_081AF896: -	ldr r0, =Task_RedOutlineCursor -	movs r1, 0 -	bl CreateTask -	lsls r0, 24 -	lsrs r0, 24 -	adds r4, r0, 0 -	lsls r0, r4, 2 -	adds r0, r4 -	lsls r0, 3 -	ldr r1, =gTasks + 0x8 -	adds r5, r0, r1 -	ldrh r0, [r6, 0x6] -	movs r3, 0 -	mov r8, r3 -	strh r0, [r5, 0xE] -	ldrh r0, [r6, 0x8] -	strh r0, [r5, 0x10] -	ldrh r0, [r6, 0x2] -	ldrh r1, [r6, 0x4] -	bl ListMenuGetRedOutlineCursorSpriteCount -	strb r0, [r5] -	ldrb r0, [r5] -	lsls r0, 2 -	bl Alloc -	adds r2, r0, 0 -	str r2, [r5, 0x8] -	str r2, [r5, 0x4] -	ldrh r0, [r6, 0x2] -	ldrh r1, [r6, 0x4] -	bl ListMenuSetUpRedOutlineCursorSpriteOamTable -	mov r1, sp -	ldr r0, =gDummySpriteTemplate -	ldm r0!, {r2,r3,r7} -	stm r1!, {r2,r3,r7} -	ldm r0!, {r2,r3,r7} -	stm r1!, {r2,r3,r7} -	mov r1, sp -	ldrh r0, [r6, 0x6] -	strh r0, [r1] -	ldrh r0, [r6, 0x8] -	strh r0, [r1, 0x2] -	ldrb r1, [r6] -	adds r1, 0x78 -	ldrb r2, [r6, 0x1] -	adds r2, 0x78 -	mov r0, sp -	movs r3, 0 -	bl CreateSprite -	strb r0, [r5, 0xC] -	ldrb r1, [r5, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	ldr r7, =gSprites -	adds r0, r7 -	adds r1, r5, 0 -	bl SetSubspriteTables -	ldrb r0, [r5, 0xC] -	lsls r1, r0, 4 -	adds r1, r0 -	lsls r1, 2 -	adds r1, r7 -	ldrb r2, [r1, 0x5] -	movs r0, 0xD -	negs r0, r0 -	ands r0, r2 -	strb r0, [r1, 0x5] -	ldrb r1, [r5, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r7 -	adds r0, 0x43 -	mov r1, r8 -	strb r1, [r0] -	ldrb r1, [r5, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r7 -	adds r0, 0x42 -	ldrb r2, [r0] -	movs r1, 0x40 -	negs r1, r1 -	ands r1, r2 -	strb r1, [r0] -	ldrh r1, [r6, 0x8] -	ldr r0, =0x0000ffff -	cmp r1, r0 -	bne _081AF96E -	ldrb r0, [r5, 0xC] -	lsls r1, r0, 4 -	adds r1, r0 -	lsls r1, 2 -	adds r1, r7 -	ldrb r2, [r6, 0xA] -	lsls r2, 4 -	ldrb r3, [r1, 0x5] -	movs r0, 0xF -	ands r0, r3 -	orrs r0, r2 -	strb r0, [r1, 0x5] -_081AF96E: -	adds r0, r4, 0 -	add sp, 0x28 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end ListMenuAddRedOutlineCursorObject - -	thumb_func_start ListMenuUpdateRedOutlineCursorObject -@ void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y) -ListMenuUpdateRedOutlineCursorObject: @ 81AF994 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, 16 -	lsrs r1, 16 -	lsls r2, 16 -	lsrs r2, 16 -	lsls r3, r0, 2 -	adds r3, r0 -	lsls r3, 3 -	ldr r0, =gTasks + 0x8 -	adds r3, r0 -	ldr r5, =gSprites -	ldrb r4, [r3, 0xC] -	lsls r0, r4, 4 -	adds r0, r4 -	lsls r0, 2 -	adds r0, r5 -	adds r1, 0x78 -	strh r1, [r0, 0x20] -	ldrb r1, [r3, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r5 -	adds r2, 0x78 -	strh r2, [r0, 0x22] -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end ListMenuUpdateRedOutlineCursorObject - -	thumb_func_start ListMenuRemoveRedOutlineCursorObject -ListMenuRemoveRedOutlineCursorObject: @ 81AF9D8 -	push {r4-r6,lr} -	lsls r0, 24 -	lsrs r0, 24 -	adds r5, r0, 0 -	lsls r0, r5, 2 -	adds r0, r5 -	lsls r0, 3 -	ldr r1, =gTasks + 0x8 -	adds r4, r0, r1 -	ldr r0, [r4, 0x8] -	bl Free -	ldrh r0, [r4, 0xE] -	ldr r6, =0x0000ffff -	cmp r0, r6 -	beq _081AF9FC -	bl FreeSpriteTilesByTag -_081AF9FC: -	ldrh r0, [r4, 0x10] -	cmp r0, r6 -	beq _081AFA06 -	bl FreeSpritePaletteByTag -_081AFA06: -	ldrb r1, [r4, 0xC] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	ldr r1, =gSprites -	adds r0, r1 -	bl DestroySprite -	adds r0, r5, 0 -	bl DestroyTask -	pop {r4-r6} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end ListMenuRemoveRedOutlineCursorObject - -	thumb_func_start ObjectCB_RedArrowCursor -ObjectCB_RedArrowCursor: @ 81AFA30 -	push {lr} -	adds r2, r0, 0 -	ldr r1, =gSineTable -	ldrh r3, [r2, 0x2E] -	lsls r0, r3, 24 -	lsrs r0, 23 -	adds r0, r1 -	movs r1, 0 -	ldrsh r0, [r0, r1] -	cmp r0, 0 -	bge _081AFA48 -	adds r0, 0x3F -_081AFA48: -	asrs r0, 6 -	strh r0, [r2, 0x24] -	adds r0, r3, 0 -	adds r0, 0x8 -	strh r0, [r2, 0x2E] -	pop {r0} -	bx r0 -	.pool -	thumb_func_end ObjectCB_RedArrowCursor - -	thumb_func_start Task_RedArrowCursor -Task_RedArrowCursor: @ 81AFA5C -	bx lr -	thumb_func_end Task_RedArrowCursor - -	thumb_func_start ListMenuAddRedArrowCursorObject -ListMenuAddRedArrowCursorObject: @ 81AFA60 -	push {r4-r7,lr} -	sub sp, 0x28 -	adds r5, r0, 0 -	ldr r0, =gUnknown_08614378 -	str r0, [sp, 0x18] -	ldr r6, =0xffff0000 -	add r0, sp, 0x18 -	ldr r1, [r0, 0x4] -	ands r1, r6 -	movs r2, 0x80 -	orrs r1, r2 -	ldrh r2, [r5, 0x6] -	lsls r2, 16 -	ldr r4, =0x0000ffff -	ands r1, r4 -	orrs r1, r2 -	str r1, [r0, 0x4] -	bl LoadCompressedObjectPic -	ldrh r2, [r5, 0x8] -	cmp r2, r4 -	bne _081AFAB4 -	ldr r0, =gUnknown_086142A8 -	ldrb r1, [r5, 0xA] -	lsls r1, 20 -	movs r2, 0x80 -	lsls r2, 17 -	adds r1, r2 -	lsrs r1, 16 -	movs r2, 0x20 -	bl LoadPalette -	b _081AFAC6 -	.pool -_081AFAB4: -	ldr r0, =gUnknown_086142A8 -	str r0, [sp, 0x20] -	add r0, sp, 0x20 -	ldr r1, [r0, 0x4] -	ands r1, r6 -	orrs r1, r2 -	str r1, [r0, 0x4] -	bl LoadSpritePalette -_081AFAC6: -	ldr r0, =Task_RedArrowCursor -	movs r1, 0 -	bl CreateTask -	lsls r0, 24 -	lsrs r0, 24 -	adds r6, r0, 0 -	lsls r0, r6, 2 -	adds r0, r6 -	lsls r0, 3 -	ldr r1, =gTasks + 0x8 -	adds r4, r0, r1 -	ldrh r0, [r5, 0x6] -	strh r0, [r4, 0x2] -	ldrh r0, [r5, 0x8] -	strh r0, [r4, 0x4] -	mov r1, sp -	ldr r0, =gUnknown_08614290 -	ldm r0!, {r2,r3,r7} -	stm r1!, {r2,r3,r7} -	ldm r0!, {r2,r3,r7} -	stm r1!, {r2,r3,r7} -	mov r1, sp -	ldrh r0, [r5, 0x6] -	strh r0, [r1] -	ldrh r0, [r5, 0x8] -	strh r0, [r1, 0x2] -	ldrb r1, [r5] -	ldrb r2, [r5, 0x1] -	mov r0, sp -	movs r3, 0 -	bl CreateSprite -	strb r0, [r4] -	ldr r3, =gSprites -	ldrb r1, [r4] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	movs r2, 0x8 -	strh r2, [r0, 0x24] -	ldrb r1, [r4] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	strh r2, [r0, 0x26] -	ldrh r1, [r5, 0x8] -	ldr r0, =0x0000ffff -	cmp r1, r0 -	bne _081AFB46 -	ldrb r0, [r4] -	lsls r1, r0, 4 -	adds r1, r0 -	lsls r1, 2 -	adds r1, r3 -	ldrb r2, [r5, 0xA] -	lsls r2, 4 -	ldrb r3, [r1, 0x5] -	movs r0, 0xF -	ands r0, r3 -	orrs r0, r2 -	strb r0, [r1, 0x5] -_081AFB46: -	adds r0, r6, 0 -	add sp, 0x28 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.pool -	thumb_func_end ListMenuAddRedArrowCursorObject - -	thumb_func_start ListMenuUpdateRedArrowCursorObject -@ void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y) -ListMenuUpdateRedArrowCursorObject: @ 81AFB68 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	lsls r3, r0, 2 -	adds r3, r0 -	lsls r3, 3 -	ldr r0, =gTasks + 0x8 -	adds r3, r0 -	ldr r5, =gSprites -	ldrb r4, [r3] -	lsls r0, r4, 4 -	adds r0, r4 -	lsls r0, 2 -	adds r0, r5 -	strh r1, [r0, 0x20] -	ldrb r1, [r3] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r5 -	strh r2, [r0, 0x22] -	pop {r4,r5} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end ListMenuUpdateRedArrowCursorObject - -	thumb_func_start ListMenuRemoveRedArrowCursorObject -ListMenuRemoveRedArrowCursorObject: @ 81AFBA0 -	push {r4-r6,lr} -	lsls r0, 24 -	lsrs r0, 24 -	adds r5, r0, 0 -	lsls r0, r5, 2 -	adds r0, r5 -	lsls r0, 3 -	ldr r1, =gTasks + 0x8 -	adds r4, r0, r1 -	ldrh r0, [r4, 0x2] -	ldr r6, =0x0000ffff -	cmp r0, r6 -	beq _081AFBBE -	bl FreeSpriteTilesByTag -_081AFBBE: -	ldrh r0, [r4, 0x4] -	cmp r0, r6 -	beq _081AFBC8 -	bl FreeSpritePaletteByTag -_081AFBC8: -	ldrb r1, [r4] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	ldr r1, =gSprites -	adds r0, r1 -	bl DestroySprite -	adds r0, r5, 0 -	bl DestroyTask -	pop {r4-r6} -	pop {r0} -	bx r0 -	.pool -	thumb_func_end ListMenuRemoveRedArrowCursorObject - -	.align 2, 0 @ Don't pad with nop. | 
