summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authornotyourav <65437533+notyourav@users.noreply.github.com>2022-01-14 10:28:40 -0800
committerGitHub <noreply@github.com>2022-01-14 10:28:40 -0800
commit2cf294d02dfa8a483827d4df65ea42834bf29cf5 (patch)
tree3079e4250fadecb57d8c7b34f2691f231cea83ea /src
parent68161d76d8d06eda66d4051f0b467d3fcef70135 (diff)
parentd04a806abfd271fd6e4100d2888d3ead1fd84942 (diff)
Merge pull request #299 from hatal175/CopyOAM
Diffstat (limited to 'src')
-rw-r--r--src/affine.c26
-rw-r--r--src/code_0805EC04.c2
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;