summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-05-13Codechange: add constant for number of original cargoes.frosch
2021-05-13Codechange: clean up C-string support from settingsrubidium42
2021-05-13Codechange: move script settings to std::stringrubidium42
2021-05-13Codechange: move misc settings to std::stringrubidium42
2021-05-13Codechange: move font settings to std::stringrubidium42
2021-05-13Codechange: move currency settings to std::stringrubidium42
2021-05-13Codechange: move locale settings to std::stringrubidium42
2021-05-13Codechange: move client name in settings to std::stringrubidium42
2021-05-13Codechange: move server name/id in settings to std::stringrubidium42
2021-05-13Codechange: move hostnames in settings to std::stringrubidium42
2021-05-13Codechange: move passwords in settings to std::stringrubidium42
2021-05-13Change: further support for std::string in settingsrubidium42
2021-05-13Update: Translations from eintstranslators
french: 2 changes by glx22
2021-05-13Codechange: [Network] split CloseSocket and CloseConnection more clearly (#9261)Patric Stout
* 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-13Fix: Correct name of Golub-DobrzynPaweł Świątkowski
2021-05-13Fix: Replace Susz with LesznoPaweł Świątkowski
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-13Codechange: remove pointless close call due to resolving virtual functions ↵Rubidium
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-13Codechange: make explicit that virtual functions in a con/destructor are ↵Rubidium
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-13Fix #9255: [Network] TCPConnecter crashes when hostname not found (#9259)Patric Stout
2021-05-13Codechange: Replace TILE_AREA_LOOP with range-based for loopsglx22
2021-05-12Fix #9256, 12e43c697d2: invalid read after free. (#9258)frosch
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-12Codechange: make Window destruction not rely on undefined behavior.frosch
2021-05-12Codechange: use IterateFromBack/Front only if the order is important.frosch
Use Iterate if the order does not matter.
2021-05-12Codechange: use iterators instead of 'subranges' when iterating from a ↵frosch
specific window. Using iterators makes it easier to include or exclude the start window in the iteration.
2021-05-12Codechange: remove excessive templating in favour of a single const_cast.frosch
The const_cast will be removed again in a later commit.
2021-05-12Cleanup: remove unneeded labels and gotos.frosch
The window list supports deletion of arbitrary windows, while iterating over it.
2021-05-12Fix #9186: Fix incorrect bounding box height causing station sprite glitch. ↵PeterN
(#9187) Increased height of small station building bounding box to cover the build rather than just the platform.
2021-05-12Update: Translations from eintstranslators
romanian: 38 changes by kneekoo slovak: 19 changes by FuryPapaya catalan: 1 change by J0anJosep turkish: 191 changes by Anceph
2021-05-12Fix #9242: Tree tick handler did not scale by map size. (#9246)PeterN
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-12Fix #9063: Caption of news window incorrectly aligned. (#9252)PeterN
2021-05-12Change: reworked the debug levels for network facility (#9251)Patric Stout
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-12Fix 91b8ce07: dedicated servers could no longer create screenshots (#9232)Patric Stout
Although most commands are not useful on a dedicated server, screenshot commands should be dequeued.
2021-05-12Fix #9202: Invalid test for unset NewGRF override mapping. (#9226)PeterN
2021-05-11Update: Translations from eintstranslators
korean: 1 change by telk5093 slovak: 149 changes by ApplePie420
2021-05-11Fix: [Network] mark server as offline when no longer reachable (#9244)Patric Stout
2021-05-11Fix #9243: [Network] For a dedicated server use a fallback client and server ↵rubidium42
name Also warn when the client or server name has not been set and provide pointers on how to set them
2021-05-11Fix: [Network] don't rebuild the host-list during iterating the list (#9240)Patric Stout
Additionally, only rebuild it when we added a new manual server, as otherwise it is a noop anyway.
2021-05-11Fix: [Network] don't mark the last-joined server as manual (#9239)Patric Stout
2021-05-11Fix: [Network] clients leaving because of broken connections was not ↵Patric Stout
broadcasted (#9238) The code mixed up "client has quit but we already told everyone" with "client lost connection, handle this". Split up those two signals: - CLIENT_QUIT means we told everyone and the connection is now dead - CONNECTION_LIST means we should tell everyone we lost a client
2021-05-10Update: Translations from eintstranslators
german: 2 changes by Wuzzy2
2021-05-10Fix: leaking file descriptorsRubidium
2021-05-10Fix: memory leak due to assigning result of strdup to a std::stringRubidium
2021-05-10Cleanup: [Fluidsynth] Remove fluid_player_joinRubidium
The function fluid_player_join in the library is broken beyond compare for the usecases it was used for (see their #872). It does not wait until it is safe to delete the player, so it is up to the end user to ensure that. For OpenTTD we acquire a lock before fluid_synth_write_s16 and we acquire the same lock in the stop function. So, only one of the functions can be doing its thing, meaning we do not need to wait for the player to be stopped as it cannot be doing anything as we prevent that by the lock.
2021-05-10Change: reworded many of the network errors during connect/listen (#9230)Patric Stout
Also changed some levels to 0, as a failing listen() is something we should tell the user about. Hiding this information is a bit evil.
2021-05-09Update: Translations from eintstranslators
finnish: 1 change by hpiirai
2021-05-09Fix: lobby window doesn't close if no connection could be established (#9223)Patric Stout
2021-05-08Fix: Apply unscaled padding to Viewport inside WWT_INSET. (#9219)PeterN
Since pixel dimensions in SetPadding() are scaled by GUI size, padding for inset viewports was excessive. Instead, automatically apply padding for WWT_INSET at widget level. This applies to all widgets inside a WWT_INSET, which in all instances is a NWID_VIEWPORT.
2021-05-08Fix: only query a manually added server if it isn't there yetPatric Stout
But always mark it as manually, no matter if it was there or not.
2021-05-08Fix: don't do a network disconnect between two queriesPatric Stout
This meant that on opening the Multiplayer window, if you had more than one server configured, it would one by one cancel all pending queries and send a new. Result: only the last server was updated.
2021-05-08Fix: destroying a TCPConnecter that was still resolving made illegal writesPatric Stout
Basically, we should join the resolve thread before we destruct the object.