Fix #9804: Only apply sprite_zoom_min setting when sprites available (#9988)

Only discard sprite zoom levels when a suitable higher zoom level is
defined in the same colour mode

This is to avoid placeholder or empty sprites being used, causing
visual artefacts
This commit is contained in:
Jonathan G Rennison
2022-09-21 11:37:11 +01:00
committed by GitHub
parent 20f7ff8ac0
commit 5e413c9dcd
5 changed files with 69 additions and 13 deletions

View File

@@ -22,6 +22,13 @@ struct Sprite {
byte data[]; ///< Sprite data.
};
enum SpriteCacheCtrlFlags {
SCCF_ALLOW_ZOOM_MIN_1X_PAL = 0, ///< Allow use of sprite min zoom setting at 1x in palette mode.
SCCF_ALLOW_ZOOM_MIN_1X_32BPP = 1, ///< Allow use of sprite min zoom setting at 1x in 32bpp mode.
SCCF_ALLOW_ZOOM_MIN_2X_PAL = 2, ///< Allow use of sprite min zoom setting at 2x in palette mode.
SCCF_ALLOW_ZOOM_MIN_2X_32BPP = 3, ///< Allow use of sprite min zoom setting at 2x in 32bpp mode.
};
extern uint _sprite_cache_size;
typedef void *AllocatorProc(size_t size);