Use BUGFIX for some inline fixes

This commit is contained in:
GriffinR
2020-12-12 23:28:01 -05:00
parent ba3021db64
commit 81d95b9325
22 changed files with 157 additions and 46 deletions
+10 -3
View File
@@ -3846,7 +3846,6 @@ bool8 FldEff_MoveDeoxysRock(struct Sprite* sprite)
static void Task_MoveDeoxysRock(u8 taskId)
{
// BUG: Possible divide by zero
s16 *data = gTasks[taskId].data;
struct Sprite *sprite = &gSprites[data[1]];
switch (data[0])
@@ -3854,8 +3853,16 @@ static void Task_MoveDeoxysRock(u8 taskId)
case 0:
data[4] = sprite->pos1.x << 4;
data[5] = sprite->pos1.y << 4;
data[6] = (data[2] * 16 - data[4]) / data[8];
data[7] = (data[3] * 16 - 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] * 16 - data[4]) / DIVISOR;
data[7] = (data[3] * 16 - data[5]) / DIVISOR;
data[0]++;
case 1:
if (data[8] != 0)