summaryrefslogtreecommitdiff
path: root/src/spriteloader/spriteloader.hpp
diff options
context:
space:
mode:
authormichi_cc <michi_cc@openttd.org>2012-02-04 13:29:13 +0000
committermichi_cc <michi_cc@openttd.org>2012-02-04 13:29:13 +0000
commite85d5b5d316b888c6013e1d590d88e0da201a1e6 (patch)
treebbfcd0df9d8985bb51aca4ef94fa92eeeda62c49 /src/spriteloader/spriteloader.hpp
parent2909e39e99aac74b124aee113dd4fa3f430d9d6c (diff)
downloadopenttd-e85d5b5d316b888c6013e1d590d88e0da201a1e6.tar.xz
(svn r23889) -Codechange: Centralise sprite resizing in one place. (peter1138)
Diffstat (limited to 'src/spriteloader/spriteloader.hpp')
-rw-r--r--src/spriteloader/spriteloader.hpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/spriteloader/spriteloader.hpp b/src/spriteloader/spriteloader.hpp
index b1d9b5c58..030eb1850 100644
--- a/src/spriteloader/spriteloader.hpp
+++ b/src/spriteloader/spriteloader.hpp
@@ -43,23 +43,24 @@ public:
/**
* Allocate the sprite data of this sprite.
+ * @param zoom Zoom level to allocate the data for.
* @param size the minimum size of the data field.
*/
- void AllocateData(size_t size) { this->data = Sprite::buffer.ZeroAllocate(size); }
+ void AllocateData(ZoomLevel zoom, size_t size) { this->data = Sprite::buffer[zoom].ZeroAllocate(size); }
private:
/** Allocated memory to pass sprite data around */
- static ReusableBuffer<SpriteLoader::CommonPixel> buffer;
+ static ReusableBuffer<SpriteLoader::CommonPixel> buffer[ZOOM_LVL_COUNT];
};
/**
* Load a sprite from the disk and return a sprite struct which is the same for all loaders.
- * @param sprite The sprite to fill with data.
+ * @param[out] sprite The sprites to fill with data.
* @param file_slot The file "descriptor" of the file we read from.
* @param file_pos The position within the file the image begins.
* @param sprite_type The type of sprite we're trying to load.
- * @return true iff loading went okay.
+ * @return Bit mask of the zoom levels successfully loaded or 0 if no sprite could be loaded.
*/
- virtual bool LoadSprite(SpriteLoader::Sprite *sprite, uint8 file_slot, size_t file_pos, SpriteType sprite_type) = 0;
+ virtual uint8 LoadSprite(SpriteLoader::Sprite *sprite, uint8 file_slot, size_t file_pos, SpriteType sprite_type) = 0;
virtual ~SpriteLoader() { }
};