summaryrefslogtreecommitdiff
path: root/src/blitter/32bpp_anim.cpp
AgeCommit message (Collapse)Author
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
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-06-27Codechange: Silence -Wclass-memaccess warnings with GCC8Charles Pigott
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.
2017-03-18(svn r27796) -Fix [FS#6545]: 32bpp-anim blitters assumed that pitch and ↵frosch
width of the screen were equal.
2016-05-22(svn r27575) -Fix [FS#6404]: Memory leak when disabling palette animation. (JGR)frosch
2014-10-06(svn r26970) -Fix (r26969): non-sse animated blitter crashed occasionallyrubidium
2014-10-06(svn r26969) -Fix (r26869): black palette didn't work very well with ↵rubidium
unmasked 32bpp sprites
2014-04-28(svn r26538) -Codechange: remove double accounting of the driversrubidium
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-13(svn r26463) -Fix (r10190ish): Add special handling for PALETTE_CRASH to ↵peter1138
work for non-8bpp-mapped sprites.
2012-04-10(svn r24111) -Codechange: use Colour more instead of manually bitstuffingrubidium
2012-02-11(svn r23927) -Fix [FS#5056]: 32bpp animated blitter was optimised a bit too ↵rubidium
far regarding not needing to update the colour mapping when (re)initialising the palette
2012-01-03(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp filesrubidium
2012-01-03(svn r23727) -Codechange: speedup the 32bpp palette animation by reducing ↵truebrain
the amount of compares. This is possible because the function is called with only 2 possible conditions: from 0 to 255 (full palette update, 8bpp only) or from PALETTE_ANIM_START to 255
2012-01-03(svn r23726) -Fix (r23670): Remove debugging code added accidentallypeter1138
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-11-12(svn r23194) -Codechange: don't cast away const needlesslyrubidium
2011-10-11(svn r23016) -Change: Disable palette animation for pixels with alpha, as ↵peter1138
the alpha and previous colour information will be lost when the palette is animated.
2011-05-04(svn r22419) -Change: Always use the DOS palette for drawing.frosch
-Remove: the '-i' option for palette selection.
2011-05-01(svn r22397) -Document: some tidbits of the blitter coderubidium
2011-04-29(svn r22383) -Codechange: Rename PALETTE_TO_STRUCT_GREY to PALETTE_NEWSPAPER ↵frosch
as it does not belong to the other PALETTE_TO_STRUCT_xxx recolourings.
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
2010-01-12(svn r18791) -Fix [FS#3504]: when copying an 'image' back into the buffer ↵rubidium
the 32bpp anim blitter triggered palette check of the whole window instead of only the part the got copied back
2010-01-04(svn r18709) -Fix (r10227,FS#3464): Animation buffer for 32bpp-anim blitter ↵peter1138
was only validated during sprite blitting, other drawing operations didn't check it. Initial startup and window resize could therefore lead to crash.
2009-10-04(svn r17693) -Cleanup: remove some unneeded includesrubidium
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-08-20(svn r17228) -Codechange: some coding style fixesrubidium
2009-06-22(svn r16628) -Codechange: remove one gcc2 hacksmatz
2009-02-09(svn r15428) -Codechange: consistently use colour instead of having both ↵rubidium
color and colour.
2009-01-31(svn r15299) -Cleanup: remove many redundant includessmatz
2008-08-23(svn r14146) -Codechange: allow palette override in both ways and remove ↵rubidium
some unneeded '(x == 0) ? 0 : 1' constructs.
2008-08-08(svn r14016) -Codechange: Remove some magical numbersbelugas
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 r13568) -Fix (r13564): Windows build asserts where I wouldn't expect it tosmatz
2008-06-18(svn r13564) -Codechange: do not use SetPixel in PaletteAnimate, access ↵smatz
destination directly instead. Makes palette animation ~40% faster.
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-01-13(svn r11828) -Codechange: include table/* as the last includes and remove an ↵rubidium
unneeded include from openttd.h.
2008-01-11(svn r11813) -Fix [FS#1602]: Switch _screen to the output buffer and disable ↵frosch
usage of 32bpp-anim animation buffer during giant screenshots.
2007-12-25(svn r11691) -Codechange: move+rename helpers.hpp and only include it when ↵rubidium
it is really needed.
2007-12-23(svn r11684) -Codechange: split gfx.h in a type and functional header.rubidium
2007-12-17(svn r11652) -Codechange: add the svn $ header for several filessmatz
2007-09-10(svn r11083) -Fix r11078: don't clear the anim buffer when alpha = 0 (tnx to ↵truelight
frosch)
2007-09-10(svn r11082) -Fix r11081: save before commit (yeah, whitelines are important ↵truelight
too!)
2007-09-10(svn r11081) -Fix r11080: now solved the problem in a pretty way: don't do ↵truelight
animation if we are not drawing to the screen-pointer
2007-09-09(svn r11080) -Fix r11079: fix it, still dirty, correctly, as the last commit ↵truelight
was ... wrong ;)