summaryrefslogtreecommitdiff
path: root/src/blitter/32bpp_optimized.hpp
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2007-09-09 23:16:01 +0000
committertruelight <truelight@openttd.org>2007-09-09 23:16:01 +0000
commitf827093ba74ccb39db77f69e80e1a3ecd9f4b85f (patch)
treefe46e704df372bfa17f9bda4128052013ebf40ab /src/blitter/32bpp_optimized.hpp
parent3de2c716df8c6670078ac1528ce87ec9aa711cc8 (diff)
downloadopenttd-f827093ba74ccb39db77f69e80e1a3ecd9f4b85f.tar.xz
(svn r11078) -Add: added 32bpp-optimized, which is almost twice as fast as 32bpp-simple (based on the work of frosch)
-Add: let 32bpp-anim use 32bpp-optimizeds, so he profits from the speed-up too
Diffstat (limited to 'src/blitter/32bpp_optimized.hpp')
-rw-r--r--src/blitter/32bpp_optimized.hpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/blitter/32bpp_optimized.hpp b/src/blitter/32bpp_optimized.hpp
new file mode 100644
index 000000000..d437dcdab
--- /dev/null
+++ b/src/blitter/32bpp_optimized.hpp
@@ -0,0 +1,26 @@
+/* $Id$ */
+
+/** @file 32bpp_optimized.hpp */
+
+#ifndef BLITTER_32BPP_OPTIMIZED_HPP
+#define BLITTER_32BPP_OPTIMIZED_HPP
+
+#include "32bpp_simple.hpp"
+#include "factory.hpp"
+
+class Blitter_32bppOptimized : public Blitter_32bppSimple {
+public:
+ /* virtual */ void Draw(Blitter::BlitterParams *bp, BlitterMode mode, ZoomLevel zoom);
+ /* virtual */ Sprite *Encode(SpriteLoader::Sprite *sprite, Blitter::AllocatorProc *allocator);
+
+ /* virtual */ const char *GetName() { return "32bpp-optimized"; }
+};
+
+class FBlitter_32bppOptimized: public BlitterFactory<FBlitter_32bppOptimized> {
+public:
+ /* virtual */ const char *GetName() { return "32bpp-optimized"; }
+ /* virtual */ const char *GetDescription() { return "32bpp Optimized Blitter (no palette animation)"; }
+ /* virtual */ Blitter *CreateInstance() { return new Blitter_32bppOptimized(); }
+};
+
+#endif /* BLITTER_32BPP_OPTIMIZED_HPP */