mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-03-21 17:24:13 -05:00
This commit is contained in:
parent
2726baa4be
commit
d4c781c63f
15
data/rom.s
15
data/rom.s
|
|
@ -2586,7 +2586,20 @@ gUnknown_086A7C24:: @ 0x086A7C24
|
|||
.incbin "baserom.gba", 0x6A7C24, 0x44
|
||||
|
||||
gUnknown_086A7C68:: @ 0x086A7C68
|
||||
.incbin "baserom.gba", 0x6A7C68, 0xB8
|
||||
.byte 0x05, 0x02, 0x03, 0x01, 0x06, 0x01
|
||||
.align 2,0
|
||||
.byte 0x05, 0xFE, 0x03, 0xFF, 0x19, 0x02
|
||||
.align 2,0
|
||||
.byte 0xFB, 0x02, 0xFD, 0x01, 0x28, 0x01
|
||||
.align 2,0
|
||||
.byte 0xFE, 0x05, 0xFF, 0x03, 0x34, 0x02
|
||||
.align 2,0
|
||||
.byte 0xFE, 0xFB, 0xFF, 0xFD, 0x34, 0x01
|
||||
.align 2,0
|
||||
.byte 0, 0, 0, 0, 0, 0
|
||||
.align 2, 0
|
||||
|
||||
.incbin "baserom.gba", 0x6A7C98, 0x88
|
||||
|
||||
gUnknown_086A7D20:: @ 0x086A7D20
|
||||
.incbin "baserom.gba", 0x6A7D20, 0x2C
|
||||
|
|
|
|||
Binary file not shown.
526
src/intro.c
526
src/intro.c
|
|
@ -81,8 +81,7 @@ struct UnkStruct_0201A450
|
|||
s16 unk8;
|
||||
s16 unkA;
|
||||
s8 unkC;
|
||||
};
|
||||
|
||||
}; // 0x10 size in memory
|
||||
extern struct UnkStruct_0201A450 gUnknown_0201A450[6];
|
||||
|
||||
extern struct UnkStruct_086A7768 gUnknown_086A7768[0x8];
|
||||
|
|
@ -100,6 +99,19 @@ struct UnkStruct_086A7AC0 {
|
|||
extern struct UnkStruct_086A7AC0 gUnknown_086A7AC0[];
|
||||
extern struct UnkStruct_086A7AC0 gUnknown_086A7B34[];
|
||||
|
||||
extern const struct SpriteSet *const gUnknown_086A7C24[];
|
||||
|
||||
struct UnkStruct_086A7C68
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
}; // 0x8 size in memory
|
||||
extern const struct UnkStruct_086A7C68 gUnknown_086A7C68[];
|
||||
|
||||
void IntroMain(void)
|
||||
{
|
||||
gIntroStateFuncs[gMain.subState]();
|
||||
|
|
@ -1958,410 +1970,118 @@ void sub_C498(void)
|
|||
gIntroSceneIndex++;
|
||||
}
|
||||
|
||||
// See https://decomp.me/scratch/w2I8G
|
||||
NAKED
|
||||
void sub_C4F0(void)
|
||||
{
|
||||
asm_unified("\n\
|
||||
push {r4, r5, r6, r7, lr}\n\
|
||||
mov r7, sl\n\
|
||||
mov r6, sb\n\
|
||||
mov r5, r8\n\
|
||||
push {r5, r6, r7}\n\
|
||||
sub sp, #0x20\n\
|
||||
ldr r0, _0800C64C @ =gMain_spriteGroups\n\
|
||||
mov r8, r0\n\
|
||||
ldr r6, _0800C650 @ =gUnknown_0201A450\n\
|
||||
movs r1, #0x28\n\
|
||||
ldrsh r0, [r6, r1]\n\
|
||||
movs r2, #0xe6\n\
|
||||
lsls r2, r2, #2\n\
|
||||
adds r3, r0, #0\n\
|
||||
muls r3, r2, r3\n\
|
||||
movs r0, #0xb8\n\
|
||||
lsls r0, r0, #1\n\
|
||||
add r0, r8\n\
|
||||
adds r3, r3, r0\n\
|
||||
str r3, [sp]\n\
|
||||
movs r7, #0x38\n\
|
||||
ldrsh r0, [r6, r7]\n\
|
||||
muls r0, r2, r0\n\
|
||||
movs r1, #0x8a\n\
|
||||
lsls r1, r1, #2\n\
|
||||
add r1, r8\n\
|
||||
adds r0, r0, r1\n\
|
||||
str r0, [sp, #4]\n\
|
||||
adds r0, r6, #0\n\
|
||||
adds r0, #0x48\n\
|
||||
movs r1, #0\n\
|
||||
ldrsh r0, [r0, r1]\n\
|
||||
muls r0, r2, r0\n\
|
||||
movs r1, #0xb8\n\
|
||||
lsls r1, r1, #2\n\
|
||||
add r1, r8\n\
|
||||
adds r0, r0, r1\n\
|
||||
str r0, [sp, #8]\n\
|
||||
adds r0, r6, #0\n\
|
||||
adds r0, #0x58\n\
|
||||
movs r7, #0\n\
|
||||
ldrsh r0, [r0, r7]\n\
|
||||
muls r0, r2, r0\n\
|
||||
adds r1, r2, #0\n\
|
||||
add r1, r8\n\
|
||||
adds r0, r0, r1\n\
|
||||
str r0, [sp, #0xc]\n\
|
||||
adds r0, r6, #0\n\
|
||||
adds r0, #0x68\n\
|
||||
movs r1, #0\n\
|
||||
ldrsh r0, [r0, r1]\n\
|
||||
muls r0, r2, r0\n\
|
||||
movs r1, #0x8a\n\
|
||||
lsls r1, r1, #3\n\
|
||||
add r1, r8\n\
|
||||
adds r0, r0, r1\n\
|
||||
str r0, [sp, #0x10]\n\
|
||||
movs r0, #0xc\n\
|
||||
ldrsb r0, [r6, r0]\n\
|
||||
mov r2, r8\n\
|
||||
strh r0, [r2]\n\
|
||||
movs r0, #1\n\
|
||||
ldr r7, _0800C654 @ =gMain_spriteGroups_1\n\
|
||||
strh r0, [r7]\n\
|
||||
adds r0, r6, #0\n\
|
||||
adds r0, #0x2c\n\
|
||||
ldrb r0, [r0]\n\
|
||||
lsls r0, r0, #0x18\n\
|
||||
asrs r0, r0, #0x18\n\
|
||||
strh r0, [r3]\n\
|
||||
ldr r1, [sp, #4]\n\
|
||||
adds r0, r6, #0\n\
|
||||
adds r0, #0x3c\n\
|
||||
ldrb r0, [r0]\n\
|
||||
lsls r0, r0, #0x18\n\
|
||||
asrs r0, r0, #0x18\n\
|
||||
strh r0, [r1]\n\
|
||||
ldr r1, [sp, #8]\n\
|
||||
adds r0, r6, #0\n\
|
||||
adds r0, #0x4c\n\
|
||||
ldrb r0, [r0]\n\
|
||||
lsls r0, r0, #0x18\n\
|
||||
asrs r0, r0, #0x18\n\
|
||||
strh r0, [r1]\n\
|
||||
ldr r1, [sp, #0xc]\n\
|
||||
adds r0, r6, #0\n\
|
||||
adds r0, #0x5c\n\
|
||||
ldrb r0, [r0]\n\
|
||||
lsls r0, r0, #0x18\n\
|
||||
asrs r0, r0, #0x18\n\
|
||||
strh r0, [r1]\n\
|
||||
ldr r1, [sp, #0x10]\n\
|
||||
adds r0, r6, #0\n\
|
||||
adds r0, #0x6c\n\
|
||||
ldrb r0, [r0]\n\
|
||||
lsls r0, r0, #0x18\n\
|
||||
asrs r0, r0, #0x18\n\
|
||||
strh r0, [r1]\n\
|
||||
ldr r0, _0800C658 @ =gUnknown_086A7C24\n\
|
||||
movs r1, #0x11\n\
|
||||
bl LoadSpriteSets\n\
|
||||
mov r1, r8\n\
|
||||
ldrh r0, [r1]\n\
|
||||
cmp r0, #1\n\
|
||||
bne _0800C614\n\
|
||||
ldrh r0, [r6]\n\
|
||||
strh r0, [r1, #2]\n\
|
||||
ldrh r0, [r6, #2]\n\
|
||||
strh r0, [r1, #4]\n\
|
||||
mov r5, r8\n\
|
||||
adds r5, #8\n\
|
||||
ldr r4, _0800C65C @ =gOamBuffer\n\
|
||||
ldrh r1, [r1, #8]\n\
|
||||
lsls r1, r1, #3\n\
|
||||
adds r1, r1, r4\n\
|
||||
ldrb r2, [r1, #5]\n\
|
||||
movs r0, #0xd\n\
|
||||
rsbs r0, r0, #0\n\
|
||||
ands r0, r2\n\
|
||||
strb r0, [r1, #5]\n\
|
||||
mov r3, r8\n\
|
||||
ldrh r2, [r3, #8]\n\
|
||||
lsls r2, r2, #3\n\
|
||||
adds r2, r2, r4\n\
|
||||
movs r7, #2\n\
|
||||
ldrsh r1, [r5, r7]\n\
|
||||
movs r7, #2\n\
|
||||
ldrsh r0, [r3, r7]\n\
|
||||
adds r1, r1, r0\n\
|
||||
ldr r3, _0800C660 @ =0x000001FF\n\
|
||||
adds r0, r3, #0\n\
|
||||
ands r1, r0\n\
|
||||
ldrh r3, [r2, #2]\n\
|
||||
ldr r0, _0800C664 @ =0xFFFFFE00\n\
|
||||
ands r0, r3\n\
|
||||
orrs r0, r1\n\
|
||||
strh r0, [r2, #2]\n\
|
||||
mov r7, r8\n\
|
||||
ldrh r1, [r7, #8]\n\
|
||||
lsls r1, r1, #3\n\
|
||||
adds r1, r1, r4\n\
|
||||
ldrb r0, [r7, #4]\n\
|
||||
ldrb r5, [r5, #4]\n\
|
||||
adds r0, r0, r5\n\
|
||||
strb r0, [r1]\n\
|
||||
_0800C614:\n\
|
||||
movs r5, #0\n\
|
||||
str r6, [sp, #0x14]\n\
|
||||
_0800C618:\n\
|
||||
lsls r1, r5, #2\n\
|
||||
mov r2, sp\n\
|
||||
adds r0, r2, r1\n\
|
||||
ldr r0, [r0]\n\
|
||||
ldrh r0, [r0]\n\
|
||||
adds r4, r1, #0\n\
|
||||
adds r3, r5, #1\n\
|
||||
str r3, [sp, #0x18]\n\
|
||||
cmp r0, #1\n\
|
||||
beq _0800C62E\n\
|
||||
b _0800C75A\n\
|
||||
_0800C62E:\n\
|
||||
ldr r1, _0800C668 @ =gUnknown_0202A578\n\
|
||||
ldrh r0, [r1]\n\
|
||||
adds r0, #1\n\
|
||||
strh r0, [r1]\n\
|
||||
lsls r0, r0, #0x10\n\
|
||||
asrs r0, r0, #0x10\n\
|
||||
cmp r0, #5\n\
|
||||
ble _0800C670\n\
|
||||
lsls r1, r5, #3\n\
|
||||
ldr r6, _0800C66C @ =gUnknown_086A7C68\n\
|
||||
adds r0, r1, r6\n\
|
||||
ldrb r2, [r0, #2]\n\
|
||||
ldrb r0, [r0, #3]\n\
|
||||
b _0800C67A\n\
|
||||
.align 2, 0\n\
|
||||
_0800C64C: .4byte gMain_spriteGroups\n\
|
||||
_0800C650: .4byte gUnknown_0201A450\n\
|
||||
_0800C654: .4byte gMain_spriteGroups_1\n\
|
||||
_0800C658: .4byte gUnknown_086A7C24\n\
|
||||
_0800C65C: .4byte gOamBuffer\n\
|
||||
_0800C660: .4byte 0x000001FF\n\
|
||||
_0800C664: .4byte 0xFFFFFE00\n\
|
||||
_0800C668: .4byte gUnknown_0202A578\n\
|
||||
_0800C66C: .4byte gUnknown_086A7C68\n\
|
||||
_0800C670:\n\
|
||||
lsls r1, r5, #3\n\
|
||||
ldr r7, _0800C7F8 @ =gUnknown_086A7C68\n\
|
||||
adds r0, r1, r7\n\
|
||||
ldrb r2, [r0]\n\
|
||||
ldrb r0, [r0, #1]\n\
|
||||
_0800C67A:\n\
|
||||
adds r7, r1, #0\n\
|
||||
adds r3, r5, #2\n\
|
||||
lsls r1, r3, #4\n\
|
||||
ldr r6, [sp, #0x14]\n\
|
||||
adds r1, r1, r6\n\
|
||||
lsls r2, r2, #0x18\n\
|
||||
asrs r2, r2, #0x18\n\
|
||||
ldrh r6, [r1]\n\
|
||||
adds r2, r2, r6\n\
|
||||
strh r2, [r1]\n\
|
||||
lsls r0, r0, #0x18\n\
|
||||
asrs r0, r0, #0x18\n\
|
||||
ldrh r6, [r1, #2]\n\
|
||||
adds r0, r0, r6\n\
|
||||
strh r0, [r1, #2]\n\
|
||||
add r4, sp\n\
|
||||
ldr r0, [r4]\n\
|
||||
strh r2, [r0, #2]\n\
|
||||
ldr r2, [r4]\n\
|
||||
ldrh r0, [r1, #2]\n\
|
||||
strh r0, [r2, #4]\n\
|
||||
movs r0, #8\n\
|
||||
ldrsh r1, [r1, r0]\n\
|
||||
lsls r0, r1, #2\n\
|
||||
adds r0, r0, r1\n\
|
||||
adds r0, #2\n\
|
||||
adds r0, r5, r0\n\
|
||||
lsls r0, r0, #2\n\
|
||||
ldr r1, _0800C7FC @ =gUnknown_086A7C24\n\
|
||||
adds r0, r0, r1\n\
|
||||
ldr r0, [r0]\n\
|
||||
mov sb, r0\n\
|
||||
movs r6, #0\n\
|
||||
str r3, [sp, #0x1c]\n\
|
||||
adds r5, #1\n\
|
||||
str r5, [sp, #0x18]\n\
|
||||
ldrh r2, [r0]\n\
|
||||
cmp r6, r2\n\
|
||||
bge _0800C732\n\
|
||||
ldr r3, _0800C800 @ =gOamBuffer\n\
|
||||
mov ip, r3\n\
|
||||
ldr r0, _0800C7F8 @ =gUnknown_086A7C68\n\
|
||||
adds r7, r7, r0\n\
|
||||
mov sl, r7\n\
|
||||
movs r7, #8\n\
|
||||
_0800C6D4:\n\
|
||||
ldr r0, [r4]\n\
|
||||
adds r5, r0, r7\n\
|
||||
ldrh r2, [r5]\n\
|
||||
lsls r2, r2, #3\n\
|
||||
add r2, ip\n\
|
||||
mov r0, sl\n\
|
||||
ldrb r1, [r0, #5]\n\
|
||||
movs r3, #3\n\
|
||||
ands r1, r3\n\
|
||||
lsls r1, r1, #2\n\
|
||||
ldrb r3, [r2, #5]\n\
|
||||
movs r0, #0xd\n\
|
||||
rsbs r0, r0, #0\n\
|
||||
ands r0, r3\n\
|
||||
orrs r0, r1\n\
|
||||
strb r0, [r2, #5]\n\
|
||||
ldrh r2, [r5]\n\
|
||||
lsls r2, r2, #3\n\
|
||||
add r2, ip\n\
|
||||
movs r0, #2\n\
|
||||
ldrsh r1, [r5, r0]\n\
|
||||
ldr r0, [r4]\n\
|
||||
movs r3, #2\n\
|
||||
ldrsh r0, [r0, r3]\n\
|
||||
adds r1, r1, r0\n\
|
||||
ldr r3, _0800C804 @ =0x000001FF\n\
|
||||
adds r0, r3, #0\n\
|
||||
ands r1, r0\n\
|
||||
ldrh r3, [r2, #2]\n\
|
||||
ldr r0, _0800C808 @ =0xFFFFFE00\n\
|
||||
ands r0, r3\n\
|
||||
orrs r0, r1\n\
|
||||
strh r0, [r2, #2]\n\
|
||||
ldrh r1, [r5]\n\
|
||||
lsls r1, r1, #3\n\
|
||||
add r1, ip\n\
|
||||
ldr r0, [r4]\n\
|
||||
ldrb r0, [r0, #4]\n\
|
||||
ldrb r5, [r5, #4]\n\
|
||||
adds r0, r0, r5\n\
|
||||
strb r0, [r1]\n\
|
||||
adds r7, #8\n\
|
||||
adds r6, #1\n\
|
||||
mov r0, sb\n\
|
||||
ldrh r0, [r0]\n\
|
||||
cmp r6, r0\n\
|
||||
blt _0800C6D4\n\
|
||||
_0800C732:\n\
|
||||
ldr r1, [sp, #0x1c]\n\
|
||||
lsls r0, r1, #4\n\
|
||||
ldr r2, [sp, #0x14]\n\
|
||||
adds r3, r0, r2\n\
|
||||
ldrh r0, [r3, #0xa]\n\
|
||||
adds r0, #1\n\
|
||||
movs r1, #0\n\
|
||||
strh r0, [r3, #0xa]\n\
|
||||
lsls r0, r0, #0x10\n\
|
||||
asrs r0, r0, #0x10\n\
|
||||
cmp r0, #4\n\
|
||||
ble _0800C75A\n\
|
||||
strh r1, [r3, #0xa]\n\
|
||||
ldrh r1, [r3, #8]\n\
|
||||
movs r6, #8\n\
|
||||
ldrsh r0, [r3, r6]\n\
|
||||
cmp r0, #1\n\
|
||||
bgt _0800C75A\n\
|
||||
adds r0, r1, #1\n\
|
||||
strh r0, [r3, #8]\n\
|
||||
_0800C75A:\n\
|
||||
ldr r5, [sp, #0x18]\n\
|
||||
cmp r5, #4\n\
|
||||
bgt _0800C762\n\
|
||||
b _0800C618\n\
|
||||
_0800C762:\n\
|
||||
ldr r7, _0800C80C @ =gMain_spriteGroups_1\n\
|
||||
ldrh r0, [r7]\n\
|
||||
cmp r0, #1\n\
|
||||
bne _0800C7C8\n\
|
||||
ldr r0, _0800C810 @ =gUnknown_0201A450\n\
|
||||
ldrh r1, [r0, #0x10]\n\
|
||||
strh r1, [r7, #2]\n\
|
||||
ldrh r0, [r0, #0x12]\n\
|
||||
strh r0, [r7, #4]\n\
|
||||
ldr r5, _0800C800 @ =gOamBuffer\n\
|
||||
ldr r0, _0800C808 @ =0xFFFFFE00\n\
|
||||
mov sb, r0\n\
|
||||
adds r4, r7, #0\n\
|
||||
adds r4, #8\n\
|
||||
movs r6, #3\n\
|
||||
_0800C780:\n\
|
||||
ldrh r2, [r4]\n\
|
||||
lsls r2, r2, #3\n\
|
||||
adds r2, r2, r5\n\
|
||||
ldrb r0, [r2, #5]\n\
|
||||
movs r1, #0xc\n\
|
||||
orrs r0, r1\n\
|
||||
strb r0, [r2, #5]\n\
|
||||
ldrh r3, [r4]\n\
|
||||
lsls r3, r3, #3\n\
|
||||
adds r3, r3, r5\n\
|
||||
movs r2, #2\n\
|
||||
ldrsh r1, [r4, r2]\n\
|
||||
ldr r7, _0800C80C @ =gMain_spriteGroups_1\n\
|
||||
movs r2, #2\n\
|
||||
ldrsh r0, [r7, r2]\n\
|
||||
adds r1, r1, r0\n\
|
||||
ldr r7, _0800C804 @ =0x000001FF\n\
|
||||
adds r0, r7, #0\n\
|
||||
ands r1, r0\n\
|
||||
ldrh r2, [r3, #2]\n\
|
||||
mov r0, sb\n\
|
||||
ands r0, r2\n\
|
||||
orrs r0, r1\n\
|
||||
strh r0, [r3, #2]\n\
|
||||
ldrh r1, [r4]\n\
|
||||
lsls r1, r1, #3\n\
|
||||
adds r1, r1, r5\n\
|
||||
ldr r2, _0800C80C @ =gMain_spriteGroups_1\n\
|
||||
ldrb r0, [r2, #4]\n\
|
||||
ldrb r3, [r4, #4]\n\
|
||||
adds r0, r0, r3\n\
|
||||
strb r0, [r1]\n\
|
||||
adds r4, #8\n\
|
||||
subs r6, #1\n\
|
||||
cmp r6, #0\n\
|
||||
bge _0800C780\n\
|
||||
_0800C7C8:\n\
|
||||
movs r0, #0\n\
|
||||
ldr r6, _0800C80C @ =gMain_spriteGroups_1\n\
|
||||
strh r0, [r6]\n\
|
||||
mov r7, r8\n\
|
||||
strh r0, [r7]\n\
|
||||
ldr r1, [sp]\n\
|
||||
strh r0, [r1]\n\
|
||||
ldr r1, [sp, #4]\n\
|
||||
strh r0, [r1]\n\
|
||||
ldr r1, [sp, #8]\n\
|
||||
strh r0, [r1]\n\
|
||||
ldr r1, [sp, #0xc]\n\
|
||||
strh r0, [r1]\n\
|
||||
ldr r1, [sp, #0x10]\n\
|
||||
strh r0, [r1]\n\
|
||||
add sp, #0x20\n\
|
||||
pop {r3, r4, r5}\n\
|
||||
mov r8, r3\n\
|
||||
mov sb, r4\n\
|
||||
mov sl, r5\n\
|
||||
pop {r4, r5, r6, r7}\n\
|
||||
pop {r0}\n\
|
||||
bx r0\n\
|
||||
.align 2, 0\n\
|
||||
_0800C7F8: .4byte gUnknown_086A7C68\n\
|
||||
_0800C7FC: .4byte gUnknown_086A7C24\n\
|
||||
_0800C800: .4byte gOamBuffer\n\
|
||||
_0800C804: .4byte 0x000001FF\n\
|
||||
_0800C808: .4byte 0xFFFFFE00\n\
|
||||
_0800C80C: .4byte gMain_spriteGroups_1\n\
|
||||
_0800C810: .4byte gUnknown_0201A450\n\
|
||||
");
|
||||
}
|
||||
struct SpriteGroup *sg0;
|
||||
struct SpriteGroup *sg1;
|
||||
struct SpriteGroup *spriteGroups[5];
|
||||
struct OamDataSimple *oamData;
|
||||
const struct SpriteSet *p;
|
||||
s32 i;
|
||||
s32 j;
|
||||
s8 cVar1;
|
||||
s8 cVar2;
|
||||
|
||||
|
||||
sg0 = &gMain.spriteGroups[0];
|
||||
sg1 = &gMain.spriteGroups[1];
|
||||
|
||||
spriteGroups[0] = &gMain.spriteGroups[(5 * gUnknown_0201A450[2].unk8) + 2];
|
||||
spriteGroups[1] = &gMain.spriteGroups[(5 * gUnknown_0201A450[3].unk8) + 3];
|
||||
spriteGroups[2] = &gMain.spriteGroups[(5 * gUnknown_0201A450[4].unk8) + 4];
|
||||
spriteGroups[3] = &gMain.spriteGroups[(5 * gUnknown_0201A450[5].unk8) + 5];
|
||||
spriteGroups[4] = &gMain.spriteGroups[(5 * gUnknown_0201A450[6].unk8) + 6];
|
||||
|
||||
|
||||
sg0->available = gUnknown_0201A450[0].unkC;
|
||||
sg1->available = 1;
|
||||
|
||||
spriteGroups[0]->available = gUnknown_0201A450[2].unkC;
|
||||
spriteGroups[1]->available = gUnknown_0201A450[3].unkC;
|
||||
spriteGroups[2]->available = gUnknown_0201A450[4].unkC;
|
||||
spriteGroups[3]->available = gUnknown_0201A450[5].unkC;
|
||||
spriteGroups[4]->available = gUnknown_0201A450[6].unkC;
|
||||
|
||||
LoadSpriteSets(gUnknown_086A7C24, 0x11, gMain.spriteGroups);
|
||||
|
||||
if (sg0->available == 1)
|
||||
{
|
||||
sg0->baseX = gUnknown_0201A450[0].unk0;
|
||||
sg0->baseY = gUnknown_0201A450[0].unk2;
|
||||
oamData = &sg0->oam[0];
|
||||
gOamBuffer[oamData->oamId].priority = 0;
|
||||
gOamBuffer[oamData->oamId].x = oamData->xOffset + sg0->baseX;
|
||||
gOamBuffer[oamData->oamId].y = oamData->yOffset + sg0->baseY;
|
||||
}
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
if (spriteGroups[i]->available == 1)
|
||||
{
|
||||
gUnknown_0202A578++;
|
||||
if (gUnknown_0202A578 > 5)
|
||||
{
|
||||
cVar1 = gUnknown_086A7C68[i].unk2;
|
||||
cVar2 = gUnknown_086A7C68[i].unk3;
|
||||
}
|
||||
else
|
||||
{
|
||||
cVar1 = gUnknown_086A7C68[i].unk0;
|
||||
cVar2 = gUnknown_086A7C68[i].unk1;
|
||||
}
|
||||
|
||||
gUnknown_0201A450[2 + i].unk0 += cVar1;
|
||||
gUnknown_0201A450[2 + i].unk2 += cVar2;
|
||||
spriteGroups[i]->baseX = gUnknown_0201A450[2 + i].unk0;
|
||||
spriteGroups[i]->baseY = gUnknown_0201A450[2 + i].unk2;
|
||||
|
||||
p = gUnknown_086A7C24[( 2 + i) + (5 * gUnknown_0201A450[2 + i].unk8)];
|
||||
|
||||
for (j = 0; j < p->count; j++)
|
||||
{
|
||||
oamData = &spriteGroups[i]->oam[j];
|
||||
gOamBuffer[oamData->oamId].priority = (&gUnknown_086A7C68[i])->unk5;
|
||||
gOamBuffer[oamData->oamId].x = oamData->xOffset + spriteGroups[i]->baseX;
|
||||
gOamBuffer[oamData->oamId].y = oamData->yOffset + spriteGroups[i]->baseY;
|
||||
}
|
||||
|
||||
gUnknown_0201A450[2 + i].unkA++;
|
||||
|
||||
if (gUnknown_0201A450[2 + i].unkA > 0x4)
|
||||
{
|
||||
gUnknown_0201A450[2 + i].unkA = 0;
|
||||
if (gUnknown_0201A450[2 + i].unk8 < 0x2)
|
||||
{
|
||||
gUnknown_0201A450[2 + i].unk8++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (sg1->available == 1)
|
||||
{
|
||||
sg1->baseX = gUnknown_0201A450[1].unk0;
|
||||
sg1->baseY = gUnknown_0201A450[1].unk2;
|
||||
|
||||
for (j = 0; j < 4; j++)
|
||||
{
|
||||
oamData = &sg1->oam[j];
|
||||
gOamBuffer[oamData->oamId].priority = 3;
|
||||
gOamBuffer[oamData->oamId].x = oamData->xOffset + sg1->baseX;
|
||||
gOamBuffer[oamData->oamId].y = oamData->yOffset + sg1->baseY;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
sg1->available = 0;
|
||||
sg0->available = 0;
|
||||
|
||||
spriteGroups[0]->available = 0;
|
||||
spriteGroups[1]->available = 0;
|
||||
spriteGroups[2]->available = 0;
|
||||
spriteGroups[3]->available = 0;
|
||||
spriteGroups[4]->available = 0;
|
||||
}
|
||||
void sub_C814(void)
|
||||
{
|
||||
u16 i;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user