Blitter: Null blitter always requires no zoom levels

pull/590/head
Jonathan G Rennison 9 months ago
parent c4e8b919f8
commit 7e5a87dd46

@ -18,6 +18,7 @@ public:
Blitter_Null()
{
this->SetScreenDepth(0);
this->SetNoSpriteDataRequired(true);
}
void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom) override {};

@ -605,6 +605,7 @@ static void *ReadSprite(const SpriteCache *sc, SpriteID id, SpriteType sprite_ty
} else {
zoom_levels = UINT8_MAX;
}
if (encoder->NoSpriteDataRequired()) zoom_levels = 0;
SpriteFile &file = *sc->file;
size_t file_pos = sc->file_pos;

@ -84,6 +84,7 @@ public:
class SpriteEncoder {
bool supports_missing_zoom_levels = false;
bool supports_32bpp = false;
bool no_data_required = false;
protected:
inline void SetSupportsMissingZoomLevels(bool supported)
@ -96,6 +97,11 @@ protected:
this->supports_32bpp = supported;
}
inline void SetNoSpriteDataRequired(bool not_required)
{
this->no_data_required = not_required;
}
public:
virtual ~SpriteEncoder() = default;
@ -105,6 +111,11 @@ public:
return this->supports_missing_zoom_levels;
}
inline bool NoSpriteDataRequired() const
{
return this->no_data_required;
}
/**
* Can the sprite encoder make use of RGBA sprites?
*/

Loading…
Cancel
Save