Peter Nelson
150e15eae3
Feature: Place rocks on "too steep" tiles when fixing slopes.
...
When generating maps or loading heightmaps, the terrain height is altered to prevent slopes that can't be represented.
During this, there is now a chance of these tiles being turned into a rocky tile.
Chance of placing rocks is based on the height. This gives a rocky mountain appearance without affecting all peaks.
2025-02-09 14:26:58 +00:00
Rubidium
0f5f5714b3
Codechange: add unit test against over optimisation of enum-bitmasks
2025-02-09 14:44:23 +01:00
Rubidium
90f5a9440c
Codechange: add automation for (re)setting the 'work: needs rebase' label on PRs
2025-02-09 14:44:13 +01:00
Rubidium
ce07ea00b8
Codechange: add and use GetDepotDestinationIndex map accessor
2025-02-09 14:27:51 +01:00
Peter Nelson
dccc6185b9
Codechange: Change internal format of encoded strings to improve robustness and allow expansion. ( #13499 )
2025-02-09 12:45:50 +00:00
Rubidium
1193852007
Codechange: do not use ScriptCompany::CompanyID outside of the script API
2025-02-09 12:04:42 +01:00
translators
30ddbeed8d
Update: Translations from eints
...
french: 21 changes by glx22
2025-02-09 04:40:46 +00:00
Rubidium
4cda9f900d
Codechange: [Script] Use helper function over direct casting CompanyID
...
In the script's API `COMPANY_INVALID` has a value of -1, whereas the internal
game's `INVALID_COMPANY` has a value of 255. Since the script's API also has
a `COMPANY_SPECTATOR` with a value of 255, these enumerations cannot be easily
reconciled by casting. As such, replace all casts in the script API with
either ScriptCompany::FromScriptCompanyID or ScriptCompany::ToScriptCompanyID.
Also make clear whether CompanyID is ::CompanyID or ScriptCompany::CompanyID
by using either one of those over CompanyID in the script's API.
2025-02-08 23:42:19 +01:00
Loïc Guilloux
8ab3e9f0a3
Fix 3effb89: [Script] Don't set CommandCallback for asynchronous commands ( #13501 )
2025-02-08 22:14:37 +00:00
Loïc Guilloux
edf90f5e4b
Codefix 043d1ac: [Win32] Restore virtual destructor of StreamingVoiceContext ( #13496 )
2025-02-08 17:43:34 +01:00
Rubidium
ac54ff368c
Codechange: set VLI.index through accessor function
2025-02-08 10:09:02 +01:00
Rubidium
4e84d032b8
Codechange: read VLI.index through wrapper to get the right type
2025-02-08 10:09:02 +01:00
Peter Nelson
d61b376998
Codechange: Use EnumBitSet for CargoClasses. ( #13491 )
2025-02-08 08:46:38 +00:00
Rubidium
04d53ed6f5
Codechange: remove operator!=s that are synthesized
2025-02-08 06:37:36 +01:00
Rubidium
760b8f74b7
Codechange: implement operator<=> and remove operators that are synthesized
2025-02-08 06:37:36 +01:00
Rubidium
8fbba84473
Codechange: move operator== inside MultiMap class and leave out ones that will be synthesized
2025-02-08 06:37:36 +01:00
Rubidium
5f41bc0279
Codechange: put SourceType and SourceID into Source struct
2025-02-08 06:37:23 +01:00
translators
95bfd68341
Update: Translations from eints
...
korean: 11 changes by telk5093
2025-02-08 04:41:07 +00:00
Peter Nelson
11bfd5bb9e
Codechange: Use EnumBitSet for EndSegmentReasons. ( #13490 )
2025-02-07 23:53:23 +00:00
Peter Nelson
50b384032d
Codechange: Use EnumBitSet for IndustryControlFlags.
2025-02-07 22:01:59 +00:00
Peter Nelson
965a45812a
Codechange: Allow masking invalid values passed to EnumBitSet.
2025-02-07 22:01:59 +00:00
Peter Nelson
bb43d60064
Codechange: Allow EnumBitSet to work with 64 bit underlying type.
2025-02-07 22:01:59 +00:00
Rubidium
87e228b8b5
Codechange: remove unneeded dereference chunk type flag
2025-02-07 22:49:17 +01:00
Rubidium
266b733095
Codechange: use unique_ptr instead of manual memory allocation to store strings
2025-02-07 22:49:17 +01:00
Rubidium
83479a4e12
Codechange: add method for reading a string from a savegame given a length
2025-02-07 22:49:17 +01:00
Rubidium
f90fa2a4d1
Codechange: use C++ constructs over MallocT/free
2025-02-07 22:49:03 +01:00
Peter Nelson
d9bb002cac
Codechange: Use local parameters for formatting settings values. ( #13487 )
2025-02-07 20:18:03 +00:00
Peter Nelson
9a6fc4eb76
Codechange: Use enum class for NewsReferenceType.
2025-02-07 19:36:52 +00:00
Peter Nelson
ca75a8ce19
Codechange: Use enum class for NewsType.
2025-02-07 19:36:52 +00:00
Peter Nelson
4fd1929bf7
Codechange: Use EnumBitSet for NewsFlags.
2025-02-07 19:36:52 +00:00
Peter Nelson
52094c1fc1
Codechange: Detemplatise uint64_t version of GetNextParameters(). ( #13488 )
...
This ensures the visitor is not duplicated for the different types pass to GetNextParamters<T>(), which now is only concerned with casting the result.
2025-02-07 18:54:40 +00:00
Rubidium
9189c3ab6f
Codechange: use TownID instead of uint
2025-02-07 19:41:19 +01:00
Rubidium
6e0378f7c1
Codechange: use IndustryID instead of int
2025-02-07 19:26:34 +01:00
Peter Nelson
99a32207b8
Codechange: Use preformatted strings for slider marks. ( #13484 )
2025-02-07 18:14:53 +00:00
Peter Nelson
c3643e3ee0
Codechange: Pass raw string to editable query window. ( #13481 )
...
This avoids separating string id and parameters. EncodedString is not needed as it is the raw text that is editable.
2025-02-07 17:03:53 +00:00
Peter Nelson
8c48f9fc49
Codechange: Pass preformatted string when updating sign positions. ( #13480 )
...
This forces the strings to be formatted in advance and avoids using global string parameters.
2025-02-07 13:19:00 +00:00
Peter Nelson
eaa765d615
Codechange: Disentangle news window style from news flags. ( #13482 )
...
This avoids NewsFlags being used as both bitmask and bitstuffed data.
2025-02-07 13:10:39 +00:00
Peter Nelson
ccd3d3a547
Codechange: Add version of GetString() that takes parameters directly.
...
This allows parameters to be passed to GetString() bypassing the global parameter system.
2025-02-07 12:30:34 +00:00
Peter Nelson
be00fd4447
Codechange: Use std::array as simple string parameter container.
...
ArrayStringParameters contains extra state that is used when formatting strings which isn't needed when creating parameter lists.
MakeParameters() now returns a std::array which contains only the parameter data. This simpler container is more widely available than before.
2025-02-07 12:30:34 +00:00
Peter Nelson
fb70a7fe7e
Codechange: Use EnumBitSet for IndustryTileSpecialFlags.
2025-02-07 12:30:06 +00:00
Peter Nelson
1916454776
Codechange: Use EnumBitSet for IndustryLifeTypes.
2025-02-07 12:30:06 +00:00
Peter Nelson
2bb3f368e3
Codechange: Use EnumBitSet for IndustryBehaviours.
2025-02-07 12:30:06 +00:00
translators
9d451d6350
Update: Translations from eints
...
english (au): 2 changes by krysclarke
spanish (mexican): 6 changes by absay
english (us): 12 changes by 2TallTyler
polish: 1 change by pAter-exe
2025-02-07 04:44:22 +00:00
Rubidium
e937c4dcfd
Codechange: change DestinationID into class with conversion helpers
...
A DestinationID is either a DepotID or StationID, where the aircraft hangar
being conceptually a depot is actually a StationID. When making those types
stronger, a lot of casts would need to be added, but this shows the intent
much better.
2025-02-06 21:03:24 +01:00
Rubidium
8ca03a3766
Codechange: make network crypto enum classes
2025-02-06 21:03:12 +01:00
Rubidium
fef2baf041
Codechange: make NetworkAuthenticationMethodMask an EnumBitSet
2025-02-06 21:03:12 +01:00
Peter Nelson
693a5f42b9
Codechange: Use EnumBitSet for NWidgetDisplayFlags.
2025-02-06 19:43:35 +00:00
Peter Nelson
28eb5e05c8
Codechange: Use EnumBitSet for NWidContainerFlags.
2025-02-06 19:43:35 +00:00
translators
6089ed8059
Update: Translations from eints
...
english (au): 6 changes by krysclarke
chinese (traditional): 8 changes by KogentaSan
spanish (mexican): 3 changes by absay
greek: 12 changes by gh658804
russian: 12 changes by Ln-Wolf
finnish: 8 changes by hpiirai
catalan: 8 changes by J0anJosep
portuguese: 9 changes by azulcosta
portuguese (brazilian): 8 changes by pasantoro
polish: 14 changes by pAter-exe
2025-02-06 04:45:30 +00:00
Peter Nelson
fe31538a27
Codechange: Use EnumBitSet for Scanner::Modes. ( #13471 )
2025-02-05 20:08:12 +00:00