summaryrefslogtreecommitdiff
path: root/src/record_mixing.c
diff options
context:
space:
mode:
authorPokeCodec <67983839+PokeCodec@users.noreply.github.com>2020-09-09 15:23:52 -0400
committerPokeCodec <67983839+PokeCodec@users.noreply.github.com>2020-09-09 15:49:51 -0400
commit84a92279c9133dfba085af05a0f2b6cce461d765 (patch)
tree7557609441f26b14d23936ebad5bb8ef280009aa /src/record_mixing.c
parentdc34cf1711d661d7de6ab23ac91702c16c2c2b57 (diff)
Record mixing fakematch fixed!
Diffstat (limited to 'src/record_mixing.c')
-rw-r--r--src/record_mixing.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 88c49c016..b12b71697 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -866,27 +866,22 @@ static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t r
}
else if (sp1c[i][0] == TRUE && sp1c[i][1] == TRUE)
{
- u32 var1, var2;
+ u8 mail1, mail2;
sp24[j][0] = i;
- var1 = sub_80E7A9C(&_src->mail[0]);
- var2 = sub_80E7A9C(&_src->mail[1]);
- if (!var1 && var2)
+ mail1 = sub_80E7A9C(&_src->mail[0]);
+ mail2 = sub_80E7A9C(&_src->mail[1]);
+ if (!(mail1 || mail2) || (mail1 && mail2)) //Logical (not bitwise) XOR. Should be ((mail1 || mail2) && !(mail1 && mail2)), but that doesn't match.
{
- #ifndef NONMATCHING
- register u8 one asm("r0") = 1; // boo, a fakematch
- sp24[j][1] = one;
- #else
- sp24[j][1] = 1;
- #endif
+ sp24[j][1] = Random2() % 2;
}
- else if ((var1 && var2) || (!var1 && !var2))
+ else if (mail1 && !mail2)
{
- sp24[j][1] = Random2() % 2;
+ sp24[j][1] = 0;
}
- else if (var1 && !var2)
+ else if (!mail1 && mail2)
{
- sp24[j][1] = 0;
+ sp24[j][1] = 1;
}
j++;
}
@@ -921,8 +916,8 @@ static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t r
}
_src = (void *)src + which * recordSize;
- memcpy(&gSaveBlock1Ptr->daycare.mons[0].mail, &_src->mail[0], sizeof(struct DayCareMail));
- memcpy(&gSaveBlock1Ptr->daycare.mons[1].mail, &_src->mail[1], sizeof(struct DayCareMail));
+ gSaveBlock1Ptr->daycare.mons[0].mail = _src->mail[0];
+ gSaveBlock1Ptr->daycare.mons[1].mail = _src->mail[1];
SeedRng(oldSeed);
}