Patric Stout
feb2ddbefa
Codechange: rename SettingGuiFlag to SettingFlag ( #9332 )
...
It is a lovely organicly grown enum, where it started off with
GUI-only flags, and after that a few flags got added that can be
considered GUI-only (the GUI disables/enables based on them), to
only have flags added that has nothing to do with the GUI.
So be less confusing, and rename them to what they do.
Additionally, I took this opportunity to rename 0ISDISABLED to
reflect what it really does.
2021-06-03 21:18:29 +02:00
Patric Stout
28e90769f7
Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
...
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
2021-06-03 17:30:00 +02:00
Patric Stout
f8dd5dd00a
Codechange: remove unused assert_msg() macro
2021-06-03 17:30:00 +02:00
translators
48ecc481ee
Update: Translations from eints
...
swedish: 1 change by joeax910
2021-06-01 20:58:39 +00:00
Vít Šefl
30f5938eed
Fix b791ffc6: use the correct name in CmdPlantTree
2021-06-01 18:26:35 +02:00
Vít Šefl
c936f8b769
Fix b791ffc6: use the correct parameter in CmdSignalTrackHelper
2021-06-01 17:12:06 +02:00
Patric Stout
9fff00ba20
Codechange: C++-ify lists for SaveLoad ( #9323 )
...
Basically, this changes "SaveLoad *" to either:
1) "SaveLoadTable" if a list of SaveLoads was meant
2) "SaveLoad &" if a single entry was meant
As added bonus, this removes SL_END / SLE_END / SLEG_END. This
also adds core/span.hpp, a "std::span"-lite.
2021-05-31 22:26:44 +02:00
translators
956d761e3e
Update: Translations from eints
...
japanese: 1 change by scabtert
2021-05-31 20:18:35 +00:00
Patric Stout
921ab68a48
Codechange: use AsIntSetting()->Read() wrapper if possible ( #9324 )
2021-05-31 10:56:06 +02:00
translators
043a544248
Update: Translations from eints
...
korean: 2 changes by telk5093
russian: 1 change by Ln-Wolf
finnish: 1 change by hpiirai
portuguese: 1 change by azulcosta
portuguese (brazilian): 1 change by Vimerum
2021-05-30 19:56:14 +00:00
Rubidium
5ded596c80
Fix #9320 , 2e136285: nullptr could not be converted to string
2021-05-30 19:59:49 +02:00
rubidium42
4613ababd3
Fix #9316 , 64eddaeb: at about 250.000 inhabitants the bridge length limit check overflows
2021-05-30 15:09:18 +02:00
Patric Stout
0c96884700
Codechange: add a wrapper function to find all settings based on prefix ( #9312 )
2021-05-30 10:55:52 +02:00
Patric Stout
e9e4588db1
Codechange: use setting name instead of index for HandleOldDiffCustom() ( #9311 )
2021-05-30 10:40:59 +02:00
Patric Stout
bcd7a7aafe
Codechange: rename _SQ64 into POINTER_IS_64BIT ( #9313 )
2021-05-30 10:40:03 +02:00
rubidium42
8c273ed598
Codechange: [Network] Let admin-console use std::string(_view)
2021-05-30 10:15:22 +02:00
rubidium42
e58581f1f8
Codechange: [Network] Let admin-game script use std::string
2021-05-30 10:15:22 +02:00
rubidium42
29f2bd27c4
Codechange: [Game] Pass the length instead of '\0' terminating (and undoing that) in the middle of a C-string
2021-05-30 10:15:22 +02:00
rubidium42
8a918ce170
Codechange: [Network] Make admin name and version std::string
2021-05-30 10:15:22 +02:00
rubidium42
97c461d1e7
Fix: limit heightmap sizes to something reasonable to prevent crafted heightmaps to OOM-crash the game
2021-05-30 09:50:38 +02:00
rubidium42
e3c9ed4d15
Codechange: [Network] Use std::string to determine an unique name for clients
2021-05-30 00:01:49 +02:00
rubidium42
806f78aa04
Codechange: [Network] Use std::string to send the client name and rcon commands
2021-05-30 00:01:49 +02:00
rubidium42
fd95736bac
Codechange: [Network] Use std::string for server side logic of kicking and banning clients
2021-05-30 00:01:49 +02:00
rubidium42
f0e1cd0129
Codechange: [Network] Let server rcon result use std::string
2021-05-30 00:01:49 +02:00
rubidium42
8b9f1147df
Codechange: [Network] Let server changing a client name use std::string
2021-05-30 00:01:49 +02:00
Patric Stout
d70fb74ac6
Codechange: use setting name instead of index for CmdChange(Company)Setting ( #9306 )
...
This is mostly done as there are now constraints on settings.ini you might not
expected. For example, conditional settings always have to come last, as otherwise
they would influence the index.
2021-05-29 23:27:01 +02:00
glx22
5799402f7a
Codechange: Rename window related DeleteXXX to match new behaviour
2021-05-29 21:08:25 +02:00
glx22
994bf19aef
Fix f6d5c01: Delay deletion when closing windows
2021-05-29 21:08:25 +02:00
rubidium42
ef991b1772
Codechange: [Network] Use std::string in CommandPacket
2021-05-29 19:02:18 +02:00
rubidium42
2e136285e1
Codechange: move from C-string to std::string for DoCommand
2021-05-29 19:02:18 +02:00
rubidium42
661728558e
Codechange: let IsUnique.* functions accept std::string
2021-05-29 19:02:18 +02:00
rubidium42
b4aedef848
Codechange: add std::string variant of Utf8StringLength
2021-05-29 19:02:18 +02:00
Vít Šefl
0125ba82e8
Fix: Do not send vehicles towards incomplete PF nodes
...
YAPF could end up in a situation where it sets the best intermediate node
to a node whose construction is never finalized (i.e. it is never added to
the open list). The content of the node would be overwritten in the next
round, potentially sending the vehicle to an unwanted location.
2021-05-29 19:00:47 +02:00
Patric Stout
7713c3e3cc
Codechange: move casting a "const char *" to "char *" to the caller
...
It is not nice to have your definition say you won't change a value
while in fact the whole reason for your existance is to change it.
2021-05-29 16:23:59 +02:00
Patric Stout
665e3c1f45
Fix: ScriptObject::DoCommand could modify "text" while defined "const"
...
This could have unwanted side-effects, as it could change the
source for ever and ever.
2021-05-29 16:23:59 +02:00
Patric Stout
b0f44d7eb1
Doc: describe what each settings-file is about
2021-05-29 11:27:00 +02:00
Patric Stout
e58046c947
Codechange: move all settings.ini files to table/settings
2021-05-29 11:27:00 +02:00
Patric Stout
ca9a7df752
Codechange: rename str_validate to StrMakeValid(InPlace) ( #9304 )
...
This to be more explicit the function changes the value, and not
returns yes/no.
2021-05-29 11:21:38 +02:00
Patric Stout
4d74e51907
Fix #9281 : acquire a company uses special bookkeeping to make you rich ( #9300 )
...
When you buy-out a company, you got your shares back. This is
based on company-value, which includes values for the vehicles etc.
In other words, you not only got the vehicles, but you also got
paid to get them back.
Additionally, you also got the loan of the company, but not the
money for the loan (as that is subtracted from the company-value).
Solve this by changing the rules of a buy-out: don't sell your
shares, get the loan AND the balance and get the infrastructure.
2021-05-29 11:21:30 +02:00
rubidium42
4c0e083128
Cleanup: set the base in the setting templates, instead of defining the base for every setting
...
This has the added benefit of not getting mistaken that multiple bases can be used for the same SettingTable
2021-05-29 10:32:32 +02:00
rubidium42
4144e949ed
Fix: [Network] Prevent an empty server name to be set anywhere
2021-05-29 10:07:30 +02:00
rubidium42
08308d808c
Codechange: use separate pre and post callbacks for int settings
2021-05-29 10:07:30 +02:00
rubidium42
e2f5d9e561
Codechange: use separate pre and post callbacks for string settings
2021-05-29 10:07:30 +02:00
rubidium42
ea9715d970
Codechange: split Write_ValidateSetting to get separate functions for making ints valid and writing ints
2021-05-29 10:07:30 +02:00
rubidium42
208952f2ba
Codechange: split Write_ValidateSetting to get separate functions for making strings valid and writing strings
2021-05-29 10:07:30 +02:00
translators
ce1c60699a
Update: Translations from eints
...
norwegian (bokmal): 3 changes by Anolitt
dutch: 3 changes by Afoklala
portuguese (brazilian): 3 changes by Vimerum
2021-05-28 19:53:19 +00:00
translators
7b5c0b4236
Update: Translations from eints
...
chinese (traditional): 9 changes by benny30111
english (us): 3 changes by 2TallTyler
2021-05-27 19:38:25 +00:00
Patric Stout
7648483364
Change: by default, make "unload all" leave stations empty ( #9301 )
2021-05-27 18:56:39 +02:00
rubidium42
8372c679e3
Codechange: add helper functions to read an int setting value
2021-05-27 18:49:43 +02:00
rubidium42
86c9ef8134
Codechange: remove SettingDescType in lieu of the actual classes
2021-05-27 18:49:43 +02:00
rubidium42
e666a962b1
Codechange: let OneOfMany and ManyOfMany be their own classes as well
2021-05-27 18:49:43 +02:00
rubidium42
860003458f
Codechange: make BoolSettingDesc its own sub class
2021-05-27 18:49:43 +02:00
rubidium42
72ec81325b
Cleanup: remove unneeded temporary variables and casts
2021-05-27 18:49:43 +02:00
rubidium42
0d6597a9e6
Codechange: move bits of SettingDesc down to the appropriate sub classes
...
And by doing so remove the hack where ints were put into pointers so "def" could either be an int or a string
2021-05-27 18:49:43 +02:00
rubidium42
f58611298e
Codechange: use IntSettingDesc in the settings GUI
2021-05-27 18:49:43 +02:00
rubidium42
f6723b53da
Codechange: make parsing of IniItems overridable functions of SettingDesc
2021-05-27 18:49:43 +02:00
rubidium42
1f8ff0e4f9
Codechange: make Write_ValidateSetting a function of StringSettingDesc
2021-05-27 18:49:43 +02:00
rubidium42
be28c95b30
Codechange: make Write_ValidateSetting a function of IntSettingDesc
2021-05-27 18:49:43 +02:00
rubidium42
024e584904
Cleanup: use (config) formatting for console settings functions
2021-05-27 18:49:43 +02:00
rubidium42
c3cd4a683d
Codechange: make formatting of values into strings a method of SettingDesc
2021-05-27 18:49:43 +02:00
rubidium42
d8125fa46e
Codechange: make sub classes of SettingDesc for the different types of settings
2021-05-27 18:49:43 +02:00
rubidium42
91b3d697c5
Codechange: make SettingDesc an instance in the setting table to allow for sub classes
2021-05-27 18:49:43 +02:00
rubidium42
cf6b91f30f
Codechange: do not use SettingDescBase directly when not needed
2021-05-27 18:49:43 +02:00
rubidium42
3bb6ce8827
Codechange: use initializer_lists for the settings tables
...
Not using vectors as those require copying from the initializer list and that
makes unique_ptrs to the actual SettingDesc objects later impossible.
2021-05-27 18:49:43 +02:00
rubidium42
425d50372f
Codechange: let SettingDesc extend SettingDescBase
2021-05-27 18:49:43 +02:00
rubidium42
ac99a38175
Cleanup: remove and/or fix some confusing comments
...
The comments for SettingDescType; it is a byte, so not 4 bytes and since it is not a flag there are about 250 other possibilities left instead of 9.
SettingGuiFlag is uint16 so has 2 bytes allocated.
SettingDescGlobVarList and related comments imply that global vars cannot be used elsewhere, but they are used for settings just fine. Even then the type is not used anywhere else but the definition of the table.
2021-05-27 18:49:43 +02:00
rubidium42
8ffb4122df
Codechange: just pass the SettingDesc to SetSettingValue and remove distinction between (non)company
2021-05-27 18:49:43 +02:00
rubidium42
db54e20825
Change: mark copy-assignment as deleted for classes with a copy-constructor that is not trivial
...
This to prevent the default copy-assignment getting used when during the assignment also some other memory needs to be allocated as that would otherwise be freed.
2021-05-27 18:30:56 +02:00
rubidium42
9197de39e4
Cleanup: remove unused copy-constructor without copy-assignment
2021-05-27 18:30:56 +02:00
rubidium42
6fe4d4ad7b
Codechange: linkgraph always iterates with NodeIDs over the Size(), so make Size() the same type to prevent infinite loops
2021-05-27 18:30:56 +02:00
rubidium42
ed9e38221a
Cleanup: remove dead code; ++ on ostreambuf_iterator is a no-op
2021-05-27 18:30:56 +02:00
rubidium42
b280f16316
Codechange: remove unneeded comparison and casts
...
Division by resize_y is already yielding an unsigned number, so when clicking in the WD_FRAMERECT_TOP you would already get a huge value, so sel would never be negative. So, leave sel an unsigned number and remove the <= check.
2021-05-27 18:30:56 +02:00
rubidium42
b9797a81c0
Codechange: pass large parameter by reference instead of value, especially in a recursive function
2021-05-27 18:30:56 +02:00
rubidium42
b791ffc6de
Fix: do not hide parameter by local variable with the same name
2021-05-27 18:30:56 +02:00
rubidium42
eaa3df1e8e
Fix: part of a tile might not be marked dirty upon terraforming
2021-05-27 18:30:56 +02:00
translators
35dbd53682
Update: Translations from eints
...
russian: 3 changes by Ln-Wolf
slovak: 3 changes by FuryPapaya
spanish: 3 changes by MontyMontana
2021-05-26 19:32:03 +00:00
translators
c96945fa2b
Update: Translations from eints
...
swedish: 27 changes by joeax910
spanish (mexican): 1 change by absay
korean: 4 changes by telk5093
german: 3 changes by Wuzzy2
finnish: 3 changes by hpiirai
french: 3 changes by glx22
portuguese: 3 changes by azulcosta
2021-05-25 19:16:10 +00:00
translators
6b24cd2516
Update: Translations from eints
...
swedish: 50 changes by joeax910
2021-05-24 19:18:21 +00:00
milek7
7607277380
Fix: Network on Haiku, remove old code for BeOS
2021-05-24 08:56:18 +02:00
milek7
886f5c104a
Fix: Workarounds for BeMidi driver to work properly on Haiku
2021-05-24 08:56:18 +02:00
milek7
36bcd2956a
Fix: Building on Haiku
2021-05-24 08:56:18 +02:00
glx22
7c0762da65
Change: Show what is affected by "wagon removal" toggle
2021-05-23 21:51:58 +02:00
glx22
e99352a5d9
Change: Unhide Ctrl effect for group replace protection
2021-05-23 21:51:58 +02:00
translators
64be66216c
Update: Translations from eints
...
chinese (traditional): 3 changes by benny30111
2021-05-23 19:20:55 +00:00
Jonathan G Rennison
a896753ecc
Fix #9264 : Do not attach temporary wagons to free wagon chains when autoreplacing
2021-05-23 21:05:55 +02:00
Vít Šefl
33d99d27f4
Fix: Encountering two-way red signals could prune unrelated branches.
...
The intermediate node branch is now only pruned if the node is on the
path leading to the two-way red signal.
2021-05-23 20:19:39 +02:00
Michael Lutz
97722931a9
Fix: [OpenGL] Increase timeout when waiting for the GPU to be done with the drawing buffer.
...
The old timeout could be too short if v-sync was on on lower refresh rates.
2021-05-23 12:22:59 +02:00
translators
4f7d6cf1ba
Update: Translations from eints
...
japanese: 4 changes by akaregi
korean: 2 changes by telk5093
2021-05-22 19:12:46 +00:00
translators
7b58bfaf6c
Update: Translations from eints
...
japanese: 42 changes by akaregi
2021-05-21 19:16:19 +00:00
translators
08e71eed8b
Update: Translations from eints
...
japanese: 74 changes by akaregi
2021-05-20 19:11:15 +00:00
translators
ca9f9b84d3
Update: Translations from eints
...
japanese: 239 changes by akaregi, 18 changes by scabtert
2021-05-19 19:09:28 +00:00
translators
145f2fc43a
Update: Translations from eints
...
indonesian: 14 changes by NinjaQuince
2021-05-18 19:10:56 +00:00
translators
7caceb26f7
Update: Translations from eints
...
korean: 1 change by telk5093
indonesian: 55 changes by NinjaQuince
2021-05-17 19:08:25 +00:00
rubidium42
e2dc5aa83e
Codechange: [Network] Use C++ string functions to generate company password hash
2021-05-17 16:09:10 +02:00
translators
e2e06633c9
Update: Translations from eints
...
norwegian (bokmal): 1 change by Anolitt
slovak: 1 change by FuryPapaya
2021-05-16 19:07:45 +00:00
rubidium42
4d246cda73
Codechange: [Network] Let NetworkClientInfo use std::string
2021-05-16 10:07:51 +02:00
rubidium42
83679c0e57
Codechange: [Network] Use std::string to populate the client list for company stats
2021-05-16 10:07:51 +02:00
rubidium42
e90b2649b6
Codechange: [Network] Let NetworkCompanyInfo use std::string
2021-05-16 10:07:51 +02:00
Rubidium
5c01f9ea52
Fix #9267 , 47a99bb: [Squirrel] Heap use after free
...
Due to 47a99bb
the order of elements in the garbage collection chain has
changed causing the class to be finalised before the instances of that class.
Since the instance's array of member values depends on the size of the values
in the class, the class finalisation resetting that size to 0 causes not all
finalisations to run, which subsequently causes a heap use after free. So,
just set the SQObjectPtrs to 'null' during the finalisation of the SQClass
so the SQInstance can release all instance variables during its finalisation.
2021-05-16 10:07:38 +02:00
glx22
e66e25ff71
Fix #9269 , f6d5c01: Hide windows without abusing WC_INVALID
2021-05-15 21:08:49 +02:00
translators
2e43f91891
Update: Translations from eints
...
estonian: 1 change by siimsoni
indonesian: 39 changes by w13
2021-05-15 19:05:41 +00:00
rubidium42
fab120ee83
Codechange: [Network] Let chat communication use std::string
2021-05-15 10:20:50 +02:00
rubidium42
ae85af98eb
Codechange: Use std::string GetString where convenient
2021-05-15 10:20:50 +02:00
rubidium42
2e0297b0fa
Add: GetString that returns std::string instead of filling a passed buffer
2021-05-15 10:20:50 +02:00
rubidium42
e6703eac68
Codechange: [Network] Let NetworkTextMessage use std::string
2021-05-15 10:20:50 +02:00
rubidium42
44ca7d9377
Change: Use gender-neutral pronouns
2021-05-15 10:16:48 +02:00
rubidium42
ddaedaf32a
Fix: empty undocumented branches
2021-05-15 10:16:10 +02:00
Rubidium
bb9121dbd4
Fix: comparison of narrow type to wide type in loop (potential for infinite loops)
2021-05-15 10:16:10 +02:00
Rubidium
031e91de6e
Fix: [Network] Check on CIDR for netmask check considered everything valid
2021-05-15 10:16:10 +02:00
Rubidium
e6f0d63e25
Codechange: comparison result is always the same due to earlier check
...
Practically the length of the handlers not being equal to the number of
features is the problem as it means something was forgotten when adding
a new feature, so static assert to that and let the existing check on
the feature number take care of invalid data from the NewGRFs.
2021-05-15 10:16:10 +02:00
rubidium42
aa5a8fe28a
Codechange: use thread safe time functions
...
Functions like localtime, gmtime and asctime are not thread safe as they (might) reuse the same buffer. So use the safer _s/_r variant for localtime and gmtime, and use strftime in favour of asctime.
2021-05-14 23:22:29 +02:00
rubidium42
297d6e20bf
Codechange: [Network] Pass passwords as std::string to the network code
2021-05-14 23:22:04 +02:00
rubidium42
ebe32ad912
Codechange: [Network] Use std::string for the internal handling of admin/rcon passwords
2021-05-14 23:22:04 +02:00
rubidium42
6db52d52d0
Codechange: [Network] Use std::string for the internal handling of server passwords
2021-05-14 23:22:04 +02:00
rubidium42
1de5cdeab8
Codechange: [Network] Use std::string for the internal handling of company passwords
2021-05-14 23:22:04 +02:00
rubidium42
98283116fa
Codechange: [Network] Make company state password std::string
2021-05-14 23:22:04 +02:00
frosch
1da0ba95b2
Feature: Define refittability of default vehicles using cargo classes.
...
This ensures that default vehicles can transport any NewGRF defined cargos, albeit with weird graphics and vehicle names.
This also changes the refittability of default vehicles with default industries.
2021-05-13 23:28:43 +02:00
frosch
9f8d0b1bee
Fix: Resolve cargo-types of default vehicles via their cargo label.
...
Default vehicles now behave as if they had a cargo translation table. This fixes default vehicles carrying seemingly random cargos, if NewGRF industry sets are present.
This behavior is disabled, when a NewGRF touches any of the cargo-type or refitting properties. In that case it's up to the NewGRF to define its own cargo translation table.
2021-05-13 23:28:43 +02:00
frosch
a9ff296c3d
Codechange: add constant for number of original cargoes.
2021-05-13 23:28:43 +02:00
rubidium42
0f062b3882
Codechange: clean up C-string support from settings
2021-05-13 23:13:17 +02:00
rubidium42
a032714dc4
Codechange: move script settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
95386dc2b8
Codechange: move misc settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
77330d09fd
Codechange: move font settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
65cbde4b30
Codechange: move currency settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
2022e34824
Codechange: move locale settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
16437b7c0d
Codechange: move client name in settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
02fdb5b210
Codechange: move server name/id in settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
cc6c078dec
Codechange: move hostnames in settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
c73d64adf9
Codechange: move passwords in settings to std::string
2021-05-13 23:13:17 +02:00
rubidium42
f219354f89
Change: further support for std::string in settings
2021-05-13 23:13:17 +02:00
translators
423a5034ee
Update: Translations from eints
...
french: 2 changes by glx22
2021-05-13 19:09:30 +00:00
Patric Stout
a403653805
Codechange: [Network] split CloseSocket and CloseConnection more clearly ( #9261 )
...
* Codechange: [Network] split CloseSocket and CloseConnection more clearly
- CloseSocket now closes the actual OS socket.
- CloseConnection frees up the resources to just before CloseSocket.
- dtors call CloseSocket / CloseConnection where needed.
2021-05-13 11:46:51 +02:00
Paweł Świątkowski
56a46f5cae
Fix: Correct name of Golub-Dobrzyn
2021-05-13 10:05:07 +02:00
Paweł Świątkowski
6ee8690b47
Fix: Replace Susz with Leszno
...
Susz is masculine, not neuter, so it should result in "Susz Mazowiecki",
"Susz Morski", and not "Susz Mazowieckie" or "Susz Morskie". However,
because order of the names whould not be changed, it was replaced with
Leszno, which is neuter.
2021-05-13 10:05:07 +02:00
Rubidium
187a3f20bf
Codechange: remove pointless close call due to resolving virtual functions statically in destructors
...
In the destructors of many of the network related classes Close() is called, just like the
top class in that hierarchy. However, due to virtual functions getting resolved statically
in the destructor it would always call the empty Close() of the top class.
Document the other cases where a virtual call is resolved statically.
2021-05-13 10:03:26 +02:00
Rubidium
7755f81bb8
Codechange: make explicit that virtual functions in a con/destructor are resolved statically
...
This as during construction the sub class has not been initialized yet, and
during destruction the sub class has already been destroyed, so the overriding
virtual function would be accessing uninitialized data.
2021-05-13 10:03:26 +02:00
Patric Stout
d7ce61f106
Fix #9255 : [Network] TCPConnecter crashes when hostname not found ( #9259 )
2021-05-13 08:13:48 +02:00
glx22
38c97e1492
Codechange: Replace TILE_AREA_LOOP with range-based for loops
2021-05-13 00:13:54 +02:00
frosch
5bd8144853
Fix #9256 , 12e43c697d2: invalid read after free. ( #9258 )
...
This also changes ScriptEventVehicleAutoReplaced when replacing wagons:
The event is now only spawned, if the head engine changes, so only if the VehicleID of the consist changes.
Previously replacing wagons spawned an event with OldVehicleID==NewVehicleID.
2021-05-12 23:40:03 +02:00
frosch
f6d5c0136e
Codechange: make Window destruction not rely on undefined behavior.
2021-05-12 23:22:41 +02:00
frosch
f96f113951
Codechange: use IterateFromBack/Front only if the order is important.
...
Use Iterate if the order does not matter.
2021-05-12 23:22:41 +02:00
frosch
22567a1f43
Codechange: use iterators instead of 'subranges' when iterating from a specific window.
...
Using iterators makes it easier to include or exclude the start window in the iteration.
2021-05-12 23:22:41 +02:00
frosch
aba239479b
Codechange: remove excessive templating in favour of a single const_cast.
...
The const_cast will be removed again in a later commit.
2021-05-12 23:22:41 +02:00
frosch
95abdfdef9
Cleanup: remove unneeded labels and gotos.
...
The window list supports deletion of arbitrary windows, while iterating over it.
2021-05-12 23:22:41 +02:00
PeterN
ba193f2e23
Fix #9186 : Fix incorrect bounding box height causing station sprite glitch. ( #9187 )
...
Increased height of small station building bounding box to cover the build rather than just the platform.
2021-05-12 21:35:48 +01:00
translators
3e7e2d9ca3
Update: Translations from eints
...
romanian: 38 changes by kneekoo
slovak: 19 changes by FuryPapaya
catalan: 1 change by J0anJosep
turkish: 191 changes by Anceph
2021-05-12 19:08:38 +00:00
PeterN
b972ed8604
Fix #9242 : Tree tick handler did not scale by map size. ( #9246 )
...
This means that random tree generation density is higher on small maps and lower on large maps. This difference is enough to make the Lumber Mill impractical to use on large maps.
This change skips ticks on maps smaller than 256x256 and increases iterations or shortens the interval on maps larger than 256x256.
2021-05-12 18:17:57 +01:00
PeterN
7b7dbbc935
Fix #9063 : Caption of news window incorrectly aligned. ( #9252 )
2021-05-12 17:43:35 +01:00
Patric Stout
b136e65cf9
Change: reworked the debug levels for network facility ( #9251 )
...
It now follows very simple rules:
0 - Fatal, user should know about this
1 - Error, but we are recovering
2 - Warning, wrong but okay if you don't know
3 - Info, information you might care about
4 -
5 - Debug #1 - High level debug messages
6 - Debug #2 - Low level debug messages
7 - Trace information
2021-05-12 16:34:02 +02:00
Patric Stout
56050fc96f
Fix 91b8ce07: dedicated servers could no longer create screenshots ( #9232 )
...
Although most commands are not useful on a dedicated server,
screenshot commands should be dequeued.
2021-05-12 16:31:31 +02:00