Commit Graph

91 Commits

Author SHA1 Message Date
Cyprian Klimaszewski
add6521abd Doc: Update information for receiving a copy of GPL. (#14869) 2025-12-08 22:26:18 +05:00
dP
8404c2a7cc Merge remote-tracking branch 'upstream/master' 2025-09-28 02:33:49 +05:00
Peter Nelson
8e2df7809b Codechange: Add distinct type to hold pixel drawing colour. (#14457)
This is used for individual pixels as well as line drawing.
2025-07-20 22:57:55 +01:00
dP
0fe7c3635c Fix compilation errors after the merge 2025-06-27 18:03:03 +05:00
dP
f0f93c68ca Merge remote-tracking branch 'upstream/master' 2025-06-14 17:01:17 +05:00
dP
df3a6e321f Merge remote-tracking branch 'upstream/master' 2025-05-14 18:41:13 +05:00
Rubidium
3cd040ffe9 Codechange: unify moving of pixels in the blitters 2025-05-11 21:51:57 +02:00
Rubidium
a48a5f0cc6 Codechange: replace memcpy with std::copy_n 2025-05-10 16:50:58 +02:00
frosch
c0d4ab69d0 Codechange: Add a container to index data by zoom level. 2025-05-03 23:21:09 +02:00
Peter Nelson
1e14fd6a0d Codechange: Use enum class for PaletteAnimation. 2025-01-25 21:42:21 +00:00
Peter Nelson
161b02efda Codechange: Use enum class for BlitterMode. 2025-01-25 21:42:21 +00:00
Peter Nelson
c5d3ac7a71 Codechange: Move colour brightness methods to palette code.
This allows reuse outside of blitters.
2025-01-21 00:45:31 +00:00
Rubidium
8f7468483a Codechange: use std::unique_ptr over manual memory management 2025-01-15 21:52:21 +01:00
dP
a86fd7c621 Update to 15.0-beta1 2024-12-25 20:34:06 +05:00
Patric Stout
a3cfd23cf9 Codechange: rename byte to uint8_t (#12308) 2024-03-16 23:59:32 +01:00
dP
782c80b589 Fix #14: Don't recolour 32bpp sprites to 8bpp when not tinted 2024-02-17 22:29:34 +05:30
dP
33ef333b57 Update to 14.0-beta1 2024-02-04 02:18:17 +05:30
Peter Nelson
a2a7ecf88e Fix 9ce1626b: Some blitters have bp->remap aliased to remap for performance. (#11626)
While this probably doesn't make a huge difference for the custom transparent remap code path, the alias is there so use it.
2023-12-25 20:59:37 +00:00
Peter Nelson
9ce1626bb4 Change: Support custom transparency remaps with 32bpp blitters.
This closes a 15 year old TODO...
2023-12-25 11:22:52 +00: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
Rubidium
f7af9a299a Codechange: prevent suspicious pointer scaling 2023-01-06 19:34:35 +01: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
dP
9df4f2c4fc Update to 12.0-beta1 2021-08-15 14:57:29 +03:00
rubidium42
55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 2021-06-13 12:45:45 +02:00
dP
5e4506f493 Update to 1.11.0-beta1 2021-01-23 17:31:11 +03:00
Charles Pigott
9b800a96ed Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
dP
c7c3966eec Update to 1.10.0-beta2 2020-01-06 18:49:34 +03:00
S. D. Cloudt
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
dP
599ccf0c2b Update to 1.10.0-beta1 2019-10-31 22:24:28 +03:00
dP
b84a475e14 Initialize with OpenTTD 1.9.3 2019-10-31 21:58:04 +03:00
JMcKiern
04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02: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
Charles Pigott
5f86e1a390 Codechange: Silence -Wclass-memaccess warnings with GCC8 2018-06-27 22:54:46 +02: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
frosch
19188818ea (svn r27796) -Fix [FS#6545]: 32bpp-anim blitters assumed that pitch and width of the screen were equal. 2017-03-18 17:14:53 +00:00
frosch
914d4616ca (svn r27575) -Fix [FS#6404]: Memory leak when disabling palette animation. (JGR) 2016-05-22 10:28:57 +00:00
rubidium
8c7f376ae1 (svn r26970) -Fix (r26969): non-sse animated blitter crashed occasionally 2014-10-06 19:15:00 +00:00
rubidium
9c31ffd893 (svn r26969) -Fix (r26869): black palette didn't work very well with unmasked 32bpp sprites 2014-10-06 18:45:51 +00:00
rubidium
b476086c39 (svn r26538) -Codechange: remove double accounting of the drivers 2014-04-28 21:06:51 +00:00
rubidium
0463dbdc9e (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00: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
rubidium
54e36c4ff8 (svn r24111) -Codechange: use Colour more instead of manually bitstuffing 2012-04-10 20:16:51 +00:00
rubidium
0e925c9e5e (svn r23927) -Fix [FS#5056]: 32bpp animated blitter was optimised a bit too far regarding not needing to update the colour mapping when (re)initialising the palette 2012-02-11 20:08:31 +00:00
rubidium
6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
truebrain
8dbb654e39 (svn r23727) -Codechange: speedup the 32bpp palette animation by reducing 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 09:46:37 +00:00
peter1138
4da7f2b723 (svn r23726) -Fix (r23670): Remove debugging code added accidentally 2012-01-03 02:38:35 +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
4f87d2e88c (svn r23194) -Codechange: don't cast away const needlessly 2011-11-12 08:26:30 +00:00