summaryrefslogtreecommitdiff
path: root/src/blitter/32bpp_base.hpp
AgeCommit message (Collapse)Author
2021-02-22Add: A 32 bpp blitter that uses the animation buffer from the video backend ↵Michael Lutz
to speed up palette animation.
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-03-24Codechange: Use override specifer for overriding member declarationsHenry Wilson
This is a C++11 feature that allows the compiler to check that a virtual member declaration overrides a base-class member with the same signature. Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked as virtual despite being a template.
2019-01-24Codechange: [Blitter] Change DrawLine to be templatedJonathan G Rennison
This is remove per-pixel overheads due to use of the SetPixel virtual method. These overheads included: * expensive virtual method call which prevents inlining * palette lookup for every pixel * branch on whether palette animation is enabled on every pixel Regenerate project files.
2018-05-23Add: 32bpp SSE2 blitter palette animator (#6795)Jonathan G Rennison
Create a new blitter mode: 32bpp-sse2-anim, which is 32bpp-anim + this. 32bpp-sse2-anim is now used by default where 32bpp-anim would have been. Also use this with the 32bpp-sse4-anim blitter. See issue #6469.
2014-04-13(svn r26463) -Fix (r10190ish): Add special handling for PALETTE_CRASH to ↵peter1138
work for non-8bpp-mapped sprites.
2012-10-17(svn r24610) -Change: [NewGRF] Set the reference brightness of 32bpp mask ↵frosch
recolouring to 128.
2012-04-10(svn r24111) -Codechange: use Colour more instead of manually bitstuffingrubidium
2011-12-24(svn r23670) -Feature: Add ability to adjust brightness of colour after ↵peter1138
remapping for 32bpp sprites
2011-12-08(svn r23448) -Fix: keep a local copy of the palette in the 32bpp animated ↵rubidium
blitter so changes of the palette data during the game don't influence drawing (with SDL)
2011-12-08(svn r23446) -Codechange: move _cur_palette and it's related first/count ↵rubidium
dirty variables into a single structure
2011-11-12(svn r23194) -Codechange: don't cast away const needlesslyrubidium
2011-05-01(svn r22397) -Document: some tidbits of the blitter coderubidium
2011-04-02(svn r22288) -Codechange: Deduplicate Blitter_8bppBase::DrawLine() and ↵frosch
Blitter_32bppBase::DrawLine() into Blitter::DrawLine().
2011-01-14(svn r21782) -Codechange: Move declaration of AllocatorProc from Blitter:: ↵frosch
to spritecache.h
2010-01-23(svn r18907) -Cleanup: Smallmap was the last user of SetPixelIfEmpty().alberth
2010-01-21(svn r18873) -Codechange: use PaletteID also in the blitterrubidium
2010-01-15(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, ↵rubidium
if a header require a header make it include that header
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-06-22(svn r16628) -Codechange: remove one gcc2 hacksmatz
2009-03-14(svn r15711) -Codechange: lots of whitespace cleanup/fixesrubidium
2009-02-09(svn r15428) -Codechange: consistently use colour instead of having both ↵rubidium
color and colour.
2008-08-15(svn r14080) -Fix (r14052): assert triggered when drawing chat window with ↵glx
32bpp-anim blitter (backup buffer was too small)
2008-07-17(svn r13721) -Codechange: one less multiplication for colour mixing in 32bpp ↵smatz
blitters (GeekToo)
2008-06-26(svn r13640) -Codechange: make colours behind not fully solid objects less ↵smatz
darker for BM_TRANSPARENT (for 32bpp blitters)
2008-06-26(svn r13639) -Codechange: rewrite 32bpp-anim and 32bpp-optimized drawing and ↵smatz
encoding so it uses similiar scheme as 8bpp-optimized All zoom levels are stored and a kind of RLE is used. Together with further changes and reducing number of variables, drawing is ~50% faster in average.
2008-06-18(svn r13571) -Codechange: define channels in struct Colour in different ↵smatz
order on LE and BE machines
2008-05-06(svn r12971) -Documentation: add @file in files that missed them and add ↵rubidium
something more than whitespace as description of files that don't have a description.
2008-04-18(svn r12761) -Codechange: lots of minor whitespace coding style fixes around ↵rubidium
operators.
2007-12-21(svn r11674) -Codechange: refactor some functions out of macros.h into more ↵rubidium
logical locations.
2007-09-09(svn r11076) -Fix: MakeTransparent of 32bpp blitter used 0..100; using ↵truelight
0..255 makes it much faster (frosch) -Fix: ComposeColourXXX could work a tiny bit faster when using 256, not 255 as value to divide with; downside is that it can give alpha errors (frosch)
2007-06-21(svn r10241) -Codechange: CopyToBuffer now produces a buffer that is ↵truelight
unreadable from outside the blitter, so the blitter can store anything he likes -Codechange: added CopyImageToBuffer, which produces a readable buffer for screenshots -Fix: 32bpp-anim now holds animation on transparent objects to avoid strange graphical effects -Fix: 32bpp-anim now works correct on mouse-movement (it holds the palette animation correctly)
2007-06-19(svn r10225) -Codechange: move common Colour routines for 32bpp to the base ↵truelight
class (and nick it colour, not color)
2007-06-19(svn r10216) -Fix: palette animation always redid all palette entries, where ↵truelight
in fact only a few indexes were needed -Codechange: allow blitters to handle palette animation internally or even disable it; 8bpp uses video-backend for palette animation
2007-06-18(svn r10206) -Codechange: more moving things to blitter-layer: ScrollBuffertruelight
2007-06-18(svn r10203) -Codechange: more moving things to blitter-layer: DrawLinetruelight
2007-06-18(svn r10201) -Codechange: Replace Blitter::SetHorizontalLine with ↵peter1138
Blitter::DrawRect, as the former was only used by the rectangle drawing code anyway. This lets us draw rectangles in one go.
2007-06-17(svn r10193) -Fix r10190: somehow an other partly-patch was applied tootruelight
2007-06-17(svn r10190) -Codechange: merged renderer and blitter to one single class ↵truelight
API: blitter -Codechange: introduced a hierachy of blitters to avoid a lot of code duplication Note: this allows much easier adding other types of video-drivers, like OpenGL