Michael Lutz
071fdab236
Codechange: Replicate cursor screen backup to chat message display, removing explicit memory management.
...
Incidentally, this makes Blitter::GetBytesPerPixel unneeed.
2023-11-04 16:08:34 +01:00
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
2023-07-19 19:30:14 +02:00
Patric Stout
1fb101eabb
Codechange: address CodeQL issue "Multiplication result converted to larger type" ( #10306 )
...
Most are very unlikely to ever be triggered in our codebase; two
stand out: linkgraph and money cheat. Those, potentially, could
wrap earlier than expected.
2023-01-02 20:30:02 +00:00
Michael Lutz
94d8acb7d0
Add: A 32 bpp blitter that uses the animation buffer from the video backend to speed up palette animation.
2021-02-22 22:16:07 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Henry Wilson
af7d9020a1
Codechange: Use override specifer for overriding member declarations
...
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-03-24 16:10:04 +01:00
Jonathan G Rennison
db924a4681
Codechange: [Blitter] Change DrawLine to be templated
...
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.
2019-01-24 11:12:06 +00:00
Jonathan G Rennison
17257b9620
Add: 32bpp SSE2 blitter palette animator ( #6795 )
...
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 .
2018-05-23 09:55:04 +01:00
peter1138
209d3e2e9e
(svn r26463) -Fix (r10190ish): Add special handling for PALETTE_CRASH to work for non-8bpp-mapped sprites.
2014-04-13 19:22:23 +00:00
frosch
e4416d6a0c
(svn r24610) -Change: [NewGRF] Set the reference brightness of 32bpp mask recolouring to 128.
2012-10-17 20:21:43 +00:00
rubidium
54e36c4ff8
(svn r24111) -Codechange: use Colour more instead of manually bitstuffing
2012-04-10 20:16:51 +00:00
peter1138
3ef77e55c5
(svn r23670) -Feature: Add ability to adjust brightness of colour after remapping for 32bpp sprites
2011-12-24 23:33:45 +00:00
rubidium
61625e53c9
(svn r23448) -Fix: keep a local copy of the palette in the 32bpp animated blitter so changes of the palette data during the game don't influence drawing (with SDL)
2011-12-08 19:37:33 +00:00
rubidium
2ccbd2a6f5
(svn r23446) -Codechange: move _cur_palette and it's related first/count dirty variables into a single structure
2011-12-08 18:13:29 +00:00
rubidium
4f87d2e88c
(svn r23194) -Codechange: don't cast away const needlessly
2011-11-12 08:26:30 +00:00
rubidium
485c7cd99e
(svn r22397) -Document: some tidbits of the blitter code
2011-05-01 10:15:33 +00:00
frosch
004c93f9da
(svn r22288) -Codechange: Deduplicate Blitter_8bppBase::DrawLine() and Blitter_32bppBase::DrawLine() into Blitter::DrawLine().
2011-04-02 11:55:54 +00:00
frosch
3d1008318b
(svn r21782) -Codechange: Move declaration of AllocatorProc from Blitter:: to spritecache.h
2011-01-14 15:34:33 +00:00
alberth
b2f9b0ac43
(svn r18907) -Cleanup: Smallmap was the last user of SetPixelIfEmpty().
2010-01-23 22:37:14 +00:00
rubidium
db33e32b4d
(svn r18873) -Codechange: use PaletteID also in the blitter
2010-01-21 01:44:51 +00:00
rubidium
82fc28f77f
(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header
2010-01-15 16:41:15 +00:00
rubidium
7fbc33dae1
(svn r17248) -Fix: add GPL license notice where appropriate
2009-08-21 20:21:05 +00:00
smatz
d703f0c3b5
(svn r16628) -Codechange: remove one gcc2 hack
2009-06-22 23:15:27 +00:00
rubidium
9d018723b7
(svn r15711) -Codechange: lots of whitespace cleanup/fixes
2009-03-14 18:16:29 +00:00
rubidium
c0a8d09ca7
(svn r15428) -Codechange: consistently use colour instead of having both color and colour.
2009-02-09 02:57:15 +00:00
glx
c10691faff
(svn r14080) -Fix (r14052): assert triggered when drawing chat window with 32bpp-anim blitter (backup buffer was too small)
2008-08-15 22:06:58 +00:00
smatz
69cb2f088f
(svn r13721) -Codechange: one less multiplication for colour mixing in 32bpp blitters (GeekToo)
2008-07-17 23:43:47 +00:00
smatz
1834a2f670
(svn r13640) -Codechange: make colours behind not fully solid objects less darker for BM_TRANSPARENT (for 32bpp blitters)
2008-06-26 16:47:29 +00:00
smatz
114c820c56
(svn r13639) -Codechange: rewrite 32bpp-anim and 32bpp-optimized drawing and 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-26 15:46:19 +00:00
smatz
7a7ff65ac5
(svn r13571) -Codechange: define channels in struct Colour in different order on LE and BE machines
2008-06-18 21:19:04 +00:00
rubidium
d03994098b
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
2008-05-06 15:11:33 +00:00
rubidium
9d8fa486af
(svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators.
2008-04-18 04:37:06 +00:00
rubidium
01e20c9140
(svn r11674) -Codechange: refactor some functions out of macros.h into more logical locations.
2007-12-21 19:21:21 +00:00
truelight
89bdfaacd9
(svn r11076) -Fix: MakeTransparent of 32bpp blitter used 0..100; using 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-09-09 21:56:52 +00:00
truelight
3fa3d2e365
(svn r10241) -Codechange: CopyToBuffer now produces a buffer that is 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-21 12:36:46 +00:00
truelight
2a6b7e4e02
(svn r10225) -Codechange: move common Colour routines for 32bpp to the base class (and nick it colour, not color)
2007-06-19 17:32:01 +00:00
truelight
1c4760ee06
(svn r10216) -Fix: palette animation always redid all palette entries, where 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-19 15:04:08 +00:00
truelight
26e9b5ca5f
(svn r10206) -Codechange: more moving things to blitter-layer: ScrollBuffer
2007-06-18 20:08:21 +00:00
truelight
09879ea308
(svn r10203) -Codechange: more moving things to blitter-layer: DrawLine
2007-06-18 19:38:23 +00:00
peter1138
c31ff284c3
(svn r10201) -Codechange: Replace Blitter::SetHorizontalLine with Blitter::DrawRect, as the former was only used by the rectangle drawing code anyway. This lets us draw rectangles in one go.
2007-06-18 18:45:12 +00:00
truelight
f5776a8c6b
(svn r10193) -Fix r10190: somehow an other partly-patch was applied too
2007-06-17 20:47:11 +00:00
truelight
003375d375
(svn r10190) -Codechange: merged renderer and blitter to one single class 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
2007-06-17 20:30:28 +00:00