Move SA1 to root

* name some engine globals (gSpriteTransform*)
* move the whole sa1 directory to the root
This commit is contained in:
Oliver Bell authored and GitHub committed 2026-05-02 23:39:11 +01:00
1 parent 9543a9d793
commit cc2110e85d
5724 files changed
+1539 -21872

No files matched your search

+1 -1
View File
@@ -145,7 +145,7 @@ jobs:
working-directory: agbcc working-directory: agbcc
- name: Fetch assets - name: Fetch assets
run: curl -o sa1/baserom_sa1.gba -u ${{ secrets.STORAGE_USERNAME }}:${{ secrets.STORAGE_PASSWORD }} ${{ secrets.STORAGE_BASE_URL }}/sa1/baserom.gba run: curl -o baserom_sa1.gba -u ${{ secrets.STORAGE_USERNAME }}:${{ secrets.STORAGE_PASSWORD }} ${{ secrets.STORAGE_BASE_URL }}/sa1/baserom.gba
- name: Compare - name: Compare
run: make sa1 -j${nproc} run: make sa1 -j${nproc}
+2 -2
View File
@@ -437,7 +437,7 @@ tool_libs:
clean: tidy clean-tools clean: tidy clean-tools
@$(MAKE) clean -C tools/BriBaSA_ex @$(MAKE) clean -C tools/BriBaSA_ex
@$(MAKE) clean -C chao_garden @$(MAKE) clean -C chao_garden
@$(MAKE) clean -C sa1 @$(MAKE) clean -f sa1_Makefile
@$(MAKE) clean -C multi_boot/subgame_bootstrap @$(MAKE) clean -C multi_boot/subgame_bootstrap
@$(MAKE) clean -C multi_boot/programs/subgame_loader @$(MAKE) clean -C multi_boot/programs/subgame_loader
@$(MAKE) clean -C multi_boot/collect_rings @$(MAKE) clean -C multi_boot/collect_rings
@@ -666,7 +666,7 @@ bribasa:
@$(MAKE) -C tools/BriBaSA_ex @$(MAKE) -C tools/BriBaSA_ex
sa1: sa1:
@$(MAKE) -C sa1 @$(MAKE) -f sa1_Makefile
$(TOOLDIRS): tool_libs $(TOOLDIRS): tool_libs
@$(MAKE) -C $@ @$(MAKE) -C $@
+28 -28
View File
@@ -12,9 +12,9 @@
movs r0, #1 movs r0, #1
rsbs r0, r0, #0 rsbs r0, r0, #0
cmp r1, r0 @ if (dimensions != (SpriteOffset *)-1) cmp r1, r0 @ if (dimensions != (SpriteOffset *)-1)
bne _0800487C bne _sa2_0800487C
b _08004AAA b _sa2_08004AAA
_0800487C: _sa2_0800487C:
mov r8, r1 @ r8 = dimensions mov r8, r1 @ r8 = dimensions
add r2, sp, #0x20 @ r2 = sp20 = &big.affineIndex add r2, sp, #0x20 @ r2 = sp20 = &big.affineIndex
ldr r1, [sp, #0x24] @ r1 = s ldr r1, [sp, #0x24] @ r1 = s
@@ -24,13 +24,13 @@ _0800487C:
strh r0, [r2] @ big.affineIndex = (frameFlags & SPRITE_FLAG_MASK_ROT_SCALE); strh r0, [r2] @ big.affineIndex = (frameFlags & SPRITE_FLAG_MASK_ROT_SCALE);
ldrh r4, [r2] @ r2 = big.affineIndex ldrh r4, [r2] @ r2 = big.affineIndex
lsls r4, r4, #5 lsls r4, r4, #5
ldr r0, _08004A14 @ =gOamBuffer + 0x6 ldr r0, _sa2_08004A14 @ =gOamBuffer + 0x6
adds r4, r4, r0 @ r4 = affine = &gOamBuffer[big.affineIndex * 4].all.affineParam; adds r4, r4, r0 @ r4 = affine = &gOamBuffer[big.affineIndex * 4].all.affineParam;
subs r2, #0x18 subs r2, #0x18
str r2, [sp, #0x28] @; sp28 = sp08 = &big.qDirX str r2, [sp, #0x28] @; sp28 = sp08 = &big.qDirX
ldr r2, _08004A18 @ =gSineTable ldr r2, _sa2_08004A18 @ =gSineTable
ldrh r0, [r6] @ r0 = transform.rotation ldrh r0, [r6] @ r0 = transform.rotation
ldr r1, _08004A1C @ =0x000003FF ldr r1, _sa2_08004A1C @ =0x000003FF
ands r1, r0 @ r1 = (transform->rotation & ONE_CYCLE) ands r1, r0 @ r1 = (transform->rotation & ONE_CYCLE)
movs r3, #0x80 movs r3, #0x80
lsls r3, r3, #1 @ r3 = 0x100 lsls r3, r3, #1 @ r3 = 0x100
@@ -130,21 +130,21 @@ __post_Divs:
movs r3, #2 movs r3, #2
ldrsh r5, [r6, r3] @ r5 = transform.width ldrsh r5, [r6, r3] @ r5 = transform.width
cmp r5, #0 cmp r5, #0
bge _08004966 @ if (transform->width < 0) bge _sa2_08004966 @ if (transform->width < 0)
rsbs r0, r0, #0 rsbs r0, r0, #0
strh r0, [r7] @ big.unkC[0] = -transform->width; strh r0, [r7] @ big.unkC[0] = -transform->width;
_08004966: _sa2_08004966:
movs r1, #4 movs r1, #4
ldrsh r0, [r6, r1] ldrsh r0, [r6, r1]
ldrh r2, [r6, #4] ldrh r2, [r6, #4]
mov ip, r2 @ ip = transform.height mov ip, r2 @ ip = transform.height
cmp r0, #0 cmp r0, #0
bge _0800497A @ if (transform->height < 0) bge _sa2_0800497A @ if (transform->height < 0)
mov r3, ip mov r3, ip
rsbs r0, r3, #0 rsbs r0, r3, #0
mov r1, sb mov r1, sb
strh r0, [r1] @ big.unkC[1] = -transform->height; strh r0, [r1] @ big.unkC[1] = -transform->height;
_0800497A: _sa2_0800497A:
mov r2, sp @ r2 = sp00 = &big mov r2, sp @ r2 = sp00 = &big
ldr r3, [sp, #0x28] @ r3 = sp28 = &big.qDirX ldr r3, [sp, #0x28] @ r3 = sp28 = &big.qDirX
ldrh r1, [r3] ldrh r1, [r3]
@@ -157,7 +157,7 @@ _0800497A:
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r2] @ big.unk0[0] = big.qDirX * big.unkC[0] strh r0, [r2] @ big.unk0[0] = big.qDirX * big.unkC[0]
__08004990: __sa2_08004990:
mov r4, sp mov r4, sp
adds r4, #2 @ r4 = &big.unk0[1] adds r4, #2 @ r4 = &big.unk0[1]
mov r0, sl @ r0 = sl = &big.qDirY mov r0, sl @ r0 = sl = &big.qDirY
@@ -172,7 +172,7 @@ __08004990:
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r4] @ big.unk0[1] = strh r0, [r4] @ big.unk0[1] =
__080049AA: __sa2_080049AA:
add r3, sp, #4 add r3, sp, #4
mov r2, sl @ r2 = sl = &big.qDirY mov r2, sl @ r2 = sl = &big.qDirY
ldrh r1, [r2] ldrh r1, [r2]
@@ -186,7 +186,7 @@ __080049AA:
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r3] @ big.unk0[2] = (big.qDirY * big.unkC[1]) >> 8 strh r0, [r3] @ big.unk0[2] = (big.qDirY * big.unkC[1]) >> 8
__080049C2: __sa2_080049C2:
mov r2, sp mov r2, sp
adds r2, #6 adds r2, #6
ldr r0, [sp, #0x28] @ r0 = sp28 = &big.qDirX ldr r0, [sp, #0x28] @ r0 = sp28 = &big.qDirX
@@ -228,19 +228,19 @@ __080049C2:
adds r6, r4, #0 @ r6 = &big.unk0[1] adds r6, r4, #0 @ r6 = &big.unk0[1]
adds r7, r3, #0 @ r7 = r3 = &big.unk0[2] adds r7, r3, #0 @ r7 = r3 = &big.unk0[2]
mov sb, r2 @ sb = r2 = &big.unk0[3] mov sb, r2 @ sb = r2 = &big.unk0[3]
__08004A04: __sa2_08004A04:
cmp r5, #0 @ if (transform->width > 0) cmp r5, #0 @ if (transform->width > 0)
ble _08004A20 ble _sa2_08004A20
__08004A08: __sa2_08004A08:
mov r0, r8 @ r0 = r8 = dimensions mov r0, r8 @ r0 = r8 = dimensions
ldrh r4, [r0, #8] ldrh r4, [r0, #8]
ldrh r2, [r0, #4] ldrh r2, [r0, #4]
b _08004A2E b _sa2_08004A2E
.align 2, 0 .align 2, 0
_08004A14: .4byte gOamBuffer + 0x6 _sa2_08004A14: .4byte gOamBuffer + 0x6
_08004A18: .4byte gSineTable _sa2_08004A18: .4byte gSineTable
_08004A1C: .4byte 0x000003FF _sa2_08004A1C: .4byte 0x000003FF
_08004A20: _sa2_08004A20:
mov r2, r8 @ r2 = r8 = dimensions mov r2, r8 @ r2 = r8 = dimensions
ldrh r1, [r2, #4] ldrh r1, [r2, #4]
ldrh r0, [r2, #8] ldrh r0, [r2, #8]
@@ -248,16 +248,16 @@ _08004A20:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
adds r2, r1, #0 adds r2, r1, #0
_08004A2E: _sa2_08004A2E:
mov r3, ip @ r3 = ip = mov r3, ip @ r3 = ip =
lsls r0, r3, #0x10 lsls r0, r3, #0x10
cmp r0, #0 cmp r0, #0
ble _08004A3E ble _sa2_08004A3E
mov r0, r8 @ r0 = r8 = dimensions mov r0, r8 @ r0 = r8 = dimensions
ldrh r3, [r0, #0xa] ldrh r3, [r0, #0xa]
ldrh r5, [r0, #6] ldrh r5, [r0, #6]
b _08004A4C b _sa2_08004A4C
_08004A3E: _sa2_08004A3E:
mov r3, r8 @ r3 = r8 = dimensions mov r3, r8 @ r3 = r8 = dimensions
ldrh r1, [r3, #6] ldrh r1, [r3, #6]
ldrh r0, [r3, #0xa] ldrh r0, [r3, #0xa]
@@ -265,7 +265,7 @@ _08004A3E:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r3, r0, #0x10 lsrs r3, r0, #0x10
adds r5, r1, #0 adds r5, r1, #0
_08004A4C: _sa2_08004A4C:
mov r0, sp @ r0 = big.unk0[0] mov r0, sp @ r0 = big.unk0[0]
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
@@ -292,7 +292,7 @@ _08004A4C:
subs r0, r0, r1 subs r0, r0, r1
str r0, [sp, #0x10] str r0, [sp, #0x10]
__080004A7E: __sa2_080004A7E:
ldrh r0, [r7] @ r0 = big.unk0[2] ldrh r0, [r7] @ r0 = big.unk0[2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x10 asrs r0, r0, #0x10
@@ -315,7 +315,7 @@ __080004A7E:
strh r0, [r1, #0x16] strh r0, [r1, #0x16]
ldr r0, [sp, #0x14] ldr r0, [sp, #0x14]
strh r0, [r1, #0x18] strh r0, [r1, #0x18]
_08004AAA: _sa2_08004AAA:
add sp, #0x2c add sp, #0x2c
pop {r3, r4, r5} pop {r3, r4, r5}
mov r8, r3 mov r8, r3
+43 -43
View File
@@ -13,9 +13,9 @@
movs r0, #1 movs r0, #1
rsbs r0, r0, #0 rsbs r0, r0, #0
cmp r1, r0 cmp r1, r0
bne _08004AD8 bne _sa2_08004AD8
b _08004E04 b _sa2_08004E04
_08004AD8: _sa2_08004AD8:
mov sb, r1 mov sb, r1
add r2, sp, #0x20 add r2, sp, #0x20
ldr r1, [sp, #0x24] ldr r1, [sp, #0x24]
@@ -25,21 +25,21 @@ _08004AD8:
strh r0, [r2] strh r0, [r2]
ldrh r4, [r2] ldrh r4, [r2]
lsls r4, r4, #5 lsls r4, r4, #5
ldr r0, _08004D58 @ =gOamBuffer + 0x6 ldr r0, _sa2_08004D58 @ =gOamBuffer + 0x6
adds r4, r4, r0 adds r4, r4, r0
subs r2, #0x18 subs r2, #0x18
str r2, [sp, #0x28] str r2, [sp, #0x28]
ldrh r0, [r7] ldrh r0, [r7]
ldr r3, _08004D5C @ =gUnknown_03001944 ldr r3, _sa2_08004D5C @ =gSpriteTransformRotation
ldrh r1, [r3] ldrh r1, [r3]
adds r0, r0, r1 adds r0, r0, r1
ldr r2, _08004D60 @ =0x000003FF ldr r2, _sa2_08004D60 @ =0x000003FF
ands r0, r2 ands r0, r2
movs r5, #0x80 movs r5, #0x80
lsls r5, r5, #1 lsls r5, r5, #1
adds r0, r0, r5 adds r0, r0, r5
lsls r0, r0, #1 lsls r0, r0, #1
ldr r6, _08004D64 @ =gSineTable ldr r6, _sa2_08004D64 @ =gSineTable
adds r0, r0, r6 adds r0, r0, r6
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
@@ -50,7 +50,7 @@ _08004AD8:
add r3, sp add r3, sp
mov r8, r3 mov r8, r3
ldrh r0, [r7] ldrh r0, [r7]
ldr r5, _08004D5C @ =gUnknown_03001944 ldr r5, _sa2_08004D5C @ =gSpriteTransformRotation
ldrh r1, [r5] ldrh r1, [r5]
adds r0, r0, r1 adds r0, r0, r1
ands r0, r2 ands r0, r2
@@ -63,7 +63,7 @@ _08004AD8:
add r6, sp, #0xc add r6, sp, #0xc
movs r0, #2 movs r0, #2
ldrsh r1, [r7, r0] ldrsh r1, [r7, r0]
ldr r2, _08004D68 @ =gUnknown_030017F0 ldr r2, _sa2_08004D68 @ =gSpriteTransformScaleX
ldrh r0, [r2] ldrh r0, [r2]
muls r0, r1, r0 muls r0, r1, r0
asrs r0, r0, #8 asrs r0, r0, #8
@@ -73,7 +73,7 @@ _08004AD8:
mov sl, r3 mov sl, r3
movs r5, #4 movs r5, #4
ldrsh r1, [r7, r5] ldrsh r1, [r7, r5]
ldr r2, _08004D6C @ =gUnknown_03005394 ldr r2, _sa2_08004D6C @ =gSpriteTransformScaleY
ldrh r0, [r2] ldrh r0, [r2]
muls r0, r1, r0 muls r0, r1, r0
asrs r0, r0, #8 asrs r0, r0, #8
@@ -143,25 +143,25 @@ _08004AD8:
ldrsh r0, [r7, r1] ldrsh r0, [r7, r1]
str r0, [sp, #0x2c] str r0, [sp, #0x2c]
cmp r0, #0 cmp r0, #0
bge _08004BF0 bge _sa2_08004BF0
movs r2, #2 movs r2, #2
ldrsh r0, [r7, r2] ldrsh r0, [r7, r2]
rsbs r0, r0, #0 rsbs r0, r0, #0
ldr r3, _08004D68 @ =gUnknown_030017F0 ldr r3, _sa2_08004D68 @ =gSpriteTransformScaleX
ldrh r1, [r3] ldrh r1, [r3]
muls r0, r1, r0 muls r0, r1, r0
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r6] strh r0, [r6]
_08004BF0: _sa2_08004BF0:
movs r4, #4 movs r4, #4
ldrsh r0, [r7, r4] ldrsh r0, [r7, r4]
ldr r5, _08004D6C @ =gUnknown_03005394 ldr r5, _sa2_08004D6C @ =gSpriteTransformScaleY
ldrh r3, [r5] ldrh r3, [r5]
ldrh r2, [r7, #4] ldrh r2, [r7, #4]
mov r1, sp mov r1, sp
strh r2, [r1, #0x34] strh r2, [r1, #0x34]
cmp r0, #0 cmp r0, #0
bge _08004C14 bge _sa2_08004C14
movs r4, #4 movs r4, #4
ldrsh r0, [r7, r4] ldrsh r0, [r7, r4]
rsbs r0, r0, #0 rsbs r0, r0, #0
@@ -169,9 +169,9 @@ _08004BF0:
asrs r0, r0, #8 asrs r0, r0, #8
mov r5, sl mov r5, sl
strh r0, [r5] strh r0, [r5]
ldr r0, _08004D6C @ =gUnknown_03005394 ldr r0, _sa2_08004D6C @ =gSpriteTransformScaleY
ldrh r3, [r0] ldrh r3, [r0]
_08004C14: _sa2_08004C14:
mov r2, sp mov r2, sp
ldr r4, [sp, #0x28] ldr r4, [sp, #0x28]
ldrh r1, [r4] ldrh r1, [r4]
@@ -225,25 +225,25 @@ _08004C14:
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r6] strh r0, [r6]
add r5, sp, #0x18 add r5, sp, #0x18
ldr r1, _08004D5C @ =gUnknown_03001944 ldr r1, _sa2_08004D5C @ =gSpriteTransformRotation
ldrh r0, [r1] ldrh r0, [r1]
movs r2, #0x80 movs r2, #0x80
lsls r2, r2, #1 lsls r2, r2, #1
adds r0, r0, r2 adds r0, r0, r2
lsls r0, r0, #1 lsls r0, r0, #1
ldr r4, _08004D64 @ =gSineTable ldr r4, _sa2_08004D64 @ =gSineTable
adds r0, r0, r4 adds r0, r0, r4
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x16 asrs r0, r0, #0x16
ldr r6, _08004D68 @ =gUnknown_030017F0 ldr r6, _sa2_08004D68 @ =gSpriteTransformScaleX
ldrh r1, [r6] ldrh r1, [r6]
muls r0, r1, r0 muls r0, r1, r0
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r5] strh r0, [r5]
mov r2, sp mov r2, sp
adds r2, #0x1a adds r2, #0x1a
ldr r1, _08004D5C @ =gUnknown_03001944 ldr r1, _sa2_08004D5C @ =gSpriteTransformRotation
ldrh r0, [r1] ldrh r0, [r1]
lsls r0, r0, #1 lsls r0, r0, #1
adds r0, r0, r4 adds r0, r0, r4
@@ -256,10 +256,10 @@ _08004C14:
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r2] strh r0, [r2]
add r4, sp, #0x1c add r4, sp, #0x1c
ldr r6, _08004D5C @ =gUnknown_03001944 ldr r6, _sa2_08004D5C @ =gSpriteTransformRotation
ldrh r0, [r6] ldrh r0, [r6]
lsls r0, r0, #1 lsls r0, r0, #1
ldr r1, _08004D64 @ =gSineTable ldr r1, _sa2_08004D64 @ =gSineTable
adds r0, r0, r1 adds r0, r0, r1
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
@@ -278,7 +278,7 @@ _08004C14:
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x16 asrs r0, r0, #0x16
ldr r6, _08004D6C @ =gUnknown_03005394 ldr r6, _sa2_08004D6C @ =gSpriteTransformScaleY
ldrh r1, [r6] ldrh r1, [r6]
muls r0, r1, r0 muls r0, r1, r0
asrs r0, r0, #8 asrs r0, r0, #8
@@ -296,7 +296,7 @@ _08004C14:
ldrsh r2, [r7, r6] ldrsh r2, [r7, r6]
muls r0, r2, r0 muls r0, r2, r0
adds r1, r1, r0 adds r1, r1, r0
ldr r0, _08004D70 @ =gUnknown_0300194C ldr r0, _sa2_08004D70 @ =gSpriteTransformX
movs r2, #0 movs r2, #0
ldrsh r0, [r0, r2] ldrsh r0, [r0, r2]
lsls r0, r0, #8 lsls r0, r0, #8
@@ -316,7 +316,7 @@ _08004C14:
ldrsh r2, [r7, r5] ldrsh r2, [r7, r5]
muls r0, r2, r0 muls r0, r2, r0
adds r1, r1, r0 adds r1, r1, r0
ldr r0, _08004D74 @ =gUnknown_03002820 ldr r0, _sa2_08004D74 @ =gSpriteTransformY
movs r6, #0 movs r6, #0
ldrsh r0, [r0, r6] ldrsh r0, [r0, r6]
lsls r0, r0, #8 lsls r0, r0, #8
@@ -328,21 +328,21 @@ _08004C14:
ldr r6, [sp, #0x38] ldr r6, [sp, #0x38]
ldr r0, [sp, #0x2c] ldr r0, [sp, #0x2c]
cmp r0, #0 cmp r0, #0
ble _08004D78 ble _sa2_08004D78
mov r1, sb mov r1, sb
ldrh r4, [r1, #8] ldrh r4, [r1, #8]
ldrh r2, [r1, #4] ldrh r2, [r1, #4]
b _08004D86 b _sa2_08004D86
.align 2, 0 .align 2, 0
_08004D58: .4byte gOamBuffer + 0x6 _sa2_08004D58: .4byte gOamBuffer + 0x6
_08004D5C: .4byte gUnknown_03001944 _sa2_08004D5C: .4byte gSpriteTransformRotation
_08004D60: .4byte 0x000003FF _sa2_08004D60: .4byte 0x000003FF
_08004D64: .4byte gSineTable _sa2_08004D64: .4byte gSineTable
_08004D68: .4byte gUnknown_030017F0 _sa2_08004D68: .4byte gSpriteTransformScaleX
_08004D6C: .4byte gUnknown_03005394 _sa2_08004D6C: .4byte gSpriteTransformScaleY
_08004D70: .4byte gUnknown_0300194C _sa2_08004D70: .4byte gSpriteTransformX
_08004D74: .4byte gUnknown_03002820 _sa2_08004D74: .4byte gSpriteTransformY
_08004D78: _sa2_08004D78:
mov r2, sb mov r2, sb
ldrh r1, [r2, #4] ldrh r1, [r2, #4]
ldrh r0, [r2, #8] ldrh r0, [r2, #8]
@@ -350,17 +350,17 @@ _08004D78:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
adds r2, r1, #0 adds r2, r1, #0
_08004D86: _sa2_08004D86:
mov r3, sp mov r3, sp
ldrh r3, [r3, #0x34] ldrh r3, [r3, #0x34]
lsls r0, r3, #0x10 lsls r0, r3, #0x10
cmp r0, #0 cmp r0, #0
ble _08004D98 ble _sa2_08004D98
mov r5, sb mov r5, sb
ldrh r3, [r5, #0xa] ldrh r3, [r5, #0xa]
ldrh r5, [r5, #6] ldrh r5, [r5, #6]
b _08004DA6 b _sa2_08004DA6
_08004D98: _sa2_08004D98:
mov r0, sb mov r0, sb
ldrh r1, [r0, #6] ldrh r1, [r0, #6]
ldrh r0, [r0, #0xa] ldrh r0, [r0, #0xa]
@@ -368,7 +368,7 @@ _08004D98:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r3, r0, #0x10 lsrs r3, r0, #0x10
adds r5, r1, #0 adds r5, r1, #0
_08004DA6: _sa2_08004DA6:
mov r0, sp mov r0, sp
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
@@ -416,7 +416,7 @@ _08004DA6:
strh r0, [r2, #0x16] strh r0, [r2, #0x16]
ldr r0, [sp, #0x14] ldr r0, [sp, #0x14]
strh r0, [r2, #0x18] strh r0, [r2, #0x18]
_08004E04: _sa2_08004E04:
add sp, #0x3c add sp, #0x3c
pop {r3, r4, r5} pop {r3, r4, r5}
mov r8, r3 mov r8, r3
+129 -129
View File
@@ -10,30 +10,30 @@
sub sp, #0x44 sub sp, #0x44
movs r0, #5 movs r0, #5
str r0, [sp, #0x28] str r0, [sp, #0x28]
ldr r0, _08003A04 @ =REG_DISPSTAT ldr r0, _sa2_08003A04 @ =REG_DISPSTAT
ldrh r1, [r0] ldrh r1, [r0]
movs r0, #1 @ DISPSTAT_VBLANK movs r0, #1 @ DISPSTAT_VBLANK
ands r0, r1 ands r0, r1
cmp r0, #0 cmp r0, #0
bne _08003A08 bne _sa2_08003A08
movs r0, #0 movs r0, #0
b sub_80039E4_return b sub_80039E4_return
.align 2, 0 .align 2, 0
_08003A04: .4byte REG_DISPSTAT _sa2_08003A04: .4byte REG_DISPSTAT
_08003A08: _sa2_08003A08:
ldr r0, _08003BA4 @ =gBgSpritesCount ldr r0, _sa2_08003BA4 @ =gBgSpritesCount
ldrb r1, [r0] ldrb r1, [r0]
cmp r1, #0 cmp r1, #0
bne _08003A12 bne _sa2_08003A12
b sub_80039E4_return_1 b sub_80039E4_return_1
_08003A12: _sa2_08003A12:
movs r5, #0 @ r5 = r5 = 0 movs r5, #0 @ r5 = r5 = 0
cmp r5, r1 @ for(; r5 < gBgSpritesCount; r5++) cmp r5, r1 @ for(; r5 < gBgSpritesCount; r5++)
blo _08003A1A blo _sa2_08003A1A
b _08003EC2 b _sa2_08003EC2
_08003A1A: _sa2_08003A1A:
lsls r0, r5, #2 lsls r0, r5, #2
ldr r1, _08003BA8 @ =gBgSprites ldr r1, _sa2_08003BA8 @ =gBgSprites
adds r0, r0, r1 adds r0, r0, r1
ldr r0, [r0] ldr r0, [r0]
str r0, [sp, #0xc] @ sp0C = s str r0, [sp, #0xc] @ sp0C = s
@@ -43,9 +43,9 @@ _08003A1A:
adds r2, r5, #1 adds r2, r5, #1
str r2, [sp, #0x3c] str r2, [sp, #0x3c]
cmp r1, r0 cmp r1, r0
bne _08003A34 bne _sa2_08003A34
b _08003EB2 b _sa2_08003EB2
_08003A34: _sa2_08003A34:
mov sl, r1 @ sl = dims mov sl, r1 @ sl = dims
ldr r3, [sp, #0xc] @ r3 = sp0C = s ldr r3, [sp, #0xc] @ r3 = sp0C = s
ldr r0, [r3, #0x10] ldr r0, [r3, #0x10]
@@ -54,7 +54,7 @@ _08003A34:
ands r0, r1 ands r0, r1
lsrs r3, r0, #0xf lsrs r3, r0, #0xf
lsls r0, r3, #1 lsls r0, r3, #1
ldr r4, _08003BAC @ =gBgCntRegs ldr r4, _sa2_08003BAC @ =gBgCntRegs
adds r0, r0, r4 adds r0, r0, r4
ldrh r2, [r0] ldrh r2, [r0]
movs r0, #0xc movs r0, #0xc
@@ -73,29 +73,29 @@ _08003A34:
movs r0, #0x80 movs r0, #0x80
ands r0, r2 ands r0, r2
cmp r0, #0 cmp r0, #0
beq _08003A70 beq _sa2_08003A70
movs r6, #6 movs r6, #6
str r6, [sp, #0x28] str r6, [sp, #0x28]
_08003A70: _sa2_08003A70:
cmp r3, #1 cmp r3, #1
bhi _08003A76 bhi _sa2_08003A76
b _08003C2C b _sa2_08003C2C
_08003A76: _sa2_08003A76:
ldr r7, _08003BB0 @ =gDispCnt ldr r7, _sa2_08003BB0 @ =gDispCnt
ldrh r1, [r7] ldrh r1, [r7]
movs r0, #3 movs r0, #3
ands r0, r1 ands r0, r1
cmp r0, #0 cmp r0, #0
bne _08003A84 bne _sa2_08003A84
b _08003C2C b _sa2_08003C2C
_08003A84: _sa2_08003A84:
lsrs r1, r2, #0xe lsrs r1, r2, #0xe
movs r0, #0x80 movs r0, #0x80
lsls r0, r0, #0xd lsls r0, r0, #0xd
lsls r0, r1 lsls r0, r1
lsrs r0, r0, #0x10 lsrs r0, r0, #0x10
str r0, [sp, #0x10] @ sp10 = bg_affine_pixelcount str r0, [sp, #0x10] @ sp10 = bg_affine_pixelcount
ldr r0, _08003BB4 @ =gRefSpriteTables ldr r0, _sa2_08003BB4 @ =gRefSpriteTables
ldr r1, [r0] ldr r1, [r0]
ldr r2, [sp, #0xc] @ r2 = sp0C = s ldr r2, [sp, #0xc] @ r2 = sp0C = s
ldrh r0, [r2, #0xa] ldrh r0, [r2, #0xa]
@@ -116,21 +116,21 @@ _08003A84:
str r5, [sp, #8] str r5, [sp, #8]
ldrh r6, [r3, #2] ldrh r6, [r3, #2]
cmp r5, r6 cmp r5, r6
blo _08003ABE blo _sa2_08003ABE
b _08003EB2 b _sa2_08003EB2
_08003ABE: _sa2_08003ABE:
mov sb, sp @ sb = sp = oam mov sb, sp @ sb = sp = oam
ldr r7, [sp, #0x10] ldr r7, [sp, #0x10]
lsls r0, r7, #0x18 lsls r0, r7, #0x18
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
str r0, [sp, #0x30] str r0, [sp, #0x30]
_08003AC8: _sa2_08003AC8:
ldr r0, [sp, #0x1c] ldr r0, [sp, #0x1c]
ldr r1, _08003BB8 @ =0x040000D4 ldr r1, _sa2_08003BB8 @ =0x040000D4
str r0, [r1] str r0, [r1]
mov r2, sp mov r2, sp
str r2, [r1, #4] str r2, [r1, #4]
ldr r0, _08003BBC @ =0x80000003 ldr r0, _sa2_08003BBC @ =0x80000003
str r0, [r1, #8] str r0, [r1, #8]
ldr r0, [r1, #8] ldr r0, [r1, #8]
ldr r3, [sp, #0x1c] ldr r3, [sp, #0x1c]
@@ -149,12 +149,12 @@ _08003AC8:
lsrs r0, r0, #0xe lsrs r0, r0, #0xe
orrs r1, r0 orrs r1, r0
lsls r1, r1, #1 lsls r1, r1, #1
ldr r5, _08003BC0 @ =gOamShapesSizes ldr r5, _sa2_08003BC0 @ =gOamShapesSizes
adds r0, r1, r5 adds r0, r1, r5
ldrb r0, [r0] ldrb r0, [r0]
lsrs r0, r0, #3 lsrs r0, r0, #3
str r0, [sp, #0x20] @ sp20 = tilesX str r0, [sp, #0x20] @ sp20 = tilesX
ldr r6, _08003BC4 @ =gOamShapesSizes+1 ldr r6, _sa2_08003BC4 @ =gOamShapesSizes+1
adds r1, r1, r6 adds r1, r1, r6
ldrb r0, [r1] ldrb r0, [r1]
lsrs r0, r0, #3 lsrs r0, r0, #3
@@ -193,7 +193,7 @@ _08003AC8:
lsrs r1, r0 @ r1 = tileId = ((size_t)(s->graphics.dest - bgVram)) >> sp28 lsrs r1, r0 @ r1 = tileId = ((size_t)(s->graphics.dest - bgVram)) >> sp28
mov r3, sb @ r3 = oam mov r3, sb @ r3 = oam
ldrh r2, [r3, #4] ldrh r2, [r3, #4]
ldr r0, _08003BC8 @ =0x000003FF ldr r0, _sa2_08003BC8 @ =0x000003FF
ands r0, r2 ands r0, r2
adds r5, r1, r0 adds r5, r1, r0
movs r6, #0xff movs r6, #0xff
@@ -205,17 +205,17 @@ _08003AC8:
ldr r0, [sp, #8] ldr r0, [sp, #8]
adds r0, #1 adds r0, #1
str r0, [sp, #0x40] str r0, [sp, #0x40]
__08003B68: __sa2_08003B68:
cmp r4, #0 cmp r4, #0
beq _08003C18 beq _sa2_08003C18
ldr r1, [sp, #0x30] ldr r1, [sp, #0x30]
lsls r0, r1, #0x18 lsls r0, r1, #0x18
asrs r0, r0, #0x18 asrs r0, r0, #0x18
str r0, [sp, #0x34] str r0, [sp, #0x34]
_08003B74: _sa2_08003B74:
mov r2, sb @ r2 = sb = oam mov r2, sb @ r2 = sb = oam
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
ldr r1, _08003BCC @ =0x000001FF ldr r1, _sa2_08003BCC @ =0x000001FF
ands r1, r0 @ r1 = oam->tileNum ands r1, r0 @ r1 = oam->tileNum
add r1, r8 add r1, r8
asrs r1, r1, #3 asrs r1, r1, #3
@@ -228,28 +228,28 @@ _08003B74:
subs r6, #1 subs r6, #1
ldr r4, [sp, #0x20] ldr r4, [sp, #0x20]
cmp r4, #0 cmp r4, #0
beq _08003BF2 beq _sa2_08003BF2
movs r4, #1 movs r4, #1
_08003B96: _sa2_08003B96:
adds r0, r2, #0 adds r0, r2, #0
ands r0, r4 ands r0, r4
cmp r0, #0 cmp r0, #0
bne _08003BD0 bne _sa2_08003BD0
str r5, [sp, #0x24] str r5, [sp, #0x24]
b _08003BDE b _sa2_08003BDE
.align 2, 0 .align 2, 0
_08003BA4: .4byte gBgSpritesCount _sa2_08003BA4: .4byte gBgSpritesCount
_08003BA8: .4byte gBgSprites _sa2_08003BA8: .4byte gBgSprites
_08003BAC: .4byte gBgCntRegs _sa2_08003BAC: .4byte gBgCntRegs
_08003BB0: .4byte gDispCnt _sa2_08003BB0: .4byte gDispCnt
_08003BB4: .4byte gRefSpriteTables _sa2_08003BB4: .4byte gRefSpriteTables
_08003BB8: .4byte 0x040000D4 _sa2_08003BB8: .4byte 0x040000D4
_08003BBC: .4byte 0x80000003 _sa2_08003BBC: .4byte 0x80000003
_08003BC0: .4byte gOamShapesSizes _sa2_08003BC0: .4byte gOamShapesSizes
_08003BC4: .4byte gOamShapesSizes+1 _sa2_08003BC4: .4byte gOamShapesSizes+1
_08003BC8: .4byte 0x000003FF _sa2_08003BC8: .4byte 0x000003FF
_08003BCC: .4byte 0x000001FF _sa2_08003BCC: .4byte 0x000001FF
_08003BD0: _sa2_08003BD0:
lsls r0, r5, #8 lsls r0, r5, #8
ldr r1, [sp, #0x24] ldr r1, [sp, #0x24]
orrs r1, r0 orrs r1, r0
@@ -257,7 +257,7 @@ _08003BD0:
lsrs r0, r0, #0x10 lsrs r0, r0, #0x10
str r0, [sp, #0x24] str r0, [sp, #0x24]
strh r0, [r2] strh r0, [r2]
_08003BDE: _sa2_08003BDE:
adds r0, r5, #1 adds r0, r5, #1
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r5, r0, #0x10 lsrs r5, r0, #0x10
@@ -267,12 +267,12 @@ _08003BDE:
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r3, r0, #0x18 lsrs r3, r0, #0x18
cmp r1, #0 cmp r1, #0
bne _08003B96 bne _sa2_08003B96
_08003BF2: _sa2_08003BF2:
movs r0, #1 movs r0, #1
ands r0, r2 ands r0, r2
cmp r0, #0 cmp r0, #0
beq _08003C08 beq _sa2_08003C08
ldrh r1, [r2] ldrh r1, [r2]
movs r0, #0xff movs r0, #0xff
lsls r0, r0, #8 lsls r0, r0, #8
@@ -280,7 +280,7 @@ _08003BF2:
ldr r1, [sp, #0x24] ldr r1, [sp, #0x24]
orrs r0, r1 orrs r0, r1
strh r0, [r2] strh r0, [r2]
_08003C08: _sa2_08003C08:
ldr r2, [sp, #0x34] ldr r2, [sp, #0x34]
adds r7, r7, r2 adds r7, r7, r2
mov r1, ip mov r1, ip
@@ -288,8 +288,8 @@ _08003C08:
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
mov ip, r0 mov ip, r0
cmp r1, #0 cmp r1, #0
bne _08003B74 bne _sa2_08003B74
_08003C18: _sa2_08003C18:
ldr r3, [sp, #0x40] ldr r3, [sp, #0x40]
lsls r0, r3, #0x18 lsls r0, r3, #0x18
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
@@ -297,11 +297,11 @@ _08003C18:
mov r4, sl mov r4, sl
ldrh r4, [r4, #2] ldrh r4, [r4, #2]
cmp r0, r4 cmp r0, r4
bhs _08003C2A bhs _sa2_08003C2A
b _08003AC8 @ -> for (sp08 = 0; sp08 < dims->numSubframes; sp08++) b _sa2_08003AC8 @ -> for (sp08 = 0; sp08 < dims->numSubframes; sp08++)
_08003C2A: _sa2_08003C2A:
b _08003EB2 b _sa2_08003EB2
_08003C2C: _sa2_08003C2C:
movs r6, #0x20 movs r6, #0x20
str r6, [sp, #0x10] str r6, [sp, #0x10]
lsls r0, r3, #1 @ r3 = bgId lsls r0, r3, #1 @ r3 = bgId
@@ -312,11 +312,11 @@ _08003C2C:
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
cmp r0, #1 cmp r0, #1
bhi _08003C46 bhi _sa2_08003C46
movs r7, #0x40 movs r7, #0x40
str r7, [sp, #0x10] str r7, [sp, #0x10]
_08003C46: _sa2_08003C46:
ldr r0, _08003D14 @ =gRefSpriteTables ldr r0, _sa2_08003D14 @ =gRefSpriteTables
ldr r1, [r0] ldr r1, [r0]
ldr r2, [sp, #0xc] @ r2 = sp0C = s ldr r2, [sp, #0xc] @ r2 = sp0C = s
ldrh r0, [r2, #0xa] ldrh r0, [r2, #0xa]
@@ -339,17 +339,17 @@ _08003C46:
str r5, [sp, #0x3c] str r5, [sp, #0x3c]
ldrh r7, [r3, #2] ldrh r7, [r3, #2]
cmp r6, r7 cmp r6, r7
blo _08003C78 blo _sa2_08003C78
b _08003EB2 b _sa2_08003EB2
_08003C78: _sa2_08003C78:
mov sb, sp @ sb = sp = oam mov sb, sp @ sb = sp = oam
_08003C7A: _sa2_08003C7A:
ldr r0, [sp, #0x1c] ldr r0, [sp, #0x1c]
ldr r1, _08003D18 @ =0x040000D4 ldr r1, _sa2_08003D18 @ =0x040000D4
str r0, [r1] str r0, [r1]
mov r2, sp mov r2, sp
str r2, [r1, #4] str r2, [r1, #4]
ldr r0, _08003D1C @ =0x80000003 ldr r0, _sa2_08003D1C @ =0x80000003
str r0, [r1, #8] str r0, [r1, #8]
ldr r0, [r1, #8] ldr r0, [r1, #8]
ldr r3, [sp, #0x1c] ldr r3, [sp, #0x1c]
@@ -368,17 +368,17 @@ _08003C7A:
lsrs r0, r0, #0xe @ r0 = oam.size lsrs r0, r0, #0xe @ r0 = oam.size
orrs r1, r0 @ r1 = shapeAndSize orrs r1, r0 @ r1 = shapeAndSize
lsls r1, r1, #1 lsls r1, r1, #1
ldr r5, _08003D20 @ =gOamShapesSizes ldr r5, _sa2_08003D20 @ =gOamShapesSizes
adds r0, r1, r5 adds r0, r1, r5
ldrb r0, [r0] ldrb r0, [r0]
lsrs r0, r0, #3 lsrs r0, r0, #3
str r0, [sp, #0x20] @ sp20 = tilesX str r0, [sp, #0x20] @ sp20 = tilesX
ldr r6, _08003D24 @ =gOamShapesSizes+1 ldr r6, _sa2_08003D24 @ =gOamShapesSizes+1
adds r1, r1, r6 adds r1, r1, r6
ldrb r0, [r1] ldrb r0, [r1]
lsrs r0, r0, #3 lsrs r0, r0, #3
mov ip, r0 @ ip = tilesY mov ip, r0 @ ip = tilesY
ldr r4, _08003D28 @ =0x000001FF ldr r4, _sa2_08003D28 @ =0x000001FF
ands r4, r3 ands r4, r3
movs r6, #0xff movs r6, #0xff
ands r6, r2 @ r6 = oamX ands r6, r2 @ r6 = oamX
@@ -391,7 +391,7 @@ _08003C7A:
adds r0, r0, r7 adds r0, r0, r7
mov r1, sb mov r1, sb
strh r0, [r1, #4] strh r0, [r1, #4]
__08003CD8: __sa2_08003CD8:
ldr r2, [sp, #0xc] @ r2 = sp0C = s ldr r2, [sp, #0xc] @ r2 = sp0C = s
ldr r1, [r2, #0x10] ldr r1, [r2, #0x10]
lsrs r1, r1, #0xb lsrs r1, r1, #0xb
@@ -402,8 +402,8 @@ __08003CD8:
movs r7, #1 movs r7, #1
ands r0, r7 ands r0, r7
cmp r0, #0 cmp r0, #0
beq _08003D4A beq _sa2_08003D4A
___08003CEE: ___sa2_08003CEE:
movs r1, #0x80 movs r1, #0x80
lsls r1, r1, #6 lsls r1, r1, #6
adds r0, r1, #0 adds r0, r1, #0
@@ -414,23 +414,23 @@ ___08003CEE:
movs r0, #1 movs r0, #1
ands r0, r1 ands r0, r1
cmp r0, #0 cmp r0, #0
beq _08003D2C beq _sa2_08003D2C
__08003D04: __sa2_08003D04:
ldr r3, [sp, #0xc] @ r3 = sp0C = s ldr r3, [sp, #0xc] @ r3 = sp0C = s
movs r5, #0x18 movs r5, #0x18
ldrsh r0, [r3, r5] ldrsh r0, [r3, r5]
mov r7, sl @ r7 = sl = dims mov r7, sl @ r7 = sl = dims
movs r2, #0xa movs r2, #0xa
ldrsh r1, [r7, r2] ldrsh r1, [r7, r2]
b _08003D3C b _sa2_08003D3C
.align 2, 0 .align 2, 0
_08003D14: .4byte gRefSpriteTables _sa2_08003D14: .4byte gRefSpriteTables
_08003D18: .4byte 0x040000D4 _sa2_08003D18: .4byte 0x040000D4
_08003D1C: .4byte 0x80000003 _sa2_08003D1C: .4byte 0x80000003
_08003D20: .4byte gOamShapesSizes _sa2_08003D20: .4byte gOamShapesSizes
_08003D24: .4byte gOamShapesSizes+1 _sa2_08003D24: .4byte gOamShapesSizes+1
_08003D28: .4byte 0x000001FF _sa2_08003D28: .4byte 0x000001FF
_08003D2C: _sa2_08003D2C:
ldr r3, [sp, #0xc] @ r3 = sp0C = s ldr r3, [sp, #0xc] @ r3 = sp0C = s
movs r5, #0x18 movs r5, #0x18
ldrsh r0, [r3, r5] ldrsh r0, [r3, r5]
@@ -439,15 +439,15 @@ _08003D2C:
movs r3, #0xa movs r3, #0xa
ldrsh r2, [r7, r3] ldrsh r2, [r7, r3]
subs r1, r1, r2 subs r1, r1, r2
_08003D3C: _sa2_08003D3C:
adds r0, r0, r1 adds r0, r0, r1
adds r5, r0, #0 adds r5, r0, #0
subs r5, #8 @ r5 = someOffsetY subs r5, #8 @ r5 = someOffsetY
lsls r0, r6, #0x10 lsls r0, r6, #0x10
rsbs r0, r0, #0 rsbs r0, r0, #0
lsrs r6, r0, #0x10 lsrs r6, r0, #0x10
b _08003D58 b _sa2_08003D58
_08003D4A: _sa2_08003D4A:
ldr r5, [sp, #0xc] @ r5 = sp0C = s ldr r5, [sp, #0xc] @ r5 = sp0C = s
movs r7, #0x18 movs r7, #0x18
ldrsh r1, [r5, r7] ldrsh r1, [r5, r7]
@@ -455,7 +455,7 @@ _08003D4A:
movs r3, #0xa movs r3, #0xa
ldrsh r0, [r2, r3] ldrsh r0, [r2, r3]
subs r5, r1, r0 @ r5 = someOffsetY subs r5, r1, r0 @ r5 = someOffsetY
_08003D58: _sa2_08003D58:
ldr r7, [sp, #0xc] @ r7 = sp0C = s ldr r7, [sp, #0xc] @ r7 = sp0C = s
ldr r0, [r7, #0x10] ldr r0, [r7, #0x10]
lsrs r0, r0, #0xa lsrs r0, r0, #0xa
@@ -466,8 +466,8 @@ _08003D58:
adds r1, r3, #0 adds r1, r3, #0
ands r1, r2 ands r1, r2
cmp r0, r1 cmp r0, r1
beq _08003DB4 beq _sa2_08003DB4
__08003D6E: __sa2_08003D6E:
mov r2, sb @ r2 = sb = oam mov r2, sb @ r2 = sb = oam
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
movs r7, #0x80 movs r7, #0x80
@@ -480,15 +480,15 @@ __08003D6E:
adds r0, r3, #0 adds r0, r3, #0
ands r0, r1 ands r0, r1
cmp r0, #0 cmp r0, #0
beq _08003D96 beq _sa2_08003D96
ldr r1, [sp, #0xc] @ r1 = sp0C = s ldr r1, [sp, #0xc] @ r1 = sp0C = s
movs r2, #0x16 movs r2, #0x16
ldrsh r0, [r1, r2] ldrsh r0, [r1, r2]
mov r3, sl mov r3, sl
movs r7, #8 movs r7, #8
ldrsh r1, [r3, r7] ldrsh r1, [r3, r7]
b _08003DA6 b _sa2_08003DA6
_08003D96: _sa2_08003D96:
ldr r1, [sp, #0xc] @ r1 = sp0C = s ldr r1, [sp, #0xc] @ r1 = sp0C = s
movs r2, #0x16 movs r2, #0x16
ldrsh r0, [r1, r2] ldrsh r0, [r1, r2]
@@ -497,15 +497,15 @@ _08003D96:
movs r7, #8 movs r7, #8
ldrsh r2, [r3, r7] ldrsh r2, [r3, r7]
subs r1, r1, r2 subs r1, r1, r2
_08003DA6: _sa2_08003DA6:
adds r0, r0, r1 adds r0, r0, r1
subs r0, #8 subs r0, #8
mov r8, r0 mov r8, r0
lsls r0, r4, #0x10 lsls r0, r4, #0x10
rsbs r0, r0, #0 rsbs r0, r0, #0
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
b _08003DC4 b _sa2_08003DC4
_08003DB4: _sa2_08003DB4:
ldr r0, [sp, #0xc] @ r0 = sp0C = s ldr r0, [sp, #0xc] @ r0 = sp0C = s
movs r2, #0x16 movs r2, #0x16
ldrsh r1, [r0, r2] ldrsh r1, [r0, r2]
@@ -514,7 +514,7 @@ _08003DB4:
ldrsh r0, [r3, r7] ldrsh r0, [r3, r7]
subs r1, r1, r0 subs r1, r1, r0
mov r8, r1 mov r8, r1
_08003DC4: _sa2_08003DC4:
movs r0, #0x10 movs r0, #0x10
rsbs r0, r0, #0 rsbs r0, r0, #0
mov r1, r8 mov r1, r8
@@ -530,23 +530,23 @@ _08003DC4:
movs r3, #2 movs r3, #2
str r3, [sp, #0x2c] str r3, [sp, #0x2c]
cmp r0, #0 cmp r0, #0
beq _08003DE8 beq _sa2_08003DE8
movs r7, #0xfe movs r7, #0xfe
str r7, [sp, #0x2c] str r7, [sp, #0x2c]
_08003DE8: _sa2_08003DE8:
movs r0, #0x80 movs r0, #0x80
lsls r0, r0, #6 lsls r0, r0, #6
ands r0, r1 ands r0, r1
cmp r0, #0 cmp r0, #0
beq _08003DFA beq _sa2_08003DFA
ldr r1, [sp, #0x10] ldr r1, [sp, #0x10]
lsls r0, r1, #0x19 lsls r0, r1, #0x19
rsbs r0, r0, #0 rsbs r0, r0, #0
b _08003DFE b _sa2_08003DFE
_08003DFA: _sa2_08003DFA:
ldr r2, [sp, #0x10] ldr r2, [sp, #0x10]
lsls r0, r2, #0x19 lsls r0, r2, #0x19
_08003DFE: _sa2_08003DFE:
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
str r0, [sp, #0x30] str r0, [sp, #0x30]
lsls r0, r6, #0x10 lsls r0, r6, #0x10
@@ -565,7 +565,7 @@ _08003DFE:
lsrs r1, r2 lsrs r1, r2
mov r3, sb mov r3, sb
ldrh r2, [r3, #4] ldrh r2, [r3, #4]
ldr r0, _08003EDC @ =0x0000F3FF ldr r0, _sa2_08003EDC @ =0x0000F3FF
ands r0, r2 ands r0, r2
adds r1, r1, r0 adds r1, r1, r0
ldrh r2, [r3, #2] ldrh r2, [r3, #2]
@@ -585,7 +585,7 @@ _08003DFE:
adds r6, #1 adds r6, #1
str r6, [sp, #0x40] str r6, [sp, #0x40]
cmp r1, #0 cmp r1, #0
beq _08003EA0 beq _sa2_08003EA0
lsls r0, r4, #0x10 lsls r0, r4, #0x10
asrs r0, r0, #0x10 asrs r0, r0, #0x10
add r0, r8 add r0, r8
@@ -595,7 +595,7 @@ _08003DFE:
lsls r0, r1, #0x18 lsls r0, r1, #0x18
asrs r0, r0, #0x18 asrs r0, r0, #0x18
mov r8, r0 mov r8, r0
_08003E5E: _sa2_08003E5E:
ldr r3, [sp, #0x38] ldr r3, [sp, #0x38]
adds r2, r7, r3 adds r2, r7, r3
ldr r0, [sp, #0x20] ldr r0, [sp, #0x20]
@@ -606,11 +606,11 @@ _08003E5E:
subs r6, #1 subs r6, #1
ldr r4, [sp, #0x20] ldr r4, [sp, #0x20]
cmp r4, #0 cmp r4, #0
beq _08003E92 beq _sa2_08003E92
ldr r1, [sp, #0x2c] ldr r1, [sp, #0x2c]
lsls r0, r1, #0x18 lsls r0, r1, #0x18
asrs r4, r0, #0x18 asrs r4, r0, #0x18
_08003E7A: _sa2_08003E7A:
adds r1, r5, #0 adds r1, r5, #0
adds r0, r1, #1 adds r0, r1, #1
lsls r0, r0, #0x10 lsls r0, r0, #0x10
@@ -622,16 +622,16 @@ _08003E7A:
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r3, r0, #0x18 lsrs r3, r0, #0x18
cmp r1, #0 cmp r1, #0
bne _08003E7A bne _sa2_08003E7A
_08003E92: _sa2_08003E92:
add r7, r8 add r7, r8
mov r1, ip mov r1, ip
lsls r0, r6, #0x18 lsls r0, r6, #0x18
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
mov ip, r0 mov ip, r0
cmp r1, #0 cmp r1, #0
bne _08003E5E bne _sa2_08003E5E
_08003EA0: _sa2_08003EA0:
ldr r2, [sp, #0x40] ldr r2, [sp, #0x40]
lsls r0, r2, #0x18 lsls r0, r2, #0x18
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
@@ -639,20 +639,20 @@ _08003EA0:
mov r3, sl @ r3 = sl = dims mov r3, sl @ r3 = sl = dims
ldrh r3, [r3, #2] ldrh r3, [r3, #2]
cmp r0, r3 cmp r0, r3
bhs _08003EB2 bhs _sa2_08003EB2
b _08003C7A b _sa2_08003C7A
_08003EB2: _sa2_08003EB2:
ldr r4, [sp, #0x3c] ldr r4, [sp, #0x3c]
lsls r0, r4, #0x18 lsls r0, r4, #0x18
lsrs r5, r0, #0x18 lsrs r5, r0, #0x18
ldr r6, _08003EE0 @ =gBgSpritesCount ldr r6, _sa2_08003EE0 @ =gBgSpritesCount
ldrb r6, [r6] ldrb r6, [r6]
cmp r5, r6 cmp r5, r6
bhs _08003EC2 bhs _sa2_08003EC2
b _08003A1A b _sa2_08003A1A
_08003EC2: _sa2_08003EC2:
movs r0, #0 movs r0, #0
ldr r7, _08003EE0 @ =gBgSpritesCount ldr r7, _sa2_08003EE0 @ =gBgSpritesCount
strb r0, [r7] strb r0, [r7]
sub_80039E4_return_1: sub_80039E4_return_1:
movs r0, #1 movs r0, #1
@@ -666,7 +666,7 @@ sub_80039E4_return:
pop {r1} pop {r1}
bx r1 bx r1
.align 2, 0 .align 2, 0
_08003EDC: .4byte 0x0000F3FF _sa2_08003EDC: .4byte 0x0000F3FF
_08003EE0: .4byte gBgSpritesCount _sa2_08003EE0: .4byte gBgSpritesCount
.syntax divided .syntax divided
+78 -78
View File
@@ -15,33 +15,33 @@
sub_8004010_loop: sub_8004010_loop:
mov r2, r8 @ r8 = bg mov r2, r8 @ r8 = bg
lsls r0, r2, #2 @ r0 = bg*4 lsls r0, r2, #2 @ r0 = bg*4
ldr r1, _080040DC @ =gBgSprites_Unknown2 ldr r1, _sa2_080040DC @ =gBgSprites_Unknown2
adds r1, #1 adds r1, #1
adds r4, r0, r1 @ r4 = gBgSprites_Unknown2[bg][1] adds r4, r0, r1 @ r4 = gBgSprites_Unknown2[bg][1]
ldr r6, _080040E0 @ =gBgSprites_Unknown2 + 3 ldr r6, _sa2_080040E0 @ =gBgSprites_Unknown2 + 3
adds r6, r0, r6 @ r6 = &gBgSprites_Unknown2[bg][3] adds r6, r0, r6 @ r6 = &gBgSprites_Unknown2[bg][3]
str r6, [sp, #0xc] @ sp0C = r6 = &gBgSprites_Unknown2[bg][3] str r6, [sp, #0xc] @ sp0C = r6 = &gBgSprites_Unknown2[bg][3]
ldrb r1, [r4] @ r1 = *r4 = gBgSprites_Unknown2[bg][1] ldrb r1, [r4] @ r1 = *r4 = gBgSprites_Unknown2[bg][1]
ldrb r2, [r6] @ r2 = *r6 = gBgSprites_Unknown2[bg][3] ldrb r2, [r6] @ r2 = *r6 = gBgSprites_Unknown2[bg][3]
mov ip, r2 @ ip = r2 = gBgSprites_Unknown2[bg][3] mov ip, r2 @ ip = r2 = gBgSprites_Unknown2[bg][3]
mov sl, r0 @ sl = bg*4 mov sl, r0 @ sl = bg*4
__0800403C: __sa2_0800403C:
cmp r1, ip cmp r1, ip
bne _08004056 bne _sa2_08004056
ldr r0, _080040DC @ =gBgSprites_Unknown2 + 0 ldr r0, _sa2_080040DC @ =gBgSprites_Unknown2 + 0
add r0, sl add r0, sl
ldr r1, _080040E4 @ =gBgSprites_Unknown2 + 2 ldr r1, _sa2_080040E4 @ =gBgSprites_Unknown2 + 2
add r1, sl @ r1 = gBgSprites_Unknown2[bg][2] add r1, sl @ r1 = gBgSprites_Unknown2[bg][2]
ldrb r0, [r0] @ r0 = gBgSprites_Unknown2[bg][0] ldrb r0, [r0] @ r0 = gBgSprites_Unknown2[bg][0]
mov r7, r8 mov r7, r8
adds r7, #1 @ r7 = bg+1 adds r7, #1 @ r7 = bg+1
ldrb r1, [r1] ldrb r1, [r1]
__08004050: __sa2_08004050:
cmp r0, r1 cmp r0, r1
bne _08004056 bne _sa2_08004056
b sub_8004010_continue b sub_8004010_continue
_08004056: _sa2_08004056:
ldr r2, _080040E8 @ =gBgCntRegs ldr r2, _sa2_080040E8 @ =gBgCntRegs
mov r6, r8 @ r6 = r8 = bg mov r6, r8 @ r6 = r8 = bg
lsls r3, r6, #1 @ r3 = bg*2 lsls r3, r6, #1 @ r3 = bg*2
adds r0, r3, r2 @ r0 = &gBgCntRegs[bg] adds r0, r3, r2 @ r0 = &gBgCntRegs[bg]
@@ -54,24 +54,24 @@ _08004056:
lsls r0, r0, #3 lsls r0, r0, #3
adds r5, r0, r1 @ r5 = vramBase adds r5, r0, r1 @ r5 = vramBase
ldrb r4, [r4] @ r4 = gBgSprites_Unknown2[bg][1] ldrb r4, [r4] @ r4 = gBgSprites_Unknown2[bg][1]
ldr r0, _080040DC @ =gBgSprites_Unknown2 ldr r0, _sa2_080040DC @ =gBgSprites_Unknown2
add r0, sl @ r0 = &gBgSprites_Unknown2[bg][0] add r0, sl @ r0 = &gBgSprites_Unknown2[bg][0]
ldrb r0, [r0] @ r0 = gBgSprites_Unknown2[bg][0] ldrb r0, [r0] @ r0 = gBgSprites_Unknown2[bg][0]
str r0, [sp, #8] str r0, [sp, #8]
adds r7, r2, #0 @ r7 = gBgCntRegs adds r7, r2, #0 @ r7 = gBgCntRegs
adds r2, r3, #0 @ r2 = r3 = bg * 2 adds r2, r3, #0 @ r2 = r3 = bg * 2
mov r0, r8 mov r0, r8
__0800407E: __sa2_0800407E:
cmp r0, #1 cmp r0, #1
bls _08004168 bls _sa2_08004168
ldr r0, _080040EC @ =gDispCnt ldr r0, _sa2_080040EC @ =gDispCnt
ldrh r1, [r0] ldrh r1, [r0]
movs r0, #3 movs r0, #3
ands r0, r1 ands r0, r1
__0800408A: __sa2_0800408A:
cmp r0, #0 cmp r0, #0
beq _08004168 beq _sa2_08004168
__0800408E: __sa2_0800408E:
ldr r1, [sp, #8] ldr r1, [sp, #8]
adds r5, r5, r1 @ r5 = vramBase + sp08 adds r5, r5, r1 @ r5 = vramBase + sp08
lsrs r2, r6, #14 @ r2 = (r6 = bgCtrl) >> 14 lsrs r2, r6, #14 @ r2 = (r6 = bgCtrl) >> 14
@@ -80,11 +80,11 @@ __0800408E:
lsls r0, r2 lsls r0, r2
lsrs r3, r0, #0x10 @ r3 = affineSize = (16 << (gBgCntRegs[bg] >> 14)) lsrs r3, r0, #0x10 @ r3 = affineSize = (16 << (gBgCntRegs[bg] >> 14))
mov r2, ip @ r2 = ip = gBgSprites_Unknown2[bg][3] mov r2, ip @ r2 = ip = gBgSprites_Unknown2[bg][3]
__0800409E: __sa2_0800409E:
cmp r2, #0xff cmp r2, #0xff
bne _080040F8 bne _sa2_080040F8
__080040A2: __sa2_080040A2:
ldr r0, _080040F0 @ =gBgSprites_Unknown1 ldr r0, _sa2_080040F0 @ =gBgSprites_Unknown1
add r0, r8 @ r0 = &gBgSprites_Unknown1[bg] add r0, r8 @ r0 = &gBgSprites_Unknown1[bg]
ldrb r1, [r0] @ r1 = gBgSprites_Unknown1[bg] ldrb r1, [r0] @ r1 = gBgSprites_Unknown1[bg]
lsls r0, r1, #8 @ combine(v) : ((v) << 8 | (v)) lsls r0, r1, #8 @ combine(v) : ((v) << 8 | (v))
@@ -95,7 +95,7 @@ __080040A2:
ldr r6, [sp, #0x10] @ --- DMA Start --- ldr r6, [sp, #0x10] @ --- DMA Start ---
strh r1, [r6] @ *sp10 = cb strh r1, [r6] @ *sp10 = cb
mov r1, sp mov r1, sp
ldr r2, _080040F4 @ =0x040000D4 ldr r2, _sa2_080040F4 @ =0x040000D4
str r1, [r2] @ DMASrc = sp00 (fill: cb) str r1, [r2] @ DMASrc = sp00 (fill: cb)
str r0, [r2, #4] @ vramBase str r0, [r2, #4] @ vramBase
ldr r6, [sp, #0xc] @ sp0C = &gBgSprites_Unknown2[bg][3] ldr r6, [sp, #0xc] @ sp0C = &gBgSprites_Unknown2[bg][3]
@@ -112,35 +112,35 @@ __080040A2:
ldr r0, [r2, #8] @ @ --- DMA End --- ldr r0, [r2, #8] @ @ --- DMA End ---
add r2, sp, #4 add r2, sp, #4
mov sb, r2 @ sb = 2nd dmaTarget mov sb, r2 @ sb = 2nd dmaTarget
b _080041C0 b _sa2_080041C0
.align 2, 0 .align 2, 0
_080040DC: .4byte gBgSprites_Unknown2 _sa2_080040DC: .4byte gBgSprites_Unknown2
_080040E0: .4byte gBgSprites_Unknown2 + 3 _sa2_080040E0: .4byte gBgSprites_Unknown2 + 3
_080040E4: .4byte gBgSprites_Unknown2 + 2 _sa2_080040E4: .4byte gBgSprites_Unknown2 + 2
_080040E8: .4byte gBgCntRegs _sa2_080040E8: .4byte gBgCntRegs
_080040EC: .4byte gDispCnt _sa2_080040EC: .4byte gDispCnt
_080040F0: .4byte gBgSprites_Unknown1 _sa2_080040F0: .4byte gBgSprites_Unknown1
_080040F4: .4byte 0x040000D4 _sa2_080040F4: .4byte 0x040000D4
_080040F8: _sa2_080040F8:
add r6, sp, #4 add r6, sp, #4
mov sb, r6 @ sb = sp04 (2nd dmaTarget) mov sb, r6 @ sb = sp04 (2nd dmaTarget)
mov r7, r8 @ r7 = r8 = bg mov r7, r8 @ r7 = r8 = bg
adds r7, #1 @ r7 = bg + 1 adds r7, #1 @ r7 = bg + 1
__08004100: __sa2_08004100:
cmp r4, ip @ ip = p3 cmp r4, ip @ ip = p3
bls _08004106 bls _sa2_08004106
b _0800422C b _sa2_0800422C
_08004106: _sa2_08004106:
ldr r0, _0800415C @ =gBgSprites_Unknown1 ldr r0, _sa2_0800415C @ =gBgSprites_Unknown1
add r0, r8 add r0, r8
mov ip, r0 @ ip = &gBgSprites_Unknown1[bg] mov ip, r0 @ ip = &gBgSprites_Unknown1[bg]
ldr r2, _08004160 @ =0x040000D4 ldr r2, _sa2_08004160 @ =0x040000D4
ldr r1, _08004164 @ =gBgSprites_Unknown2 + 2 ldr r1, _sa2_08004164 @ =gBgSprites_Unknown2 + 2
add r1, sl add r1, sl
mov r8, r1 @ r8 = &gBgSprites_Unknown2[bg][2] mov r8, r1 @ r8 = &gBgSprites_Unknown2[bg][2]
ldr r6, [sp, #0xc] ldr r6, [sp, #0xc]
str r6, [sp, #0x14] str r6, [sp, #0x14]
_08004118_loop: _sa2_08004118_loop:
mov r0, ip @ r0 = ip = &gBgSprites_Unknown1[bg] mov r0, ip @ r0 = ip = &gBgSprites_Unknown1[bg]
ldrb r1, [r0] ldrb r1, [r0]
lsls r0, r1, #8 lsls r0, r1, #8
@@ -173,13 +173,13 @@ _08004118_loop:
ldr r0, [sp, #0x14] ldr r0, [sp, #0x14]
ldrb r0, [r0] ldrb r0, [r0]
cmp r4, r0 cmp r4, r0
bls _08004118_loop bls _sa2_08004118_loop
b _0800422C b _sa2_0800422C
.align 2, 0 .align 2, 0
_0800415C: .4byte gBgSprites_Unknown1 _sa2_0800415C: .4byte gBgSprites_Unknown1
_08004160: .4byte 0x040000D4 _sa2_08004160: .4byte 0x040000D4
_08004164: .4byte gBgSprites_Unknown2 + 2 _sa2_08004164: .4byte gBgSprites_Unknown2 + 2
_08004168: _sa2_08004168:
ldr r1, [sp, #8] @ r1 = sp08 = gBgSprites_Unknown2[bg][0] ldr r1, [sp, #8] @ r1 = sp08 = gBgSprites_Unknown2[bg][0]
lsls r0, r1, #1 lsls r0, r1, #1
adds r5, r5, r0 @ r5 = vramBase + (sp08 * 2) adds r5, r5, r0 @ r5 = vramBase + (sp08 * 2)
@@ -192,19 +192,19 @@ _08004168:
subs r0, r2, #2 subs r0, r2, #2
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r0, r0, #0x18 @ r0 = affineSize lsrs r0, r0, #0x18 @ r0 = affineSize
__0800417C: __sa2_0800417C:
cmp r0, #1 cmp r0, #1
bhi _08004182 bhi _sa2_08004182
movs r3, #0x40 @ r3 = tileSize = 64 movs r3, #0x40 @ r3 = tileSize = 64
_08004182: _sa2_08004182:
ldr r1, _080041C8 @ =&gBgSprites_Unknown2[0][2] ldr r1, _sa2_080041C8 @ =&gBgSprites_Unknown2[0][2]
add r1, sl @ r1 = &gBgSprites_Unknown2[bg][2] add r1, sl @ r1 = &gBgSprites_Unknown2[bg][2]
ldrb r0, [r1] ldrb r0, [r1]
__08004188: __sa2_08004188:
cmp r0, #0xff cmp r0, #0xff
bne _080041D8 bne _sa2_080041D8
__0800418C: __sa2_0800418C:
ldr r0, _080041CC @ =gBgSprites_Unknown1 ldr r0, _sa2_080041CC @ =gBgSprites_Unknown1
add r0, r8 add r0, r8
ldrb r1, [r0] @ r1 = gBgSprites_Unknown1[bg] ldrb r1, [r0] @ r1 = gBgSprites_Unknown1[bg]
lsls r0, r3, #1 @ r3 = tileSize lsls r0, r3, #1 @ r3 = tileSize
@@ -213,10 +213,10 @@ __0800418C:
ldr r2, [sp, #0x10] @ r2 = &sp00[0] ldr r2, [sp, #0x10] @ r2 = &sp00[0]
strh r1, [r2] @ sp00[0] = gBgSprites_Unknown1[bg]; strh r1, [r2] @ sp00[0] = gBgSprites_Unknown1[bg];
mov r6, sp @ r6 = sp mov r6, sp @ r6 = sp
ldr r1, _080041D0 @ =0x040000D4 ldr r1, _sa2_080041D0 @ =0x040000D4
str r6, [r1] str r6, [r1]
str r0, [r1, #4] str r0, [r1, #4]
ldr r0, _080041D4 @ r0 = &gBgSprites_Unknown2[0][3] ldr r0, _sa2_080041D4 @ r0 = &gBgSprites_Unknown2[0][3]
add r0, sl @ r0 = &gBgSprites_Unknown2[bg][3] add r0, sl @ r0 = &gBgSprites_Unknown2[bg][3]
ldrb r0, [r0] @ r0 = gBgSprites_Unknown2[bg][3] ldrb r0, [r0] @ r0 = gBgSprites_Unknown2[bg][3]
subs r0, r0, r4 @ r0 = r0 - gBgSprites_Unknown2[bg][1] subs r0, r0, r4 @ r0 = r0 - gBgSprites_Unknown2[bg][1]
@@ -230,33 +230,33 @@ __0800418C:
ldr r0, [r1, #8] ldr r0, [r1, #8]
add r6, sp, #4 add r6, sp, #4
mov sb, r6 @ sb = dmaTarget mov sb, r6 @ sb = dmaTarget
_080041C0: _sa2_080041C0:
mov r7, r8 mov r7, r8
adds r7, #1 adds r7, #1
b _0800422C b _sa2_0800422C
.align 2, 0 .align 2, 0
_080041C8: .4byte gBgSprites_Unknown2 + 2 _sa2_080041C8: .4byte gBgSprites_Unknown2 + 2
_080041CC: .4byte gBgSprites_Unknown1 _sa2_080041CC: .4byte gBgSprites_Unknown1
_080041D0: .4byte 0x040000D4 _sa2_080041D0: .4byte 0x040000D4
_080041D4: .4byte gBgSprites_Unknown2 + 3 _sa2_080041D4: .4byte gBgSprites_Unknown2 + 3
_080041D8: _sa2_080041D8:
ldr r0, _08004260 @ =gBgSprites_Unknown2 + 3 ldr r0, _sa2_08004260 @ =gBgSprites_Unknown2 + 3
add r0, sl @ r0 = &gBgSprites_Unknown2[bg][3] add r0, sl @ r0 = &gBgSprites_Unknown2[bg][3]
add r2, sp, #4 add r2, sp, #4
mov sb, r2 @ sb = dmaTarget mov sb, r2 @ sb = dmaTarget
mov r7, r8 @ r7 = bg+1 (done by loop) mov r7, r8 @ r7 = bg+1 (done by loop)
adds r7, #1 adds r7, #1
ldrb r6, [r0] @ r6 = gBgSprites_Unknown2[bg][3] ldrb r6, [r0] @ r6 = gBgSprites_Unknown2[bg][3]
__080041E6: __sa2_080041E6:
cmp r4, r6 cmp r4, r6
bhi _0800422C bhi _sa2_0800422C
ldr r2, _08004264 @ r2 = gBgSprites_Unknown1 ldr r2, _sa2_08004264 @ r2 = gBgSprites_Unknown1
add r8, r2 @ r8 = gBgSprites_Unknown1[bg] add r8, r2 @ r8 = gBgSprites_Unknown1[bg]
ldr r2, _08004268 @ =0x040000D4 ldr r2, _sa2_08004268 @ =0x040000D4
mov ip, r1 @ ip = r1 = &gBgSprites_Unknown2[bg][2] mov ip, r1 @ ip = r1 = &gBgSprites_Unknown2[bg][2]
str r0, [sp, #0x14] str r0, [sp, #0x14]
lsls r3, r3, #1 lsls r3, r3, #1
_080041F6: _sa2_080041F6:
mov r6, r8 @ r6 = &gBgSprites_Unknown1[bg] mov r6, r8 @ r6 = &gBgSprites_Unknown1[bg]
ldrb r1, [r6] @ r1 = gBgSprites_Unknown1[bg] ldrb r1, [r6] @ r1 = gBgSprites_Unknown1[bg]
adds r0, r4, #0 @ r0 = r4 = gBgSprites_Unknown2[bg][1] adds r0, r4, #0 @ r0 = r4 = gBgSprites_Unknown2[bg][1]
@@ -283,17 +283,17 @@ _080041F6:
ldr r0, [sp, #0x14] ldr r0, [sp, #0x14]
ldrb r0, [r0] ldrb r0, [r0]
cmp r4, r0 cmp r4, r0
bls _080041F6 bls _sa2_080041F6
_0800422C: _sa2_0800422C:
movs r0, #0 movs r0, #0
str r0, [sp, #4] str r0, [sp, #4]
mov r1, sb @ r1 = sb = &sp04 = dmaTarget mov r1, sb @ r1 = sb = &sp04 = dmaTarget
ldr r2, _08004268 @ r2 = 0x040000D4 ldr r2, _sa2_08004268 @ r2 = 0x040000D4
str r1, [r2] str r1, [r2]
ldr r0, _0800426C @ =gBgSprites_Unknown2 ldr r0, _sa2_0800426C @ =gBgSprites_Unknown2
add r0, sl @ r0 = &gBgSprites_Unknown2[bg][0] add r0, sl @ r0 = &gBgSprites_Unknown2[bg][0]
str r0, [r2, #4] str r0, [r2, #4]
ldr r0, _08004270 @ =0x85000001 ldr r0, _sa2_08004270 @ =0x85000001
str r0, [r2, #8] str r0, [r2, #8]
ldr r0, [r2, #8] ldr r0, [r2, #8]
sub_8004010_continue: sub_8004010_continue:
@@ -314,10 +314,10 @@ sub_8004010_return:
pop {r1} pop {r1}
bx r1 bx r1
.align 2, 0 .align 2, 0
_08004260: .4byte gBgSprites_Unknown2 + 3 _sa2_08004260: .4byte gBgSprites_Unknown2 + 3
_08004264: .4byte gBgSprites_Unknown1 _sa2_08004264: .4byte gBgSprites_Unknown1
_08004268: .4byte 0x040000D4 _sa2_08004268: .4byte 0x040000D4
_0800426C: .4byte gBgSprites_Unknown2 _sa2_0800426C: .4byte gBgSprites_Unknown2
_08004270: .4byte 0x85000001 _sa2_08004270: .4byte 0x85000001
.syntax divided .syntax divided
+65 -65
View File
@@ -12,9 +12,9 @@
movs r0, #1 movs r0, #1
rsbs r0, r0, #0 rsbs r0, r0, #0
cmp r1, r0 cmp r1, r0
bne _08004E30 bne _sa2_08004E30
b _080051D8 b _sa2_080051D8
_08004E30: _sa2_08004E30:
mov sb, r1 @ sb = sprDims mov sb, r1 @ sb = sprDims
add r2, sp, #0x20 add r2, sp, #0x20
ldr r1, [sp, #0x24] ldr r1, [sp, #0x24]
@@ -24,32 +24,32 @@ _08004E30:
strh r0, [r2] @ us->affineIndex = s->unk10 & SPRITE_FLAG_MASK_ROT_SCALE; strh r0, [r2] @ us->affineIndex = s->unk10 & SPRITE_FLAG_MASK_ROT_SCALE;
ldrh r4, [r2] ldrh r4, [r2]
lsls r4, r4, #5 lsls r4, r4, #5
ldr r0, _08005128 @ =gOamBuffer + 0x6 ldr r0, _sa2_08005128 @ =gOamBuffer + 0x6
adds r4, r4, r0 @ r4 = u16 *affine = &gOamBuffer[us->affineIndex * 4 + 3]; adds r4, r4, r0 @ r4 = u16 *affine = &gOamBuffer[us->affineIndex * 4 + 3];
subs r2, #0x18 subs r2, #0x18
str r2, [sp, #0x28] @ sp28 = &us->qDirX str r2, [sp, #0x28] @ sp28 = &us->qDirX
ldrh r0, [r6] ldrh r0, [r6]
ldr r3, _0800512C @ =gUnknown_03001944 ldr r3, _sa2_0800512C @ =gSpriteTransformRotation
ldrh r1, [r3] ldrh r1, [r3]
adds r0, r0, r1 adds r0, r0, r1
ldr r2, _08005130 @ =0x000003FF ldr r2, _sa2_08005130 @ =0x000003FF
ands r0, r2 ands r0, r2
movs r5, #0x80 movs r5, #0x80
lsls r5, r5, #1 lsls r5, r5, #1
adds r0, r0, r5 adds r0, r0, r5
lsls r0, r0, #1 lsls r0, r0, #1
ldr r7, _08005134 @ =gSineTable ldr r7, _sa2_08005134 @ =gSineTable
adds r0, r0, r7 adds r0, r0, r7
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x16 asrs r0, r0, #0x16
ldr r1, [sp, #0x28] ldr r1, [sp, #0x28]
strh r0, [r1] @ us.qDirX = COS_24_8((transform->rotation + gUnknown_03001944) & ONE_CYCLE); strh r0, [r1] @ us.qDirX = COS_24_8((transform->rotation + gSpriteTransformRotation) & ONE_CYCLE);
movs r3, #0xa movs r3, #0xa
add r3, sp add r3, sp
mov r8, r3 @ r8 = r3 = &us.qDirY mov r8, r3 @ r8 = r3 = &us.qDirY
ldrh r0, [r6] @ r0 = transform->rotation ldrh r0, [r6] @ r0 = transform->rotation
ldr r5, _0800512C @ =gUnknown_03001944 ldr r5, _sa2_0800512C @ =gSpriteTransformRotation
ldrh r1, [r5] ldrh r1, [r5]
adds r0, r0, r1 adds r0, r0, r1
ands r0, r2 ands r0, r2
@@ -58,25 +58,25 @@ _08004E30:
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x16 asrs r0, r0, #0x16
strh r0, [r3] @ us.qDirY = SIN_24_8((transform->rotation + gUnknown_03001944) & ONE_CYCLE); strh r0, [r3] @ us.qDirY = SIN_24_8((transform->rotation + gSpriteTransformRotation) & ONE_CYCLE);
add r7, sp, #0xc @ r7 = us->unkC[0] add r7, sp, #0xc @ r7 = us->unkC[0]
movs r0, #2 movs r0, #2
ldrsh r1, [r6, r0] @ r1 = transform->width ldrsh r1, [r6, r0] @ r1 = transform->width
ldr r2, _08005138 @ =gUnknown_030017F0 ldr r2, _sa2_08005138 @ =gSpriteTransformScaleX
ldrh r0, [r2] ldrh r0, [r2]
muls r0, r1, r0 muls r0, r1, r0
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r7] @ us->unkC[0] = ((transform->width * gUnknown_030017F0) >> 8) strh r0, [r7] @ us->unkC[0] = ((transform->width * gSpriteTransformScaleX) >> 8)
movs r3, #0xe movs r3, #0xe
add r3, sp add r3, sp
mov sl, r3 mov sl, r3
movs r5, #4 movs r5, #4
ldrsh r1, [r6, r5] @ r1 = transform->height ldrsh r1, [r6, r5] @ r1 = transform->height
ldr r2, _0800513C @ =gUnknown_03005394 ldr r2, _sa2_0800513C @ =gSpriteTransformScaleY
ldrh r0, [r2] ldrh r0, [r2]
muls r0, r1, r0 muls r0, r1, r0
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r3] @ us->unkC[1] = ((transform->height * gUnknown_03005394) >> 8); strh r0, [r3] @ us->unkC[1] = ((transform->height * gSpriteTransformScaleY) >> 8);
movs r5, #0x80 movs r5, #0x80
lsls r5, r5, #9 lsls r5, r5, #9
ldrh r1, [r7] @ r1 = us->unkC[0] ldrh r1, [r7] @ r1 = us->unkC[0]
@@ -142,25 +142,25 @@ _08004E30:
ldrsh r0, [r6, r1] @ r0 = transform->width ldrsh r0, [r6, r1] @ r0 = transform->width
str r0, [sp, #0x2c] str r0, [sp, #0x2c]
cmp r0, #0 cmp r0, #0
bge _08004F48 bge _sa2_08004F48
movs r2, #2 movs r2, #2
ldrsh r0, [r6, r2] ldrsh r0, [r6, r2]
rsbs r0, r0, #0 rsbs r0, r0, #0
ldr r3, _08005138 @ =gUnknown_030017F0 ldr r3, _sa2_08005138 @ =gSpriteTransformScaleX
ldrh r1, [r3] ldrh r1, [r3]
muls r0, r1, r0 muls r0, r1, r0
asrs r0, r0, #8 asrs r0, r0, #8
strh r0, [r7] @ us->unkC[0] = I(-transform->width * gUnknown_030017F0); strh r0, [r7] @ us->unkC[0] = I(-transform->width * gSpriteTransformScaleX);
_08004F48: _sa2_08004F48:
movs r4, #4 movs r4, #4
ldrsh r0, [r6, r4] ldrsh r0, [r6, r4]
ldr r5, _0800513C @ =gUnknown_03005394 ldr r5, _sa2_0800513C @ =gSpriteTransformScaleY
ldrh r4, [r5] ldrh r4, [r5]
ldrh r2, [r6, #4] ldrh r2, [r6, #4]
mov r1, sp mov r1, sp
strh r2, [r1, #0x3c] @ sp3C = (u16)transform->height strh r2, [r1, #0x3c] @ sp3C = (u16)transform->height
cmp r0, #0 cmp r0, #0
bge _08004F6A bge _sa2_08004F6A
movs r3, #4 movs r3, #4
ldrsh r0, [r6, r3] ldrsh r0, [r6, r3]
rsbs r0, r0, #0 rsbs r0, r0, #0
@@ -168,8 +168,8 @@ _08004F48:
asrs r0, r0, #8 asrs r0, r0, #8
mov r4, sl @ r4 = sl = &us->unkC[1] mov r4, sl @ r4 = sl = &us->unkC[1]
strh r0, [r4] strh r0, [r4]
ldrh r4, [r5] @ r4 = gUnknown_03005394 ldrh r4, [r5] @ r4 = gSpriteTransformScaleY
_08004F6A: _sa2_08004F6A:
mov r2, sp @ r2 = &us mov r2, sp @ r2 = &us
ldr r5, [sp, #0x28] ldr r5, [sp, #0x28]
ldrh r1, [r5] @ r1 = us->qDirX ldrh r1, [r5] @ r1 = us->qDirX
@@ -224,49 +224,49 @@ _08004F6A:
strh r0, [r3] @ us.unk0[3] = I(+us.qDirX * us.unkC[1]); strh r0, [r3] @ us.unk0[3] = I(+us.qDirX * us.unkC[1]);
add r0, sp, #0x18 add r0, sp, #0x18
mov r8, r0 @ r8 = &us.unk18[0][0] mov r8, r0 @ r8 = &us.unk18[0][0]
ldr r1, _0800512C @ =gUnknown_03001944 ldr r1, _sa2_0800512C @ =gSpriteTransformRotation
ldrh r0, [r1] ldrh r0, [r1]
movs r2, #0x80 movs r2, #0x80
lsls r2, r2, #1 lsls r2, r2, #1
adds r0, r0, r2 adds r0, r0, r2
lsls r0, r0, #1 lsls r0, r0, #1
ldr r3, _08005134 @ =gSineTable ldr r3, _sa2_08005134 @ =gSineTable
adds r0, r0, r3 adds r0, r0, r3
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x16 asrs r0, r0, #0x16
ldr r5, _08005138 @ =gUnknown_030017F0 ldr r5, _sa2_08005138 @ =gSpriteTransformScaleX
ldrh r1, [r5] ldrh r1, [r5]
adds r2, r0, #0 adds r2, r0, #0
muls r2, r1, r2 muls r2, r1, r2
lsls r2, r2, #8 lsls r2, r2, #8
asrs r2, r2, #0x10 @ r2 = (COS_24_8(gUnknown_03001944) * gUnknown_030017F0) asrs r2, r2, #0x10 @ r2 = (COS_24_8(gSpriteTransformRotation) * gSpriteTransformScaleX)
ldrh r0, [r7] ldrh r0, [r7]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x10 asrs r0, r0, #0x10
ldr r3, _08005140 @ =gUnknown_03005398 ldr r3, _sa2_08005140 @ =gSpriteTransformScaleUnknown
movs r5, #0 movs r5, #0
ldrsh r1, [r3, r5] ldrsh r1, [r3, r5]
muls r0, r1, r0 muls r0, r1, r0
lsls r0, r0, #8 @ r0 = Q(us.unkC[0] * gUnknown_03005398) lsls r0, r0, #8 @ r0 = Q(us.unkC[0] * gSpriteTransformScaleUnknown)
asrs r0, r0, #0x10 @ r0 = (Q(us.unkC[0] * gUnknown_03005398) >> 16) asrs r0, r0, #0x10 @ r0 = (Q(us.unkC[0] * gSpriteTransformScaleUnknown) >> 16)
muls r0, r2, r0 muls r0, r2, r0
asrs r0, r0, #8 @ r0 = I((COS_24_8(gUnknown_03001944) * gUnknown_030017F0) * (Q(us.unkC[0] * gUnknown_03005398) >> 16)) asrs r0, r0, #8 @ r0 = I((COS_24_8(gSpriteTransformRotation) * gSpriteTransformScaleX) * (Q(us.unkC[0] * gSpriteTransformScaleUnknown) >> 16))
mov r1, r8 mov r1, r8
strh r0, [r1] @ us.unk18[0][0] = I(r2 * r0) strh r0, [r1] @ us.unk18[0][0] = I(r2 * r0)
movs r2, #0x1a movs r2, #0x1a
add r2, sp add r2, sp
mov ip, r2 @ ip = us.unk18[0][1] mov ip, r2 @ ip = us.unk18[0][1]
ldr r5, _0800512C @ =gUnknown_03001944 ldr r5, _sa2_0800512C @ =gSpriteTransformRotation
ldrh r0, [r5] ldrh r0, [r5]
lsls r0, r0, #1 lsls r0, r0, #1
ldr r1, _08005134 @ =gSineTable ldr r1, _sa2_08005134 @ =gSineTable
adds r0, r0, r1 adds r0, r0, r1
movs r2, #0 movs r2, #0
ldrsh r0, [r0, r2] ldrsh r0, [r0, r2]
rsbs r0, r0, #0 rsbs r0, r0, #0
asrs r0, r0, #6 @ r0 = (SIN(-gUnknown_03001944) >> 6) asrs r0, r0, #6 @ r0 = (SIN(-gSpriteTransformRotation) >> 6)
ldr r5, _08005138 @ =gUnknown_030017F0 ldr r5, _sa2_08005138 @ =gSpriteTransformScaleX
ldrh r1, [r5] ldrh r1, [r5]
adds r2, r0, #0 adds r2, r0, #0
muls r2, r1, r2 muls r2, r1, r2
@@ -285,17 +285,17 @@ _08004F6A:
mov r1, ip mov r1, ip
strh r0, [r1] @ us.unk18[0][1] = strh r0, [r1] @ us.unk18[0][1] =
add r5, sp, #0x1c add r5, sp, #0x1c
ldr r2, _0800512C @ =gUnknown_03001944 ldr r2, _sa2_0800512C @ =gSpriteTransformRotation
ldrh r0, [r2] ldrh r0, [r2]
lsls r0, r0, #1 lsls r0, r0, #1
ldr r7, _08005134 @ =gSineTable ldr r7, _sa2_08005134 @ =gSineTable
adds r0, r0, r7 adds r0, r0, r7
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x16 asrs r0, r0, #0x16
adds r2, r0, #0 @ r2 = SIN_24_8(gUnknown_03001944) adds r2, r0, #0 @ r2 = SIN_24_8(gSpriteTransformRotation)
muls r2, r4, r2 @ r2 *= gUnknown_03005394 muls r2, r4, r2 @ r2 *= gSpriteTransformScaleY
lsls r2, r2, #8 @ r2 = Q(+SIN_24_8(gUnknown_03001944) * gUnknown_03005394) lsls r2, r2, #8 @ r2 = Q(+SIN_24_8(gSpriteTransformRotation) * gSpriteTransformScaleY)
asrs r2, r2, #0x10 asrs r2, r2, #0x10
mov r1, sl @ r1 = sl = &us->unkC[1] mov r1, sl @ r1 = sl = &us->unkC[1]
ldrh r0, [r1] ldrh r0, [r1]
@@ -311,18 +311,18 @@ _08004F6A:
strh r0, [r5] @ us.unk18[1][0] = strh r0, [r5] @ us.unk18[1][0] =
mov r4, sp mov r4, sp
adds r4, #0x1e adds r4, #0x1e
ldr r7, _0800512C @ =gUnknown_03001944 ldr r7, _sa2_0800512C @ =gSpriteTransformRotation
ldrh r0, [r7] ldrh r0, [r7]
movs r1, #0x80 movs r1, #0x80
lsls r1, r1, #1 lsls r1, r1, #1
adds r0, r0, r1 adds r0, r0, r1
lsls r0, r0, #1 lsls r0, r0, #1
ldr r2, _08005134 @ =gSineTable ldr r2, _sa2_08005134 @ =gSineTable
adds r0, r0, r2 adds r0, r0, r2
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x16 asrs r0, r0, #0x16
ldr r7, _0800513C @ =gUnknown_03005394 ldr r7, _sa2_0800513C @ =gSpriteTransformScaleY
ldrh r1, [r7] ldrh r1, [r7]
adds r2, r0, #0 adds r2, r0, #0
muls r2, r1, r2 muls r2, r1, r2
@@ -355,13 +355,13 @@ _08004F6A:
ldrsh r2, [r6, r7] @ r2 = transform.y ldrsh r2, [r6, r7] @ r2 = transform.y
muls r0, r2, r0 @ r0 = transform.y * us.unk18[0][1] muls r0, r2, r0 @ r0 = transform.y * us.unk18[0][1]
adds r1, r1, r0 @ r1 = r1 + r0 adds r1, r1, r0 @ r1 = r1 + r0
ldr r0, _08005144 @ =gUnknown_0300194C ldr r0, _sa2_08005144 @ =gSpriteTransformX
movs r2, #0 movs r2, #0
ldrsh r0, [r0, r2] ldrsh r0, [r0, r2]
lsls r0, r0, #8 lsls r0, r0, #8
adds r1, r1, r0 @ r1 += Q(gUnknown_0300194C) adds r1, r1, r0 @ r1 += Q(gSpriteTransformX)
asrs r1, r1, #8 @ r1 = I(r1) asrs r1, r1, #8 @ r1 = I(r1)
str r1, [sp, #0x10] @ us.posX = I(transform.x * us.unk18[0][0] + transform.y * us.unk18[0][1] + Q(gUnknown_0300194C)) str r1, [sp, #0x10] @ us.posX = I(transform.x * us.unk18[0][0] + transform.y * us.unk18[0][1] + Q(gSpriteTransformX))
ldrh r0, [r5] @ r0 = us.unk18[1][0] ldrh r0, [r5] @ r0 = us.unk18[1][0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
asrs r0, r0, #0x10 asrs r0, r0, #0x10
@@ -375,35 +375,35 @@ _08004F6A:
ldrsh r2, [r6, r4] @ r2 = transform.y ldrsh r2, [r6, r4] @ r2 = transform.y
muls r0, r2, r0 @ r0 = transform.y * us.unk18[1][1] muls r0, r2, r0 @ r0 = transform.y * us.unk18[1][1]
adds r1, r1, r0 @ r1 = r1 + r0 adds r1, r1, r0 @ r1 = r1 + r0
ldr r0, _08005148 @ =gUnknown_03002820 ldr r0, _sa2_08005148 @ =gSpriteTransformY
movs r5, #0 movs r5, #0
ldrsh r0, [r0, r5] ldrsh r0, [r0, r5]
lsls r0, r0, #8 lsls r0, r0, #8
adds r1, r1, r0 adds r1, r1, r0
asrs r1, r1, #8 asrs r1, r1, #8
str r1, [sp, #0x14] @ us.posY = I(transform.x * us.unk18[1][0] + transform.y * us.unk18[1][1] + Q(gUnknown_0300194C)); str r1, [sp, #0x14] @ us.posY = I(transform.x * us.unk18[1][0] + transform.y * us.unk18[1][1] + Q(gSpriteTransformX));
ldr r6, [sp, #0x30] @ r6 = &us.unk0[1] ldr r6, [sp, #0x30] @ r6 = &us.unk0[1]
ldr r7, [sp, #0x34] @ r7 = &us.unk0[2] ldr r7, [sp, #0x34] @ r7 = &us.unk0[2]
ldr r0, [sp, #0x38] @ r0 = &us.unk0[3] ldr r0, [sp, #0x38] @ r0 = &us.unk0[3]
mov r8, r0 @ r8 = r0 mov r8, r0 @ r8 = r0
ldr r1, [sp, #0x2c] @ r1 = transform->width ldr r1, [sp, #0x2c] @ r1 = transform->width
cmp r1, #0 cmp r1, #0
ble _0800514C ble _sa2_0800514C
mov r2, sb @ r2 = sb = sprDims mov r2, sb @ r2 = sb = sprDims
ldrh r4, [r2, #8] @ r4 = offsetX ldrh r4, [r2, #8] @ r4 = offsetX
ldrh r2, [r2, #4] @ r2 = width ldrh r2, [r2, #4] @ r2 = width
b _0800515A b _sa2_0800515A
.align 2, 0 .align 2, 0
_08005128: .4byte gOamBuffer + 0x6 _sa2_08005128: .4byte gOamBuffer + 0x6
_0800512C: .4byte gUnknown_03001944 _sa2_0800512C: .4byte gSpriteTransformRotation
_08005130: .4byte 0x000003FF _sa2_08005130: .4byte 0x000003FF
_08005134: .4byte gSineTable _sa2_08005134: .4byte gSineTable
_08005138: .4byte gUnknown_030017F0 _sa2_08005138: .4byte gSpriteTransformScaleX
_0800513C: .4byte gUnknown_03005394 _sa2_0800513C: .4byte gSpriteTransformScaleY
_08005140: .4byte gUnknown_03005398 _sa2_08005140: .4byte gSpriteTransformScaleUnknown
_08005144: .4byte gUnknown_0300194C _sa2_08005144: .4byte gSpriteTransformX
_08005148: .4byte gUnknown_03002820 _sa2_08005148: .4byte gSpriteTransformY
_0800514C: _sa2_0800514C:
mov r3, sb @ r3 = sb = sprDims mov r3, sb @ r3 = sb = sprDims
ldrh r1, [r3, #4] ldrh r1, [r3, #4]
ldrh r0, [r3, #8] ldrh r0, [r3, #8]
@@ -411,17 +411,17 @@ _0800514C:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r4, r0, #0x10 @ r4 = offsetX lsrs r4, r0, #0x10 @ r4 = offsetX
adds r2, r1, #0 @ r2 = width adds r2, r1, #0 @ r2 = width
_0800515A: _sa2_0800515A:
mov r5, sp mov r5, sp
ldrh r5, [r5, #0x3c] @ r5 = (u16)transform->height ldrh r5, [r5, #0x3c] @ r5 = (u16)transform->height
lsls r0, r5, #0x10 lsls r0, r5, #0x10
cmp r0, #0 cmp r0, #0
ble _0800516C ble _sa2_0800516C
mov r0, sb @ r0 = sb = sprDims mov r0, sb @ r0 = sb = sprDims
ldrh r3, [r0, #0xa] @ r3 = offsetY = sprDims->offsetY ldrh r3, [r0, #0xa] @ r3 = offsetY = sprDims->offsetY
ldrh r5, [r0, #6] @ r5 = height = sprDims->height ldrh r5, [r0, #6] @ r5 = height = sprDims->height
b _0800517A b _sa2_0800517A
_0800516C: _sa2_0800516C:
mov r3, sb @ r3 = sb = sprDims mov r3, sb @ r3 = sb = sprDims
ldrh r1, [r3, #6] ldrh r1, [r3, #6]
ldrh r0, [r3, #0xa] ldrh r0, [r3, #0xa]
@@ -429,7 +429,7 @@ _0800516C:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r3, r0, #0x10 @ r3 = offsetY = sprDims->height - sprDims->offsetY lsrs r3, r0, #0x10 @ r3 = offsetY = sprDims->height - sprDims->offsetY
adds r5, r1, #0 @ r5 = height = sprDims->height adds r5, r1, #0 @ r5 = height = sprDims->height
_0800517A: _sa2_0800517A:
mov r0, sp @ r0 = sp = us mov r0, sp @ r0 = sp = us
ldrh r0, [r0] ldrh r0, [r0]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
@@ -477,7 +477,7 @@ _0800517A:
strh r0, [r5, #0x16] @ sprite.x = us.posX strh r0, [r5, #0x16] @ sprite.x = us.posX
ldr r0, [sp, #0x14] ldr r0, [sp, #0x14]
strh r0, [r5, #0x18] @ sprite.y = us.posY strh r0, [r5, #0x18] @ sprite.y = us.posY
_080051D8: _sa2_080051D8:
add sp, #0x40 add sp, #0x40
pop {r3, r4, r5} pop {r3, r4, r5}
mov r8, r3 mov r8, r3
@@ -47,22 +47,22 @@
lsrs r5, r0, #0x10 lsrs r5, r0, #0x10
asrs r2, r0, #0x10 asrs r2, r0, #0x10
cmp r2, #0 cmp r2, #0
beq _08005CB6 beq _sa2_08005CB6
movs r0, #0x80 movs r0, #0x80
lsls r0, r0, #1 lsls r0, r0, #1
cmp r2, r0 cmp r2, r0
bne _08005CC8 bne _sa2_08005CC8
_08005CB6: _sa2_08005CB6:
ldr r0, _08005CC4 @ =gFlags ldr r0, _sa2_08005CC4 @ =gFlags
ldr r1, [r0] ldr r1, [r0]
movs r2, #5 movs r2, #5
rsbs r2, r2, #0 rsbs r2, r2, #0
ands r1, r2 ands r1, r2
str r1, [r0] str r1, [r0]
b _08005F9E b _sa2_08005F9E
.align 2, 0 .align 2, 0
_08005CC4: .4byte gFlags _sa2_08005CC4: .4byte gFlags
_08005CC8: _sa2_08005CC8:
ldr r3, [sp, #0xc] ldr r3, [sp, #0xc]
mov r4, ip mov r4, ip
subs r0, r3, r4 subs r0, r3, r4
@@ -73,7 +73,7 @@ _08005CC8:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r3, r0, #0x10 lsrs r3, r0, #0x10
cmp r2, #0 cmp r2, #0
bge _08005D08 bge _sa2_08005D08
movs r0, #0xff movs r0, #0xff
str r0, [sp, #0x14] str r0, [sp, #0x14]
rsbs r0, r2, #0 rsbs r0, r2, #0
@@ -95,7 +95,7 @@ _08005CC8:
lsls r0, r3, #0x10 lsls r0, r3, #0x10
eors r0, r1 eors r0, r1
lsrs r1, r0, #0x10 lsrs r1, r0, #0x10
_08005D08: _sa2_08005D08:
lsls r0, r1, #0x10 lsls r0, r1, #0x10
asrs r4, r0, #0x10 asrs r4, r0, #0x10
lsls r1, r5, #0x10 lsls r1, r5, #0x10
@@ -118,7 +118,7 @@ _08005D08:
lsls r5, r5, #0x18 lsls r5, r5, #0x18
str r5, [sp, #0x24] str r5, [sp, #0x24]
cmp r0, r2 cmp r0, r2
bge _08005D7C bge _sa2_08005D7C
mov r3, sl mov r3, sl
lsls r0, r7, #8 lsls r0, r7, #8
muls r0, r4, r0 muls r0, r4, r0
@@ -129,17 +129,17 @@ _08005D08:
lsrs r0, r0, #0x18 lsrs r0, r0, #0x18
mov sl, r0 mov sl, r0
lsls r1, r3, #2 lsls r1, r3, #2
ldr r7, _08005E28 @ =gBgOffsetsHBlankPrimary ldr r7, _sa2_08005E28 @ =gBgOffsetsHBlankPrimary
ldr r0, [r7] ldr r0, [r7]
adds r4, r0, r1 adds r4, r0, r1
mov r0, ip mov r0, ip
subs r5, r0, r3 subs r5, r0, r3
ldr r1, _08005E2C @ =0x000001FF ldr r1, _sa2_08005E2C @ =0x000001FF
adds r0, r1, #0 adds r0, r1, #0
ands r5, r0 ands r5, r0
cmp r3, sl cmp r3, sl
bhs _08005D7C bhs _sa2_08005D7C
_08005D5E: _sa2_08005D5E:
mov r2, sp mov r2, sp
ldrh r2, [r2, #0x10] ldrh r2, [r2, #0x10]
strh r2, [r4] strh r2, [r4]
@@ -154,8 +154,8 @@ _08005D5E:
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r3, r0, #0x18 lsrs r3, r0, #0x18
cmp r3, sl cmp r3, sl
blo _08005D5E blo _sa2_08005D5E
_08005D7C: _sa2_08005D7C:
mov r3, r8 mov r3, r8
asrs r2, r3, #0x10 asrs r2, r3, #0x10
ldr r4, [sp, #0x20] ldr r4, [sp, #0x20]
@@ -171,7 +171,7 @@ _08005D7C:
mov sb, r7 mov sb, r7
ldr r3, [sp, #0x28] ldr r3, [sp, #0x28]
cmp r0, r3 cmp r0, r3
bge _08005DE4 bge _sa2_08005DE4
ldr r7, [sp, #8] ldr r7, [sp, #8]
lsls r0, r1, #8 lsls r0, r1, #8
muls r0, r2, r0 muls r0, r2, r0
@@ -183,17 +183,17 @@ _08005D7C:
str r0, [sp, #8] str r0, [sp, #8]
adds r3, r0, #0 adds r3, r0, #0
lsls r1, r0, #2 lsls r1, r0, #2
ldr r4, _08005E28 @ =gBgOffsetsHBlankPrimary ldr r4, _sa2_08005E28 @ =gBgOffsetsHBlankPrimary
ldr r0, [r4] ldr r0, [r4]
adds r4, r0, r1 adds r4, r0, r1
ldr r0, [sp, #4] ldr r0, [sp, #4]
subs r5, r0, r3 subs r5, r0, r3
ldr r1, _08005E2C @ =0x000001FF ldr r1, _sa2_08005E2C @ =0x000001FF
adds r0, r1, #0 adds r0, r1, #0
ands r5, r0 ands r5, r0
cmp r3, r7 cmp r3, r7
bhs _08005DE4 bhs _sa2_08005DE4
_08005DC6: _sa2_08005DC6:
mov r2, sp mov r2, sp
ldrh r2, [r2, #0x10] ldrh r2, [r2, #0x10]
strh r2, [r4] strh r2, [r4]
@@ -208,21 +208,21 @@ _08005DC6:
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r3, r0, #0x18 lsrs r3, r0, #0x18
cmp r3, r7 cmp r3, r7
blo _08005DC6 blo _sa2_08005DC6
_08005DE4: _sa2_08005DE4:
ldr r3, _08005E30 @ =gFlags ldr r3, _sa2_08005E30 @ =gFlags
ldr r0, [r3] ldr r0, [r3]
movs r1, #4 movs r1, #4
orrs r0, r1 orrs r0, r1
str r0, [r3] str r0, [r3]
ldr r4, [sp, #0x1c] ldr r4, [sp, #0x1c]
ldr r5, _08005E34 @ =0x04000010 ldr r5, _sa2_08005E34 @ =0x04000010
adds r0, r4, r5 adds r0, r4, r5
ldr r7, _08005E38 @ =gHBlankCopyTarget ldr r7, _sa2_08005E38 @ =gHBlankCopyTarget
str r0, [r7] str r0, [r7]
ldr r0, _08005E3C @ =gHBlankCopySize ldr r0, _sa2_08005E3C @ =gHBlankCopySize
strb r1, [r0] strb r1, [r0]
ldr r1, _08005E28 @ =gBgOffsetsHBlankPrimary ldr r1, _sa2_08005E28 @ =gBgOffsetsHBlankPrimary
ldr r0, [r1] ldr r0, [r1]
mov r2, sb mov r2, sb
adds r4, r0, r2 adds r4, r0, r2
@@ -238,24 +238,24 @@ _08005DE4:
movs r0, #1 movs r0, #1
rsbs r0, r0, #0 rsbs r0, r0, #0
cmp r1, r0 cmp r1, r0
beq _08005E40 beq _sa2_08005E40
ldr r1, [sp, #0xc] ldr r1, [sp, #0xc]
subs r0, r1, r2 subs r0, r1, r2
b _08005E44 b _sa2_08005E44
.align 2, 0 .align 2, 0
_08005E28: .4byte gBgOffsetsHBlankPrimary _sa2_08005E28: .4byte gBgOffsetsHBlankPrimary
_08005E2C: .4byte 0x000001FF _sa2_08005E2C: .4byte 0x000001FF
_08005E30: .4byte gFlags _sa2_08005E30: .4byte gFlags
_08005E34: .4byte 0x04000010 _sa2_08005E34: .4byte 0x04000010
_08005E38: .4byte gHBlankCopyTarget _sa2_08005E38: .4byte gHBlankCopyTarget
_08005E3C: .4byte gHBlankCopySize _sa2_08005E3C: .4byte gHBlankCopySize
_08005E40: _sa2_08005E40:
ldr r1, [sp, #0xc] ldr r1, [sp, #0xc]
adds r0, r1, r2 adds r0, r1, r2
_08005E44: _sa2_08005E44:
mov r3, sl mov r3, sl
subs r5, r0, r3 subs r5, r0, r3
ldr r7, _08005EEC @ =0x000001FF ldr r7, _sa2_08005EEC @ =0x000001FF
adds r0, r7, #0 adds r0, r7, #0
ands r5, r0 ands r5, r0
ldr r0, [sp, #0x20] ldr r0, [sp, #0x20]
@@ -267,7 +267,7 @@ _08005E44:
lsrs r6, r0, #0x10 lsrs r6, r0, #0x10
asrs r1, r0, #0x10 asrs r1, r0, #0x10
cmp r1, #0 cmp r1, #0
beq _08005E72 beq _sa2_08005E72
ldr r2, [sp, #0x24] ldr r2, [sp, #0x24]
asrs r0, r2, #0x18 asrs r0, r2, #0x18
subs r0, r5, r0 subs r0, r5, r0
@@ -276,24 +276,24 @@ _08005E44:
subs r0, r7, r1 subs r0, r7, r1
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r6, r0, #0x10 lsrs r6, r0, #0x10
_08005E72: _sa2_08005E72:
movs r3, #0x80 movs r3, #0x80
lsls r3, r3, #1 lsls r3, r3, #1
mov r8, r3 mov r8, r3
cmp r7, r8 cmp r7, r8
ble _08005EF0 ble _sa2_08005EF0
mov r3, sl mov r3, sl
ldr r0, [sp, #8] ldr r0, [sp, #8]
cmp r3, r0 cmp r3, r0
blo _08005E86 blo _sa2_08005E86
b _08005F9E b _sa2_08005F9E
_08005E86: _sa2_08005E86:
ldr r1, [sp, #0x20] ldr r1, [sp, #0x20]
mov sl, r1 mov sl, r1
mov sb, r7 mov sb, r7
ldr r2, _08005EEC @ =0x000001FF ldr r2, _sa2_08005EEC @ =0x000001FF
mov ip, r2 mov ip, r2
_08005E90: _sa2_08005E90:
mov r7, sp mov r7, sp
ldrh r7, [r7, #0x10] ldrh r7, [r7, #0x10]
strh r7, [r4] strh r7, [r4]
@@ -316,10 +316,10 @@ _08005E90:
adds r3, #1 adds r3, #1
mov r8, r3 mov r8, r3
cmp r0, sb cmp r0, sb
ble _08005EDA ble _sa2_08005EDA
ldr r0, [sp, #0x24] ldr r0, [sp, #0x24]
asrs r3, r0, #0x18 asrs r3, r0, #0x18
_08005EC2: _sa2_08005EC2:
adds r0, r5, r3 adds r0, r5, r3
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r5, r0, #0x10 lsrs r5, r0, #0x10
@@ -331,8 +331,8 @@ _08005EC2:
lsls r2, r6, #0x10 lsls r2, r6, #0x10
asrs r0, r2, #0x10 asrs r0, r2, #0x10
cmp r0, r1 cmp r0, r1
bgt _08005EC2 bgt _sa2_08005EC2
_08005EDA: _sa2_08005EDA:
mov r1, ip mov r1, ip
ands r5, r1 ands r5, r1
mov r2, r8 mov r2, r8
@@ -340,11 +340,11 @@ _08005EDA:
lsrs r3, r0, #0x18 lsrs r3, r0, #0x18
ldr r7, [sp, #8] ldr r7, [sp, #8]
cmp r3, r7 cmp r3, r7
blo _08005E90 blo _sa2_08005E90
b _08005F9E b _sa2_08005F9E
.align 2, 0 .align 2, 0
_08005EEC: .4byte 0x000001FF _sa2_08005EEC: .4byte 0x000001FF
_08005EF0: _sa2_08005EF0:
movs r0, #0x80 movs r0, #0x80
lsls r0, r0, #9 lsls r0, r0, #9
adds r1, r7, #0 adds r1, r7, #0
@@ -367,7 +367,7 @@ _08005EF0:
movs r0, #1 movs r0, #1
rsbs r0, r0, #0 rsbs r0, r0, #0
cmp r1, r0 cmp r1, r0
bne _08005F30 bne _sa2_08005F30
mov r1, sb mov r1, sb
lsls r0, r1, #0x10 lsls r0, r1, #0x10
movs r3, #0x80 movs r3, #0x80
@@ -376,18 +376,18 @@ _08005EF0:
rsbs r0, r0, #0 rsbs r0, r0, #0
lsrs r0, r0, #0x10 lsrs r0, r0, #0x10
mov sb, r0 mov sb, r0
_08005F30: _sa2_08005F30:
mov r3, sl mov r3, sl
ldr r0, [sp, #8] ldr r0, [sp, #8]
cmp r3, r0 cmp r3, r0
bhs _08005F9E bhs _sa2_08005F9E
lsls r0, r2, #0x10 lsls r0, r2, #0x10
asrs r0, r0, #0x10 asrs r0, r0, #0x10
str r0, [sp, #0x18] str r0, [sp, #0x18]
ldr r1, [sp, #0x20] ldr r1, [sp, #0x20]
mov ip, r1 mov ip, r1
mov sl, r7 mov sl, r7
_08005F44: _sa2_08005F44:
mov r2, sp mov r2, sp
ldrh r2, [r2, #0x10] ldrh r2, [r2, #0x10]
strh r2, [r4] strh r2, [r4]
@@ -410,10 +410,10 @@ _08005F44:
adds r3, #1 adds r3, #1
mov r8, r3 mov r8, r3
cmp r0, sl cmp r0, sl
ble _08005F8E ble _sa2_08005F8E
ldr r0, [sp, #0x24] ldr r0, [sp, #0x24]
asrs r3, r0, #0x18 asrs r3, r0, #0x18
_08005F76: _sa2_08005F76:
adds r0, r5, r3 adds r0, r5, r3
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r5, r0, #0x10 lsrs r5, r0, #0x10
@@ -425,17 +425,17 @@ _08005F76:
lsls r2, r6, #0x10 lsls r2, r6, #0x10
asrs r0, r2, #0x10 asrs r0, r2, #0x10
cmp r0, r1 cmp r0, r1
bgt _08005F76 bgt _sa2_08005F76
_08005F8E: _sa2_08005F8E:
ldr r1, _08005FB0 @ =0x000001FF ldr r1, _sa2_08005FB0 @ =0x000001FF
ands r5, r1 ands r5, r1
mov r2, r8 mov r2, r8
lsls r0, r2, #0x18 lsls r0, r2, #0x18
lsrs r3, r0, #0x18 lsrs r3, r0, #0x18
ldr r7, [sp, #8] ldr r7, [sp, #8]
cmp r3, r7 cmp r3, r7
blo _08005F44 blo _sa2_08005F44
_08005F9E: _sa2_08005F9E:
add sp, #0x2c add sp, #0x2c
pop {r3, r4, r5} pop {r3, r4, r5}
mov r8, r3 mov r8, r3
@@ -445,7 +445,7 @@ _08005F9E:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08005FB0: .4byte 0x000001FF _sa2_08005FB0: .4byte 0x000001FF
@ Unused @ Unused
@@ -19,55 +19,55 @@
lsrs r2, r3, #0x18 lsrs r2, r3, #0x18
lsls r4, r4, #0x18 lsls r4, r4, #0x18
lsrs r4, r4, #0x18 lsrs r4, r4, #0x18
ldr r1, _08005FF8 @ =gFlags ldr r1, _sa2_08005FF8 @ =gFlags
ldr r0, [r1] ldr r0, [r1]
movs r7, #4 movs r7, #4
orrs r0, r7 orrs r0, r7
str r0, [r1] str r0, [r1]
cmp r6, #1 cmp r6, #1
bls _08006010 bls _sa2_08006010
ldr r1, _08005FFC @ =gHBlankCopySize ldr r1, _sa2_08005FFC @ =gHBlankCopySize
strb r7, [r1] strb r7, [r1]
movs r0, #1 movs r0, #1
ands r0, r6 ands r0, r6
cmp r0, #0 cmp r0, #0
beq _08006004 beq _sa2_08006004
ldr r0, _08006000 @ =gBgOffsetsHBlankPrimary ldr r0, _sa2_08006000 @ =gBgOffsetsHBlankPrimary
ldr r0, [r0] ldr r0, [r0]
adds r3, r0, #2 adds r3, r0, #2
b _08006038 b _sa2_08006038
.align 2, 0 .align 2, 0
_08005FF8: .4byte gFlags _sa2_08005FF8: .4byte gFlags
_08005FFC: .4byte gHBlankCopySize _sa2_08005FFC: .4byte gHBlankCopySize
_08006000: .4byte gBgOffsetsHBlankPrimary _sa2_08006000: .4byte gBgOffsetsHBlankPrimary
_08006004: _sa2_08006004:
ldr r0, _0800600C @ =gBgOffsetsHBlankPrimary ldr r0, _sa2_0800600C @ =gBgOffsetsHBlankPrimary
ldr r3, [r0] ldr r3, [r0]
b _08006038 b _sa2_08006038
.align 2, 0 .align 2, 0
_0800600C: .4byte gBgOffsetsHBlankPrimary _sa2_0800600C: .4byte gBgOffsetsHBlankPrimary
_08006010: _sa2_08006010:
ldr r1, _08006028 @ =gHBlankCopySize ldr r1, _sa2_08006028 @ =gHBlankCopySize
movs r0, #2 movs r0, #2
strb r0, [r1] strb r0, [r1]
ldr r0, _0800602C @ =gBgOffsetsHBlankPrimary ldr r0, _sa2_0800602C @ =gBgOffsetsHBlankPrimary
ldr r3, [r0] ldr r3, [r0]
movs r0, #1 movs r0, #1
ands r0, r6 ands r0, r6
cmp r0, #0 cmp r0, #0
beq _08006038 beq _sa2_08006038
ldr r1, _08006030 @ =gHBlankCopyTarget ldr r1, _sa2_08006030 @ =gHBlankCopyTarget
ldr r0, _08006034 @ =0x04000042 ldr r0, _sa2_08006034 @ =0x04000042
b _0800603C b _sa2_0800603C
.align 2, 0 .align 2, 0
_08006028: .4byte gHBlankCopySize _sa2_08006028: .4byte gHBlankCopySize
_0800602C: .4byte gBgOffsetsHBlankPrimary _sa2_0800602C: .4byte gBgOffsetsHBlankPrimary
_08006030: .4byte gHBlankCopyTarget _sa2_08006030: .4byte gHBlankCopyTarget
_08006034: .4byte 0x04000042 _sa2_08006034: .4byte 0x04000042
_08006038: _sa2_08006038:
ldr r1, _080060A0 @ =gHBlankCopyTarget ldr r1, _sa2_080060A0 @ =gHBlankCopyTarget
ldr r0, _080060A4 @ =0x04000040 ldr r0, _sa2_080060A4 @ =0x04000040
_0800603C: _sa2_0800603C:
str r0, [r1] str r0, [r1]
subs r1, r2, r5 subs r1, r2, r5
mov r2, sl mov r2, sl
@@ -78,9 +78,9 @@ _0800603C:
asrs r2, r7, #0x10 asrs r2, r7, #0x10
adds r0, r2, #0 adds r0, r2, #0
cmp r2, #0 cmp r2, #0
bge _08006054 bge _sa2_08006054
rsbs r0, r2, #0 rsbs r0, r2, #0
_08006054: _sa2_08006054:
lsls r0, r0, #0x11 lsls r0, r0, #0x11
lsrs r0, r0, #0x10 lsrs r0, r0, #0x10
mov r8, r0 mov r8, r0
@@ -89,13 +89,13 @@ _08006054:
adds r4, r1, #0 adds r4, r1, #0
mov sb, r0 mov sb, r0
cmp r1, #0 cmp r1, #0
bge _08006068 bge _sa2_08006068
rsbs r4, r1, #0 rsbs r4, r1, #0
_08006068: _sa2_08006068:
lsls r0, r4, #0x11 lsls r0, r4, #0x11
lsrs r0, r0, #0x10 lsrs r0, r0, #0x10
mov ip, r0 mov ip, r0
ldr r4, _080060A8 @ =gHBlankCopySize ldr r4, _sa2_080060A8 @ =gHBlankCopySize
ldrb r0, [r4] ldrb r0, [r4]
mov r4, sl mov r4, sl
muls r4, r0, r4 muls r4, r0, r4
@@ -103,30 +103,30 @@ _08006068:
adds r3, r3, r0 adds r3, r3, r0
adds r6, r2, #0 adds r6, r2, #0
cmp r2, #0 cmp r2, #0
bge _08006082 bge _sa2_08006082
rsbs r6, r2, #0 rsbs r6, r2, #0
_08006082: _sa2_08006082:
adds r0, r1, #0 adds r0, r1, #0
cmp r1, #0 cmp r1, #0
bge _0800608A bge _sa2_0800608A
rsbs r0, r1, #0 rsbs r0, r1, #0
_0800608A: _sa2_0800608A:
cmp r6, r0 cmp r6, r0
ble _0800615C ble _sa2_0800615C
rsbs r0, r2, #0 rsbs r0, r2, #0
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
cmp r2, #0 cmp r2, #0
ble _080060FC ble _sa2_080060FC
strb r5, [r3, #1] strb r5, [r3, #1]
movs r2, #0 movs r2, #0
adds r6, r7, #0 adds r6, r7, #0
b _080060E4 b _sa2_080060E4
.align 2, 0 .align 2, 0
_080060A0: .4byte gHBlankCopyTarget _sa2_080060A0: .4byte gHBlankCopyTarget
_080060A4: .4byte 0x04000040 _sa2_080060A4: .4byte 0x04000040
_080060A8: .4byte gHBlankCopySize _sa2_080060A8: .4byte gHBlankCopySize
_080060AC: _sa2_080060AC:
adds r0, r5, #1 adds r0, r5, #1
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r5, r0, #0x18 lsrs r5, r0, #0x18
@@ -140,7 +140,7 @@ _080060AC:
lsrs r4, r1, #0x10 lsrs r4, r1, #0x10
asrs r1, r1, #0x10 asrs r1, r1, #0x10
cmp r1, #0 cmp r1, #0
blt _080060DE blt _sa2_080060DE
mov r4, r8 mov r4, r8
lsls r0, r4, #0x10 lsls r0, r4, #0x10
asrs r0, r0, #0x10 asrs r0, r0, #0x10
@@ -148,35 +148,35 @@ _080060AC:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
strb r5, [r3] strb r5, [r3]
ldr r1, _080060F8 @ =gHBlankCopySize ldr r1, _sa2_080060F8 @ =gHBlankCopySize
ldrb r0, [r1] ldrb r0, [r1]
adds r3, r3, r0 adds r3, r3, r0
strb r5, [r3, #1] strb r5, [r3, #1]
_080060DE: _sa2_080060DE:
adds r0, r2, #1 adds r0, r2, #1
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r2, r0, #0x10 lsrs r2, r0, #0x10
_080060E4: _sa2_080060E4:
lsls r0, r2, #0x10 lsls r0, r2, #0x10
asrs r2, r0, #0x10 asrs r2, r0, #0x10
asrs r0, r6, #0x10 asrs r0, r6, #0x10
cmp r0, #0 cmp r0, #0
bge _080060F0 bge _sa2_080060F0
rsbs r0, r0, #0 rsbs r0, r0, #0
_080060F0: _sa2_080060F0:
cmp r2, r0 cmp r2, r0
blt _080060AC blt _sa2_080060AC
strb r5, [r3] strb r5, [r3]
b _08006214 b _sa2_08006214
.align 2, 0 .align 2, 0
_080060F8: .4byte gHBlankCopySize _sa2_080060F8: .4byte gHBlankCopySize
_080060FC: _sa2_080060FC:
strb r5, [r3] strb r5, [r3]
adds r3, #1 adds r3, #1
movs r2, #0 movs r2, #0
adds r6, r7, #0 adds r6, r7, #0
b _08006142 b _sa2_08006142
_08006106: _sa2_08006106:
subs r0, r5, #1 subs r0, r5, #1
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r5, r0, #0x18 lsrs r5, r0, #0x18
@@ -190,7 +190,7 @@ _08006106:
lsrs r4, r1, #0x10 lsrs r4, r1, #0x10
asrs r1, r1, #0x10 asrs r1, r1, #0x10
cmp r1, #0 cmp r1, #0
blt _0800613C blt _sa2_0800613C
mov r4, r8 mov r4, r8
lsls r0, r4, #0x10 lsls r0, r4, #0x10
asrs r0, r0, #0x10 asrs r0, r0, #0x10
@@ -198,36 +198,36 @@ _08006106:
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
strb r5, [r3] strb r5, [r3]
ldr r1, _08006158 @ =gHBlankCopySize ldr r1, _sa2_08006158 @ =gHBlankCopySize
ldrb r0, [r1] ldrb r0, [r1]
adds r0, r0, r3 adds r0, r0, r3
subs r3, r0, #1 subs r3, r0, #1
strb r5, [r3] strb r5, [r3]
adds r3, #1 adds r3, #1
_0800613C: _sa2_0800613C:
adds r0, r2, #1 adds r0, r2, #1
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r2, r0, #0x10 lsrs r2, r0, #0x10
_08006142: _sa2_08006142:
lsls r0, r2, #0x10 lsls r0, r2, #0x10
asrs r2, r0, #0x10 asrs r2, r0, #0x10
asrs r0, r6, #0x10 asrs r0, r6, #0x10
cmp r0, #0 cmp r0, #0
bge _0800614E bge _sa2_0800614E
rsbs r0, r0, #0 rsbs r0, r0, #0
_0800614E: _sa2_0800614E:
cmp r2, r0 cmp r2, r0
blt _08006106 blt _sa2_08006106
strb r5, [r3] strb r5, [r3]
b _08006214 b _sa2_08006214
.align 2, 0 .align 2, 0
_08006158: .4byte gHBlankCopySize _sa2_08006158: .4byte gHBlankCopySize
_0800615C: _sa2_0800615C:
rsbs r0, r1, #0 rsbs r0, r1, #0
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
cmp r2, #0 cmp r2, #0
ble _080061C0 ble _sa2_080061C0
movs r2, #0 movs r2, #0
mov r1, r8 mov r1, r8
lsls r0, r1, #0x10 lsls r0, r1, #0x10
@@ -236,13 +236,13 @@ _0800615C:
mov r1, ip mov r1, ip
lsls r0, r1, #0x10 lsls r0, r1, #0x10
asrs r7, r0, #0x10 asrs r7, r0, #0x10
b _080061A8 b _sa2_080061A8
_08006178: _sa2_08006178:
adds r2, r5, #1 adds r2, r5, #1
strb r2, [r3] strb r2, [r3]
adds r3, #1 adds r3, #1
strb r5, [r3] strb r5, [r3]
ldr r1, _080061BC @ =gHBlankCopySize ldr r1, _sa2_080061BC @ =gHBlankCopySize
ldrb r0, [r1] ldrb r0, [r1]
adds r0, r0, r3 adds r0, r0, r3
subs r3, r0, #1 subs r3, r0, #1
@@ -253,31 +253,31 @@ _08006178:
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
asrs r1, r0, #0x10 asrs r1, r0, #0x10
cmp r1, #0 cmp r1, #0
blt _080061A2 blt _sa2_080061A2
lsls r0, r2, #0x18 lsls r0, r2, #0x18
lsrs r5, r0, #0x18 lsrs r5, r0, #0x18
subs r0, r1, r7 subs r0, r1, r7
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
_080061A2: _sa2_080061A2:
adds r0, r6, #1 adds r0, r6, #1
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r2, r0, #0x10 lsrs r2, r0, #0x10
_080061A8: _sa2_080061A8:
lsls r0, r2, #0x10 lsls r0, r2, #0x10
asrs r6, r0, #0x10 asrs r6, r0, #0x10
mov r2, sb mov r2, sb
asrs r0, r2, #0x10 asrs r0, r2, #0x10
cmp r0, #0 cmp r0, #0
bge _080061B6 bge _sa2_080061B6
rsbs r0, r0, #0 rsbs r0, r0, #0
_080061B6: _sa2_080061B6:
cmp r6, r0 cmp r6, r0
blt _08006178 blt _sa2_08006178
b _08006214 b _sa2_08006214
.align 2, 0 .align 2, 0
_080061BC: .4byte gHBlankCopySize _sa2_080061BC: .4byte gHBlankCopySize
_080061C0: _sa2_080061C0:
movs r2, #0 movs r2, #0
mov r1, r8 mov r1, r8
lsls r0, r1, #0x10 lsls r0, r1, #0x10
@@ -285,13 +285,13 @@ _080061C0:
mov r1, ip mov r1, ip
lsls r0, r1, #0x10 lsls r0, r1, #0x10
asrs r6, r0, #0x10 asrs r6, r0, #0x10
b _08006202 b _sa2_08006202
_080061D0: _sa2_080061D0:
adds r0, r5, #1 adds r0, r5, #1
strb r0, [r3] strb r0, [r3]
adds r3, #1 adds r3, #1
strb r5, [r3] strb r5, [r3]
ldr r1, _08006224 @ =gHBlankCopySize ldr r1, _sa2_08006224 @ =gHBlankCopySize
ldrb r0, [r1] ldrb r0, [r1]
adds r0, r0, r3 adds r0, r0, r3
subs r3, r0, #1 subs r3, r0, #1
@@ -302,29 +302,29 @@ _080061D0:
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
asrs r1, r0, #0x10 asrs r1, r0, #0x10
cmp r1, #0 cmp r1, #0
blt _080061FC blt _sa2_080061FC
subs r0, r5, #1 subs r0, r5, #1
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r5, r0, #0x18 lsrs r5, r0, #0x18
subs r0, r1, r6 subs r0, r1, r6
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r4, r0, #0x10 lsrs r4, r0, #0x10
_080061FC: _sa2_080061FC:
adds r0, r2, #1 adds r0, r2, #1
lsls r0, r0, #0x10 lsls r0, r0, #0x10
lsrs r2, r0, #0x10 lsrs r2, r0, #0x10
_08006202: _sa2_08006202:
lsls r0, r2, #0x10 lsls r0, r2, #0x10
asrs r2, r0, #0x10 asrs r2, r0, #0x10
mov r1, sb mov r1, sb
asrs r0, r1, #0x10 asrs r0, r1, #0x10
cmp r0, #0 cmp r0, #0
bge _08006210 bge _sa2_08006210
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006210: _sa2_08006210:
cmp r2, r0 cmp r2, r0
blt _080061D0 blt _sa2_080061D0
_08006214: _sa2_08006214:
pop {r3, r4, r5} pop {r3, r4, r5}
mov r8, r3 mov r8, r3
mov sb, r4 mov sb, r4
@@ -333,6 +333,6 @@ _08006214:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08006224: .4byte gHBlankCopySize _sa2_08006224: .4byte gHBlankCopySize
.syntax divided .syntax divided
@@ -9,55 +9,55 @@
mov ip, r1 mov ip, r1
lsls r0, r0, #0x18 lsls r0, r0, #0x18
lsrs r2, r0, #0x18 lsrs r2, r0, #0x18
ldr r1, _08006760 @ =gFlags ldr r1, _sa2_08006760 @ =gFlags
ldr r0, [r1] ldr r0, [r1]
movs r3, #4 movs r3, #4
orrs r0, r3 orrs r0, r3
str r0, [r1] str r0, [r1]
cmp r2, #1 cmp r2, #1
bls _08006778 bls _sa2_08006778
ldr r1, _08006764 @ =gHBlankCopySize ldr r1, _sa2_08006764 @ =gHBlankCopySize
strb r3, [r1] strb r3, [r1]
movs r0, #1 movs r0, #1
ands r0, r2 ands r0, r2
cmp r0, #0 cmp r0, #0
beq _0800676C beq _sa2_0800676C
ldr r0, _08006768 @ =gBgOffsetsHBlankPrimary ldr r0, _sa2_08006768 @ =gBgOffsetsHBlankPrimary
ldr r0, [r0] ldr r0, [r0]
adds r7, r0, #2 adds r7, r0, #2
b _080067A0 b _sa2_080067A0
.align 2, 0 .align 2, 0
_08006760: .4byte gFlags _sa2_08006760: .4byte gFlags
_08006764: .4byte gHBlankCopySize _sa2_08006764: .4byte gHBlankCopySize
_08006768: .4byte gBgOffsetsHBlankPrimary _sa2_08006768: .4byte gBgOffsetsHBlankPrimary
_0800676C: _sa2_0800676C:
ldr r0, _08006774 @ =gBgOffsetsHBlankPrimary ldr r0, _sa2_08006774 @ =gBgOffsetsHBlankPrimary
ldr r7, [r0] ldr r7, [r0]
b _080067A0 b _sa2_080067A0
.align 2, 0 .align 2, 0
_08006774: .4byte gBgOffsetsHBlankPrimary _sa2_08006774: .4byte gBgOffsetsHBlankPrimary
_08006778: _sa2_08006778:
ldr r1, _08006790 @ =gHBlankCopySize ldr r1, _sa2_08006790 @ =gHBlankCopySize
movs r0, #2 movs r0, #2
strb r0, [r1] strb r0, [r1]
ldr r0, _08006794 @ =gBgOffsetsHBlankPrimary ldr r0, _sa2_08006794 @ =gBgOffsetsHBlankPrimary
ldr r7, [r0] ldr r7, [r0]
movs r0, #1 movs r0, #1
ands r0, r2 ands r0, r2
cmp r0, #0 cmp r0, #0
beq _080067A0 beq _sa2_080067A0
ldr r1, _08006798 @ =gHBlankCopyTarget ldr r1, _sa2_08006798 @ =gHBlankCopyTarget
ldr r0, _0800679C @ =0x04000042 ldr r0, _sa2_0800679C @ =0x04000042
b _080067A4 b _sa2_080067A4
.align 2, 0 .align 2, 0
_08006790: .4byte gHBlankCopySize _sa2_08006790: .4byte gHBlankCopySize
_08006794: .4byte gBgOffsetsHBlankPrimary _sa2_08006794: .4byte gBgOffsetsHBlankPrimary
_08006798: .4byte gHBlankCopyTarget _sa2_08006798: .4byte gHBlankCopyTarget
_0800679C: .4byte 0x04000042 _sa2_0800679C: .4byte 0x04000042
_080067A0: _sa2_080067A0:
ldr r1, _080068A4 @ =gHBlankCopyTarget ldr r1, _sa2_080068A4 @ =gHBlankCopyTarget
ldr r0, _080068A8 @ =0x04000040 ldr r0, _sa2_080068A8 @ =0x04000040
_080067A4: _sa2_080067A4:
str r0, [r1] str r0, [r1]
mov r2, sp mov r2, sp
mov r1, ip mov r1, ip
@@ -80,9 +80,9 @@ _080067A4:
adds r2, #8 adds r2, #8
str r2, [sp, #0x24] str r2, [sp, #0x24]
cmp r0, #0 cmp r0, #0
bge _080067D4 bge _sa2_080067D4
rsbs r0, r0, #0 rsbs r0, r0, #0
_080067D4: _sa2_080067D4:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r5, [sp, #0x24] ldr r5, [sp, #0x24]
strh r0, [r5] strh r0, [r5]
@@ -92,9 +92,9 @@ _080067D4:
adds r1, #0x10 adds r1, #0x10
str r1, [sp, #0x28] str r1, [sp, #0x28]
cmp r0, #0 cmp r0, #0
bge _080067EA bge _sa2_080067EA
rsbs r0, r0, #0 rsbs r0, r0, #0
_080067EA: _sa2_080067EA:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r5, [sp, #0x28] ldr r5, [sp, #0x28]
strh r0, [r5] strh r0, [r5]
@@ -110,9 +110,9 @@ _080067EA:
movs r3, #2 movs r3, #2
ldrsh r0, [r0, r3] ldrsh r0, [r0, r3]
cmp r0, #0 cmp r0, #0
bge _0800680C bge _sa2_0800680C
rsbs r0, r0, #0 rsbs r0, r0, #0
_0800680C: _sa2_0800680C:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r5, [sp, #0x24] ldr r5, [sp, #0x24]
strh r0, [r5, #2] strh r0, [r5, #2]
@@ -120,9 +120,9 @@ _0800680C:
movs r2, #6 movs r2, #6
ldrsh r0, [r1, r2] ldrsh r0, [r1, r2]
cmp r0, #0 cmp r0, #0
bge _0800681E bge _sa2_0800681E
rsbs r0, r0, #0 rsbs r0, r0, #0
_0800681E: _sa2_0800681E:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r3, [sp, #0x28] ldr r3, [sp, #0x28]
strh r0, [r3, #2] strh r0, [r3, #2]
@@ -131,7 +131,7 @@ _0800681E:
ldrb r0, [r5] ldrb r0, [r5]
strb r0, [r2, #1] strb r0, [r2, #1]
strb r0, [r2] strb r0, [r2]
ldr r1, _080068AC @ =gHBlankCopySize ldr r1, _sa2_080068AC @ =gHBlankCopySize
ldrb r0, [r1] ldrb r0, [r1]
muls r0, r4, r0 muls r0, r4, r0
adds r7, r7, r0 adds r7, r7, r0
@@ -148,14 +148,14 @@ _0800681E:
adds r6, r2, #0 adds r6, r2, #0
mov sb, r1 mov sb, r1
cmp r0, r3 cmp r0, r3
bls _08006854 bls _sa2_08006854
adds r0, r3, #0 adds r0, r3, #0
_08006854: _sa2_08006854:
str r0, [sp, #0x18] str r0, [sp, #0x18]
cmp r4, r0 cmp r4, r0
bhs _0800693A bhs _sa2_0800693A
mov r8, sb mov r8, sb
_0800685C: _sa2_0800685C:
ldrb r0, [r6, #1] ldrb r0, [r6, #1]
strb r0, [r7] strb r0, [r7]
ldrb r0, [r6] ldrb r0, [r6]
@@ -174,16 +174,16 @@ _0800685C:
adds r4, #1 adds r4, #1
mov sl, r4 mov sl, r4
cmp r2, #0 cmp r2, #0
blt _080068D6 blt _sa2_080068D6
str r6, [sp, #0x2c] str r6, [sp, #0x2c]
ldr r4, [sp, #0x28] ldr r4, [sp, #0x28]
mov r2, sb mov r2, sb
_08006888: _sa2_08006888:
mov r0, sp mov r0, sp
movs r1, #0 movs r1, #0
ldrsh r0, [r0, r1] ldrsh r0, [r0, r1]
cmp r0, #0 cmp r0, #0
ble _080068B0 ble _sa2_080068B0
ldr r5, [sp, #0x2c] ldr r5, [sp, #0x2c]
ldrb r0, [r5] ldrb r0, [r5]
adds r0, #1 adds r0, #1
@@ -192,48 +192,48 @@ _08006888:
ldrh r1, [r4] ldrh r1, [r4]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r3] strh r0, [r3]
b _080068CC b _sa2_080068CC
.align 2, 0 .align 2, 0
_080068A4: .4byte gHBlankCopyTarget _sa2_080068A4: .4byte gHBlankCopyTarget
_080068A8: .4byte 0x04000040 _sa2_080068A8: .4byte 0x04000040
_080068AC: .4byte gHBlankCopySize _sa2_080068AC: .4byte gHBlankCopySize
_080068B0: _sa2_080068B0:
ldrb r0, [r6] ldrb r0, [r6]
cmp r0, #0 cmp r0, #0
beq _080068BA beq _sa2_080068BA
subs r0, #1 subs r0, #1
strb r0, [r6] strb r0, [r6]
_080068BA: _sa2_080068BA:
ldrh r0, [r2] ldrh r0, [r2]
ldrh r1, [r4] ldrh r1, [r4]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r2] strh r0, [r2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _080068CC blt _sa2_080068CC
ldrb r0, [r6] ldrb r0, [r6]
strb r0, [r7, #1] strb r0, [r7, #1]
_080068CC: _sa2_080068CC:
mov r3, sb mov r3, sb
movs r1, #0 movs r1, #0
ldrsh r0, [r3, r1] ldrsh r0, [r3, r1]
cmp r0, #0 cmp r0, #0
bge _08006888 bge _sa2_08006888
_080068D6: _sa2_080068D6:
mov r2, r8 mov r2, r8
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006928 blt _sa2_08006928
adds r3, r6, #0 adds r3, r6, #0
ldr r5, [sp, #0x28] ldr r5, [sp, #0x28]
mov r4, sb mov r4, sb
_080068E6: _sa2_080068E6:
mov r0, sp mov r0, sp
ldrh r0, [r0, #2] ldrh r0, [r0, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
ble _0800690C ble _sa2_0800690C
ldrb r0, [r3, #1] ldrb r0, [r3, #1]
adds r0, #1 adds r0, #1
strb r0, [r3, #1] strb r0, [r3, #1]
@@ -243,30 +243,30 @@ _080068E6:
strh r0, [r2, #2] strh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _0800691E blt _sa2_0800691E
ldrb r0, [r6, #1] ldrb r0, [r6, #1]
adds r0, #1 adds r0, #1
strb r0, [r7] strb r0, [r7]
b _0800691E b _sa2_0800691E
_0800690C: _sa2_0800690C:
ldrb r0, [r3, #1] ldrb r0, [r3, #1]
cmp r0, #0 cmp r0, #0
beq _08006916 beq _sa2_08006916
subs r0, #1 subs r0, #1
strb r0, [r6, #1] strb r0, [r6, #1]
_08006916: _sa2_08006916:
ldrh r0, [r4, #2] ldrh r0, [r4, #2]
ldrh r1, [r5, #2] ldrh r1, [r5, #2]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r4, #2] strh r0, [r4, #2]
_0800691E: _sa2_0800691E:
mov r2, sb mov r2, sb
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
bge _080068E6 bge _sa2_080068E6
_08006928: _sa2_08006928:
ldr r2, _080069EC @ =gHBlankCopySize ldr r2, _sa2_080069EC @ =gHBlankCopySize
ldrb r0, [r2] ldrb r0, [r2]
adds r7, r7, r0 adds r7, r7, r0
mov r3, sl mov r3, sl
@@ -274,20 +274,20 @@ _08006928:
lsrs r4, r0, #0x18 lsrs r4, r0, #0x18
ldr r5, [sp, #0x18] ldr r5, [sp, #0x18]
cmp r4, r5 cmp r4, r5
blo _0800685C blo _sa2_0800685C
_0800693A: _sa2_0800693A:
mov r1, ip mov r1, ip
ldrb r0, [r1, #3] ldrb r0, [r1, #3]
ldrb r2, [r1, #5] ldrb r2, [r1, #5]
cmp r0, r2 cmp r0, r2
bne _08006946 bne _sa2_08006946
b _08006C30 b _sa2_08006C30
_08006946: _sa2_08006946:
ldr r3, [sp, #0x18] ldr r3, [sp, #0x18]
cmp r3, r0 cmp r3, r0
beq _0800694E beq _sa2_0800694E
b _08006AB4 b _sa2_08006AB4
_0800694E: _sa2_0800694E:
mov r2, sp mov r2, sp
ldrb r0, [r1, #6] ldrb r0, [r1, #6]
ldrb r1, [r1, #2] ldrb r1, [r1, #2]
@@ -302,9 +302,9 @@ _0800694E:
movs r1, #0 movs r1, #0
ldrsh r0, [r0, r1] ldrsh r0, [r0, r1]
cmp r0, #0 cmp r0, #0
bge _0800696E bge _sa2_0800696E
rsbs r0, r0, #0 rsbs r0, r0, #0
_0800696E: _sa2_0800696E:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r2, [sp, #0x24] ldr r2, [sp, #0x24]
strh r0, [r2] strh r0, [r2]
@@ -312,9 +312,9 @@ _0800696E:
movs r5, #4 movs r5, #4
ldrsh r0, [r3, r5] ldrsh r0, [r3, r5]
cmp r0, #0 cmp r0, #0
bge _08006980 bge _sa2_08006980
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006980: _sa2_08006980:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r1, [sp, #0x28] ldr r1, [sp, #0x28]
strh r0, [r1] strh r0, [r1]
@@ -329,11 +329,11 @@ _08006980:
ldrb r0, [r5, #5] ldrb r0, [r5, #5]
str r0, [sp, #0x18] str r0, [sp, #0x18]
cmp r4, r0 cmp r4, r0
bhs _08006A7A bhs _sa2_08006A7A
mov r8, sb mov r8, sb
ldr r1, [sp, #0x24] ldr r1, [sp, #0x24]
str r1, [sp, #0x1c] str r1, [sp, #0x1c]
_080069A4: _sa2_080069A4:
ldrb r0, [r6, #1] ldrb r0, [r6, #1]
strb r0, [r7] strb r0, [r7]
ldrb r0, [r6] ldrb r0, [r6]
@@ -352,16 +352,16 @@ _080069A4:
adds r4, #1 adds r4, #1
mov sl, r4 mov sl, r4
cmp r2, #0 cmp r2, #0
blt _08006A16 blt _sa2_08006A16
str r6, [sp, #0x2c] str r6, [sp, #0x2c]
ldr r4, [sp, #0x28] ldr r4, [sp, #0x28]
mov r2, sb mov r2, sb
_080069D0: _sa2_080069D0:
mov r0, sp mov r0, sp
movs r1, #0 movs r1, #0
ldrsh r0, [r0, r1] ldrsh r0, [r0, r1]
cmp r0, #0 cmp r0, #0
ble _080069F0 ble _sa2_080069F0
ldr r5, [sp, #0x2c] ldr r5, [sp, #0x2c]
ldrb r0, [r5] ldrb r0, [r5]
adds r0, #1 adds r0, #1
@@ -370,46 +370,46 @@ _080069D0:
ldrh r1, [r4] ldrh r1, [r4]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r3] strh r0, [r3]
b _08006A0C b _sa2_08006A0C
.align 2, 0 .align 2, 0
_080069EC: .4byte gHBlankCopySize _sa2_080069EC: .4byte gHBlankCopySize
_080069F0: _sa2_080069F0:
ldrb r0, [r6] ldrb r0, [r6]
cmp r0, #0 cmp r0, #0
beq _080069FA beq _sa2_080069FA
subs r0, #1 subs r0, #1
strb r0, [r6] strb r0, [r6]
_080069FA: _sa2_080069FA:
ldrh r0, [r2] ldrh r0, [r2]
ldrh r1, [r4] ldrh r1, [r4]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r2] strh r0, [r2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006A0C blt _sa2_08006A0C
ldrb r0, [r6] ldrb r0, [r6]
strb r0, [r7, #1] strb r0, [r7, #1]
_08006A0C: _sa2_08006A0C:
mov r3, sb mov r3, sb
movs r1, #0 movs r1, #0
ldrsh r0, [r3, r1] ldrsh r0, [r3, r1]
cmp r0, #0 cmp r0, #0
bge _080069D0 bge _sa2_080069D0
_08006A16: _sa2_08006A16:
mov r2, r8 mov r2, r8
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006A68 blt _sa2_08006A68
adds r3, r6, #0 adds r3, r6, #0
ldr r5, [sp, #0x28] ldr r5, [sp, #0x28]
mov r4, sb mov r4, sb
_08006A26: _sa2_08006A26:
mov r0, sp mov r0, sp
ldrh r0, [r0, #2] ldrh r0, [r0, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
ble _08006A4C ble _sa2_08006A4C
ldrb r0, [r3, #1] ldrb r0, [r3, #1]
adds r0, #1 adds r0, #1
strb r0, [r3, #1] strb r0, [r3, #1]
@@ -419,30 +419,30 @@ _08006A26:
strh r0, [r2, #2] strh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006A5E blt _sa2_08006A5E
ldrb r0, [r6, #1] ldrb r0, [r6, #1]
adds r0, #1 adds r0, #1
strb r0, [r7] strb r0, [r7]
b _08006A5E b _sa2_08006A5E
_08006A4C: _sa2_08006A4C:
ldrb r0, [r3, #1] ldrb r0, [r3, #1]
cmp r0, #0 cmp r0, #0
beq _08006A56 beq _sa2_08006A56
subs r0, #1 subs r0, #1
strb r0, [r6, #1] strb r0, [r6, #1]
_08006A56: _sa2_08006A56:
ldrh r0, [r4, #2] ldrh r0, [r4, #2]
ldrh r1, [r5, #2] ldrh r1, [r5, #2]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r4, #2] strh r0, [r4, #2]
_08006A5E: _sa2_08006A5E:
mov r2, sb mov r2, sb
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
bge _08006A26 bge _sa2_08006A26
_08006A68: _sa2_08006A68:
ldr r2, _08006AB0 @ =gHBlankCopySize ldr r2, _sa2_08006AB0 @ =gHBlankCopySize
ldrb r0, [r2] ldrb r0, [r2]
adds r7, r7, r0 adds r7, r7, r0
mov r3, sl mov r3, sl
@@ -450,8 +450,8 @@ _08006A68:
lsrs r4, r0, #0x18 lsrs r4, r0, #0x18
ldr r5, [sp, #0x18] ldr r5, [sp, #0x18]
cmp r4, r5 cmp r4, r5
blo _080069A4 blo _sa2_080069A4
_08006A7A: _sa2_08006A7A:
mov r2, sp mov r2, sp
mov r1, ip mov r1, ip
ldrb r0, [r1, #6] ldrb r0, [r1, #6]
@@ -469,19 +469,19 @@ _08006A7A:
ldrsh r0, [r0, r5] ldrsh r0, [r0, r5]
ldrb r3, [r2, #7] ldrb r3, [r2, #7]
cmp r0, #0 cmp r0, #0
bge _08006AA0 bge _sa2_08006AA0
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006AA0: _sa2_08006AA0:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r1, [sp, #0x24] ldr r1, [sp, #0x24]
strh r0, [r1, #2] strh r0, [r1, #2]
mov r2, sp mov r2, sp
movs r5, #6 movs r5, #6
ldrsh r0, [r2, r5] ldrsh r0, [r2, r5]
b _08006CA4 b _sa2_08006CA4
.align 2, 0 .align 2, 0
_08006AB0: .4byte gHBlankCopySize _sa2_08006AB0: .4byte gHBlankCopySize
_08006AB4: _sa2_08006AB4:
mov r2, sp mov r2, sp
mov r3, ip mov r3, ip
ldrb r0, [r3, #6] ldrb r0, [r3, #6]
@@ -496,9 +496,9 @@ _08006AB4:
movs r5, #2 movs r5, #2
ldrsh r0, [r0, r5] ldrsh r0, [r0, r5]
cmp r0, #0 cmp r0, #0
bge _08006AD4 bge _sa2_08006AD4
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006AD4: _sa2_08006AD4:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r1, [sp, #0x24] ldr r1, [sp, #0x24]
strh r0, [r1, #2] strh r0, [r1, #2]
@@ -506,9 +506,9 @@ _08006AD4:
movs r3, #6 movs r3, #6
ldrsh r0, [r2, r3] ldrsh r0, [r2, r3]
cmp r0, #0 cmp r0, #0
bge _08006AE6 bge _sa2_08006AE6
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006AE6: _sa2_08006AE6:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r5, [sp, #0x28] ldr r5, [sp, #0x28]
strh r0, [r5, #2] strh r0, [r5, #2]
@@ -523,11 +523,11 @@ _08006AE6:
ldrb r5, [r3, #3] ldrb r5, [r3, #3]
str r5, [sp, #0x18] str r5, [sp, #0x18]
cmp r4, r5 cmp r4, r5
bhs _08006BDC bhs _sa2_08006BDC
mov r8, sb mov r8, sb
ldr r0, [sp, #0x24] ldr r0, [sp, #0x24]
str r0, [sp, #0x20] str r0, [sp, #0x20]
_08006B0A: _sa2_08006B0A:
ldrb r0, [r6, #1] ldrb r0, [r6, #1]
strb r0, [r7] strb r0, [r7]
ldrb r0, [r6] ldrb r0, [r6]
@@ -546,16 +546,16 @@ _08006B0A:
adds r4, #1 adds r4, #1
mov sl, r4 mov sl, r4
cmp r2, #0 cmp r2, #0
blt _08006B78 blt _sa2_08006B78
str r6, [sp, #0x2c] str r6, [sp, #0x2c]
ldr r4, [sp, #0x28] ldr r4, [sp, #0x28]
mov r2, sb mov r2, sb
_08006B36: _sa2_08006B36:
mov r0, sp mov r0, sp
movs r1, #0 movs r1, #0
ldrsh r0, [r0, r1] ldrsh r0, [r0, r1]
cmp r0, #0 cmp r0, #0
ble _08006B52 ble _sa2_08006B52
ldr r5, [sp, #0x2c] ldr r5, [sp, #0x2c]
ldrb r0, [r5] ldrb r0, [r5]
adds r0, #1 adds r0, #1
@@ -564,44 +564,44 @@ _08006B36:
ldrh r1, [r4] ldrh r1, [r4]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r3] strh r0, [r3]
b _08006B6E b _sa2_08006B6E
_08006B52: _sa2_08006B52:
ldrb r0, [r6] ldrb r0, [r6]
cmp r0, #0 cmp r0, #0
beq _08006B5C beq _sa2_08006B5C
subs r0, #1 subs r0, #1
strb r0, [r6] strb r0, [r6]
_08006B5C: _sa2_08006B5C:
ldrh r0, [r2] ldrh r0, [r2]
ldrh r1, [r4] ldrh r1, [r4]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r2] strh r0, [r2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006B6E blt _sa2_08006B6E
ldrb r0, [r6] ldrb r0, [r6]
strb r0, [r7, #1] strb r0, [r7, #1]
_08006B6E: _sa2_08006B6E:
mov r3, sb mov r3, sb
movs r1, #0 movs r1, #0
ldrsh r0, [r3, r1] ldrsh r0, [r3, r1]
cmp r0, #0 cmp r0, #0
bge _08006B36 bge _sa2_08006B36
_08006B78: _sa2_08006B78:
mov r2, r8 mov r2, r8
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006BCA blt _sa2_08006BCA
adds r3, r6, #0 adds r3, r6, #0
ldr r5, [sp, #0x28] ldr r5, [sp, #0x28]
mov r4, sb mov r4, sb
_08006B88: _sa2_08006B88:
mov r0, sp mov r0, sp
ldrh r0, [r0, #2] ldrh r0, [r0, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
ble _08006BAE ble _sa2_08006BAE
ldrb r0, [r3, #1] ldrb r0, [r3, #1]
adds r0, #1 adds r0, #1
strb r0, [r3, #1] strb r0, [r3, #1]
@@ -611,30 +611,30 @@ _08006B88:
strh r0, [r2, #2] strh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006BC0 blt _sa2_08006BC0
ldrb r0, [r6, #1] ldrb r0, [r6, #1]
adds r0, #1 adds r0, #1
strb r0, [r7] strb r0, [r7]
b _08006BC0 b _sa2_08006BC0
_08006BAE: _sa2_08006BAE:
ldrb r0, [r3, #1] ldrb r0, [r3, #1]
cmp r0, #0 cmp r0, #0
beq _08006BB8 beq _sa2_08006BB8
subs r0, #1 subs r0, #1
strb r0, [r6, #1] strb r0, [r6, #1]
_08006BB8: _sa2_08006BB8:
ldrh r0, [r4, #2] ldrh r0, [r4, #2]
ldrh r1, [r5, #2] ldrh r1, [r5, #2]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r4, #2] strh r0, [r4, #2]
_08006BC0: _sa2_08006BC0:
mov r2, sb mov r2, sb
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
bge _08006B88 bge _sa2_08006B88
_08006BCA: _sa2_08006BCA:
ldr r2, _08006C2C @ =gHBlankCopySize ldr r2, _sa2_08006C2C @ =gHBlankCopySize
ldrb r0, [r2] ldrb r0, [r2]
adds r7, r7, r0 adds r7, r7, r0
mov r3, sl mov r3, sl
@@ -642,8 +642,8 @@ _08006BCA:
lsrs r4, r0, #0x18 lsrs r4, r0, #0x18
ldr r5, [sp, #0x18] ldr r5, [sp, #0x18]
cmp r4, r5 cmp r4, r5
blo _08006B0A blo _sa2_08006B0A
_08006BDC: _sa2_08006BDC:
mov r2, sp mov r2, sp
mov r1, ip mov r1, ip
ldrb r0, [r1, #6] ldrb r0, [r1, #6]
@@ -661,9 +661,9 @@ _08006BDC:
ldrsh r0, [r0, r5] ldrsh r0, [r0, r5]
ldrb r3, [r2, #7] ldrb r3, [r2, #7]
cmp r0, #0 cmp r0, #0
bge _08006C02 bge _sa2_08006C02
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006C02: _sa2_08006C02:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r1, [sp, #0x24] ldr r1, [sp, #0x24]
strh r0, [r1] strh r0, [r1]
@@ -671,9 +671,9 @@ _08006C02:
movs r5, #4 movs r5, #4
ldrsh r0, [r2, r5] ldrsh r0, [r2, r5]
cmp r0, #0 cmp r0, #0
bge _08006C14 bge _sa2_08006C14
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006C14: _sa2_08006C14:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r1, [sp, #0x28] ldr r1, [sp, #0x28]
strh r0, [r1] strh r0, [r1]
@@ -685,10 +685,10 @@ _08006C14:
mov r1, ip mov r1, ip
ldrb r0, [r1, #2] ldrb r0, [r1, #2]
strb r0, [r6] strb r0, [r6]
b _08006CC0 b _sa2_08006CC0
.align 2, 0 .align 2, 0
_08006C2C: .4byte gHBlankCopySize _sa2_08006C2C: .4byte gHBlankCopySize
_08006C30: _sa2_08006C30:
mov r2, sp mov r2, sp
mov r3, ip mov r3, ip
ldrb r0, [r3, #6] ldrb r0, [r3, #6]
@@ -707,18 +707,18 @@ _08006C30:
mov r8, r1 mov r8, r1
ldrb r3, [r3, #7] ldrb r3, [r3, #7]
cmp r0, #0 cmp r0, #0
bge _08006C58 bge _sa2_08006C58
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006C58: _sa2_08006C58:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r5, [sp, #0x24] ldr r5, [sp, #0x24]
strh r0, [r5] strh r0, [r5]
movs r1, #0 movs r1, #0
ldrsh r0, [r2, r1] ldrsh r0, [r2, r1]
cmp r0, #0 cmp r0, #0
bge _08006C68 bge _sa2_08006C68
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006C68: _sa2_08006C68:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r5, [sp, #0x28] ldr r5, [sp, #0x28]
strh r0, [r5] strh r0, [r5]
@@ -742,19 +742,19 @@ _08006C68:
movs r5, #2 movs r5, #2
ldrsh r0, [r0, r5] ldrsh r0, [r0, r5]
cmp r0, #0 cmp r0, #0
bge _08006C9A bge _sa2_08006C9A
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006C9A: _sa2_08006C9A:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r1, [sp, #0x24] ldr r1, [sp, #0x24]
strh r0, [r1, #2] strh r0, [r1, #2]
movs r5, #2 movs r5, #2
ldrsh r0, [r2, r5] ldrsh r0, [r2, r5]
_08006CA4: _sa2_08006CA4:
cmp r0, #0 cmp r0, #0
bge _08006CAA bge _sa2_08006CAA
rsbs r0, r0, #0 rsbs r0, r0, #0
_08006CAA: _sa2_08006CAA:
lsls r0, r0, #1 lsls r0, r0, #1
ldr r1, [sp, #0x28] ldr r1, [sp, #0x28]
strh r0, [r1, #2] strh r0, [r1, #2]
@@ -766,14 +766,14 @@ _08006CAA:
mov r1, ip mov r1, ip
ldrb r0, [r1, #4] ldrb r0, [r1, #4]
strb r0, [r6, #1] strb r0, [r6, #1]
_08006CC0: _sa2_08006CC0:
str r3, [sp, #0x18] str r3, [sp, #0x18]
cmp r4, r3 cmp r4, r3
bhs _08006D9E bhs _sa2_08006D9E
mov r8, sb mov r8, sb
ldr r2, [sp, #0x24] ldr r2, [sp, #0x24]
mov ip, r2 mov ip, r2
_08006CCC: _sa2_08006CCC:
ldrb r0, [r6, #1] ldrb r0, [r6, #1]
strb r0, [r7] strb r0, [r7]
ldrb r0, [r6] ldrb r0, [r6]
@@ -792,16 +792,16 @@ _08006CCC:
adds r4, #1 adds r4, #1
mov sl, r4 mov sl, r4
cmp r2, #0 cmp r2, #0
blt _08006D3A blt _sa2_08006D3A
str r6, [sp, #0x2c] str r6, [sp, #0x2c]
ldr r4, [sp, #0x28] ldr r4, [sp, #0x28]
mov r2, sb mov r2, sb
_08006CF8: _sa2_08006CF8:
mov r0, sp mov r0, sp
movs r1, #0 movs r1, #0
ldrsh r0, [r0, r1] ldrsh r0, [r0, r1]
cmp r0, #0 cmp r0, #0
ble _08006D14 ble _sa2_08006D14
ldr r5, [sp, #0x2c] ldr r5, [sp, #0x2c]
ldrb r0, [r5] ldrb r0, [r5]
adds r0, #1 adds r0, #1
@@ -810,44 +810,44 @@ _08006CF8:
ldrh r1, [r4] ldrh r1, [r4]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r3] strh r0, [r3]
b _08006D30 b _sa2_08006D30
_08006D14: _sa2_08006D14:
ldrb r0, [r6] ldrb r0, [r6]
cmp r0, #0 cmp r0, #0
beq _08006D1E beq _sa2_08006D1E
subs r0, #1 subs r0, #1
strb r0, [r6] strb r0, [r6]
_08006D1E: _sa2_08006D1E:
ldrh r0, [r2] ldrh r0, [r2]
ldrh r1, [r4] ldrh r1, [r4]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r2] strh r0, [r2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006D30 blt _sa2_08006D30
ldrb r0, [r6] ldrb r0, [r6]
strb r0, [r7, #1] strb r0, [r7, #1]
_08006D30: _sa2_08006D30:
mov r3, sb mov r3, sb
movs r1, #0 movs r1, #0
ldrsh r0, [r3, r1] ldrsh r0, [r3, r1]
cmp r0, #0 cmp r0, #0
bge _08006CF8 bge _sa2_08006CF8
_08006D3A: _sa2_08006D3A:
mov r2, r8 mov r2, r8
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006D8C blt _sa2_08006D8C
adds r3, r6, #0 adds r3, r6, #0
ldr r5, [sp, #0x28] ldr r5, [sp, #0x28]
mov r4, sb mov r4, sb
_08006D4A: _sa2_08006D4A:
mov r0, sp mov r0, sp
ldrh r0, [r0, #2] ldrh r0, [r0, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
ble _08006D70 ble _sa2_08006D70
ldrb r0, [r3, #1] ldrb r0, [r3, #1]
adds r0, #1 adds r0, #1
strb r0, [r3, #1] strb r0, [r3, #1]
@@ -857,30 +857,30 @@ _08006D4A:
strh r0, [r2, #2] strh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
blt _08006D82 blt _sa2_08006D82
ldrb r0, [r6, #1] ldrb r0, [r6, #1]
adds r0, #1 adds r0, #1
strb r0, [r7] strb r0, [r7]
b _08006D82 b _sa2_08006D82
_08006D70: _sa2_08006D70:
ldrb r0, [r3, #1] ldrb r0, [r3, #1]
cmp r0, #0 cmp r0, #0
beq _08006D7A beq _sa2_08006D7A
subs r0, #1 subs r0, #1
strb r0, [r6, #1] strb r0, [r6, #1]
_08006D7A: _sa2_08006D7A:
ldrh r0, [r4, #2] ldrh r0, [r4, #2]
ldrh r1, [r5, #2] ldrh r1, [r5, #2]
subs r0, r0, r1 subs r0, r0, r1
strh r0, [r4, #2] strh r0, [r4, #2]
_08006D82: _sa2_08006D82:
mov r2, sb mov r2, sb
ldrh r0, [r2, #2] ldrh r0, [r2, #2]
lsls r0, r0, #0x10 lsls r0, r0, #0x10
cmp r0, #0 cmp r0, #0
bge _08006D4A bge _sa2_08006D4A
_08006D8C: _sa2_08006D8C:
ldr r2, _08006DB0 @ =gHBlankCopySize ldr r2, _sa2_08006DB0 @ =gHBlankCopySize
ldrb r0, [r2] ldrb r0, [r2]
adds r7, r7, r0 adds r7, r7, r0
mov r3, sl mov r3, sl
@@ -888,8 +888,8 @@ _08006D8C:
lsrs r4, r0, #0x18 lsrs r4, r0, #0x18
ldr r5, [sp, #0x18] ldr r5, [sp, #0x18]
cmp r4, r5 cmp r4, r5
blo _08006CCC blo _sa2_08006CCC
_08006D9E: _sa2_08006D9E:
add sp, #0x30 add sp, #0x30
pop {r3, r4, r5} pop {r3, r4, r5}
mov r8, r3 mov r8, r3
@@ -899,7 +899,7 @@ _08006D9E:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08006DB0: .4byte gHBlankCopySize _sa2_08006DB0: .4byte gHBlankCopySize
@ Unused @ Unused
@ Very similar to sub_800724C @ Very similar to sub_800724C
@@ -830,63 +830,63 @@ _08026B82:
ands r3, r0 ands r3, r0
cmp r3, #0 cmp r3, #0
beq _08026BE0 beq _08026BE0
ldr r2, _08026BC0 @ =sa2__gUnknown_03001944 ldr r2, _08026BC0 @ =gSpriteTransformRotation
ldr r0, [sp, #0x10] ldr r0, [sp, #0x10]
ldrh r1, [r0] ldrh r1, [r0]
ldr r0, _08026BC4 @ =0x000003FF ldr r0, _08026BC4 @ =0x000003FF
ands r0, r1 ands r0, r1
strh r0, [r2] strh r0, [r2]
ldr r0, _08026BC8 @ =sa2__gUnknown_030017F0 ldr r0, _08026BC8 @ =gSpriteTransformScaleX
movs r2, #0x80 movs r2, #0x80
lsls r2, r2, #1 lsls r2, r2, #1
adds r1, r2, #0 adds r1, r2, #0
strh r1, [r0] strh r1, [r0]
ldr r0, _08026BCC @ =sa2__gUnknown_03005394 ldr r0, _08026BCC @ =gSpriteTransformScaleY
strh r1, [r0] strh r1, [r0]
ldr r0, _08026BD0 @ =sa2__gUnknown_03002A8C ldr r0, _08026BD0 @ =sa2__gUnknown_03002A8C
movs r1, #0 movs r1, #0
strh r1, [r0] strh r1, [r0]
ldr r0, _08026BD4 @ =sa2__gUnknown_03004D58 ldr r0, _08026BD4 @ =sa2__gUnknown_03004D58
strh r1, [r0] strh r1, [r0]
ldr r1, _08026BD8 @ =sa2__gUnknown_0300194C ldr r1, _08026BD8 @ =gSpriteTransformX
mov r3, r8 mov r3, r8
ldrh r0, [r3, #0x22] ldrh r0, [r3, #0x22]
strh r0, [r1] strh r0, [r1]
ldr r1, _08026BDC @ =sa2__gUnknown_03002820 ldr r1, _08026BDC @ =gSpriteTransformY
ldrh r0, [r3, #0x24] ldrh r0, [r3, #0x24]
b _08026C0E b _08026C0E
.align 2, 0 .align 2, 0
_08026BC0: .4byte sa2__gUnknown_03001944 _08026BC0: .4byte gSpriteTransformRotation
_08026BC4: .4byte 0x000003FF _08026BC4: .4byte 0x000003FF
_08026BC8: .4byte sa2__gUnknown_030017F0 _08026BC8: .4byte gSpriteTransformScaleX
_08026BCC: .4byte sa2__gUnknown_03005394 _08026BCC: .4byte gSpriteTransformScaleY
_08026BD0: .4byte sa2__gUnknown_03002A8C _08026BD0: .4byte sa2__gUnknown_03002A8C
_08026BD4: .4byte sa2__gUnknown_03004D58 _08026BD4: .4byte sa2__gUnknown_03004D58
_08026BD8: .4byte sa2__gUnknown_0300194C _08026BD8: .4byte gSpriteTransformX
_08026BDC: .4byte sa2__gUnknown_03002820 _08026BDC: .4byte gSpriteTransformY
_08026BE0: _08026BE0:
ldr r2, _08026C24 @ =sa2__gUnknown_03001944 ldr r2, _08026C24 @ =gSpriteTransformRotation
ldr r4, [sp, #0x10] ldr r4, [sp, #0x10]
ldrh r1, [r4] ldrh r1, [r4]
ldr r0, _08026C28 @ =0x000003FF ldr r0, _08026C28 @ =0x000003FF
ands r0, r1 ands r0, r1
strh r0, [r2] strh r0, [r2]
ldr r0, _08026C2C @ =sa2__gUnknown_030017F0 ldr r0, _08026C2C @ =gSpriteTransformScaleX
movs r5, #0x80 movs r5, #0x80
lsls r5, r5, #1 lsls r5, r5, #1
adds r1, r5, #0 adds r1, r5, #0
strh r1, [r0] strh r1, [r0]
ldr r0, _08026C30 @ =sa2__gUnknown_03005394 ldr r0, _08026C30 @ =gSpriteTransformScaleY
strh r1, [r0] strh r1, [r0]
ldr r0, _08026C34 @ =sa2__gUnknown_03002A8C ldr r0, _08026C34 @ =sa2__gUnknown_03002A8C
strh r3, [r0] strh r3, [r0]
ldr r0, _08026C38 @ =sa2__gUnknown_03004D58 ldr r0, _08026C38 @ =sa2__gUnknown_03004D58
strh r3, [r0] strh r3, [r0]
ldr r1, _08026C3C @ =sa2__gUnknown_0300194C ldr r1, _08026C3C @ =gSpriteTransformX
mov r6, r8 mov r6, r8
ldrh r0, [r6, #0x22] ldrh r0, [r6, #0x22]
strh r0, [r1] strh r0, [r1]
ldr r1, _08026C40 @ =sa2__gUnknown_03002820 ldr r1, _08026C40 @ =gSpriteTransformY
ldrh r0, [r6, #0x24] ldrh r0, [r6, #0x24]
_08026C0E: _08026C0E:
subs r0, #0x24 subs r0, #0x24
@@ -901,13 +901,13 @@ _08026C12:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08026C24: .4byte sa2__gUnknown_03001944 _08026C24: .4byte gSpriteTransformRotation
_08026C28: .4byte 0x000003FF _08026C28: .4byte 0x000003FF
_08026C2C: .4byte sa2__gUnknown_030017F0 _08026C2C: .4byte gSpriteTransformScaleX
_08026C30: .4byte sa2__gUnknown_03005394 _08026C30: .4byte gSpriteTransformScaleY
_08026C34: .4byte sa2__gUnknown_03002A8C _08026C34: .4byte sa2__gUnknown_03002A8C
_08026C38: .4byte sa2__gUnknown_03004D58 _08026C38: .4byte sa2__gUnknown_03004D58
_08026C3C: .4byte sa2__gUnknown_0300194C _08026C3C: .4byte gSpriteTransformX
_08026C40: .4byte sa2__gUnknown_03002820 _08026C40: .4byte gSpriteTransformY
.syntax divided .syntax divided
@@ -22,7 +22,7 @@
mov ip, r3 mov ip, r3
ldrb r4, [r3] ldrb r4, [r3]
ldr r2, _08027274 @ =gSineTable ldr r2, _08027274 @ =gSineTable
ldr r0, _08027278 @ =sa2__gUnknown_03001944 ldr r0, _08027278 @ =gSpriteTransformRotation
ldrh r1, [r0] ldrh r1, [r0]
movs r3, #0x80 movs r3, #0x80
lsls r3, r3, #1 lsls r3, r3, #1
@@ -41,14 +41,14 @@
lsls r0, r0, #4 lsls r0, r0, #4
adds r2, r4, #0 adds r2, r4, #0
muls r2, r0, r2 muls r2, r0, r2
ldr r1, _0802727C @ =sa2__gUnknown_0300194C ldr r1, _0802727C @ =gSpriteTransformX
ldr r4, _08027280 @ =gCamera ldr r4, _08027280 @ =gCamera
ldrh r0, [r4] ldrh r0, [r4]
ldrh r1, [r1] ldrh r1, [r1]
adds r0, r0, r1 adds r0, r0, r1
asrs r3, r3, #0xe asrs r3, r3, #0xe
adds r3, r3, r0 adds r3, r3, r0
ldr r1, _08027284 @ =sa2__gUnknown_03002820 ldr r1, _08027284 @ =gSpriteTransformY
ldrh r0, [r4, #2] ldrh r0, [r4, #2]
ldrh r1, [r1] ldrh r1, [r1]
adds r0, r0, r1 adds r0, r0, r1
@@ -73,10 +73,10 @@ _08027268: .4byte gCurTask
_0802726C: .4byte 0x03000030 _0802726C: .4byte 0x03000030
_08027270: .4byte 0x03000050 _08027270: .4byte 0x03000050
_08027274: .4byte gSineTable _08027274: .4byte gSineTable
_08027278: .4byte sa2__gUnknown_03001944 _08027278: .4byte gSpriteTransformRotation
_0802727C: .4byte sa2__gUnknown_0300194C _0802727C: .4byte gSpriteTransformX
_08027280: .4byte gCamera _08027280: .4byte gCamera
_08027284: .4byte sa2__gUnknown_03002820 _08027284: .4byte gSpriteTransformY
_08027288: .4byte 0x0300004C _08027288: .4byte 0x0300004C
_0802728C: _0802728C:
ldr r2, _080272C8 @ =0x0300004C ldr r2, _080272C8 @ =0x0300004C
@@ -45,7 +45,7 @@ _08027650:
rsbs r0, r1, #0 rsbs r0, r1, #0
strh r0, [r4] strh r0, [r4]
_08027658: _08027658:
ldr r1, _080276C0 @ =sa2__gUnknown_03001944 ldr r1, _080276C0 @ =gSpriteTransformRotation
ldrh r0, [r1] ldrh r0, [r1]
ldrh r2, [r4] ldrh r2, [r4]
adds r0, r0, r2 adds r0, r0, r2
@@ -67,7 +67,7 @@ _08027658:
ldrsh r0, [r2, r3] ldrsh r0, [r2, r3]
lsls r2, r0, #1 lsls r2, r0, #1
adds r2, r2, r0 adds r2, r2, r0
ldr r3, _080276C8 @ =sa2__gUnknown_0300194C ldr r3, _080276C8 @ =gSpriteTransformX
ldr r4, _080276CC @ =gCamera ldr r4, _080276CC @ =gCamera
ldrh r0, [r4] ldrh r0, [r4]
ldrh r3, [r3] ldrh r3, [r3]
@@ -76,7 +76,7 @@ _08027658:
adds r1, r1, r0 adds r1, r1, r0
lsls r1, r1, #0x10 lsls r1, r1, #0x10
lsrs r1, r1, #0x10 lsrs r1, r1, #0x10
ldr r3, _080276D0 @ =sa2__gUnknown_03002820 ldr r3, _080276D0 @ =gSpriteTransformY
ldrh r0, [r4, #2] ldrh r0, [r4, #2]
ldrh r3, [r3] ldrh r3, [r3]
adds r0, r0, r3 adds r0, r0, r3
@@ -98,11 +98,11 @@ _08027658:
lsls r0, r0, #2 lsls r0, r0, #2
b _080276DC b _080276DC
.align 2, 0 .align 2, 0
_080276C0: .4byte sa2__gUnknown_03001944 _080276C0: .4byte gSpriteTransformRotation
_080276C4: .4byte gSineTable _080276C4: .4byte gSineTable
_080276C8: .4byte sa2__gUnknown_0300194C _080276C8: .4byte gSpriteTransformX
_080276CC: .4byte gCamera _080276CC: .4byte gCamera
_080276D0: .4byte sa2__gUnknown_03002820 _080276D0: .4byte gSpriteTransformY
_080276D4: _080276D4:
mov r1, ip mov r1, ip
adds r1, #0x4c adds r1, #0x4c
@@ -53,7 +53,7 @@ _0802750C:
adds r1, r3, #0 adds r1, r3, #0
bl UnusedTransform bl UnusedTransform
ldr r3, _0802759C @ =gSineTable ldr r3, _0802759C @ =gSineTable
ldr r0, _080275A0 @ =sa2__gUnknown_03001944 ldr r0, _080275A0 @ =gSpriteTransformRotation
ldrh r2, [r0] ldrh r2, [r0]
movs r4, #0x80 movs r4, #0x80
lsls r4, r4, #1 lsls r4, r4, #1
@@ -70,7 +70,7 @@ _0802750C:
ldrsh r0, [r2, r3] ldrsh r0, [r2, r3]
lsls r2, r0, #1 lsls r2, r0, #1
adds r2, r2, r0 adds r2, r2, r0
ldr r3, _080275A4 @ =sa2__gUnknown_0300194C ldr r3, _080275A4 @ =gSpriteTransformX
ldr r4, _080275A8 @ =gCamera ldr r4, _080275A8 @ =gCamera
ldrh r0, [r4] ldrh r0, [r4]
ldrh r3, [r3] ldrh r3, [r3]
@@ -79,7 +79,7 @@ _0802750C:
adds r1, r1, r0 adds r1, r1, r0
lsls r1, r1, #0x10 lsls r1, r1, #0x10
lsrs r3, r1, #0x10 lsrs r3, r1, #0x10
ldr r1, _080275AC @ =sa2__gUnknown_03002820 ldr r1, _080275AC @ =gSpriteTransformY
ldrh r0, [r4, #2] ldrh r0, [r4, #2]
ldrh r1, [r1] ldrh r1, [r1]
adds r0, r0, r1 adds r0, r0, r1
@@ -119,10 +119,10 @@ _0802750C:
b _080275BE b _080275BE
.align 2, 0 .align 2, 0
_0802759C: .4byte gSineTable _0802759C: .4byte gSineTable
_080275A0: .4byte sa2__gUnknown_03001944 _080275A0: .4byte gSpriteTransformRotation
_080275A4: .4byte sa2__gUnknown_0300194C _080275A4: .4byte gSpriteTransformX
_080275A8: .4byte gCamera _080275A8: .4byte gCamera
_080275AC: .4byte sa2__gUnknown_03002820 _080275AC: .4byte gSpriteTransformY
_080275B0: .4byte gPlayer _080275B0: .4byte gPlayer
_080275B4: .4byte gNumSingleplayerCharacters _080275B4: .4byte gNumSingleplayerCharacters
_080275B8: .4byte gPartner _080275B8: .4byte gPartner
Loaded 100 of 5724 files, more files were not shown because too many files have changed in this diff. Show more