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