summaryrefslogtreecommitdiff
path: root/src/spritecache.cpp
diff options
context:
space:
mode:
authorMichael Lutz <michi@icosahedron.de>2021-01-16 16:43:30 +0100
committerMichael Lutz <michi@icosahedron.de>2021-02-22 22:16:07 +0100
commit70aa3b401145ec6bb98073a2758206cf63e15da1 (patch)
tree167cef03688a11e5c4a6b44cb300c9fd33d1d0bb /src/spritecache.cpp
parente7e53163404d4bb04b1213fccfb0772596b37f95 (diff)
downloadopenttd-70aa3b401145ec6bb98073a2758206cf63e15da1.tar.xz
Codechange: Give sprite encoders a hint which colour components of a sprite are filled with useful information.
Diffstat (limited to 'src/spritecache.cpp')
-rw-r--r--src/spritecache.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/spritecache.cpp b/src/spritecache.cpp
index c045605d6..f86be1b97 100644
--- a/src/spritecache.cpp
+++ b/src/spritecache.cpp
@@ -199,6 +199,7 @@ static bool ResizeSpriteIn(SpriteLoader::Sprite *sprite, ZoomLevel src, ZoomLeve
sprite[tgt].height = sprite[src].height * scaled_1;
sprite[tgt].x_offs = sprite[src].x_offs * scaled_1;
sprite[tgt].y_offs = sprite[src].y_offs * scaled_1;
+ sprite[tgt].colours = sprite[src].colours;
sprite[tgt].AllocateData(tgt, sprite[tgt].width * sprite[tgt].height);
@@ -221,6 +222,7 @@ static void ResizeSpriteOut(SpriteLoader::Sprite *sprite, ZoomLevel zoom)
sprite[zoom].height = UnScaleByZoom(sprite[ZOOM_LVL_NORMAL].height, zoom);
sprite[zoom].x_offs = UnScaleByZoom(sprite[ZOOM_LVL_NORMAL].x_offs, zoom);
sprite[zoom].y_offs = UnScaleByZoom(sprite[ZOOM_LVL_NORMAL].y_offs, zoom);
+ sprite[zoom].colours = sprite[ZOOM_LVL_NORMAL].colours;
sprite[zoom].AllocateData(zoom, sprite[zoom].height * sprite[zoom].width);
@@ -487,6 +489,7 @@ static void *ReadSprite(const SpriteCache *sc, SpriteID id, SpriteType sprite_ty
sprite[ZOOM_LVL_NORMAL].x_offs = sprite[ZOOM_LVL_FONT].x_offs;
sprite[ZOOM_LVL_NORMAL].y_offs = sprite[ZOOM_LVL_FONT].y_offs;
sprite[ZOOM_LVL_NORMAL].data = sprite[ZOOM_LVL_FONT].data;
+ sprite[ZOOM_LVL_NORMAL].colours = sprite[ZOOM_LVL_FONT].colours;
}
return encoder->Encode(sprite, allocator);