diff options
| author | notyourav <65437533+notyourav@users.noreply.github.com> | 2022-01-14 10:28:40 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-14 10:28:40 -0800 |
| commit | 2cf294d02dfa8a483827d4df65ea42834bf29cf5 (patch) | |
| tree | 3079e4250fadecb57d8c7b34f2691f231cea83ea /src | |
| parent | 68161d76d8d06eda66d4051f0b467d3fcef70135 (diff) | |
| parent | d04a806abfd271fd6e4100d2888d3ead1fd84942 (diff) | |
Merge pull request #299 from hatal175/CopyOAM
Diffstat (limited to 'src')
| -rw-r--r-- | src/affine.c | 26 | ||||
| -rw-r--r-- | src/code_0805EC04.c | 2 |
2 files changed, 15 insertions, 13 deletions
diff --git a/src/affine.c b/src/affine.c index dcec33a8..bd11f972 100644 --- a/src/affine.c +++ b/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); diff --git a/src/code_0805EC04.c b/src/code_0805EC04.c index 93b41d3f..ecac5cfb 100644 --- a/src/code_0805EC04.c +++ b/src/code_0805EC04.c @@ -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; |
