summaryrefslogtreecommitdiff
path: root/src/blitter/8bpp_optimized.hpp
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2007-06-11 11:50:49 +0000
committertruelight <truelight@openttd.org>2007-06-11 11:50:49 +0000
commit6b101cc177a9e689dd193041b82661ab140b817c (patch)
tree2fcb96fde1458283649c1303c0436fcfb369de55 /src/blitter/8bpp_optimized.hpp
parent68c369ea98c4379c25300d055eb206ff8f4442cb (diff)
downloadopenttd-6b101cc177a9e689dd193041b82661ab140b817c.tar.xz
(svn r10092) -Codechange: code-seperated the spriteloader and blitter from the rest of the code
-Add: make it possible to pick your own blitter (-b <blitter>, -h for overview) -Add: added a new optimized 8bpp blitter (default, caches sprites of all zoom-levels) -Add: added a debug 8bpp blitter and a very slow normal 8bpp blitter
Diffstat (limited to 'src/blitter/8bpp_optimized.hpp')
-rw-r--r--src/blitter/8bpp_optimized.hpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/blitter/8bpp_optimized.hpp b/src/blitter/8bpp_optimized.hpp
new file mode 100644
index 000000000..8f251fb2c
--- /dev/null
+++ b/src/blitter/8bpp_optimized.hpp
@@ -0,0 +1,30 @@
+/* $Id$ */
+
+/** @file 8bpp_nice.hpp */
+
+#ifndef BLITTER_8BPP_OPTIMIZED_HPP
+#define BLITTER_8BPP_OPTIMIZED_HPP
+
+#include "blitter.hpp"
+
+typedef Pixel Pixel8;
+
+class Blitter_8bppOptimized : public Blitter {
+public:
+ uint8 GetScreenDepth() { return 8; }
+
+ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
+
+ Sprite *Encode(SpriteLoader::Sprite *sprite);
+};
+
+class FBlitter_8bppOptimized: public BlitterFactory<FBlitter_8bppOptimized> {
+public:
+ /* virtual */ const char *GetName() { return "8bpp-optimzed"; }
+
+ /* virtual */ const char *GetDescription() { return "8bpp Optimized Blitter (compression + all-ZoomLevel cache)"; }
+
+ /* virtual */ Blitter *CreateInstance() { return new Blitter_8bppOptimized(); }
+};
+
+#endif /* BLITTER_8BPP_OPTIMIZED_HPP */