Fix over shift left undefined behaviour.

The maximum zoom level is now >= 8, so shifting a uint8 by a zoom
level results in undefined behaviour.
This commit is contained in:
Jonathan G Rennison
2015-11-22 23:31:51 +00:00
parent d2cd74223e
commit 52d3f075ea

View File

@@ -269,7 +269,7 @@ static bool PadSingleSprite(SpriteLoader::Sprite *sprite, ZoomLevel zoom, uint p
return true;
}
static bool PadSprites(SpriteLoader::Sprite *sprite, uint8 sprite_avail)
static bool PadSprites(SpriteLoader::Sprite *sprite, unsigned int sprite_avail)
{
/* Get minimum top left corner coordinates. */
int min_xoffs = INT32_MAX;
@@ -310,7 +310,7 @@ static bool PadSprites(SpriteLoader::Sprite *sprite, uint8 sprite_avail)
return true;
}
static bool ResizeSprites(SpriteLoader::Sprite *sprite, uint8 sprite_avail, uint32 file_slot, uint32 file_pos)
static bool ResizeSprites(SpriteLoader::Sprite *sprite, unsigned int sprite_avail, uint32 file_slot, uint32 file_pos)
{
/* Create a fully zoomed image if it does not exist */
ZoomLevel first_avail = static_cast<ZoomLevel>(FIND_FIRST_BIT(sprite_avail));