Peter Nelson
774f811217
Codechange: Use std::optional for town parent scope resolver. ( #12530 )
...
When resolving NewGRF, the parent town_scope is lazily initialised as it does not always need to be used.
Replace the manually managed pointer with std::optional to simplify. Using std::optional avoids extra memory allocation.
2024-04-18 22:14:16 +01:00
Peter Nelson
668186ca5b
Codechange: Remove macros involved with NewGRFClass. ( #12363 )
...
Use direct class instantiation instead.
2024-03-23 21:55:50 +00:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
frosch
b6c8f301be
Codechange: Silence warnings about intentionally unused parameters.
2023-09-19 22:49:59 +02:00
Michael Lutz
1c620b349f
Feature: [NewGRF] Related Act2 objects for airports and airport tiles.
...
Airports are similar two stations and industries, both of which have the town as related object.
Airport tiles are similar to industry tiles, which have the industry as related object.
This seems a sensible structure, so let's make it Airport Tile -> Airport -> Town.
2023-09-10 19:38:18 +02:00
Michael Lutz
a6f2f3c042
Add: [NewGRF] Inspection window for airports.
...
As as the station window combines all station types, accessing the
debug view is via the parent of the airport tile only.
2023-09-10 19:38:18 +02:00
Tyler Trahan
77173a6a10
Codechange: Move date consts and functions to CalendarTime and TimerGameCalendar classes
2023-09-10 08:40:25 -04: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
fb856e16c1
Codechange: replace some min/clamp constructs to ClampTo
2023-05-06 21:26:13 +02:00
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
2023-04-24 15:56:01 +00:00
Peter Nelson
370a8d77a4
Codechange: Use simple assignment to assign specs.
2023-04-23 15:58:27 +01:00
Peter Nelson
087654501b
Codechange: Initialise specs with std::fill/std::copy instead of memset/memcpy.
2023-04-23 15:58:27 +01:00
Rubidium
7088f5b7c7
Codechange: use string/fmt instead of printf for grfmsg
2023-04-18 23:21:08 +02:00
Peter Nelson
ede1201b6a
Codechange: Rename override manager variables.
2023-01-26 21:39:16 +01:00
Peter Nelson
bcc53c5ad5
Codechange: Add missing `this->` in override manager.
...
Variable scope is also tweaked in a couple of cases reducing line count.
2023-01-26 21:39:16 +01:00
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
2023-01-21 17:11:40 +01:00
Peter Nelson
f1328db063
Codechange: Deduplicate ResolveReal() for resolvers that don't use real sprite groups.
...
This may change behaviour when multiple loading/loaded stages are provided, as the various copies checked in different orders, however only one result is expected in these cases anyway.
2021-06-12 08:05:59 +01:00
Peter Nelson
f785a70a2b
Cleanup: Use std::vector in RealSpriteGroup.
2021-05-02 09:41:01 +01:00
Niels Martin Hansen
c8779fb311
Feature: NewGRF callback profiling ( #7868 )
...
Adds a console command newgrf_profile to collect some profiling data about NewGRF action 2 callbacks and produce a CSV file.
2020-01-26 13:45:51 +01:00
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
2019-11-10 17:59:20 +00: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
PeterN
e1069eee05
Codechange: Check airport layout would fit within map bounds before iterating tiles. ( #7429 )
2019-03-30 22:20:26 +00:00
glx22
e93630541d
Fix #7433 : don't use AirportSpec substitute if it's not set ( #7435 )
2019-03-30 22:12:25 +01: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
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
2018-10-31 12:35:54 +01:00
frosch
d9d669dcf8
(svn r27984) -Codechange: Make ScopeResolver constructors/destructors inlineable. Speedup sprite resolving by about 8 percent.
2018-03-11 13:19:41 +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
frosch
6b61c4608f
(svn r26388) -Codechange: Move resolving of Action 3 into ResolverObject constructor.
2014-03-03 20:02:31 +00:00
frosch
49852e3dac
(svn r26175) -Add: Log in desync output when persistent storage is discarded.
2013-12-23 18:09:29 +00:00
frosch
db894b0b3f
(svn r26085) -Codechange: Pass ResolverObjects as reference instead of pointer since they are never NULL.
2013-11-24 14:41:19 +00:00
alberth
33ff55a8f1
(svn r24693) -Doc: Add some doxymentation into the newgrf code.
2012-11-10 20:46:39 +00:00
alberth
4c9bea2a71
(svn r24692) -Cleanup: Cleanup final parts of the old resolver code.
2012-11-10 20:45:59 +00:00
alberth
c83db1395b
(svn r24687) -Codechange: Add resolver classes for airports.
2012-11-10 20:42:50 +00:00
alberth
438495b433
(svn r24678) -Codechange: Introduce scope resolver base class and prepare for adding derived classes.
2012-11-10 20:37:31 +00:00
frosch
34969178db
(svn r24169) -Add: Make NewGRFClass distinguish between defined specs and specs visible for the user.
2012-04-22 16:28:27 +00:00
frosch
6f4d2160c2
(svn r24162) -Codechange: Remove NewGRFClass::GetName() and SetName() in favour of using Get() and direct member access (which is needed anyway for GRF string resolving).
2012-04-22 16:27:55 +00:00
rubidium
6d6be50ae0
(svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files
2012-01-03 21:32:51 +00:00
frosch
d8f8909f85
(svn r23142) -Change: [NewGRF v8] Unify the return values of callbacks returning D0xx texts.
2011-11-08 17:24:43 +00:00
frosch
1ad7239247
(svn r23138) -Feature: [NewGRF] Allow passing 32bit parameters to 60+x variables (using var 7B). Currently most useful for vehicle var 60.
2011-11-08 17:23:30 +00:00
frosch
412cbe133d
(svn r22636) -Fix: Airports should not expose the tile specific random bits of the north tile. Only airport tiles should access those.
2011-07-04 22:07:53 +00:00
frosch
8b18292a2e
(svn r22634) -Codechange: Deduplicate some code. Note that zeroing 'count' is intentionally removed, it is only used together with 'scope'.
2011-07-04 20:31:57 +00:00
terkhen
00e5c1df18
(svn r22567) -Codechange: Store persistent storages inside a pool.
2011-06-12 20:47:45 +00:00
terkhen
0749c65d74
(svn r22564) -Codechange: Rename Get and Store persistent storage functions to GetValue and StoreValue.
2011-06-12 20:40:21 +00:00
terkhen
dc6218aa49
(svn r22563) -Codechange: Use a function for storing values inside the persistent storage.
2011-06-12 20:38:46 +00:00
yexo
00e65d1a4d
(svn r22496) -Fix: callback result for airport layout name was incorrectly used
2011-05-27 16:06:23 +00:00
alberth
28092366ec
(svn r22459) -Doc: Typo fixes and doxygen markup improvements.
2011-05-14 18:35:40 +00:00
rubidium
4d5dbf5170
(svn r22410) -Document: some more bits ;)
2011-05-02 16:14:23 +00:00
alberth
fa13971337
(svn r21088) -Doc: Additions/corrections of doxygen comments.
2010-11-05 16:34:22 +00:00
yexo
c07fdab16c
(svn r20716) -Feature: add airport class and airport name to the land info tool
2010-09-01 23:14:15 +00:00