port UBFIXes from emerald

This commit is contained in:
Kurausukun
2021-06-26 04:04:22 -04:00
parent 8116790c08
commit 88bd618496
8 changed files with 65 additions and 7 deletions
+10 -2
View File
@@ -3666,8 +3666,16 @@ static void Task_MoveDeoxysRock_Step(u8 taskId)
case 0:
data[4] = sprite->pos1.x << 4;
data[5] = sprite->pos1.y << 4;
data[6] = ((data[2] << 4) - data[4]) / data[8];
data[7] = ((data[3] << 4) - data[5]) / data[8];
// UB: Possible divide by zero
#ifdef UBFIX
#define DIVISOR (data[8] ? data[8] : 1);
#else
#define DIVISOR (data[8])
#endif
data[6] = ((data[2] << 4) - data[4]) / DIVISOR;
data[7] = ((data[3] << 4) - data[5]) / DIVISOR;
data[0]++;
// fallthrough
case 1: