summaryrefslogtreecommitdiff
path: root/src/blitter/8bpp_slow.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_slow.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_slow.hpp')
-rw-r--r--src/blitter/8bpp_slow.hpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/blitter/8bpp_slow.hpp b/src/blitter/8bpp_slow.hpp
new file mode 100644
index 000000000..ac60e3262
--- /dev/null
+++ b/src/blitter/8bpp_slow.hpp
@@ -0,0 +1,30 @@
+/* $Id$ */
+
+/** @file 8bpp.hpp */
+
+#ifndef BLITTER_8BPP_SIMPLE_HPP
+#define BLITTER_8BPP_SIMPLE_HPP
+
+#include "blitter.hpp"
+
+typedef Pixel Pixel8;
+
+class Blitter_8bppSimple : public Blitter {
+public:
+ uint8 GetScreenDepth() { return 8; }
+
+ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
+
+ Sprite *Encode(SpriteLoader::Sprite *sprite);
+};
+
+class FBlitter_8bppSimple: public BlitterFactory<FBlitter_8bppSimple> {
+public:
+ /* virtual */ const char *GetName() { return "8bpp-simple"; }
+
+ /* virtual */ const char *GetDescription() { return "8bpp Simple Blitter (relative slow, but never wrong)"; }
+
+ /* virtual */ Blitter *CreateInstance() { return new Blitter_8bppSimple(); }
+};
+
+#endif /* BLITTER_8BPP_SIMPLE_HPP */