sub_3E5D0
Some checks are pending
CI / build (push) Waiting to run

This commit is contained in:
Marcus Huderle 2025-08-03 09:16:25 -05:00
parent 0973cad417
commit bc25e5d24a
3 changed files with 20 additions and 60 deletions

View File

@ -14741,63 +14741,3 @@ _0803E5C0: .4byte 0x0000132C
_0803E5C4: .4byte gUnknown_086AEE20
_0803E5C8: .4byte 0x00004E20
_0803E5CC: .4byte 0x00001888
thumb_func_start sub_3E5D0
sub_3E5D0: @ 0x0803E5D0
push {r4, r5, r6, r7, lr}
ldr r6, _0803E634 @ =gMain+0x1888 @gMain.spriteGroups[30]
ldrh r0, [r6]
cmp r0, #0
beq _0803E62E
movs r0, #0xf0
strh r0, [r6, #2]
movs r0, #0xa0
strh r0, [r6, #4]
movs r0, #0
ldr r7, _0803E638 @ =gOamBuffer
ldr r1, _0803E63C @ =0xFFFFFE00
mov ip, r1
_0803E5EA:
lsls r5, r0, #0x10
asrs r5, r5, #0x10
lsls r3, r5, #3
adds r3, #8
adds r3, r6, r3
ldrh r4, [r3]
lsls r4, r4, #3
adds r4, r4, r7
movs r2, #2
ldrsh r1, [r3, r2]
movs r2, #2
ldrsh r0, [r6, r2]
adds r1, r1, r0
ldr r2, _0803E640 @ =0x000001FF
adds r0, r2, #0
ands r1, r0
ldrh r2, [r4, #2]
mov r0, ip
ands r0, r2
orrs r0, r1
strh r0, [r4, #2]
ldrh r1, [r3]
lsls r1, r1, #3
adds r1, r1, r7
ldrb r0, [r6, #4]
ldrb r3, [r3, #4]
adds r0, r0, r3
strb r0, [r1]
adds r5, #1
lsls r5, r5, #0x10
lsrs r0, r5, #0x10
asrs r5, r5, #0x10
cmp r5, #3
ble _0803E5EA
_0803E62E:
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.align 2, 0
_0803E634: .4byte gMain+0x1888 @gMain.spriteGroups[30]
_0803E638: .4byte gOamBuffer
_0803E63C: .4byte 0xFFFFFE00
_0803E640: .4byte 0x000001FF

Binary file not shown.

View File

@ -145,6 +145,26 @@ extern u8 gUnknown_0200FBB0[];
extern u8 gUnknown_020030A0[];
void sub_3E5D0(void)
{
s16 i;
struct SpriteGroup *group;
struct OamDataSimple *oamSimple;
group = &gMain.spriteGroups[30];
if (group->available)
{
group->baseX = 240;
group->baseY = 160;
for (i = 0; i < 4; i++)
{
oamSimple = &group->oam[i];
gOamBuffer[oamSimple->oamId].x = oamSimple->xOffset + group->baseX;
gOamBuffer[oamSimple->oamId].y = oamSimple->yOffset + group->baseY;
}
}
}
void sub_3E644(void)
{
s16 i, j;