Rubidium and rubidium42
0500198bea
Codechange: some documentation for enumerations
2026-01-13 21:54:24 +01:00
Cyprian Klimaszewski and GitHub
99f04f27de
Doc: Update information for receiving a copy of GPL. ( #14869 )
2025-12-07 11:25:08 +00:00
Peter Nelson and GitHub
4b7a3241bf
Codechange: Remove unnecessary 'core' includes. ( #14867 )
2025-12-07 08:36:58 +00:00
Peter Nelson and GitHub
a8650c6b06
Codechange: Make SpriteCacheCtrlFlags an enum bit set. ( #14462 )
...
Due to header dependencies, this requires types to split from the spritecache header.
2025-07-19 23:49:15 +01:00
Peter Nelson and GitHub
77b572619a
Codechange: Make use of ZoomLevels range iteration. ( #14422 )
2025-07-08 14:00:12 +01:00
Peter Nelson and GitHub
2e78c24ba3
Codefix: Use bitset .None() or .Any() instead of comparing against an empty bitset. ( #14327 )
2025-06-04 07:31:44 +01:00
Rubidium and rubidium42
96873dee63
Codechange: use std::array.fill over memset
2025-05-09 17:20:41 +02:00
frosch and frosch
8571af9833
Codechange: Turn ZoomLevel into enum class.
2025-05-03 23:21:09 +02:00
frosch and frosch
c0d4ab69d0
Codechange: Add a container to index data by zoom level.
2025-05-03 23:21:09 +02:00
frosch and frosch
bbfda39ac3
Codechange: Add ZoomLevels bit set.
2025-05-03 23:21:09 +02:00
frosch and frosch
02082a0211
Codechange: Deduplicate array lookup.
2025-05-03 18:43:20 +02:00
frosch and frosch
bb767608de
Codechange: Pass SpriteType as direct parameter to SpriteEncoder::Encoder.
2025-05-03 18:43:20 +02:00
frosch and frosch
461b73e21b
Codefix: stdafx.h and safeguards.h should be the first and last include in every source file, and not appear in any header file.
2025-04-20 22:06:18 +02:00
Peter Nelson and Peter Nelson
2909a14374
Codechange: Include table/strings.h in files that use StringIDs.
...
Be consistent with how and where the file is incldued.
2025-03-21 12:53:40 +00:00
Rubidium and rubidium42
a908c7bed0
Codechange: remove uses of MemCmpT (and MemMoveT)
2025-03-18 21:18:37 +01:00
Rubidium and rubidium42
576a96c685
Codechange: let the ReusableBuffer use std::vector as storage
2025-02-16 19:31:13 +01:00
Peter Nelson and GitHub
2d7d085e8e
Codechange: Use EncodedString for error messages. ( #13569 )
2025-02-16 10:04:32 +00:00
Peter Nelson and GitHub
ba20ea5d18
Codechange: Use EnumBitSet for SpriteComponent. ( #13509 )
2025-02-09 18:37:01 +00:00
Peter Nelson and GitHub
afc0745aa2
Codechange: Specify underlying type for all enums excluding those exposed to scripts. ( #13383 )
2025-01-28 22:17:34 +00:00
Peter Nelson and GitHub
90e8dd9f10
Fix 7b091000b0: Missing 32bpp-to-8bpp sprites due to ZOOM_LVL_NORMAL changes. ( #13349 )
...
ZOOM_LVL_NORMAL was change from 4x zoomed in to 1x zoom, loop should be using ZOOM_LVL_BEGIN.
2025-01-21 08:58:51 +00:00
Peter Nelson and Peter Nelson
7b091000b0
Feature: Support converting 32bpp-only sprites to indexed 8bpp.
...
This uses nearest colour lookup to convert 32bpp-only sprites to indexed 8bpp on the fly. This provides a reasonable usable sprite instead of being incompatible.
2025-01-21 00:45:31 +00:00
Peter Nelson and Peter Nelson
83e9ee00f0
Change: Let sprite loader know what sprites are available in both 8bpp and 32bpp depths.
2025-01-21 00:45:31 +00:00
Peter Nelson and 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 and GitHub
a1a01e21cf
Change: Use std::make_unique instead of passing new() ( #12539 )
2024-04-20 11:20:49 +01:00
Rubidium and rubidium42
4f2412a272
Codechange: range based for loops instead of C-style for loops
2024-04-11 07:05:04 +02:00
Peter Nelson and 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 and 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
Patric Stout and GitHub
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Peter Nelson and GitHub
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 and 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
Peter Nelson and PeterN
49dae08a3b
Codechange: Add missing override specifiers.
2023-09-25 21:27:45 +01:00
Rubidium and rubidium42
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 and GitHub
199e41c762
Codechange: use default dtor instead of empty ( #10826 )
2023-05-14 23:31:03 +02:00
Rubidium and rubidium42
4a5a9f57c4
Fix: conversion to smaller type warnings
2023-05-06 21:26:13 +02:00
PeterN and GitHub
db573c8742
Fix #10660 : Sprite Font scale affected by viewport zoom level limits. ( #10668 )
2023-04-17 00:14:03 +02:00
PeterN and GitHub
e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )
...
This avoids a (soft) namespace conflict between the four ST_* enums.
2023-04-16 20:00:55 +01:00
Rubidium and rubidium42
51049946d1
Fix: prevent corrupted GRF files to allocate stupid amounts of memory
2023-01-05 20:11:59 +01:00
Patric Stout and GitHub
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
Jonathan G Rennison and GitHub
5e413c9dcd
Fix #9804 : Only apply sprite_zoom_min setting when sprites available ( #9988 )
...
Only discard sprite zoom levels when a suitable higher zoom level is
defined in the same colour mode
This is to avoid placeholder or empty sprites being used, causing
visual artefacts
2022-09-21 12:37:11 +02:00
rubidium42 and rubidium42
55a11710a6
Codechange: convert printf DEBUG statements to fmt Debug statements
2021-06-13 12:45:45 +02:00
rubidium42 and rubidium42
e588923bff
Codechange: add std::string accepting SetDParamStr to ErrorMessageData
2021-06-13 10:26:58 +02:00
Rubidium and rubidium42
fdc11a9f94
Codechange: introduce SpriteFile to be used by the sprite loader instead of the global FIO slot functionality
2021-05-08 12:39:34 +02:00
Matt Kimber and GitHub
bcb3313e13
Feature: allow setting maximum zoom level at which sprites are drawn ( #8604 )
2021-03-13 10:00:53 +01:00
Michael Lutz
70aa3b4011
Codechange: Give sprite encoders a hint which colour components of a sprite are filled with useful information.
2021-02-22 22:16:07 +01:00
Michael Lutz
e7e5316340
Add: Allow sprite encoders (blitters) to specify an alignment for sprite width and height.
2021-02-22 22:16:07 +01:00
Michael Lutz
02e8741457
Codechange: Allow for using a sprite encoder that is not the currently active blitter when loading a sprite.
2021-02-22 22:16:07 +01:00
Charles Pigott and GitHub
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
2021-01-08 11:16:18 +01:00
Patric Stout and glx22
56d54cf60e
Add: introduce CMake for project management
...
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
2020-06-05 19:36:05 +02:00
S. D. Cloudt and Charles Pigott
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00:00
Michael Lutz and Charles Pigott
38729297f9
Codechange: No need for AutoFreePtr if there's std::unique_ptr.
2019-04-15 22:52:50 +01:00