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
Rubidium
7981fcb297
Codechange: use std::fill_n over memset
2025-05-09 17:20:41 +02:00
Rubidium
96873dee63
Codechange: use std::array.fill over memset
2025-05-09 17:20:41 +02:00
frosch
228f9ca941
Fix #13854 : 40bpp-anim blitter recolouring failed for 32bpp pixels without mask channel. ( #14242 )
2025-05-09 17:16:29 +02:00
Rubidium
cc51b29234
Codechange: use std::fill_n/copy_n over MemSetT/MemCpyT
2025-05-06 20:03:35 +02:00
frosch
8571af9833
Codechange: Turn ZoomLevel into enum class.
2025-05-03 23:21:09 +02:00
frosch
c0d4ab69d0
Codechange: Add a container to index data by zoom level.
2025-05-03 23:21:09 +02:00
frosch
518a34c286
Codechange: Use std::byte for generic buffers.
2025-05-03 18:43:20 +02:00
frosch
02082a0211
Codechange: Deduplicate array lookup.
2025-05-03 18:43:20 +02:00
frosch
bb767608de
Codechange: Pass SpriteType as direct parameter to SpriteEncoder::Encoder.
2025-05-03 18:43:20 +02:00
Rubidium
af25eecc15
Codechange: use const for std::string_view where appropriate
2025-04-29 10:15:18 +02:00
Rubidium
49ef3eee13
Codechange: replace char* with std::string_view
2025-04-27 20:08:02 +02:00
frosch
2a62eea005
Codefix: Comment style. ( #14064 )
2025-04-21 17:25:09 +02:00
frosch
d97936e77a
Codechange: Replace ALIGN macro with C++11 alignas specifier.
2025-04-18 17:16:48 +02:00
Peter Nelson
0b3619ea35
Codechange: Use unique_ptr to manage blitters. ( #13904 )
2025-03-27 08:38:58 +00:00
Peter Nelson
234c9fb3bd
Codechange: Use EnumBitSet for SpriteFlags.
2025-03-23 18:01:02 +00:00
Peter Nelson
5abe7c1386
Codechange: Use default initialisation for 32bpp_sse2's SpriteData.
...
Avoids using memset.
2025-03-23 18:01:02 +00:00
Rubidium
576a96c685
Codechange: let the ReusableBuffer use std::vector as storage
2025-02-16 19:31:13 +01:00
Jonathan G Rennison
d06b371254
Cleanup: Fix various spelling errors
2025-02-12 22:44:51 +01:00
Peter Nelson
afc0745aa2
Codechange: Specify underlying type for all enums excluding those exposed to scripts. ( #13383 )
2025-01-28 22:17:34 +00: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
Peter Nelson
7b717fcccb
Codechange: Replace AllocatorProc with SpriteAllocator class.
...
This allows for state to be passed to or maintained by the allocator.
2024-05-30 20:16:28 +01:00
Peter Nelson
a28ab8cac2
Codechange: Replace C-style casts to size_t with static_cast. ( #12455 )
...
* Codechange: Replace C-style casts to size_t with static_cast.
This touches only simple value-type casts.
* Codechange: Replace static_cast<size_t>(-1) with SIZE_MAX
Co-authored-by: Rubidium <rubidium@openttd.org >
2024-04-19 20:34:36 +01:00
Peter Nelson
6bc4a62c27
Codechange: Pass std::string_view from blitters instead of char *.
2024-04-10 22:02:04 +01:00
Peter Nelson
8e881471c1
Codechange: Pass replacement blitter name as string_view instead char *.
2024-04-05 23:23:33 +01:00
Peter Nelson
7572cfd103
Codechange: Redefine ZOOM_LVL so that ZOOM_LVL_NORMAL is 1x zoom.
...
This matches expectations of what normal zoom means.
2024-04-04 22:27:03 +01:00
Peter Nelson
3c94e81665
Codechange: Use ZOOM_LVL_MIN to refer to first zoom level.
...
Many uses of ZOOM_LVL_NORMAL actually just want the first zoom level slot, so use ZOOM_LVL_MIN to make this clearer.
2024-04-04 22:27:03 +01:00
frosch
a886bd9666
Fix #12319 , 3a676a5: Some SSE blitters were broken due to ODR violations ( #12322 )
2024-03-16 23:42:38 +00:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
frosch
b1718478c8
Codechange: Replace old non-standard attributes with C++17/20 standard attributes.
2024-02-02 22:29:28 +01:00
Patric Stout
bb49112784
Codechange: switch our codebase to C++20
2024-01-17 00:25:08 +01:00
Loïc Guilloux
93ba6d6776
Fix: compilation without precompiled headers ( #11770 )
2024-01-14 13:27:03 +01:00
Rubidium
3a676a5af0
Codechange: replace static inline with static for non-class functions
2024-01-06 13:37:33 +01:00
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
Peter Nelson
b85ecf9ac2
Codechange: Replace pointer to Sprite array with reference to SpriteCollection. ( #11580 )
...
Add `SpriteLoader::SpriteCollection` type which is an array of `SpriteLoad::Sprite`.
This removes the ambiguity of what `SpriteLoader::Sprite *` is pointing to,
and cleans up mismatches using both dereference -> and array access [] for the
same object.
2023-12-20 20:38:21 +00:00
rubidium42
cb8612ba79
Remove: ZOOM_LVL_COUNT
...
This is the only enumeration with a COUNT and END. The logic of the COUNT
implied that BEGIN could be non-zero, but all but two uses of zoom level
assume that BEGIN is zero, making the separate count only confusing.
2023-11-29 21:12:28 -04:00
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
c9276c2959
Codechange: replace x.size() == 0 with x.empty()
2023-10-20 23:05:43 +02:00
frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
2023-09-19 22:49:59 +02: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
07860e67e2
Codechange: use fmt::format_to to format the help message
2023-05-20 16:50:03 +02:00
Peter Nelson
56085be9bd
Codechange: Move includes for common STL headers to stdafx.
2023-05-17 10:14:41 +01:00
Patric Stout
199e41c762
Codechange: use default dtor instead of empty ( #10826 )
2023-05-14 23:31:03 +02:00
Peter Nelson
e6740046ee
Codechange: Use range-for iteration.
2023-05-11 07:58:55 +01:00
Rubidium
12085d088c
Cleanup: remove obsolete string_compare_type
2023-05-09 23:14:48 +02:00