diff options
author | Sierraffinity <sierra@domoreaweso.me> | 2020-12-26 18:25:21 -0800 |
---|---|---|
committer | Sierraffinity <sierra@domoreaweso.me> | 2020-12-26 18:25:21 -0800 |
commit | 127bb97c0e5c50b9f22715bdf4e958937f7ef992 (patch) | |
tree | dd423c22391406701c3d3074dff0b69818269f51 /src | |
parent | bafbf9240d0f91ee3c38ca4652e3c54b9c503c9b (diff) |
Add UBFIX for division by zero in SpriteCB_PokedexListMonSprite
Diffstat (limited to 'src')
-rw-r--r-- | src/pokedex.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pokedex.c b/src/pokedex.c index 516cef6a7..691abd649 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -3037,7 +3037,15 @@ static void SpriteCB_PokedexListMonSprite(struct Sprite *sprite) 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 = 0xFFFF; +#else var = 0x10000 / gSineTable[sprite->data[5] + 64]; +#endif //UBFIX if (var > 0xFFFF) var = 0xFFFF; SetOamMatrix(sprite->data[1] + 1, 0x100, 0, 0, var); |