SamuXarick
3d8dad2cc6
Codechange: Optimize FlowRiver
...
Make all height_tile int to allow comparison between heights generated from TileHeight and heights generated from IsTileFlat.
Make the first check IsWaterTile as that is the first thing that should be checked for FlowRiver recursive calls. Swaps position with height_begin.
Change FlatSet to std::unordered_set which is faster at the contains function.
Change std::list to std::vector to be a queue, but do not pop items from it when advancing the queue. The tiles in it are ordered by insertion which is what's needed for the n-th tile to make lake_centre.
count is not required. It can be extracted from either the unordered set or the vector.
Swap the order of checks for determining the validity of lake_centre tile, making IsTileFlat and DistanceManhattan the last ones to check as I believe are the most computational.
2025-05-08 12:26:39 +01:00
SamuXarick
7ddbd1643e
Codechange: Implementation of std::hash for StrongType::Typedef
2025-05-08 10:15:21 +01:00
Peter Nelson
ae1f469aac
Fix #14234 , 16b4e73: Skip PLURAL data if parameter is invalid. ( #14236 )
2025-05-08 09:06:56 +01:00
glx22
1d18b4a80b
Codechange: remove core/mem_func.hpp
2025-05-08 09:33:18 +02:00
glx22
aba5e1258e
Codechange: use assignment over MemCpyT
2025-05-08 09:33:18 +02:00
glx22
6356311fbc
Codechange: use std::copy_n over MemCpyT
2025-05-08 09:33:18 +02:00
glx22
a013f81120
Codechange: use std::array's fill over memset
2025-05-08 09:33:18 +02:00
glx22
82244779eb
Codechange: use C++ initialisation over MemSetT
2025-05-08 09:33:18 +02:00
translators
6680169251
Update: Translations from eints
2025-05-08 04:46:44 +00:00
Peter Nelson
2feba80fd7
Codechange: Codestyle fixes for elrail code.
2025-05-07 20:34:33 +01:00
Peter Nelson
4a8dd494ee
Codechange: Don't abbreviate TileLocationGroup type name.
2025-05-07 20:34:33 +01:00
frosch
d00196cd65
Change: Rearrange buttons in the intro screen, remove unnecessary ones.
2025-05-07 18:41:48 +02:00
frosch
4111ce2698
Add: WWT_IMGTEXTBTN, WWT_PUSHIMGTEXTBTN
2025-05-07 18:41:48 +02:00
Peter Nelson
a7019b859c
Codechange: Use DiagDirections when checking for flat buildable tiles.
2025-05-07 17:31:29 +01:00
Peter Nelson
aa9e5b38cd
Codechange: Use DiagDirections when drawing level crossings.
2025-05-07 17:31:29 +01:00
Peter Nelson
1ac9f24f38
Codechange: Use (Diag)Directions when drawing catenary.
2025-05-07 17:31:29 +01:00
Peter Nelson
87544eff0c
Codechange: Use DiagDirections to collect rail fence data.
2025-05-07 17:31:29 +01:00
Peter Nelson
1cbc4da054
Codechange: Use Directions for water flooding data.
2025-05-07 17:31:29 +01:00
Peter Nelson
968bb8961e
Codechange: Add Directions and DiagDirections EnumBitSets.
2025-05-07 17:31:29 +01:00
Peter Nelson
e0dbbbb032
Codechange: Add Reset() and missing &=/|= operators for BaseBitSet.
2025-05-07 17:31:29 +01:00
Peter Nelson
c4d033967b
Codechange: Remove some unnecessary includes from network files. ( #14226 )
2025-05-07 16:46:14 +01:00
frosch
22fedca77e
Codechange: Integrate ResolverObject::ResetState() into DoResolve(), no need to call it manually.
2025-05-06 22:24:41 +02:00
frosch
f8c928ed98
Codechange: Make temporary storage a member of ResolverObject.
2025-05-06 22:24:41 +02:00
frosch
eb9bbb2456
Codechange: Remove direct access to temporary storage from TextRefStack.
2025-05-06 22:24:41 +02:00
frosch
6faa667644
Codechange: Remove global GetRegister(), instead return 100+ registers directly from GetXxxCallback().
2025-05-06 22:24:41 +02:00
frosch
f59cf73b88
Codechange: Access temporary storage through ResolverObject during sprite layout preprocessing.
2025-05-06 22:24:41 +02:00
frosch
85be7a4d92
Codechange: Access temporary storage through ResolverObject during Resolve.
2025-05-06 22:24:41 +02:00
frosch
99d7a775ad
Codechange: Make GetRegister return a signed integer, matching the underlying TemporaryStorageArray.
2025-05-06 22:24:41 +02:00
frosch
74030a63e6
Codechange: Move SpriteLayoutProcessor's operations closer to the ResolverObject.
2025-05-06 22:24:41 +02:00
Rubidium
0ffdc86a2c
Codechange: use std::ranges::equal over memcmp
2025-05-06 21:29:21 +02:00
Rubidium
89deb3876f
Codechange: use fstream to compare file equality
2025-05-06 21:29:21 +02:00
frosch
cd7ac64f9d
Codefix: Fix compilation with DEBUG_DUMP_COMMANDS. ( #14228 )
2025-05-06 21:11:30 +02:00
frosch
592cc49b62
Codechange: Turn _grow_town_result into a local variable in GrowTownAtRoad.
2025-05-06 20:58:17 +02:00
frosch
5af877d12d
Codechange: Do not assign _grow_town_result in GrowTownInTile, instead return the new value.
2025-05-06 20:58:17 +02:00
frosch
22af391064
Codechange: Move _grow_town_result out of GrowTownWithExtraHouse, GrowTownWithRoad, GrowTownWithBridge and GrowTownWithTunnel.
2025-05-06 20:58:17 +02:00
Rubidium
d70aeb72a7
Codechange: C++ initialise LanguageHeaderPack
2025-05-06 20:03:35 +02:00
Rubidium
8f1e94c546
Codechange: use C++ initialisation over MemSetT
2025-05-06 20:03:35 +02:00
Rubidium
cc51b29234
Codechange: use std::fill_n/copy_n over MemSetT/MemCpyT
2025-05-06 20:03:35 +02:00
Rubidium
0d922c9d62
Codechange: use std::array's fill over memset
2025-05-06 20:03:35 +02:00
Rubidium
4c1cd4fe4c
Codefix: remove unused mem_func includes
2025-05-06 20:03:35 +02:00
Peter Nelson
9735fbbaa1
Codechange: Use LRUCache for layouted LineCache.
...
This avoids needing to manually manage the size of the cache.
2025-05-06 18:09:00 +01:00
Peter Nelson
8c4f8af66e
Codechange: Move std::unique_ptr out of LRUCache implementation.
...
This is an implementation detail of how OpenGLSprites are stored.
2025-05-06 18:09:00 +01:00
frosch
8bbfbd0347
Codechange: Move spritelayout preprocessing to a separate class, which owns the heap allocations involved.
2025-05-06 18:30:42 +02:00
frosch
d9c43e7fda
Codechange: Make TileLayoutSpriteGroup::ProcessRegisters return a DrawTileSpriteSpan on the stack, instead of a reference to a global.
2025-05-06 18:30:42 +02:00
frosch
51a7edd941
Codechange: Remove _input_events_this_tick.
2025-05-06 18:29:41 +02:00
frosch
42f9312f71
Codechange: Make station variable cache a member of StationScopeResolver.
2025-05-06 18:29:41 +02:00
frosch
b20b6da937
Codechange: The compiler ensures static variables are initialised only once, no need to track that manually.
2025-05-06 18:29:41 +02:00
frosch
75a775e59d
Codechange: Make GetCurrentLocale return a std::string instead of a reference to a static buffer.
...
For win32 this is even a fix, because the static buffer was only updated once. Later calls discarded the determined locale.
2025-05-06 18:29:41 +02:00
frosch
0d5b3ebd7f
Codechange: Declare all IntervalTimers const, which can be const.
2025-05-06 18:29:41 +02:00
frosch
61cec33be2
Codechange: Add 'const' to static variables, which are only initialised once.
2025-05-06 18:29:41 +02:00