mirror of https://github.com/zeldaret/tmc.git
				
				
				
			divide and conquer
This commit is contained in:
		
							parent
							
								
									c0ce9ad010
								
							
						
					
					
						commit
						e7470cdedd
					
				
							
								
								
									
										16
									
								
								asm/code.s
								
								
								
								
							
							
						
						
									
										16
									
								
								asm/code.s
								
								
								
								
							| 
						 | 
				
			
			@ -110,7 +110,7 @@ _080185C2:
 | 
			
		|||
	cmp r0, #0xfe
 | 
			
		||||
	bne _080185D4
 | 
			
		||||
	ldrb r0, [r2, #1]
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _080185F6
 | 
			
		||||
	movs r0, #1
 | 
			
		||||
| 
						 | 
				
			
			@ -436,7 +436,7 @@ _08018858:
 | 
			
		|||
	b _080189E4
 | 
			
		||||
_0801885E:
 | 
			
		||||
	ldrh r0, [r5, #0x12]
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0801886A
 | 
			
		||||
	b _080189E4
 | 
			
		||||
| 
						 | 
				
			
			@ -1612,7 +1612,7 @@ _080190FC:
 | 
			
		|||
	ldrb r1, [r4, #0xa]
 | 
			
		||||
	movs r0, #0x43
 | 
			
		||||
	movs r2, #1
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _08019172
 | 
			
		||||
| 
						 | 
				
			
			@ -2330,7 +2330,7 @@ sub_08019698: @ 0x08019698
 | 
			
		|||
	movs r0, #0x2c
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _08019700
 | 
			
		||||
| 
						 | 
				
			
			@ -3544,7 +3544,7 @@ _0801A018:
 | 
			
		|||
	movs r0, #7
 | 
			
		||||
	mov r1, r8
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r5, r0, #0
 | 
			
		||||
	cmp r5, #0
 | 
			
		||||
	bne _0801A02A
 | 
			
		||||
| 
						 | 
				
			
			@ -4185,7 +4185,7 @@ sub_0801A4F8: @ 0x0801A4F8
 | 
			
		|||
	cmp r0, #0
 | 
			
		||||
	beq _0801A544
 | 
			
		||||
	movs r0, #0x45
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #1
 | 
			
		||||
	bne _0801A564
 | 
			
		||||
	ldrb r1, [r4, #0xd]
 | 
			
		||||
| 
						 | 
				
			
			@ -4932,7 +4932,7 @@ _0801AA94:
 | 
			
		|||
	movs r0, #7
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _0801AB00
 | 
			
		||||
| 
						 | 
				
			
			@ -5320,7 +5320,7 @@ sub_0801AD6C: @ 0x0801AD6C
 | 
			
		|||
	ldrh r0, [r4, #2]
 | 
			
		||||
	cmp r0, #9
 | 
			
		||||
	beq _0801ADDC
 | 
			
		||||
	bl sub_0805E678
 | 
			
		||||
	bl GetEmptyEntity
 | 
			
		||||
	adds r5, r0, #0
 | 
			
		||||
	cmp r5, #0
 | 
			
		||||
	beq _0801AE26
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,7 +25,7 @@ _08000F18:
 | 
			
		|||
	bpl _08000F18
 | 
			
		||||
	pop {r4, r5, r6}
 | 
			
		||||
	bx lr
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
	thumb_func_start sub_08000F2C
 | 
			
		||||
sub_08000F2C: @ 0x08000F2C
 | 
			
		||||
	push {r4, r5, r6, r7}
 | 
			
		||||
| 
						 | 
				
			
			@ -48,4 +48,4 @@ _08000F40:
 | 
			
		|||
	pop {r4, r5, r6, r7}
 | 
			
		||||
	bx lr
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_08000F50: .4byte gUnk_03005E60
 | 
			
		||||
_08000F50: .4byte gUnk_03005E60
 | 
			
		||||
							
								
								
									
										1848
									
								
								asm/code_08003FC4.s
								
								
								
								
							
							
						
						
									
										1848
									
								
								asm/code_08003FC4.s
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -358,7 +358,7 @@ _080087F6:
 | 
			
		|||
	bne _080087FE
 | 
			
		||||
	movs r2, #0x80
 | 
			
		||||
_080087FE:
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0800883A
 | 
			
		||||
	ldrb r1, [r5, #2]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1613,7 +1613,7 @@ sub_080179EC: @ 0x080179EC
 | 
			
		|||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r5, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r2, r4, #0
 | 
			
		||||
	adds r2, #0x29
 | 
			
		||||
	ldrb r1, [r2]
 | 
			
		||||
| 
						 | 
				
			
			@ -1677,7 +1677,7 @@ sub_08017A90: @ 0x08017A90
 | 
			
		|||
	movs r0, #0x99
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	bne _08017AAA
 | 
			
		||||
| 
						 | 
				
			
			@ -1854,7 +1854,7 @@ sub_08017BBC: @ 0x08017BBC
 | 
			
		|||
	movs r0, #0x42
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _08017BF2
 | 
			
		||||
	str r4, [r0, #0x54]
 | 
			
		||||
| 
						 | 
				
			
			@ -2374,7 +2374,7 @@ _08017F9A:
 | 
			
		|||
	adds r0, r4, #0
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	b _08017FC2
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_08017FAC: .4byte gLinkEntity
 | 
			
		||||
| 
						 | 
				
			
			@ -2385,7 +2385,7 @@ _08017FB4:
 | 
			
		|||
	adds r0, r5, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_08017FC2:
 | 
			
		||||
	ldrb r1, [r4, #0x10]
 | 
			
		||||
	movs r0, #0x7f
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2513,7 +2513,7 @@ sub_0801E99C: @ 0x0801E99C
 | 
			
		|||
	adds r0, r0, r1
 | 
			
		||||
	ldr r7, [r0]
 | 
			
		||||
	movs r0, #0x67
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0801EA56
 | 
			
		||||
	ldr r1, _0801E9E8 @ =gUnk_02002A40
 | 
			
		||||
| 
						 | 
				
			
			@ -12666,7 +12666,7 @@ _0802355A:
 | 
			
		|||
	adds r0, r7, #0
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldrb r0, [r7, #0x14]
 | 
			
		||||
	ands r4, r0
 | 
			
		||||
	adds r4, r4, r6
 | 
			
		||||
| 
						 | 
				
			
			@ -13873,7 +13873,7 @@ sub_08023E54: @ 0x08023E54
 | 
			
		|||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_08023E94:
 | 
			
		||||
	pop {r4, r5, pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
| 
						 | 
				
			
			@ -16067,7 +16067,7 @@ _08024ECC:
 | 
			
		|||
	adds r0, r4, #0
 | 
			
		||||
	adds r1, r6, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r1, r6, #0
 | 
			
		||||
	adds r1, #0x63
 | 
			
		||||
	movs r0, #0x1a
 | 
			
		||||
| 
						 | 
				
			
			@ -16304,7 +16304,7 @@ _080250C2:
 | 
			
		|||
	movs r0, #0x21
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08025104
 | 
			
		||||
| 
						 | 
				
			
			@ -17699,7 +17699,7 @@ _08025B52:
 | 
			
		|||
	movs r0, #0x21
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _08025BB4
 | 
			
		||||
| 
						 | 
				
			
			@ -17711,7 +17711,7 @@ _08025B52:
 | 
			
		|||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r6, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldrh r1, [r4, #0x2e]
 | 
			
		||||
	mov r0, sb
 | 
			
		||||
	ands r0, r1
 | 
			
		||||
| 
						 | 
				
			
			@ -17758,7 +17758,7 @@ sub_08025BD4: @ 0x08025BD4
 | 
			
		|||
	movs r0, #0x21
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _08025C22
 | 
			
		||||
| 
						 | 
				
			
			@ -17776,7 +17776,7 @@ sub_08025BD4: @ 0x08025BD4
 | 
			
		|||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r5, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldr r0, _08025C28 @ =0x0000FFF6
 | 
			
		||||
	strh r0, [r4, #0x36]
 | 
			
		||||
_08025C22:
 | 
			
		||||
| 
						 | 
				
			
			@ -22641,7 +22641,7 @@ _0802809C:
 | 
			
		|||
	adds r0, r5, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldrh r0, [r5, #0x12]
 | 
			
		||||
	ldrb r1, [r5, #0x1e]
 | 
			
		||||
	bl sub_080700C8
 | 
			
		||||
| 
						 | 
				
			
			@ -22799,7 +22799,7 @@ sub_080281E0: @ 0x080281E0
 | 
			
		|||
	push {r4, r5, r6, r7, lr}
 | 
			
		||||
	adds r7, r0, #0
 | 
			
		||||
	movs r4, #0
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #1
 | 
			
		||||
	bne _0802821A
 | 
			
		||||
	ldr r6, _08028220 @ =gUnk_02002A40
 | 
			
		||||
| 
						 | 
				
			
			@ -24861,7 +24861,7 @@ _08029174:
 | 
			
		|||
	b _08029194
 | 
			
		||||
_0802917E:
 | 
			
		||||
	movs r0, #0x44
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	b _0802918C
 | 
			
		||||
_08029186:
 | 
			
		||||
	movs r0, #0x5a
 | 
			
		||||
| 
						 | 
				
			
			@ -24903,7 +24903,7 @@ _080291BC:
 | 
			
		|||
	bl GetProgressFlag
 | 
			
		||||
	b _080291D0
 | 
			
		||||
_080291C4:
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	b _080291D0
 | 
			
		||||
_080291CA:
 | 
			
		||||
	ldrh r0, [r2, #0xa]
 | 
			
		||||
| 
						 | 
				
			
			@ -25415,7 +25415,7 @@ _08029584:
 | 
			
		|||
	adds r0, r5, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldrh r0, [r5, #0x12]
 | 
			
		||||
	ldrb r1, [r5, #0x1e]
 | 
			
		||||
	bl sub_080700C8
 | 
			
		||||
| 
						 | 
				
			
			@ -25932,7 +25932,7 @@ sub_0802999C: @ 0x0802999C
 | 
			
		|||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	movs r3, #5
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	str r4, [r7, #0x54]
 | 
			
		||||
	movs r0, #0x18
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
| 
						 | 
				
			
			@ -25943,7 +25943,7 @@ sub_0802999C: @ 0x0802999C
 | 
			
		|||
	adds r1, r5, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	movs r3, #4
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	str r5, [r4, #0x54]
 | 
			
		||||
	movs r0, #0x18
 | 
			
		||||
	movs r1, #3
 | 
			
		||||
| 
						 | 
				
			
			@ -25954,7 +25954,7 @@ sub_0802999C: @ 0x0802999C
 | 
			
		|||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	movs r3, #3
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	str r4, [r5, #0x54]
 | 
			
		||||
	movs r0, #0x18
 | 
			
		||||
	movs r1, #4
 | 
			
		||||
| 
						 | 
				
			
			@ -25965,7 +25965,7 @@ sub_0802999C: @ 0x0802999C
 | 
			
		|||
	adds r1, r5, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	movs r3, #2
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	str r5, [r4, #0x54]
 | 
			
		||||
	movs r0, #0x18
 | 
			
		||||
	movs r1, #5
 | 
			
		||||
| 
						 | 
				
			
			@ -25976,7 +25976,7 @@ sub_0802999C: @ 0x0802999C
 | 
			
		|||
	adds r1, r6, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	movs r3, #1
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	str r6, [r5, #0x54]
 | 
			
		||||
	movs r0, #0x18
 | 
			
		||||
	movs r1, #6
 | 
			
		||||
| 
						 | 
				
			
			@ -25988,7 +25988,7 @@ sub_0802999C: @ 0x0802999C
 | 
			
		|||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	movs r3, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	str r4, [r6, #0x54]
 | 
			
		||||
	movs r4, #1
 | 
			
		||||
	strb r4, [r7, #0xc]
 | 
			
		||||
| 
						 | 
				
			
			@ -27105,7 +27105,7 @@ sub_0802A250: @ 0x0802A250
 | 
			
		|||
	movs r0, #0x66
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0802A2A6
 | 
			
		||||
	str r5, [r0, #0x50]
 | 
			
		||||
| 
						 | 
				
			
			@ -31339,7 +31339,7 @@ sub_0802C18C: @ 0x0802C18C
 | 
			
		|||
	movs r0, #0xf
 | 
			
		||||
	movs r1, #0x11
 | 
			
		||||
	movs r2, #0x40
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _0802C1BC
 | 
			
		||||
| 
						 | 
				
			
			@ -31347,7 +31347,7 @@ sub_0802C18C: @ 0x0802C18C
 | 
			
		|||
	lsls r3, r3, #9
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_0802C1BC:
 | 
			
		||||
	pop {r4, pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
| 
						 | 
				
			
			@ -38164,7 +38164,7 @@ _0802F4F8:
 | 
			
		|||
	movs r0, #0x2a
 | 
			
		||||
	movs r1, #3
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0802F536
 | 
			
		||||
| 
						 | 
				
			
			@ -39360,7 +39360,7 @@ _0802FE2C:
 | 
			
		|||
	movs r0, #0x2a
 | 
			
		||||
	movs r1, #3
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0802FE6A
 | 
			
		||||
| 
						 | 
				
			
			@ -41552,7 +41552,7 @@ sub_08030E80: @ 0x08030E80
 | 
			
		|||
	movs r0, #0xf
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _08030EC0
 | 
			
		||||
| 
						 | 
				
			
			@ -41579,7 +41579,7 @@ _08030EC0:
 | 
			
		|||
	movs r0, #0xf
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _08030EFA
 | 
			
		||||
| 
						 | 
				
			
			@ -44930,7 +44930,7 @@ sub_08032794: @ 0x08032794
 | 
			
		|||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_080327C2:
 | 
			
		||||
	pop {r4, r5, pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
| 
						 | 
				
			
			@ -46698,7 +46698,7 @@ _080334E0:
 | 
			
		|||
	movs r0, #0x20
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _080334F6
 | 
			
		||||
| 
						 | 
				
			
			@ -47268,7 +47268,7 @@ sub_08033890: @ 0x08033890
 | 
			
		|||
	ldrb r1, [r6, #0xa]
 | 
			
		||||
	movs r0, #0x7d
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	bne _08033928
 | 
			
		||||
| 
						 | 
				
			
			@ -48143,7 +48143,7 @@ _08033F70:
 | 
			
		|||
	movs r0, #0x7e
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	str r4, [r0, #0x50]
 | 
			
		||||
	ldr r0, _08033FD0 @ =gUnk_030010A0
 | 
			
		||||
	adds r0, #0x39
 | 
			
		||||
| 
						 | 
				
			
			@ -49667,7 +49667,7 @@ sub_08034AC4: @ 0x08034AC4
 | 
			
		|||
	lsls r3, r3, #9
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldr r1, _08034AE8 @ =gUnk_080CED74
 | 
			
		||||
	ldrb r0, [r4, #0xc]
 | 
			
		||||
	lsls r0, r0, #2
 | 
			
		||||
| 
						 | 
				
			
			@ -49772,7 +49772,7 @@ _08034B7C:
 | 
			
		|||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_08034B9A:
 | 
			
		||||
	pop {r4, r5, pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
| 
						 | 
				
			
			@ -56084,7 +56084,7 @@ sub_08037B48: @ 0x08037B48
 | 
			
		|||
	movs r0, #0x2a
 | 
			
		||||
	movs r1, #3
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _08037B88
 | 
			
		||||
| 
						 | 
				
			
			@ -56117,7 +56117,7 @@ _08037B88:
 | 
			
		|||
	movs r0, #0x2a
 | 
			
		||||
	movs r1, #3
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _08037BCA
 | 
			
		||||
| 
						 | 
				
			
			@ -56150,7 +56150,7 @@ _08037BCA:
 | 
			
		|||
	movs r0, #0x2a
 | 
			
		||||
	movs r1, #3
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _08037C06
 | 
			
		||||
| 
						 | 
				
			
			@ -61281,7 +61281,7 @@ sub_0803A274: @ 0x0803A274
 | 
			
		|||
	movs r0, #0x7e
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	str r4, [r1, #0x50]
 | 
			
		||||
	ldr r0, [r4, #0x54]
 | 
			
		||||
| 
						 | 
				
			
			@ -61292,7 +61292,7 @@ sub_0803A274: @ 0x0803A274
 | 
			
		|||
	movs r3, #0x80
 | 
			
		||||
	lsls r3, r3, #0xe
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	b _0803A310
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0803A2C8: .4byte gUnk_03003DBC
 | 
			
		||||
| 
						 | 
				
			
			@ -61312,7 +61312,7 @@ _0803A2CC:
 | 
			
		|||
	movs r0, #0x7e
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	str r4, [r1, #0x50]
 | 
			
		||||
	ldr r0, [r4, #0x54]
 | 
			
		||||
| 
						 | 
				
			
			@ -61326,7 +61326,7 @@ _0803A2CC:
 | 
			
		|||
	movs r3, #0x80
 | 
			
		||||
	lsls r3, r3, #0xe
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_0803A310:
 | 
			
		||||
	ldr r0, _0803A350 @ =gUnk_030010A0
 | 
			
		||||
	adds r0, #0x38
 | 
			
		||||
| 
						 | 
				
			
			@ -63329,7 +63329,7 @@ _0803B23A:
 | 
			
		|||
	movs r0, #0
 | 
			
		||||
	movs r1, #0x5e
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _0803B268
 | 
			
		||||
| 
						 | 
				
			
			@ -63346,7 +63346,7 @@ _0803B23A:
 | 
			
		|||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r5, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_0803B268:
 | 
			
		||||
	ldr r4, [r5, #0x74]
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
| 
						 | 
				
			
			@ -63650,7 +63650,7 @@ sub_0803B480: @ 0x0803B480
 | 
			
		|||
	movs r0, #0x2d
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0803B4B6
 | 
			
		||||
| 
						 | 
				
			
			@ -63663,7 +63663,7 @@ sub_0803B480: @ 0x0803B480
 | 
			
		|||
	adds r0, r4, #0
 | 
			
		||||
	adds r1, r3, #0
 | 
			
		||||
	movs r3, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_0803B4B6:
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	adds r1, #0x7e
 | 
			
		||||
| 
						 | 
				
			
			@ -63741,12 +63741,12 @@ sub_0803B538: @ 0x0803B538
 | 
			
		|||
	ldr r1, [r4, #0x54]
 | 
			
		||||
	ldr r3, _0803B554 @ =0xFFFF0000
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldr r1, [r4, #0x74]
 | 
			
		||||
	ldr r3, _0803B558 @ =0xFFFE0000
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	pop {r4, pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0803B554: .4byte 0xFFFF0000
 | 
			
		||||
| 
						 | 
				
			
			@ -65327,7 +65327,7 @@ _0803C100:
 | 
			
		|||
	movs r0, #0x1a
 | 
			
		||||
	adds r1, r6, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _0803C116
 | 
			
		||||
| 
						 | 
				
			
			@ -66151,7 +66151,7 @@ sub_0803C714: @ 0x0803C714
 | 
			
		|||
	lsls r3, r3, #0x18
 | 
			
		||||
	asrs r3, r3, #0x18
 | 
			
		||||
	lsls r3, r3, #0x10
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0803C734: .4byte gUnk_080CFFC4
 | 
			
		||||
| 
						 | 
				
			
			@ -66748,7 +66748,7 @@ sub_0803CB64: @ 0x0803CB64
 | 
			
		|||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldr r0, _0803CBA8 @ =0x00000193
 | 
			
		||||
	bl sub_08004488
 | 
			
		||||
_0803CBA0:
 | 
			
		||||
| 
						 | 
				
			
			@ -67644,7 +67644,7 @@ _0803D210:
 | 
			
		|||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r5, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r6, #1
 | 
			
		||||
	cmp r6, #1
 | 
			
		||||
	ble _0803D210
 | 
			
		||||
| 
						 | 
				
			
			@ -68493,7 +68493,7 @@ _0803D870:
 | 
			
		|||
	adds r0, r5, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	str r5, [r4, #0x50]
 | 
			
		||||
	b _0803D8EE
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
| 
						 | 
				
			
			@ -68623,7 +68623,7 @@ sub_0803D974: @ 0x0803D974
 | 
			
		|||
	lsls r3, r3, #9
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	movs r0, #0x4a
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	bl CreateEnemy
 | 
			
		||||
| 
						 | 
				
			
			@ -68755,7 +68755,7 @@ _0803DA72:
 | 
			
		|||
	lsls r3, r3, #9
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	bl sub_080042B8
 | 
			
		||||
	pop {r4, r5, pc}
 | 
			
		||||
| 
						 | 
				
			
			@ -68785,7 +68785,7 @@ sub_0803DAA8: @ 0x0803DAA8
 | 
			
		|||
	lsls r3, r3, #0xa
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	bl sub_080042AC
 | 
			
		||||
| 
						 | 
				
			
			@ -68872,7 +68872,7 @@ _0803DB54:
 | 
			
		|||
	lsls r3, r3, #0xa
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	bl sub_080042B8
 | 
			
		||||
	pop {r4, r5, pc}
 | 
			
		||||
| 
						 | 
				
			
			@ -68979,7 +68979,7 @@ sub_0803DC0C: @ 0x0803DC0C
 | 
			
		|||
	adds r3, #1
 | 
			
		||||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	bl sub_080042B8
 | 
			
		||||
	pop {r4, r5, pc}
 | 
			
		||||
| 
						 | 
				
			
			@ -69769,7 +69769,7 @@ _0803E1F8:
 | 
			
		|||
	ldr r3, _0803E254 @ =0xFFFF0000
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r0, r5, #0
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	bl sub_08004260
 | 
			
		||||
| 
						 | 
				
			
			@ -69992,7 +69992,7 @@ _0803E3E4:
 | 
			
		|||
	ldr r3, _0803E3F8 @ =0xFFFF0000
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	bl sub_08004274
 | 
			
		||||
	pop {r4, pc}
 | 
			
		||||
| 
						 | 
				
			
			@ -73033,7 +73033,7 @@ _0803FA42:
 | 
			
		|||
	movs r0, #0x9b
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	str r3, [sp]
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r6, r0, #0
 | 
			
		||||
	ldr r3, [sp]
 | 
			
		||||
	cmp r6, #0
 | 
			
		||||
| 
						 | 
				
			
			@ -73333,7 +73333,7 @@ _0803FCA8:
 | 
			
		|||
	movs r0, #0x9b
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #0xff
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r6, r0, #0
 | 
			
		||||
	cmp r6, #0
 | 
			
		||||
	beq _0803FD32
 | 
			
		||||
| 
						 | 
				
			
			@ -76882,7 +76882,7 @@ _08041748:
 | 
			
		|||
	movs r0, #0xb5
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _080417AA
 | 
			
		||||
| 
						 | 
				
			
			@ -77616,13 +77616,13 @@ _08041D40:
 | 
			
		|||
	movs r0, #0xb6
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	str r4, [r0, #0x50]
 | 
			
		||||
	str r0, [r4, #0x54]
 | 
			
		||||
	movs r0, #0xb6
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	str r4, [r0, #0x50]
 | 
			
		||||
	movs r0, #3
 | 
			
		||||
	strb r0, [r4, #0xd]
 | 
			
		||||
| 
						 | 
				
			
			@ -79532,7 +79532,7 @@ _08042B68:
 | 
			
		|||
	movs r0, #0xaf
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _08042B9C
 | 
			
		||||
| 
						 | 
				
			
			@ -79546,7 +79546,7 @@ _08042B9C:
 | 
			
		|||
	movs r0, #0xaf
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _08042BBA
 | 
			
		||||
| 
						 | 
				
			
			@ -79768,7 +79768,7 @@ sub_08042D24: @ 0x08042D24
 | 
			
		|||
	movs r0, #0xaf
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _08042D5E
 | 
			
		||||
| 
						 | 
				
			
			@ -79812,7 +79812,7 @@ _08042D8E:
 | 
			
		|||
	movs r0, #0xaf
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _08042DB4
 | 
			
		||||
| 
						 | 
				
			
			@ -81460,7 +81460,7 @@ _080439BC:
 | 
			
		|||
	add r0, ip
 | 
			
		||||
	ldr r0, [r0]
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldr r0, [r5, #0x34]
 | 
			
		||||
	add r0, r8
 | 
			
		||||
	str r0, [r5, #0x34]
 | 
			
		||||
| 
						 | 
				
			
			@ -82239,7 +82239,7 @@ _08043F94:
 | 
			
		|||
	movs r0, #0xaf
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _08043FCA
 | 
			
		||||
| 
						 | 
				
			
			@ -82851,7 +82851,7 @@ _080443EA:
 | 
			
		|||
	adds r3, #8
 | 
			
		||||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r0, r5, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_08044440:
 | 
			
		||||
	ldr r0, [r5, #0x64]
 | 
			
		||||
	ldrb r0, [r0]
 | 
			
		||||
| 
						 | 
				
			
			@ -82974,7 +82974,7 @@ _0804450C:
 | 
			
		|||
	movs r0, #0xf
 | 
			
		||||
	movs r1, #0x11
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _0804454C
 | 
			
		||||
| 
						 | 
				
			
			@ -83057,7 +83057,7 @@ sub_080445C0: @ 0x080445C0
 | 
			
		|||
	movs r0, #0x21
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #1
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _080445DA
 | 
			
		||||
| 
						 | 
				
			
			@ -83223,7 +83223,7 @@ _080446C8:
 | 
			
		|||
	subs r3, #0x10
 | 
			
		||||
	lsls r3, r3, #0x10
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldr r0, [r4, #0x50]
 | 
			
		||||
	ldrh r0, [r0, #0x36]
 | 
			
		||||
	strh r0, [r4, #0x36]
 | 
			
		||||
| 
						 | 
				
			
			@ -84070,7 +84070,7 @@ _08044D10:
 | 
			
		|||
	adds r0, r6, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	ldrb r0, [r4, #0xf]
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _08044DE6
 | 
			
		||||
| 
						 | 
				
			
			@ -84231,7 +84231,7 @@ _08044E26:
 | 
			
		|||
	ldr r3, _08044E70 @ =0xFFF00000
 | 
			
		||||
	mov r1, ip
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_08044E6C: .4byte gUnk_080D1628
 | 
			
		||||
| 
						 | 
				
			
			@ -84266,7 +84266,7 @@ sub_08044E74: @ 0x08044E74
 | 
			
		|||
	ldr r3, _08044ED0 @ =0xFFF00000
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	movs r0, #0xc0
 | 
			
		||||
	lsls r0, r0, #6
 | 
			
		||||
	strh r0, [r5, #0x24]
 | 
			
		||||
| 
						 | 
				
			
			@ -85800,7 +85800,7 @@ sub_08045A00: @ 0x08045A00
 | 
			
		|||
	asrs r3, r3, #0x18
 | 
			
		||||
	adds r3, #3
 | 
			
		||||
	lsls r3, r3, #0x10
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_08045A24: .4byte gUnk_080D18B4
 | 
			
		||||
| 
						 | 
				
			
			@ -85927,7 +85927,7 @@ _08045AF8:
 | 
			
		|||
	ldr r3, _08045B18 @ =0xFFFF0000
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r2, r5, #0
 | 
			
		||||
	adds r2, #0x83
 | 
			
		||||
	ldrb r0, [r2]
 | 
			
		||||
| 
						 | 
				
			
			@ -91490,7 +91490,7 @@ _080484BC:
 | 
			
		|||
	lsls r3, r3, #0xc
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
_080484E6:
 | 
			
		||||
	pop {r4, pc}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -94486,7 +94486,7 @@ _08049B9C:
 | 
			
		|||
	cmp r0, #7
 | 
			
		||||
	bhi _08049BB0
 | 
			
		||||
	movs r0, #0x67
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _08049BB0
 | 
			
		||||
	movs r0, #8
 | 
			
		||||
| 
						 | 
				
			
			@ -94508,7 +94508,7 @@ _08049BB0:
 | 
			
		|||
	movs r0, #0x40
 | 
			
		||||
	movs r1, #0x60
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _08049C16
 | 
			
		||||
| 
						 | 
				
			
			@ -94526,7 +94526,7 @@ _08049BF0:
 | 
			
		|||
	ldrb r2, [r0]
 | 
			
		||||
	movs r0, #0x96
 | 
			
		||||
	movs r1, #7
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _08049C16
 | 
			
		||||
| 
						 | 
				
			
			@ -95950,7 +95950,7 @@ _0804A638:
 | 
			
		|||
	subs r1, r2, #1
 | 
			
		||||
	movs r0, #0xa9
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0804A6B6
 | 
			
		||||
| 
						 | 
				
			
			@ -96182,7 +96182,7 @@ _0804A80A:
 | 
			
		|||
	ldrb r1, [r5, #9]
 | 
			
		||||
	movs r0, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	bne _0804A81C
 | 
			
		||||
| 
						 | 
				
			
			@ -96194,7 +96194,7 @@ _0804A81C:
 | 
			
		|||
	adds r1, r4, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	movs r3, #1
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	str r5, [r4, #0x50]
 | 
			
		||||
	ldrb r1, [r6]
 | 
			
		||||
	movs r0, #2
 | 
			
		||||
| 
						 | 
				
			
			@ -96248,7 +96248,7 @@ _0804A864:
 | 
			
		|||
	ldrb r1, [r5, #9]
 | 
			
		||||
	movs r0, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _0804A8CA
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,7 +5,7 @@
 | 
			
		|||
 | 
			
		||||
	.text
 | 
			
		||||
	
 | 
			
		||||
	thumb_func_start sub_0804AA84
 | 
			
		||||
		thumb_func_start sub_0804AA84
 | 
			
		||||
sub_0804AA84: @ 0x0804AA84
 | 
			
		||||
	push {lr}
 | 
			
		||||
	ldr r3, _0804AA98 @ =gUnk_02033A90
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ sub_0804AAD4: @ 0x0804AAD4
 | 
			
		|||
	ldrb r1, [r4, #0x17]
 | 
			
		||||
	movs r0, #0x3d
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	ldrb r0, [r4, #0xe]
 | 
			
		||||
	adds r0, #1
 | 
			
		||||
	strb r0, [r4, #0xe]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -177,22 +177,3 @@ sub_0804AFDC: @ 0x0804AFDC
 | 
			
		|||
_0804AFF0:
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	pop {r4, pc}
 | 
			
		||||
 | 
			
		||||
	thumb_func_start sub_0804AFF4
 | 
			
		||||
sub_0804AFF4: @ 0x0804AFF4
 | 
			
		||||
	push {lr}
 | 
			
		||||
	bl sub_080186EC
 | 
			
		||||
	movs r0, #5
 | 
			
		||||
	bl sub_0804B128
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0804B008
 | 
			
		||||
	bl _call_via_r0
 | 
			
		||||
_0804B008:
 | 
			
		||||
	movs r0, #7
 | 
			
		||||
	bl sub_0804B128
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0804B016
 | 
			
		||||
	bl _call_via_r0
 | 
			
		||||
_0804B016:
 | 
			
		||||
	bl sub_0804B16C
 | 
			
		||||
	pop {pc}
 | 
			
		||||
| 
						 | 
				
			
			@ -348,7 +348,7 @@ _0804B2A4:
 | 
			
		|||
	ldrb r1, [r4, #1]
 | 
			
		||||
	movs r0, #0x52
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0804B2FC
 | 
			
		||||
	ldrh r1, [r4, #4]
 | 
			
		||||
| 
						 | 
				
			
			@ -454,7 +454,7 @@ _0804B396:
 | 
			
		|||
	movs r0, #0xf
 | 
			
		||||
	movs r1, #2
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _0804B3BA
 | 
			
		||||
| 
						 | 
				
			
			@ -697,7 +697,7 @@ sub_0804B4E4: @ 0x0804B4E4
 | 
			
		|||
	movs r0, #0x22
 | 
			
		||||
	bl sub_080580B0
 | 
			
		||||
	movs r0, #2
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0804B4FC
 | 
			
		||||
	movs r0, #0x56
 | 
			
		||||
| 
						 | 
				
			
			@ -874,7 +874,7 @@ _0804B5EE:
 | 
			
		|||
_0804B5F4:
 | 
			
		||||
	ldrh r0, [r4]
 | 
			
		||||
	adds r4, #2
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0804B602
 | 
			
		||||
	adds r6, #1
 | 
			
		||||
| 
						 | 
				
			
			@ -986,7 +986,7 @@ sub_0804B6EC: @ 0x0804B6EC
 | 
			
		|||
sub_0804B6F0: @ 0x0804B6F0
 | 
			
		||||
	push {lr}
 | 
			
		||||
	movs r0, #0x46
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _0804B71C
 | 
			
		||||
	ldr r0, _0804B714 @ =gUnk_080D6578
 | 
			
		||||
| 
						 | 
				
			
			@ -1029,7 +1029,7 @@ sub_0804B738: @ 0x0804B738
 | 
			
		|||
	bl LoadRoomEntityList
 | 
			
		||||
_0804B748:
 | 
			
		||||
	movs r0, #0x46
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _0804B77C
 | 
			
		||||
	movs r0, #0x29
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4675
									
								
								asm/code_0804B9F8.s
								
								
								
								
							
							
						
						
									
										4675
									
								
								asm/code_0804B9F8.s
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -1745,7 +1745,7 @@ _0805338C: .4byte gUnk_03000BF0
 | 
			
		|||
sub_08053390: @ 0x08053390
 | 
			
		||||
	push {lr}
 | 
			
		||||
	movs r0, #8
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	movs r1, #0x19
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _080533A0
 | 
			
		||||
| 
						 | 
				
			
			@ -1754,14 +1754,14 @@ _080533A0:
 | 
			
		|||
	adds r0, r1, #0
 | 
			
		||||
	bl sub_0801D7EC
 | 
			
		||||
	movs r0, #0xa
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _080533B6
 | 
			
		||||
	movs r0, #0x1d
 | 
			
		||||
	bl sub_0801D7EC
 | 
			
		||||
_080533B6:
 | 
			
		||||
	movs r0, #0xc
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	movs r1, #0x1b
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _080533C4
 | 
			
		||||
| 
						 | 
				
			
			@ -1961,21 +1961,21 @@ sub_08053518: @ 0x08053518
 | 
			
		|||
	bl sub_0807CD80
 | 
			
		||||
_08053534:
 | 
			
		||||
	movs r0, #0x40
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _08053544
 | 
			
		||||
	movs r0, #2
 | 
			
		||||
	bl sub_0807CD80
 | 
			
		||||
_08053544:
 | 
			
		||||
	movs r0, #0x41
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _08053554
 | 
			
		||||
	movs r0, #3
 | 
			
		||||
	bl sub_0807CD80
 | 
			
		||||
_08053554:
 | 
			
		||||
	movs r0, #0x42
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _08053564
 | 
			
		||||
	movs r0, #5
 | 
			
		||||
| 
						 | 
				
			
			@ -2108,7 +2108,7 @@ sub_08053648: @ 0x08053648
 | 
			
		|||
	movs r0, #0x2d
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08053674
 | 
			
		||||
| 
						 | 
				
			
			@ -3337,7 +3337,7 @@ sub_08053FF0: @ 0x08053FF0
 | 
			
		|||
	push {r7}
 | 
			
		||||
	adds r6, r0, #0
 | 
			
		||||
	adds r7, r1, #0
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	adds r5, r0, #0
 | 
			
		||||
	lsls r1, r6, #3
 | 
			
		||||
	ldr r0, _08054010 @ =gUnk_080FD5B4
 | 
			
		||||
| 
						 | 
				
			
			@ -3428,7 +3428,7 @@ _080540CA:
 | 
			
		|||
	b _0805427C
 | 
			
		||||
_080540D0:
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _080540C6
 | 
			
		||||
| 
						 | 
				
			
			@ -3574,7 +3574,7 @@ _080541F0:
 | 
			
		|||
	b _0805424E
 | 
			
		||||
_080541F8:
 | 
			
		||||
	movs r0, #0x66
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _0805420A
 | 
			
		||||
	movs r0, #0x66
 | 
			
		||||
| 
						 | 
				
			
			@ -4345,7 +4345,7 @@ _08054782:
 | 
			
		|||
_08054786:
 | 
			
		||||
	movs r0, #9
 | 
			
		||||
_08054788:
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	bne _080547DA
 | 
			
		||||
_08054790:
 | 
			
		||||
| 
						 | 
				
			
			@ -4353,7 +4353,7 @@ _08054790:
 | 
			
		|||
	b _0805486C
 | 
			
		||||
_08054794:
 | 
			
		||||
	movs r0, #0x40
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _08054790
 | 
			
		||||
	cmp r5, #0
 | 
			
		||||
| 
						 | 
				
			
			@ -4362,7 +4362,7 @@ _08054794:
 | 
			
		|||
	b _080547DA
 | 
			
		||||
_080547A6:
 | 
			
		||||
	movs r0, #0x67
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _08054790
 | 
			
		||||
	ldr r0, _080547FC @ =gUnk_02034350
 | 
			
		||||
| 
						 | 
				
			
			@ -4393,7 +4393,7 @@ _080547DA:
 | 
			
		|||
	movs r0, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	adds r2, r5, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805486A
 | 
			
		||||
| 
						 | 
				
			
			@ -4855,7 +4855,7 @@ _08054B68:
 | 
			
		|||
	movs r0, #0x45
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0x10
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r5, r0, #0
 | 
			
		||||
	cmp r5, #0
 | 
			
		||||
	beq _08054BE8
 | 
			
		||||
| 
						 | 
				
			
			@ -4864,7 +4864,7 @@ _08054B68:
 | 
			
		|||
	adds r0, r4, #0
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_0806FA48
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	adds r0, #0x29
 | 
			
		||||
	ldrb r1, [r0]
 | 
			
		||||
| 
						 | 
				
			
			@ -5933,7 +5933,7 @@ sub_080553E0: @ 0x080553E0
 | 
			
		|||
	movs r0, #0xf
 | 
			
		||||
	movs r1, #0x43
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08055408
 | 
			
		||||
| 
						 | 
				
			
			@ -6235,7 +6235,7 @@ sub_08055634: @ 0x08055634
 | 
			
		|||
	movs r0, #0x2c
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805565C
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3142,7 +3142,7 @@ sub_080577AC: @ 0x080577AC
 | 
			
		|||
	movs r0, #0xf
 | 
			
		||||
	movs r1, #0x26
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _08057808
 | 
			
		||||
| 
						 | 
				
			
			@ -6222,7 +6222,7 @@ sub_08058F84: @ 0x08058F84
 | 
			
		|||
	movs r0, #0x21
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08058FA8
 | 
			
		||||
| 
						 | 
				
			
			@ -6337,7 +6337,7 @@ sub_08059064: @ 0x08059064
 | 
			
		|||
	movs r0, #0
 | 
			
		||||
	movs r1, #0x53
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805908E
 | 
			
		||||
| 
						 | 
				
			
			@ -6687,7 +6687,7 @@ sub_0805930C: @ 0x0805930C
 | 
			
		|||
	movs r0, #0xf
 | 
			
		||||
	movs r1, #0x43
 | 
			
		||||
	movs r2, #0x40
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805933A
 | 
			
		||||
| 
						 | 
				
			
			@ -6845,7 +6845,7 @@ _08059436:
 | 
			
		|||
	movs r0, #0xf
 | 
			
		||||
	movs r1, #0x35
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08059476
 | 
			
		||||
| 
						 | 
				
			
			@ -6931,7 +6931,7 @@ sub_080594DC: @ 0x080594DC
 | 
			
		|||
	strb r0, [r4, #0xc]
 | 
			
		||||
_080594F2:
 | 
			
		||||
	movs r0, #6
 | 
			
		||||
	bl sub_0807CA84
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _08059540
 | 
			
		||||
	movs r0, #0x8c
 | 
			
		||||
| 
						 | 
				
			
			@ -8064,7 +8064,7 @@ _08059DD4:
 | 
			
		|||
	ldrb r1, [r4, #4]
 | 
			
		||||
	movs r0, #0x1c
 | 
			
		||||
	adds r2, r7, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08059E38
 | 
			
		||||
| 
						 | 
				
			
			@ -8938,7 +8938,7 @@ sub_0805A4CC: @ 0x0805A4CC
 | 
			
		|||
	adds r4, r0, #0
 | 
			
		||||
	movs r0, #0x8e
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0805A4F8
 | 
			
		||||
| 
						 | 
				
			
			@ -9944,7 +9944,7 @@ _0805AC60:
 | 
			
		|||
	ldrb r0, [r4]
 | 
			
		||||
	ldrb r1, [r4, #1]
 | 
			
		||||
	ldrb r2, [r4, #2]
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
_0805AC6A:
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	mov r2, r8
 | 
			
		||||
| 
						 | 
				
			
			@ -10104,7 +10104,7 @@ sub_0805AD80: @ 0x0805AD80
 | 
			
		|||
	ldrb r1, [r4, #0xa]
 | 
			
		||||
	ldrb r2, [r4, #0xb]
 | 
			
		||||
	movs r0, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805ADCC
 | 
			
		||||
| 
						 | 
				
			
			@ -10532,7 +10532,7 @@ _0805B0FC:
 | 
			
		|||
	ldrb r1, [r0]
 | 
			
		||||
	ldrb r2, [r0, #1]
 | 
			
		||||
	movs r0, #0x28
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0805B128
 | 
			
		||||
| 
						 | 
				
			
			@ -10558,7 +10558,7 @@ _0805B128:
 | 
			
		|||
	movs r0, #0x28
 | 
			
		||||
	movs r1, #3
 | 
			
		||||
	movs r2, #3
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0805B15E
 | 
			
		||||
| 
						 | 
				
			
			@ -11419,7 +11419,7 @@ sub_0805B7A0: @ 0x0805B7A0
 | 
			
		|||
	ldrb r0, [r5, #0xe]
 | 
			
		||||
	ldrb r1, [r5, #0xa]
 | 
			
		||||
	ldrb r2, [r5, #0xb]
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _0805B81A
 | 
			
		||||
| 
						 | 
				
			
			@ -11522,7 +11522,7 @@ _0805B848:
 | 
			
		|||
	movs r0, #0x4e
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _0805B8B6
 | 
			
		||||
| 
						 | 
				
			
			@ -12340,7 +12340,7 @@ sub_0805BEC4: @ 0x0805BEC4
 | 
			
		|||
	movs r0, #0x2a
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805BF10
 | 
			
		||||
| 
						 | 
				
			
			@ -12588,7 +12588,7 @@ sub_0805C050: @ 0x0805C050
 | 
			
		|||
	movs r0, #0x4f
 | 
			
		||||
	movs r1, #0xe
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0805C0E0
 | 
			
		||||
| 
						 | 
				
			
			@ -12658,7 +12658,7 @@ _0805C11C:
 | 
			
		|||
	adds r1, r0, #0
 | 
			
		||||
	movs r0, #0x4f
 | 
			
		||||
	movs r2, #6
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0805C16E
 | 
			
		||||
| 
						 | 
				
			
			@ -12727,7 +12727,7 @@ sub_0805C178: @ 0x0805C178
 | 
			
		|||
	movs r0, #0x4f
 | 
			
		||||
	movs r1, #0xe
 | 
			
		||||
	movs r2, #1
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805C204
 | 
			
		||||
| 
						 | 
				
			
			@ -12794,7 +12794,7 @@ _0805C23E:
 | 
			
		|||
	adds r1, r0, #0
 | 
			
		||||
	movs r0, #0x4f
 | 
			
		||||
	movs r2, #7
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805C28E
 | 
			
		||||
| 
						 | 
				
			
			@ -12860,7 +12860,7 @@ sub_0805C294: @ 0x0805C294
 | 
			
		|||
	movs r0, #0x4f
 | 
			
		||||
	movs r1, #0xe
 | 
			
		||||
	movs r2, #2
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0805C320
 | 
			
		||||
| 
						 | 
				
			
			@ -12928,7 +12928,7 @@ _0805C35C:
 | 
			
		|||
	adds r1, r0, #0
 | 
			
		||||
	movs r0, #0x4f
 | 
			
		||||
	movs r2, #8
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0805C3AC
 | 
			
		||||
| 
						 | 
				
			
			@ -12995,7 +12995,7 @@ sub_0805C3B4: @ 0x0805C3B4
 | 
			
		|||
	movs r0, #0x4f
 | 
			
		||||
	movs r1, #0xe
 | 
			
		||||
	movs r2, #3
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805C448
 | 
			
		||||
| 
						 | 
				
			
			@ -13064,7 +13064,7 @@ _0805C482:
 | 
			
		|||
	adds r1, r0, #0
 | 
			
		||||
	movs r0, #0x4f
 | 
			
		||||
	movs r2, #9
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805C4D4
 | 
			
		||||
| 
						 | 
				
			
			@ -13132,7 +13132,7 @@ sub_0805C4E0: @ 0x0805C4E0
 | 
			
		|||
	movs r0, #0x4f
 | 
			
		||||
	movs r1, #0xe
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0805C570
 | 
			
		||||
| 
						 | 
				
			
			@ -13202,7 +13202,7 @@ _0805C5AC:
 | 
			
		|||
	adds r1, r0, #0
 | 
			
		||||
	movs r0, #0x4f
 | 
			
		||||
	movs r2, #6
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	cmp r3, #0
 | 
			
		||||
	beq _0805C5FE
 | 
			
		||||
| 
						 | 
				
			
			@ -13375,7 +13375,7 @@ _0805C716:
 | 
			
		|||
	ldrb r2, [r4, #2]
 | 
			
		||||
	movs r0, #0x4c
 | 
			
		||||
	str r3, [sp]
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	ldr r3, [sp]
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
| 
						 | 
				
			
			@ -14579,7 +14579,7 @@ _0805D068:
 | 
			
		|||
	ldrh r1, [r5, #4]
 | 
			
		||||
	movs r0, #0xa0
 | 
			
		||||
	adds r2, r7, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	mov r1, r8
 | 
			
		||||
	ldrh r0, [r1, #6]
 | 
			
		||||
| 
						 | 
				
			
			@ -15436,7 +15436,7 @@ _0805D700:
 | 
			
		|||
	adds r2, r2, r0
 | 
			
		||||
	movs r0, #2
 | 
			
		||||
	movs r1, #0x5c
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805D760
 | 
			
		||||
| 
						 | 
				
			
			@ -16010,7 +16010,7 @@ _0805DB58:
 | 
			
		|||
	movs r0, #0x96
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _0805DB84
 | 
			
		||||
| 
						 | 
				
			
			@ -16228,7 +16228,7 @@ _0805DCEC:
 | 
			
		|||
	movs r0, #0x69
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	cmp r1, #0
 | 
			
		||||
	beq _0805DD1E
 | 
			
		||||
| 
						 | 
				
			
			@ -16503,7 +16503,7 @@ sub_0805DEB8: @ 0x0805DEB8
 | 
			
		|||
	movs r0, #0x64
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	bl sub_080A2960
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _0805DF1A
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										27714
									
								
								asm/code_0805E744.s
								
								
								
								
							
							
						
						
									
										27714
									
								
								asm/code_0805E744.s
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -0,0 +1,205 @@
 | 
			
		|||
	.include "asm/macros.inc"
 | 
			
		||||
	.include "constants/constants.inc"
 | 
			
		||||
 | 
			
		||||
	.syntax unified
 | 
			
		||||
 | 
			
		||||
	.text
 | 
			
		||||
	
 | 
			
		||||
	thumb_func_start sub_0807CAA0
 | 
			
		||||
sub_0807CAA0: @ 0x0807CAA0
 | 
			
		||||
	push {r4, lr}
 | 
			
		||||
	adds r3, r0, #0
 | 
			
		||||
	lsrs r4, r3, #2
 | 
			
		||||
	ldr r0, _0807CAC4 @ =gUnk_02002B32
 | 
			
		||||
	adds r4, r4, r0
 | 
			
		||||
	movs r0, #3
 | 
			
		||||
	ands r3, r0
 | 
			
		||||
	lsls r3, r3, #1
 | 
			
		||||
	lsls r1, r3
 | 
			
		||||
	ldrb r2, [r4]
 | 
			
		||||
	lsls r0, r3
 | 
			
		||||
	ands r0, r2
 | 
			
		||||
	eors r2, r0
 | 
			
		||||
	orrs r2, r1
 | 
			
		||||
	strb r2, [r4]
 | 
			
		||||
	lsrs r0, r3
 | 
			
		||||
	pop {r4, pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0807CAC4: .4byte gUnk_02002B32
 | 
			
		||||
 | 
			
		||||
	thumb_func_start sub_0807CAC8
 | 
			
		||||
sub_0807CAC8: @ 0x0807CAC8
 | 
			
		||||
	ldr r2, _0807CAE0 @ =gUnk_02002A40
 | 
			
		||||
	ldr r1, _0807CAE4 @ =gUnk_02033A90
 | 
			
		||||
	ldr r3, _0807CAE8 @ =0x0000047C
 | 
			
		||||
	adds r2, r2, r3
 | 
			
		||||
	ldrb r1, [r1, #3]
 | 
			
		||||
	adds r2, r2, r1
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	lsls r1, r0
 | 
			
		||||
	ldrb r0, [r2]
 | 
			
		||||
	orrs r1, r0
 | 
			
		||||
	strb r1, [r2]
 | 
			
		||||
	bx lr
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0807CAE0: .4byte gUnk_02002A40
 | 
			
		||||
_0807CAE4: .4byte gUnk_02033A90
 | 
			
		||||
_0807CAE8: .4byte 0x0000047C
 | 
			
		||||
 | 
			
		||||
	thumb_func_start sub_0807CAEC
 | 
			
		||||
sub_0807CAEC: @ 0x0807CAEC
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	ldr r0, _0807CB04 @ =gUnk_02002A40
 | 
			
		||||
	ldr r1, _0807CB08 @ =gUnk_02033A90
 | 
			
		||||
	ldr r3, _0807CB0C @ =0x0000047C
 | 
			
		||||
	adds r0, r0, r3
 | 
			
		||||
	ldrb r1, [r1, #3]
 | 
			
		||||
	adds r0, r0, r1
 | 
			
		||||
	ldrb r0, [r0]
 | 
			
		||||
	asrs r0, r2
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
	ands r0, r1
 | 
			
		||||
	bx lr
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0807CB04: .4byte gUnk_02002A40
 | 
			
		||||
_0807CB08: .4byte gUnk_02033A90
 | 
			
		||||
_0807CB0C: .4byte 0x0000047C
 | 
			
		||||
 | 
			
		||||
	thumb_func_start GetProgressFlagWithOffset
 | 
			
		||||
GetProgressFlagWithOffset: @ 0x0807CB10
 | 
			
		||||
	push {lr}
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	ldr r0, _0807CB20 @ =gUnk_02002C9C
 | 
			
		||||
	adds r2, r2, r1
 | 
			
		||||
	adds r1, r2, #0
 | 
			
		||||
	bl sub_0801D5A8
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0807CB20: .4byte gUnk_02002C9C
 | 
			
		||||
 | 
			
		||||
	thumb_func_start sub_0807CB24
 | 
			
		||||
sub_0807CB24: @ 0x0807CB24
 | 
			
		||||
	push {lr}
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	adds r3, r1, #0
 | 
			
		||||
	cmp r2, #0x11
 | 
			
		||||
	bhi _0807CB84
 | 
			
		||||
	lsls r0, r2, #2
 | 
			
		||||
	ldr r1, _0807CB38 @ =_0807CB3C
 | 
			
		||||
	adds r0, r0, r1
 | 
			
		||||
	ldr r0, [r0]
 | 
			
		||||
	mov pc, r0
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0807CB38: .4byte _0807CB3C
 | 
			
		||||
_0807CB3C: @ jump table
 | 
			
		||||
	.4byte _0807CB84 @ case 0
 | 
			
		||||
	.4byte _0807CB88 @ case 1
 | 
			
		||||
	.4byte _0807CB88 @ case 2
 | 
			
		||||
	.4byte _0807CB88 @ case 3
 | 
			
		||||
	.4byte _0807CB88 @ case 4
 | 
			
		||||
	.4byte _0807CB88 @ case 5
 | 
			
		||||
	.4byte _0807CB88 @ case 6
 | 
			
		||||
	.4byte _0807CB88 @ case 7
 | 
			
		||||
	.4byte _0807CB88 @ case 8
 | 
			
		||||
	.4byte _0807CB88 @ case 9
 | 
			
		||||
	.4byte _0807CB88 @ case 10
 | 
			
		||||
	.4byte _0807CB88 @ case 11
 | 
			
		||||
	.4byte _0807CB88 @ case 12
 | 
			
		||||
	.4byte _0807CB88 @ case 13
 | 
			
		||||
	.4byte _0807CB84 @ case 14
 | 
			
		||||
	.4byte _0807CBA0 @ case 15
 | 
			
		||||
	.4byte _0807CBAE @ case 16
 | 
			
		||||
	.4byte _0807CBBC @ case 17
 | 
			
		||||
_0807CB84:
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	b _0807CBCA
 | 
			
		||||
_0807CB88:
 | 
			
		||||
	ldr r0, _0807CB9C @ =gUnk_0811E454
 | 
			
		||||
	lsls r1, r2, #1
 | 
			
		||||
	adds r1, r1, r0
 | 
			
		||||
	ldrh r0, [r1]
 | 
			
		||||
	adds r1, r3, #0
 | 
			
		||||
	bl GetProgressFlagWithOffset
 | 
			
		||||
_0807CB96:
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	b _0807CBCA
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0807CB9C: .4byte gUnk_0811E454
 | 
			
		||||
_0807CBA0:
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0807CB96
 | 
			
		||||
	movs r0, #1
 | 
			
		||||
	b _0807CB96
 | 
			
		||||
_0807CBAE:
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	cmp r0, #1
 | 
			
		||||
	bne _0807CBCA
 | 
			
		||||
	b _0807CBC8
 | 
			
		||||
_0807CBBC:
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	bl GetInventoryValue
 | 
			
		||||
	movs r1, #0
 | 
			
		||||
	cmp r0, #2
 | 
			
		||||
	bne _0807CBCA
 | 
			
		||||
_0807CBC8:
 | 
			
		||||
	movs r1, #1
 | 
			
		||||
_0807CBCA:
 | 
			
		||||
	adds r0, r1, #0
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
 | 
			
		||||
	thumb_func_start sub_0807CBD0
 | 
			
		||||
sub_0807CBD0: @ 0x0807CBD0
 | 
			
		||||
	push {lr}
 | 
			
		||||
	adds r1, r0, #0
 | 
			
		||||
	ldr r0, _0807CBE0 @ =gUnk_02033A90
 | 
			
		||||
	ldrh r0, [r0, #4]
 | 
			
		||||
	bl GetProgressFlagWithOffset
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0807CBE0: .4byte gUnk_02033A90
 | 
			
		||||
 | 
			
		||||
	thumb_func_start sub_0807CBE4
 | 
			
		||||
sub_0807CBE4: @ 0x0807CBE4
 | 
			
		||||
	push {lr}
 | 
			
		||||
	ldr r3, _0807CC14 @ =0x000003FF
 | 
			
		||||
	ands r3, r0
 | 
			
		||||
	movs r1, #0xf0
 | 
			
		||||
	lsls r1, r1, #6
 | 
			
		||||
	ands r1, r0
 | 
			
		||||
	lsrs r1, r1, #0xa
 | 
			
		||||
	adds r2, r1, #1
 | 
			
		||||
	movs r1, #0xc0
 | 
			
		||||
	lsls r1, r1, #8
 | 
			
		||||
	ands r1, r0
 | 
			
		||||
	lsrs r1, r1, #0xe
 | 
			
		||||
	cmp r1, #1
 | 
			
		||||
	beq _0807CC22
 | 
			
		||||
	cmp r1, #1
 | 
			
		||||
	blo _0807CC18
 | 
			
		||||
	cmp r1, #2
 | 
			
		||||
	bne _0807CC2C
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	adds r1, r2, #0
 | 
			
		||||
	bl sub_0807CC88
 | 
			
		||||
	b _0807CC2E
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_0807CC14: .4byte 0x000003FF
 | 
			
		||||
_0807CC18:
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	adds r1, r2, #0
 | 
			
		||||
	bl sub_0807CC60
 | 
			
		||||
	b _0807CC2E
 | 
			
		||||
_0807CC22:
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	adds r1, r2, #0
 | 
			
		||||
	bl sub_0807CC78
 | 
			
		||||
	b _0807CC2E
 | 
			
		||||
_0807CC2C:
 | 
			
		||||
	movs r0, #0
 | 
			
		||||
_0807CC2E:
 | 
			
		||||
	pop {pc}
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3619
									
								
								asm/code_080A29BC.s
								
								
								
								
							
							
						
						
									
										3619
									
								
								asm/code_080A29BC.s
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
				
			
			@ -5,8 +5,8 @@
 | 
			
		|||
 | 
			
		||||
	.text
 | 
			
		||||
	
 | 
			
		||||
	thumb_func_start sub_0805E678
 | 
			
		||||
sub_0805E678: @ 0x0805E678
 | 
			
		||||
	thumb_func_start GetEmptyEntity
 | 
			
		||||
GetEmptyEntity: @ 0x0805E678
 | 
			
		||||
	push {r4, r5, r6, r7, lr}
 | 
			
		||||
	mov r7, r8
 | 
			
		||||
	push {r7}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
 | 
			
		||||
	.include "asm/macros.inc"
 | 
			
		||||
	.include "constants/constants.inc"
 | 
			
		||||
 | 
			
		||||
	.syntax unified
 | 
			
		||||
 | 
			
		||||
	.text
 | 
			
		||||
	
 | 
			
		||||
	thumb_func_start GetInventoryValue
 | 
			
		||||
GetInventoryValue: @ 0x0807CA84
 | 
			
		||||
	adds r2, r0, #0
 | 
			
		||||
	lsrs r0, r2, #2
 | 
			
		||||
	ldr r1, _0807CA9C @ =gUnk_02002B32
 | 
			
		||||
	adds r0, r0, r1
 | 
			
		||||
	ldrb r0, [r0]
 | 
			
		||||
	movs r1, #3
 | 
			
		||||
	ands r2, r1
 | 
			
		||||
	lsls r2, r2, #1
 | 
			
		||||
	asrs r0, r2
 | 
			
		||||
	ands r0, r1
 | 
			
		||||
	bx lr
 | 
			
		||||
		.align 2, 0
 | 
			
		||||
_0807CA9C: .4byte gUnk_02002B32
 | 
			
		||||
| 
						 | 
				
			
			@ -113,58 +113,4 @@ _08055F64:
 | 
			
		|||
	bl sub_08016E78
 | 
			
		||||
	b _08055EC8
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_08055F6C: .4byte gUnk_08100CBC
 | 
			
		||||
 | 
			
		||||
	thumb_func_start sub_08055F70
 | 
			
		||||
sub_08055F70: @ 0x08055F70
 | 
			
		||||
	push {lr}
 | 
			
		||||
	bl sub_08056020
 | 
			
		||||
	movs r0, #0xfe
 | 
			
		||||
	bl RegisterRamReset
 | 
			
		||||
	movs r1, #0xa0
 | 
			
		||||
	lsls r1, r1, #0x13
 | 
			
		||||
	ldr r2, _08055FC8 @ =0x00007FFF
 | 
			
		||||
	adds r0, r2, #0
 | 
			
		||||
	strh r0, [r1]
 | 
			
		||||
	ldr r1, _08055FCC @ =0x04000204
 | 
			
		||||
	ldr r2, _08055FD0 @ =0x00004014
 | 
			
		||||
	adds r0, r2, #0
 | 
			
		||||
	strh r0, [r1]
 | 
			
		||||
	ldr r2, _08055FD4 @ =0x0003FFD0
 | 
			
		||||
	ldr r0, _08055FD8 @ =gUnk_02000030
 | 
			
		||||
	adds r1, r2, #0
 | 
			
		||||
	bl sub_0801D630
 | 
			
		||||
	ldr r0, _08055FDC @ =gUnk_080B2CD8
 | 
			
		||||
	ldr r3, _08055FE0 @ =sub_080B197C
 | 
			
		||||
	subs r2, r0, r3
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08055FAA
 | 
			
		||||
	ldr r1, _08055FE4 @ =gUnk_030056F0
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	bl sub_0801D66C
 | 
			
		||||
_08055FAA:
 | 
			
		||||
	ldr r0, _08055FE8 @ =gUnk_080B2CD8
 | 
			
		||||
	ldr r3, _08055FEC @ =gUnk_080B2CD8
 | 
			
		||||
	subs r2, r0, r3
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08055FBC
 | 
			
		||||
	ldr r1, _08055FF0 @ =gUnk_02038560
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	bl sub_0801D66C
 | 
			
		||||
_08055FBC:
 | 
			
		||||
	movs r0, #0
 | 
			
		||||
	bl sub_0801DA90
 | 
			
		||||
	bl sub_08016B34
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_08055FC8: .4byte 0x00007FFF
 | 
			
		||||
_08055FCC: .4byte 0x04000204
 | 
			
		||||
_08055FD0: .4byte 0x00004014
 | 
			
		||||
_08055FD4: .4byte 0x0003FFD0
 | 
			
		||||
_08055FD8: .4byte gUnk_02000030
 | 
			
		||||
_08055FDC: .4byte gUnk_080B2CD8
 | 
			
		||||
_08055FE0: .4byte sub_080B197C
 | 
			
		||||
_08055FE4: .4byte gUnk_030056F0
 | 
			
		||||
_08055FE8: .4byte gUnk_080B2CD8
 | 
			
		||||
_08055FEC: .4byte gUnk_080B2CD8
 | 
			
		||||
_08055FF0: .4byte gUnk_02038560
 | 
			
		||||
_08055F6C: .4byte gUnk_08100CBC
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,60 @@
 | 
			
		|||
	.include "asm/macros.inc"
 | 
			
		||||
	.include "constants/constants.inc"
 | 
			
		||||
 | 
			
		||||
	.syntax unified
 | 
			
		||||
 | 
			
		||||
	.text
 | 
			
		||||
	
 | 
			
		||||
	thumb_func_start sub_08055F70
 | 
			
		||||
sub_08055F70: @ 0x08055F70
 | 
			
		||||
	push {lr}
 | 
			
		||||
	bl sub_08056020
 | 
			
		||||
	movs r0, #0xfe
 | 
			
		||||
	bl RegisterRamReset
 | 
			
		||||
	movs r1, #0xa0
 | 
			
		||||
	lsls r1, r1, #0x13
 | 
			
		||||
	ldr r2, _08055FC8 @ =0x00007FFF
 | 
			
		||||
	adds r0, r2, #0
 | 
			
		||||
	strh r0, [r1]
 | 
			
		||||
	ldr r1, _08055FCC @ =0x04000204
 | 
			
		||||
	ldr r2, _08055FD0 @ =0x00004014
 | 
			
		||||
	adds r0, r2, #0
 | 
			
		||||
	strh r0, [r1]
 | 
			
		||||
	ldr r2, _08055FD4 @ =0x0003FFD0
 | 
			
		||||
	ldr r0, _08055FD8 @ =gUnk_02000030
 | 
			
		||||
	adds r1, r2, #0
 | 
			
		||||
	bl sub_0801D630
 | 
			
		||||
	ldr r0, _08055FDC @ =gUnk_080B2CD8
 | 
			
		||||
	ldr r3, _08055FE0 @ =sub_080B197C
 | 
			
		||||
	subs r2, r0, r3
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08055FAA
 | 
			
		||||
	ldr r1, _08055FE4 @ =gUnk_030056F0
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	bl sub_0801D66C
 | 
			
		||||
_08055FAA:
 | 
			
		||||
	ldr r0, _08055FE8 @ =gUnk_080B2CD8
 | 
			
		||||
	ldr r3, _08055FEC @ =gUnk_080B2CD8
 | 
			
		||||
	subs r2, r0, r3
 | 
			
		||||
	cmp r2, #0
 | 
			
		||||
	beq _08055FBC
 | 
			
		||||
	ldr r1, _08055FF0 @ =gUnk_02038560
 | 
			
		||||
	adds r0, r3, #0
 | 
			
		||||
	bl sub_0801D66C
 | 
			
		||||
_08055FBC:
 | 
			
		||||
	movs r0, #0
 | 
			
		||||
	bl sub_0801DA90
 | 
			
		||||
	bl sub_08016B34
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_08055FC8: .4byte 0x00007FFF
 | 
			
		||||
_08055FCC: .4byte 0x04000204
 | 
			
		||||
_08055FD0: .4byte 0x00004014
 | 
			
		||||
_08055FD4: .4byte 0x0003FFD0
 | 
			
		||||
_08055FD8: .4byte gUnk_02000030
 | 
			
		||||
_08055FDC: .4byte gUnk_080B2CD8
 | 
			
		||||
_08055FE0: .4byte sub_080B197C
 | 
			
		||||
_08055FE4: .4byte gUnk_030056F0
 | 
			
		||||
_08055FE8: .4byte gUnk_080B2CD8
 | 
			
		||||
_08055FEC: .4byte gUnk_080B2CD8
 | 
			
		||||
_08055FF0: .4byte gUnk_02038560
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
		.include "asm/macros.inc"
 | 
			
		||||
	.include "constants/constants.inc"
 | 
			
		||||
 | 
			
		||||
	.syntax unified
 | 
			
		||||
 | 
			
		||||
	.text
 | 
			
		||||
	
 | 
			
		||||
	thumb_func_start sub_080A2988
 | 
			
		||||
sub_080A2988: @ 0x080A2988
 | 
			
		||||
	push {r4, r5, lr}
 | 
			
		||||
	adds r5, r0, #0
 | 
			
		||||
	adds r0, r1, #0
 | 
			
		||||
	adds r1, r2, #0
 | 
			
		||||
	adds r2, r3, #0
 | 
			
		||||
	bl CreateObject
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	cmp r4, #0
 | 
			
		||||
	beq _080A29A6
 | 
			
		||||
	str r5, [r4, #0x50]
 | 
			
		||||
	adds r0, r5, #0
 | 
			
		||||
	adds r1, r4, #0
 | 
			
		||||
	bl sub_0806FA24
 | 
			
		||||
_080A29A6:
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	pop {r4, r5, pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
	.include "asm/macros.inc"
 | 
			
		||||
	.include "constants/constants.inc"
 | 
			
		||||
 | 
			
		||||
	.syntax unified
 | 
			
		||||
 | 
			
		||||
	.text
 | 
			
		||||
	
 | 
			
		||||
	thumb_func_start sub_080AD8F0
 | 
			
		||||
sub_080AD8F0: @ 0x080AD8F0
 | 
			
		||||
	ldr r2, _080AD908 @ =gUnk_082F3D74
 | 
			
		||||
	lsls r0, r0, #2
 | 
			
		||||
	adds r0, r0, r2
 | 
			
		||||
	ldr r0, [r0]
 | 
			
		||||
	lsls r1, r1, #2
 | 
			
		||||
	adds r0, r0, r2
 | 
			
		||||
	adds r1, r1, r0
 | 
			
		||||
	ldr r0, [r1]
 | 
			
		||||
	adds r2, r0, r2
 | 
			
		||||
	adds r0, r2, #0
 | 
			
		||||
	bx lr
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
_080AD908: .4byte gUnk_082F3D74
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,11 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#ifndef ENTITY_H
 | 
			
		||||
#define ENTITY_H
 | 
			
		||||
 | 
			
		||||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
	u8 type;
 | 
			
		||||
    u8 subtype;
 | 
			
		||||
| 
						 | 
				
			
			@ -9,6 +13,11 @@ typedef struct {
 | 
			
		|||
    u8 parameter2;
 | 
			
		||||
} EntityType;
 | 
			
		||||
 | 
			
		||||
union SplitWord {
 | 
			
		||||
    u32 WORD;
 | 
			
		||||
    u16 LO, HI;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef struct
 | 
			
		||||
{
 | 
			
		||||
    u32 *field_0x0;
 | 
			
		||||
| 
						 | 
				
			
			@ -35,13 +44,9 @@ typedef struct
 | 
			
		|||
    u8 spriteAnimation[3];
 | 
			
		||||
    u8 ticks;
 | 
			
		||||
    u16 collisions;
 | 
			
		||||
    s16 xPosSubPixel;
 | 
			
		||||
    s16 xPos;
 | 
			
		||||
    s16 yPosSubPixel;
 | 
			
		||||
    s16 yPos;
 | 
			
		||||
    u8 field_0x34;
 | 
			
		||||
    u8 field_0x35;
 | 
			
		||||
    s16 height;
 | 
			
		||||
	union SplitWord x;
 | 
			
		||||
	union SplitWord y;
 | 
			
		||||
	union SplitWord height; // todo
 | 
			
		||||
    u8 collisionLayer;
 | 
			
		||||
    u8 field_0x39;
 | 
			
		||||
    u8 field_0x3a;
 | 
			
		||||
| 
						 | 
				
			
			@ -81,6 +86,7 @@ typedef struct
 | 
			
		|||
    u32 * heldObjectPtr;
 | 
			
		||||
	u8 filler[12];
 | 
			
		||||
    u32 * field_0x84;
 | 
			
		||||
	
 | 
			
		||||
} Entity;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
#ifndef MAIN_H
 | 
			
		||||
#define MAIN_H
 | 
			
		||||
typedef struct { //0x03001000
 | 
			
		||||
	u8 field_0x0;
 | 
			
		||||
	u8 field_0x1;
 | 
			
		||||
	u8 field_0x2;
 | 
			
		||||
	u8 field_0x3;
 | 
			
		||||
	u8 field_0x4;
 | 
			
		||||
	u16 field_0x6;
 | 
			
		||||
	u8 field_0x8;
 | 
			
		||||
	u8 field_0x9;
 | 
			
		||||
	u8 field_0xa;
 | 
			
		||||
	u8 field_0xb;
 | 
			
		||||
	u32 ticks;
 | 
			
		||||
} MainStruct;
 | 
			
		||||
 | 
			
		||||
extern s32 sub_08055F70();
 | 
			
		||||
extern s32 sub_080A3204(s32);
 | 
			
		||||
extern s32 sub_0805616C(s32);
 | 
			
		||||
extern s32 sub_0807CE90(s32);
 | 
			
		||||
extern s32 sub_080560B8(s32);
 | 
			
		||||
extern void sub_08056208(s32);
 | 
			
		||||
extern void sub_0804FFE4();
 | 
			
		||||
extern s32 sub_0804FF84(s32);
 | 
			
		||||
extern s32 sub_08056418(s32);
 | 
			
		||||
extern void sub_080ADD30(s32);
 | 
			
		||||
extern s32 sub_0801D630(s32, u32, u32);
 | 
			
		||||
extern s32 sub_08056010(s32);
 | 
			
		||||
extern s32 sub_08016E78(s32);
 | 
			
		||||
extern s32 ReadKeyInput();
 | 
			
		||||
extern s32 sub_08055FF4(u8);
 | 
			
		||||
extern void sub_080560A8();
 | 
			
		||||
extern s32 sub_08056260();
 | 
			
		||||
extern void VBlankIntrWait();
 | 
			
		||||
extern s32 _call_via_r0(s32);
 | 
			
		||||
extern s32 sub_08056458(s32);
 | 
			
		||||
extern s32 sub_08050154(s32);
 | 
			
		||||
extern s32 sub_080A3480(s32);
 | 
			
		||||
 | 
			
		||||
extern s32 gUnk_02000010;
 | 
			
		||||
extern s32 gUnk_03001150;
 | 
			
		||||
extern MainStruct gUnk_03001000;
 | 
			
		||||
extern s32 gUnk_08100CBC;
 | 
			
		||||
#endif
 | 
			
		||||
							
								
								
									
										16
									
								
								linker.ld
								
								
								
								
							
							
						
						
									
										16
									
								
								linker.ld
								
								
								
								
							| 
						 | 
				
			
			@ -287,6 +287,7 @@ SECTIONS {
 | 
			
		|||
        asm/code_080011C4.o(.text);
 | 
			
		||||
        data/data_4.o(.rodata);
 | 
			
		||||
        asm/code_08003FC4.o(.text);
 | 
			
		||||
		asm/code_080043E8.o(.text);
 | 
			
		||||
        data/data_6.o(.rodata);
 | 
			
		||||
        asm/code_0800857C.o(.text);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -301,24 +302,39 @@ SECTIONS {
 | 
			
		|||
		asm/readKeyInput.o(.text);
 | 
			
		||||
		asm/code_0801D714.o(.text);
 | 
			
		||||
		src/createEnemy.o(.text);
 | 
			
		||||
		src/sub_0804AA84.o(.text); /* wip */
 | 
			
		||||
		asm/code_0804AA84.o(.text);
 | 
			
		||||
		src/loadRoomEntityList.o(.text);
 | 
			
		||||
		asm/createEntity.o(.text);
 | 
			
		||||
		asm/code_0804AEB0.o(.text);
 | 
			
		||||
		src/sub_0804AFF4.o(.text);
 | 
			
		||||
		src/loadRoom.o(.text);
 | 
			
		||||
		asm/code_0804B058.o(.text);
 | 
			
		||||
		asm/upperInn.o(.text);
 | 
			
		||||
		asm/code_0804B9F8.o(.text);
 | 
			
		||||
		src/sub_08050008.o(.text);
 | 
			
		||||
		src/sub_08050024.o(.text);
 | 
			
		||||
		asm/code_08050038.o(.text);
 | 
			
		||||
		asm/initializeLink.o(.text);
 | 
			
		||||
		asm/code_08052620.o(.text);
 | 
			
		||||
		asm/mainLoop.o(.text);
 | 
			
		||||
		asm/sub_08055F70.o(.text);
 | 
			
		||||
		asm/code_08055FF4.o(.text);
 | 
			
		||||
		asm/getEmptyEntity.o(.text);
 | 
			
		||||
		asm/code_0805E744.o(.text);
 | 
			
		||||
		src/sub_0806FA30.o(.text);
 | 
			
		||||
		src/positionRelative.o(.text);
 | 
			
		||||
		asm/code_0806FA6C.o(.text);
 | 
			
		||||
		asm/getInventoryValue.o(.text);
 | 
			
		||||
		asm/code_0807CAA0.o(.text);
 | 
			
		||||
		src/getProgressFlag.o(.text);
 | 
			
		||||
		asm/code_0807CC3C.o(.text);
 | 
			
		||||
		src/createObject.o(.text);
 | 
			
		||||
		asm/sub_080A2988.o(.text);
 | 
			
		||||
		asm/createFx.o(.text);
 | 
			
		||||
		asm/code_080A29BC.o(.text);
 | 
			
		||||
		asm/sub_080AD8F0.o(.text);
 | 
			
		||||
		asm/code_080AD90C.o(.text);
 | 
			
		||||
        /* library functions */
 | 
			
		||||
        asm/m4a_asm.o(.text);
 | 
			
		||||
        asm/m4a.o(.text);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,14 +1,14 @@
 | 
			
		|||
#include "entity.h"
 | 
			
		||||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
extern Entity * sub_0805E678();
 | 
			
		||||
extern Entity * GetEmptyEntity();
 | 
			
		||||
extern void sub_0805EA2C(Entity *, u8);
 | 
			
		||||
 | 
			
		||||
Entity * CreateEnemy(u32 subtype, u32 param1)
 | 
			
		||||
{
 | 
			
		||||
    Entity *enemy;
 | 
			
		||||
    
 | 
			
		||||
    enemy = sub_0805E678();
 | 
			
		||||
    enemy = GetEmptyEntity();
 | 
			
		||||
    if (enemy != NULL) {
 | 
			
		||||
        (enemy->entityType).type = 3;
 | 
			
		||||
        (enemy->entityType).subtype = subtype;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,51 +1,51 @@
 | 
			
		|||
#include "entity.h"
 | 
			
		||||
#include "entityData.h"
 | 
			
		||||
#include "global.h"
 | 
			
		||||
// #include "entity.h"
 | 
			
		||||
// #include "entityData.h"
 | 
			
		||||
// #include "global.h"
 | 
			
		||||
 | 
			
		||||
extern Entity * sub_0805EB9C(u32, u32); 
 | 
			
		||||
extern Entity * sub_0805E768();
 | 
			
		||||
extern void sub_0804AEB0(Entity *, EntityData *);
 | 
			
		||||
extern u32 sub_0804AF0C(Entity *, EntityData *);
 | 
			
		||||
extern void sub_08016A30(Entity *);
 | 
			
		||||
extern u32 gUnk_03000BF0;
 | 
			
		||||
// extern Entity * sub_0805EB9C(u32, u32); 
 | 
			
		||||
// extern Entity * sub_0805E768();
 | 
			
		||||
// extern void sub_0804AEB0(Entity *, EntityData *);
 | 
			
		||||
// extern u32 sub_0804AF0C(Entity *, EntityData *);
 | 
			
		||||
// extern void sub_08016A30(Entity *);
 | 
			
		||||
// extern u32 gUnk_03000BF0;
 | 
			
		||||
 | 
			
		||||
Entity * CreateEntity(EntityData *param_1)
 | 
			
		||||
{
 | 
			
		||||
    Entity *preexisting;
 | 
			
		||||
    Entity *entity;
 | 
			
		||||
    s32 type;
 | 
			
		||||
// Entity * CreateEntity(EntityData *param_1)
 | 
			
		||||
// {
 | 
			
		||||
    // Entity *preexisting;
 | 
			
		||||
    // Entity *entity;
 | 
			
		||||
    // s32 type;
 | 
			
		||||
    
 | 
			
		||||
    type = param_1->entityType & 15;
 | 
			
		||||
    if (((param_1->field_0x1 & 240) == 80) &&
 | 
			
		||||
       (preexisting = sub_0805EB9C(type,param_1->entitySubtype), preexisting != NULL)) {
 | 
			
		||||
        entity = NULL;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        entity = sub_0805E768(); //Get empty entity
 | 
			
		||||
        if (entity != NULL) {
 | 
			
		||||
            (entity->entityType).type = type;
 | 
			
		||||
            (entity->entityType).subtype = param_1->entitySubtype;
 | 
			
		||||
            (entity->entityType).parameter1 = param_1->entityParameter1;
 | 
			
		||||
            sub_0804AEB0(entity,param_1);
 | 
			
		||||
            if ((param_1->field_0x1 & 240) != 16) {
 | 
			
		||||
                (entity->entityType).parameter2 = *(u8 *)¶m_1->entityParameter2;
 | 
			
		||||
                    /* i suspect this is where the entity's behavior is defined. Not sure. */
 | 
			
		||||
                entity->parameter3 = (u8)((u32)param_1->entityParameter2 >> 8);
 | 
			
		||||
                if ((type != 9) && (sub_0804AF0C(entity,param_1), entity->field_0x4 != NULL)) {
 | 
			
		||||
                    if ((param_1->entityType & 16) == 0) {
 | 
			
		||||
                        if ((param_1->entityType & 32) != 0) {
 | 
			
		||||
                            entity->collisionLayer = 2;
 | 
			
		||||
                            return entity;
 | 
			
		||||
                        }
 | 
			
		||||
                        if ((gUnk_03000BF0 & 2) == 0) {
 | 
			
		||||
                            sub_08016A30(entity);
 | 
			
		||||
                            return entity;
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    entity->collisionLayer = 1;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return entity;
 | 
			
		||||
}
 | 
			
		||||
    // type = param_1->entityType & 15;
 | 
			
		||||
    // if (((param_1->field_0x1 & 240) == 80) &&
 | 
			
		||||
       // (preexisting = sub_0805EB9C(type,param_1->entitySubtype), preexisting != NULL)) {
 | 
			
		||||
        // entity = NULL;
 | 
			
		||||
    // }
 | 
			
		||||
    // else {
 | 
			
		||||
        // entity = sub_0805E768(); //Get empty entity
 | 
			
		||||
        // if (entity != NULL) {
 | 
			
		||||
            // (entity->entityType).type = type;
 | 
			
		||||
            // (entity->entityType).subtype = param_1->entitySubtype;
 | 
			
		||||
            // (entity->entityType).parameter1 = param_1->entityParameter1;
 | 
			
		||||
            // sub_0804AEB0(entity,param_1);
 | 
			
		||||
            // if ((param_1->field_0x1 & 240) != 16) {
 | 
			
		||||
                // (entity->entityType).parameter2 = *(u8 *)¶m_1->entityParameter2;
 | 
			
		||||
                    // /* i suspect this is where the entity's behavior is defined. Not sure. */
 | 
			
		||||
                // entity->parameter3 = (u8)((u32)param_1->entityParameter2 >> 8);
 | 
			
		||||
                // if ((type != 9) && (sub_0804AF0C(entity,param_1), entity->field_0x4 != NULL)) {
 | 
			
		||||
                    // if ((param_1->entityType & 16) == 0) {
 | 
			
		||||
                        // if ((param_1->entityType & 32) != 0) {
 | 
			
		||||
                            // entity->collisionLayer = 2;
 | 
			
		||||
                            // return entity;
 | 
			
		||||
                        // }
 | 
			
		||||
                        // if ((gUnk_03000BF0 & 2) == 0) {
 | 
			
		||||
                            // sub_08016A30(entity);
 | 
			
		||||
                            // return entity;
 | 
			
		||||
                        // }
 | 
			
		||||
                    // }
 | 
			
		||||
                    // entity->collisionLayer = 1;
 | 
			
		||||
                // }
 | 
			
		||||
            // }
 | 
			
		||||
        // }
 | 
			
		||||
    // }
 | 
			
		||||
    // return entity;
 | 
			
		||||
// }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
#include "entity.h"
 | 
			
		||||
 | 
			
		||||
extern Entity * GetEmptyEntity();
 | 
			
		||||
extern void sub_0805EA2C(Entity *,u8);
 | 
			
		||||
 | 
			
		||||
Entity * CreateObject(u32 subtype,u32 param1,u32 param2)
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    Entity *newEnt;
 | 
			
		||||
    
 | 
			
		||||
    newEnt = GetEmptyEntity();
 | 
			
		||||
    if (newEnt != NULL) {
 | 
			
		||||
        (newEnt->entityType).type = 6;
 | 
			
		||||
        (newEnt->entityType).subtype = subtype;
 | 
			
		||||
        (newEnt->entityType).parameter1 = param1;
 | 
			
		||||
        (newEnt->entityType).parameter2 = param2;
 | 
			
		||||
        sub_0805EA2C(newEnt,6);
 | 
			
		||||
    }
 | 
			
		||||
    return newEnt;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,76 @@
 | 
			
		|||
/*
 | 
			
		||||
#include "global.h"
 | 
			
		||||
#include "mainLoop.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void MainLoop()
 | 
			
		||||
{
 | 
			
		||||
  s32 v0; // r0@1
 | 
			
		||||
  s32 v1; // r0@1
 | 
			
		||||
  s32 v2; // r0@1
 | 
			
		||||
  s32 v3; // r0@1
 | 
			
		||||
  s32 v4; // r0@1
 | 
			
		||||
  s32 v5; // r0@1
 | 
			
		||||
  s32 v6; // r0@1
 | 
			
		||||
  s32 i; // r0@1
 | 
			
		||||
  s32 v8; // r0@2
 | 
			
		||||
  s32 v9; // r0@6
 | 
			
		||||
  s32 v10; // r4@10
 | 
			
		||||
  s32 v11; // r0@12
 | 
			
		||||
  s32 v12; // r0@13
 | 
			
		||||
  s32 v13; // r0@13
 | 
			
		||||
  s32 v14; // r0@13
 | 
			
		||||
  s32 * v15;
 | 
			
		||||
  u32 in_r2;
 | 
			
		||||
  
 | 
			
		||||
  v0 = sub_08055F70();
 | 
			
		||||
  v1 = sub_080A3204(v0);
 | 
			
		||||
  v2 = sub_0805616C(v1);
 | 
			
		||||
  v3 = sub_0807CE90(v2);
 | 
			
		||||
  v4 = sub_080560B8(v3);
 | 
			
		||||
  sub_08056208(v4);
 | 
			
		||||
  
 | 
			
		||||
  v15 = &gUnk_02000010;
 | 
			
		||||
  *(u8 *)(v15 + 1) = 193;
 | 
			
		||||
  sub_0804FFE4();
 | 
			
		||||
  DmaSet(3, 83886080, 33650336, -2080374656);
 | 
			
		||||
  v5 = sub_0804FF84(1);
 | 
			
		||||
  v6 = sub_08056418(v5);
 | 
			
		||||
  sub_080ADD30(v6);
 | 
			
		||||
  gUnk_03001150 = 19088743;
 | 
			
		||||
  v9 = sub_0801D630(50335744, in_r2, 16);
 | 
			
		||||
  for ( i = sub_08056010(0); ; i = sub_08016E78(v9) )
 | 
			
		||||
  {
 | 
			
		||||
    v8 = ReadKeyInput();
 | 
			
		||||
    if ( sub_08055FF4(v8) )
 | 
			
		||||
      sub_080560A8();
 | 
			
		||||
    if ( gUnk_03001000.field_0x1 && gUnk_03001000.field_0x1 == 1 )
 | 
			
		||||
    {
 | 
			
		||||
      v9 = sub_08056260();
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      for ( ; gUnk_03001000.field_0x8; --gUnk_03001000.field_0x8 )
 | 
			
		||||
        VBlankIntrWait();
 | 
			
		||||
      if ( gUnk_03001000.field_0x9 )
 | 
			
		||||
      {
 | 
			
		||||
        --gUnk_03001000.field_0x9;
 | 
			
		||||
        v10 = gUnk_03001000.field_0xa;
 | 
			
		||||
        while ( 1 )
 | 
			
		||||
        {
 | 
			
		||||
          v11 = v10--;
 | 
			
		||||
          if ( v11 <= 0 )
 | 
			
		||||
            break;
 | 
			
		||||
          VBlankIntrWait();
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      ++gUnk_03001000.ticks;
 | 
			
		||||
      v12 = _call_via_r0((u32)*(&gUnk_08100CBC + gUnk_03001000.field_0x2));
 | 
			
		||||
      v13 = sub_08056458(v12);
 | 
			
		||||
      v14 = sub_08050154(v13);
 | 
			
		||||
      v9 = sub_080A3480(v14);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,19 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
#include "entity.h"
 | 
			
		||||
 | 
			
		||||
extern void sub_08016A04(Entity *);
 | 
			
		||||
 | 
			
		||||
void PositionRelative(Entity *source, Entity *target, s32 offsetX, s32 offsetY) { //r0, r1, r2, r3
 | 
			
		||||
	s32 x;
 | 
			
		||||
	s32 y;
 | 
			
		||||
	
 | 
			
		||||
	x = source->x.WORD;
 | 
			
		||||
    target->x.WORD = x + offsetX;
 | 
			
		||||
	
 | 
			
		||||
	y = source->y.WORD;
 | 
			
		||||
    target->y.WORD = y + offsetY;
 | 
			
		||||
	
 | 
			
		||||
	target->height = source->height;   //ldr
 | 
			
		||||
	target->collisionLayer = source->collisionLayer;
 | 
			
		||||
	sub_08016A04(target);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,39 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
// Very close!
 | 
			
		||||
 | 
			
		||||
/* extern void sub_0805E5A8();
 | 
			
		||||
 | 
			
		||||
extern u8 gUnk_02033A90;
 | 
			
		||||
extern u8 gUnk_03001000;
 | 
			
		||||
 | 
			
		||||
u32 sub_0804AA84(void)
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
	u8 * r3 = &gUnk_02033A90; 
 | 
			
		||||
	u8 * r2;
 | 
			
		||||
	u8 r0 = *(u8 *)(r3 + 0x19);
 | 
			
		||||
	u8 r1;
 | 
			
		||||
	
 | 
			
		||||
    if (!r0) {
 | 
			
		||||
		*(r3 + 0x18) = r0;
 | 
			
		||||
		*(r3 + 0x19) = r0;
 | 
			
		||||
		r0 = 0;
 | 
			
		||||
	}
 | 
			
		||||
    else {
 | 
			
		||||
		r2 = &gUnk_03001000;
 | 
			
		||||
		r1 = 0;
 | 
			
		||||
		r0 = 4;
 | 
			
		||||
        *(r2 + 0x4) = r0;
 | 
			
		||||
        *(r3 + 0xe) = r1;
 | 
			
		||||
        *(r3 + 0xf) = r1;
 | 
			
		||||
        *(u16*)(r3 + 0x10) = r1;
 | 
			
		||||
        sub_0805E5A8();
 | 
			
		||||
		r0 = 1;
 | 
			
		||||
    }
 | 
			
		||||
	return r0;
 | 
			
		||||
} */
 | 
			
		||||
 | 
			
		||||
//void sub_0804AA9C() {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
extern void sub_080186EC();
 | 
			
		||||
extern u32 * sub_0804B128(u8);
 | 
			
		||||
extern u32 _call_via_r0(u32 *);
 | 
			
		||||
extern void sub_0804B16C();
 | 
			
		||||
 | 
			
		||||
void sub_0804AFF4(void)
 | 
			
		||||
{
 | 
			
		||||
    u32 *func;
 | 
			
		||||
    
 | 
			
		||||
    sub_080186EC();
 | 
			
		||||
    func = sub_0804B128(5);
 | 
			
		||||
    if (func != NULL) {
 | 
			
		||||
        _call_via_r0(func);
 | 
			
		||||
    }
 | 
			
		||||
    func = sub_0804B128(7);
 | 
			
		||||
    if (func != NULL) {
 | 
			
		||||
        _call_via_r0(func);
 | 
			
		||||
    }
 | 
			
		||||
    sub_0804B16C();
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
	thumb_func_start sub_0804AFF4
 | 
			
		||||
sub_0804AFF4: @ 0x0804AFF4
 | 
			
		||||
	push {lr}
 | 
			
		||||
	bl sub_080186EC
 | 
			
		||||
	movs r0, #5
 | 
			
		||||
	bl sub_0804B128
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0804B008
 | 
			
		||||
	bl _call_via_r0
 | 
			
		||||
_0804B008:
 | 
			
		||||
	movs r0, #7
 | 
			
		||||
	bl sub_0804B128
 | 
			
		||||
	cmp r0, #0
 | 
			
		||||
	beq _0804B016
 | 
			
		||||
	bl _call_via_r0
 | 
			
		||||
_0804B016:
 | 
			
		||||
	bl sub_0804B16C
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	*/
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
extern u32 gUnk_020354C0;
 | 
			
		||||
extern s32 gUnk_03000FD0;
 | 
			
		||||
extern void sub_0801D630(u32, u32, u32);
 | 
			
		||||
 | 
			
		||||
void sub_08050008(u32 param_1,u32 param_2,u32 param_3)
 | 
			
		||||
{
 | 
			
		||||
	s32 * unk;
 | 
			
		||||
	
 | 
			
		||||
    sub_0801D630((u32)&gUnk_020354C0,128,param_3);
 | 
			
		||||
	
 | 
			
		||||
	unk = &gUnk_03000FD0;
 | 
			
		||||
    *(unk + 1) = -1;
 | 
			
		||||
	
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
 | 
			
		||||
extern void sub_0801E104();
 | 
			
		||||
extern void sub_08050054(u32, u32);
 | 
			
		||||
 | 
			
		||||
void sub_08050024() 
 | 
			
		||||
{
 | 
			
		||||
	sub_0801E104();
 | 
			
		||||
	sub_08050054(5, 0x80 << 1);
 | 
			
		||||
	return;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
	 
 | 
			
		||||
/* 	thumb_func_start sub_08050024
 | 
			
		||||
sub_08050024: @ 0x08050024
 | 
			
		||||
	push {lr}
 | 
			
		||||
	bl sub_0801E104
 | 
			
		||||
	movs r1, #0x80
 | 
			
		||||
	lsls r1, r1, #1
 | 
			
		||||
	movs r0, #5
 | 
			
		||||
	bl sub_08050054
 | 
			
		||||
	pop {pc}
 | 
			
		||||
	.align 2, 0
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
#include "global.h"
 | 
			
		||||
#include "entity.h"
 | 
			
		||||
extern void PositionRelative(Entity *, Entity *, s32, s32);
 | 
			
		||||
extern void sub_0806FAB0(Entity *, Entity *);
 | 
			
		||||
 | 
			
		||||
void sub_0806FA30(Entity * ent, Entity * ent2) {
 | 
			
		||||
	PositionRelative(ent, ent2, 0, 0);
 | 
			
		||||
	sub_0806FAB0(ent, ent2);
 | 
			
		||||
}
 | 
			
		||||
/*
 | 
			
		||||
	thumb_func_start sub_0806FA30
 | 
			
		||||
sub_0806FA30: @ 0x0806FA30
 | 
			
		||||
	push {r4, r5, lr}
 | 
			
		||||
	adds r4, r0, #0
 | 
			
		||||
	adds r5, r1, #0
 | 
			
		||||
	movs r2, #0
 | 
			
		||||
	movs r3, #0
 | 
			
		||||
	bl PositionRelative
 | 
			
		||||
	adds r0, r4, #0
 | 
			
		||||
	adds r1, r5, #0
 | 
			
		||||
	bl sub_0806FAB0
 | 
			
		||||
	pop {r4, r5, pc}
 | 
			
		||||
	*/
 | 
			
		||||
		Loading…
	
		Reference in New Issue