summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_anim_mons.c4
-rw-r--r--src/field_effect.c12
-rw-r--r--src/intro.c2
-rw-r--r--src/pokedex.c11
4 files changed, 6 insertions, 23 deletions
diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c
index 3f4a35475..688009519 100644
--- a/src/battle_anim_mons.c
+++ b/src/battle_anim_mons.c
@@ -1815,7 +1815,7 @@ void SetBattlerSpriteYOffsetFromYScale(u8 spriteId)
{
int var = 64 - GetBattlerYDeltaFromSpriteId(spriteId) * 2;
u16 matrix = gSprites[spriteId].oam.matrixNum;
- int var2 = (var << 8) / gOamMatrices[matrix].d;
+ int var2 = SAFE_DIV(var << 8, gOamMatrices[matrix].d);
if (var2 > 128)
var2 = 128;
@@ -1828,7 +1828,7 @@ void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId)
{
int var = 64 - GetBattlerYDeltaFromSpriteId(otherSpriteId) * 2;
u16 matrix = gSprites[spriteId].oam.matrixNum;
- int var2 = (var << 8) / gOamMatrices[matrix].d;
+ int var2 = SAFE_DIV(var << 8, gOamMatrices[matrix].d);
if (var2 > 128)
var2 = 128;
diff --git a/src/field_effect.c b/src/field_effect.c
index 162a530ca..a70ef2892 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -3853,16 +3853,8 @@ static void Task_MoveDeoxysRock(u8 taskId)
case 0:
data[4] = sprite->pos1.x << 4;
data[5] = sprite->pos1.y << 4;
-
- // 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[6] = SAFE_DIV(data[2] * 16 - data[4], data[8]);
+ data[7] = SAFE_DIV(data[3] * 16 - data[5], data[8]);
data[0]++;
case 1:
if (data[8] != 0)
diff --git a/src/intro.c b/src/intro.c
index 376176fe4..324ec6d46 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -1576,7 +1576,7 @@ static void Task_IntroSpinAndZoomPokeball(u8 taskId)
gTasks[taskId].func = Task_IntroWaitToSetupPart3LegendsFight;
}
- PanFadeAndZoomScreen(0x78, 0x50, 0x10000 / gTasks[taskId].data[1], gTasks[taskId].data[0]);
+ PanFadeAndZoomScreen(0x78, 0x50, SAFE_DIV(0x10000, gTasks[taskId].data[1]), gTasks[taskId].data[0]);
if (gIntroFrameCounter == 28)
BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_WHITEALPHA);
diff --git a/src/pokedex.c b/src/pokedex.c
index 645d8e6c8..558c27083 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -3032,17 +3032,8 @@ static void SpriteCB_PokedexListMonSprite(struct Sprite *sprite)
else
{
u32 var;
-
sprite->pos2.y = gSineTable[(u8)sprite->data[5]] * 76 / 256;
- // UB: possible division by zero
-#ifdef UBFIX
- if (gSineTable[sprite->data[5] + 64] != 0)
- var = 0x10000 / gSineTable[sprite->data[5] + 64];
- else
- var = 0;
-#else
- var = 0x10000 / gSineTable[sprite->data[5] + 64];
-#endif //UBFIX
+ var = SAFE_DIV(0x10000, gSineTable[sprite->data[5] + 64]);
if (var > 0xFFFF)
var = 0xFFFF;
SetOamMatrix(sprite->data[1] + 1, 0x100, 0, 0, var);