mirror of https://github.com/zeldaret/tmc.git
				
				
				
			
		
			
				
	
	
		
			208 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			208 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
| 	.include "asm/macros.inc"
 | |
| 
 | |
| 	.include "constants/constants.inc"
 | |
| 
 | |
| 	.syntax unified
 | |
| 
 | |
| 	.text
 | |
| 
 | |
| 	thumb_func_start sub_0805488C
 | |
| sub_0805488C: @ 0x0805488C
 | |
| 	push {r4, lr}
 | |
| 	ldr r4, _080548DC @ =gUnk_02032EC0
 | |
| 	ldrb r1, [r4, #3]
 | |
| 	lsls r0, r1, #2
 | |
| 	adds r0, r0, r1
 | |
| 	lsls r0, r0, #2
 | |
| 	ldr r1, _080548E0 @ =gUnk_080FE320
 | |
| 	adds r0, r0, r1
 | |
| 	ldr r2, _080548E4 @ =gMenu
 | |
| 	ldrb r1, [r0]
 | |
| 	movs r3, #0
 | |
| 	strb r1, [r2]
 | |
| 	ldrb r1, [r0, #1]
 | |
| 	strb r1, [r2, #3]
 | |
| 	ldrb r1, [r4, #3]
 | |
| 	strb r1, [r2, #4]
 | |
| 	str r0, [r2, #0xc]
 | |
| 	ldrb r0, [r2, #5]
 | |
| 	adds r0, #1
 | |
| 	strb r0, [r2, #5]
 | |
| 	strb r3, [r2, #6]
 | |
| 	movs r0, #0x96
 | |
| 	lsls r0, r0, #1
 | |
| 	strh r0, [r2, #8]
 | |
| 	movs r0, #0
 | |
| 	bl DispReset
 | |
| 	ldrb r0, [r4, #3]
 | |
| 	movs r1, #1
 | |
| 	bl sub_08054974
 | |
| 	bl sub_0806F364
 | |
| 	movs r0, #0xff
 | |
| 	bl ClearRoomFlag
 | |
| 	bl sub_080548E8
 | |
| 	pop {r4, pc}
 | |
| 	.align 2, 0
 | |
| _080548DC: .4byte gUnk_02032EC0
 | |
| _080548E0: .4byte gUnk_080FE320
 | |
| _080548E4: .4byte gMenu
 | |
| 
 | |
| 	thumb_func_start sub_080548E8
 | |
| sub_080548E8: @ 0x080548E8
 | |
| 	push {lr}
 | |
| 	ldr r1, _08054918 @ =gUnk_080FE2AC
 | |
| 	ldr r0, _0805491C @ =gMenu
 | |
| 	ldrb r0, [r0]
 | |
| 	lsls r0, r0, #2
 | |
| 	adds r0, r0, r1
 | |
| 	ldr r0, [r0]
 | |
| 	bl _call_via_r0
 | |
| 	bl FlushSprites
 | |
| 	bl UpdateEntities
 | |
| 	bl sub_080AD9B0
 | |
| 	bl sub_080AD918
 | |
| 	bl UpdateScroll
 | |
| 	bl UpdateBgAnim
 | |
| 	bl sub_08000108
 | |
| 	pop {pc}
 | |
| 	.align 2, 0
 | |
| _08054918: .4byte gUnk_080FE2AC
 | |
| _0805491C: .4byte gMenu
 | |
| 
 | |
| 	thumb_func_start sub_08054920
 | |
| sub_08054920: @ 0x08054920
 | |
| 	push {lr}
 | |
| 	bl MessageInitialize
 | |
| 	bl sub_0806F38C
 | |
| 	ldr r1, _08054948 @ =gUnk_080C9CBC
 | |
| 	ldr r0, _0805494C @ =gUnk_02022740
 | |
| 	ldrb r0, [r0, #3]
 | |
| 	lsls r0, r0, #3
 | |
| 	adds r0, r0, r1
 | |
| 	ldrb r0, [r0, #7]
 | |
| 	cmp r0, #0
 | |
| 	beq _08054954
 | |
| 	ldr r0, _08054950 @ =gUnk_02032EC0
 | |
| 	ldrb r1, [r0, #3]
 | |
| 	movs r0, #0xa
 | |
| 	bl MenuFadeIn
 | |
| 	b _08054962
 | |
| 	.align 2, 0
 | |
| _08054948: .4byte gUnk_080C9CBC
 | |
| _0805494C: .4byte gUnk_02022740
 | |
| _08054950: .4byte gUnk_02032EC0
 | |
| _08054954:
 | |
| 	ldr r1, _08054964 @ =gUnk_02032EC0
 | |
| 	movs r0, #3
 | |
| 	strb r0, [r1]
 | |
| 	movs r0, #7
 | |
| 	movs r1, #0x10
 | |
| 	bl DoFade
 | |
| _08054962:
 | |
| 	pop {pc}
 | |
| 	.align 2, 0
 | |
| _08054964: .4byte gUnk_02032EC0
 | |
| 
 | |
| 	thumb_func_start sub_08054968
 | |
| sub_08054968: @ 0x08054968
 | |
| 	ldr r1, _08054970 @ =gMenu
 | |
| 	movs r0, #2
 | |
| 	strb r0, [r1, #5]
 | |
| 	bx lr
 | |
| 	.align 2, 0
 | |
| _08054970: .4byte gMenu
 | |
| 
 | |
| 	thumb_func_start sub_08054974
 | |
| sub_08054974: @ 0x08054974
 | |
| 	push {r4, r5, r6, lr}
 | |
| 	adds r5, r1, #0
 | |
| 	lsls r1, r0, #2
 | |
| 	adds r1, r1, r0
 | |
| 	lsls r1, r1, #2
 | |
| 	ldr r0, _080549B0 @ =gUnk_080FE320
 | |
| 	adds r6, r1, r0
 | |
| 	ldrb r0, [r6, #2]
 | |
| 	ldrb r1, [r6, #3]
 | |
| 	bl SetCurrentRoomPropertyList
 | |
| 	ldr r4, _080549B4 @ =gRoomControls
 | |
| 	ldrb r0, [r6, #2]
 | |
| 	strb r0, [r4, #4]
 | |
| 	ldrb r0, [r6, #3]
 | |
| 	strb r0, [r4, #5]
 | |
| 	bl sub_08053320
 | |
| 	ldrb r0, [r4, #4]
 | |
| 	bl sub_08052D58
 | |
| 	ldr r1, _080549B8 @ =gArea
 | |
| 	strh r0, [r1, #4]
 | |
| 	cmp r5, #0
 | |
| 	beq _080549BC
 | |
| 	ldrb r0, [r6, #2]
 | |
| 	ldrb r1, [r6, #3]
 | |
| 	bl sub_08052FD8
 | |
| 	b _080549CE
 | |
| 	.align 2, 0
 | |
| _080549B0: .4byte gUnk_080FE320
 | |
| _080549B4: .4byte gRoomControls
 | |
| _080549B8: .4byte gArea
 | |
| _080549BC:
 | |
| 	ldrb r0, [r6, #2]
 | |
| 	ldrb r1, [r6, #3]
 | |
| 	bl sub_08052FF4
 | |
| 	bl sub_0807C740
 | |
| 	ldr r1, _08054A00 @ =gUpdateVisibleTiles
 | |
| 	movs r0, #1
 | |
| 	strb r0, [r1]
 | |
| _080549CE:
 | |
| 	ldr r2, _08054A04 @ =gScreen
 | |
| 	ldrh r1, [r2]
 | |
| 	ldr r0, _08054A08 @ =0x00001FFF
 | |
| 	ands r0, r1
 | |
| 	strh r0, [r2]
 | |
| 	ldr r1, _08054A0C @ =gRoomControls
 | |
| 	ldrh r0, [r6, #4]
 | |
| 	ldrh r2, [r1, #6]
 | |
| 	adds r0, r0, r2
 | |
| 	strh r0, [r1, #0xa]
 | |
| 	ldrh r0, [r6, #6]
 | |
| 	ldrh r2, [r1, #8]
 | |
| 	adds r0, r0, r2
 | |
| 	strh r0, [r1, #0xc]
 | |
| 	ldrb r0, [r6, #2]
 | |
| 	cmp r0, #2
 | |
| 	bne _080549F4
 | |
| 	bl TryLoadPrologueHyruleTown
 | |
| _080549F4:
 | |
| 	ldr r0, _08054A10 @ =gUnk_02032EC0
 | |
| 	ldrb r0, [r0, #3]
 | |
| 	bl sub_08018710
 | |
| 	pop {r4, r5, r6, pc}
 | |
| 	.align 2, 0
 | |
| _08054A00: .4byte gUpdateVisibleTiles
 | |
| _08054A04: .4byte gScreen
 | |
| _08054A08: .4byte 0x00001FFF
 | |
| _08054A0C: .4byte gRoomControls
 | |
| _08054A10: .4byte gUnk_02032EC0
 | |
| 
 | |
| 	thumb_func_start sub_08054A14
 | |
| sub_08054A14: @ 0x08054A14
 | |
| 	push {lr}
 | |
| 	lsls r1, r0, #2
 | |
| 	adds r1, r1, r0
 | |
| 	lsls r1, r1, #2
 | |
| 	ldr r0, _08054A38 @ =gUnk_080FE320
 | |
| 	adds r2, r1, r0
 | |
| 	ldrb r0, [r2, #0x11]
 | |
| 	cmp r0, #0xd
 | |
| 	bhi _08054A34
 | |
| 	ldr r1, _08054A3C @ =gUnk_0811E454
 | |
| 	lsls r0, r0, #1
 | |
| 	adds r0, r0, r1
 | |
| 	ldrh r0, [r0]
 | |
| 	ldrh r1, [r2, #0x12]
 | |
| 	bl SetLocalFlagByOffset
 | |
| _08054A34:
 | |
| 	pop {pc}
 | |
| 	.align 2, 0
 | |
| _08054A38: .4byte gUnk_080FE320
 | |
| _08054A3C: .4byte gUnk_0811E454
 |