diff options
author | Michael Lutz <michi@icosahedron.de> | 2021-01-16 16:43:30 +0100 |
---|---|---|
committer | Michael Lutz <michi@icosahedron.de> | 2021-02-22 22:16:07 +0100 |
commit | 70aa3b401145ec6bb98073a2758206cf63e15da1 (patch) | |
tree | 167cef03688a11e5c4a6b44cb300c9fd33d1d0bb /src/spritecache.cpp | |
parent | e7e53163404d4bb04b1213fccfb0772596b37f95 (diff) | |
download | openttd-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.cpp | 3 |
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); |