diff --git a/asm/rom_3219C.s b/asm/rom_3219C.s index 1915589..4216953 100644 --- a/asm/rom_3219C.s +++ b/asm/rom_3219C.s @@ -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 diff --git a/expected_objs/sub_3E5D0.o b/expected_objs/sub_3E5D0.o deleted file mode 100644 index 754f3d9..0000000 Binary files a/expected_objs/sub_3E5D0.o and /dev/null differ diff --git a/src/rom_49A34.c b/src/rom_49A34.c index 0fd97af..650e7ee 100644 --- a/src/rom_49A34.c +++ b/src/rom_49A34.c @@ -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;