mirror of https://github.com/zeldaret/tmc.git
Merge pull request #299 from hatal175/CopyOAM
This commit is contained in:
commit
2cf294d02d
|
@ -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;
|
||||
|
|
26
src/affine.c
26
src/affine.c
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue