Commit Graph

84 Commits

Author SHA1 Message Date
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
49dae08a3b Codechange: Add missing override specifiers. 2023-09-25 21:27:45 +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
199e41c762
Codechange: use default dtor instead of empty (#10826) 2023-05-14 23:31:03 +02:00
Rubidium
4a5a9f57c4 Fix: conversion to smaller type warnings 2023-05-06 21:26:13 +02:00
PeterN
db573c8742
Fix #10660: Sprite Font scale affected by viewport zoom level limits. (#10668) 2023-04-17 00:14:03 +02:00
PeterN
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
51049946d1 Fix: prevent corrupted GRF files to allocate stupid amounts of memory 2023-01-05 20:11:59 +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
Jonathan G Rennison
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
55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 2021-06-13 12:45:45 +02:00
rubidium42
e588923bff Codechange: add std::string accepting SetDParamStr to ErrorMessageData 2021-06-13 10:26:58 +02:00
Rubidium
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
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
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants (#8502) 2021-01-08 11:16:18 +01:00
Patric Stout
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
13cc8a0cee Cleanup: Removed SVN headers 2019-11-10 17:59:20 +00:00
Michael Lutz
38729297f9 Codechange: No need for AutoFreePtr if there's std::unique_ptr. 2019-04-15 22:52:50 +01:00
peter1138
1088ad48fc (svn r27004) -Codechange: Make GUI size apply to (sprite-font) text as well. 2014-10-12 20:43:25 +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
rubidium
70b2093ddb (svn r26132) -Fix-ish: prevent issues due to overflowing multiplications by limiting the size of full zoom sprites to about 32kix32ki 2013-11-26 22:03:56 +00:00
michi_cc
44abdccfd0 (svn r23898) -Remove: PNG sprite loader. 2012-02-04 22:19:02 +00:00
michi_cc
2c3bca6ad9 (svn r23897) -Feature: [NewGRF] 32bpp sprites in GRFs. 2012-02-04 22:18:57 +00:00
michi_cc
c9e664d4cb (svn r23894) -Fix (r23893): Use the right variable, not the one that's always going to be 0. 2012-02-04 20:12:06 +00:00
michi_cc
4702924f6e (svn r23893) -Change: [NewGRF] Extended chunked sprite encoding to work for bigger sprites. 2012-02-04 19:21:32 +00:00
michi_cc
5c1cc27b03 (svn r23890) -Add: [NewGRF] Support for RealSprites with multiple zoom levels. 2012-02-04 13:29:18 +00:00
michi_cc
e85d5b5d31 (svn r23889) -Codechange: Centralise sprite resizing in one place. (peter1138) 2012-02-04 13:29:13 +00:00
michi_cc
6db39410a1 (svn r23887) -Feature: [NewGRF] Support for container version 2. 2012-02-04 13:29:04 +00:00
michi_cc
5af68295b0 (svn r23881) -Codechange: Move GRF sprite decoding into a separate function. 2012-02-04 13:28:40 +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
fd559171b4 (svn r23527) -Codechange: unify colo(u)r as far as it goes 2011-12-15 22:02:00 +00:00
rubidium
58423b26d1 (svn r23474) -Codechange: move the declaration error related functions to error.h 2011-12-10 13:54:10 +00:00
peter1138
8be8d5e843 (svn r23324) -Fix (r15555): Don't free reusable buffer. 2011-11-25 11:45:46 +00:00
peter1138
81598273e9 (svn r23316) -Feature: Add ability to zoom in to 2x and 4x level. 2011-11-24 12:38:48 +00:00
peter1138
15d0a22aac (svn r23315) -Codechange: Only encode sprites for zoom levels that will be used. 2011-11-24 12:26:44 +00:00
frosch
ca1df3ddab (svn r23008) -Add: Palette detection and conversion for the M part of 32bpp sprites. 2011-10-06 19:17:49 +00:00
frosch
b910ae9886 (svn r22878) -Fix (r22873-ish): Check range before casting to uint16. 2011-09-03 10:52:43 +00:00
michi_cc
6c7cbb1d46 (svn r22873) -Fix [FS#4747]: Validate image dimensions before loading. (Based on patch by monoid) 2011-09-02 20:16:34 +00:00
rubidium
b4edc30c64 (svn r22827) -Codechange: pass the/a more proper sub directory when opening (some) files instead of the default one 2011-08-24 13:53:34 +00:00
rubidium
2a12c9df2f (svn r22825) -Codechange: pass subdir to FioOpenFile 2011-08-24 13:42:06 +00:00
frosch
bbcd2bab5d (svn r22419) -Change: Always use the DOS palette for drawing.
-Remove: the '-i' option for palette selection.
2011-05-04 17:12:37 +00:00
rubidium
5a620d1c65 (svn r22406) -Document: some more "random-ish" tidbits 2011-05-01 19:51:52 +00:00
rubidium
7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 2011-01-22 14:52:20 +00:00
rubidium
eb299736c1 (svn r21886) -Codechange: move documentation towards the code to make it more likely to be updated [n]. 2011-01-22 09:53:15 +00:00
alberth
be6c058424 (svn r20211) -Codechange: Indented code should have curly braces around it. 2010-07-24 10:14:39 +00:00
rubidium
51ea33f92f (svn r19628) -Change: support the tRNS chunk to read transparency information for RGB PNGs (Szvengar) 2010-04-14 16:07:17 +00:00
smatz
f051066bc4 (svn r19224) -Codechange: change parameters passed to ShowErrorMessage() a bit 2010-02-24 14:46:15 +00:00