Fixed 32bpp base graphics set not working on 16bpp videomode

This commit is contained in:
Sergii Pylypenko
2014-07-01 22:01:22 +03:00
parent 91ebce1a9c
commit 2b7b42f09e
2 changed files with 5 additions and 1 deletions

View File

@@ -453,7 +453,7 @@ static void *AllocateFont(size_t size)
static bool GetFontAAState(FontSize size) static bool GetFontAAState(FontSize size)
{ {
/* AA is only supported for 32 bpp */ /* AA is only supported for 32 bpp */
if (BlitterFactory::GetCurrentBlitter()->GetScreenDepth() != 32) return false; if (BlitterFactory::GetCurrentBlitter()->GetScreenDepth() != 32 && BlitterFactory::GetCurrentBlitter()->GetScreenDepth() != 16) return false;
switch (size) { switch (size) {
default: NOT_REACHED(); default: NOT_REACHED();

View File

@@ -400,6 +400,10 @@ static void *ReadSprite(const SpriteCache *sc, SpriteID id, SpriteType sprite_ty
/* Try for 32bpp sprites first. */ /* Try for 32bpp sprites first. */
sprite_avail = sprite_loader.LoadSprite(sprite, file_slot, file_pos, sprite_type, true); sprite_avail = sprite_loader.LoadSprite(sprite, file_slot, file_pos, sprite_type, true);
} }
if (sprite_type != ST_MAPGEN && BlitterFactory::GetCurrentBlitter()->GetScreenDepth() == 16) {
/* 32bpp sprites for 16bpp videomode. */
sprite_avail = sprite_loader.LoadSprite(sprite, file_slot, file_pos, sprite_type, true);
}
if (sprite_avail == 0) { if (sprite_avail == 0) {
sprite_avail = sprite_loader.LoadSprite(sprite, file_slot, file_pos, sprite_type, false); sprite_avail = sprite_loader.LoadSprite(sprite, file_slot, file_pos, sprite_type, false);
} }