Merge pull request #299 from hatal175/CopyOAM

This commit is contained in:
notyourav 2022-01-14 10:28:40 -08:00 committed by GitHub
commit 2cf294d02d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 15 deletions

View File

@ -112,9 +112,11 @@ typedef struct {
} WStruct;
typedef struct {
u16 unk0;
u8 unk0;
u8 unk1;
u16 unk2;
u16 unk4;
u8 unk4;
u8 unk5;
u8 unk6;
u8 unk7;
} OAMObj;

View File

@ -24,23 +24,26 @@ void FlushSprites(void) {
gOAMControls.updated = 0;
}
NONMATCH("asm/non_matching/vram/CopyOAM.inc", void CopyOAM(void)) {
s32 rem;
void CopyOAM(void) {
u16* d;
s32 rem;
if (gMain.ticks.HALF.LO == 0) {
gOAMControls.unk[0x20].unk0 = gMain.ticks.HALF.LO;
gOAMControls.unk[0x48].unk4 = gMain.ticks.HALF.LO;
gOAMControls.unk[0x71].unk0 = gMain.ticks.HALF.LO;
gOAMControls.unk[0x99].unk4 = gMain.ticks.HALF.LO;
if (gMain.pad == 0) {
gOAMControls.unk[0x20].unk0 = 0;
gOAMControls.unk[0x48].unk4 = 0;
gOAMControls.unk[0x71].unk0 = 0;
gOAMControls.unk[0x99].unk4 = 0;
} else {
gMain.ticks.HALF.LO--;
gMain.pad--;
}
rem = 0x80 - gOAMControls.updated;
for (d = (u16*)&gOAMControls.oam[0x80 + gOAMControls.updated]; rem > 0; rem--) {
*d = 0x2A0;
(u8*)d += 6;
if (rem > 0) {
d = (u16*)&gOAMControls.oam[gOAMControls.updated];
for (; rem != 0; rem--) {
*d = 0x2A0;
(u8*)d += 8;
}
}
if (gOAMControls.unk[0].unk7) {
gOAMControls.unk[0].unk7 = 0;
@ -48,7 +51,6 @@ NONMATCH("asm/non_matching/vram/CopyOAM.inc", void CopyOAM(void)) {
}
gOAMControls.field_0x0 = 1;
}
END_NONMATCH
void DrawEntities(void) {
void (*fn)(void);

View File

@ -37,7 +37,7 @@ void sub_0805ECEC(int param_1, u32 param_2, u32 param_3, u32 param_4) {
gOAMControls.unk[0].unk7 = 1;
temp = &gOAMControls.unk[param_1].unk0;
temp = (u16*)&gOAMControls.unk[param_1].unk0;
temp[0] = param_2;
temp[1] = param_3;
temp[2] = param_4;