summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-13Codechange: Don't use cpp_offsetof in the save/load code.Michael Lutz
Many of the member variables that are used in save/load are inside types that are not standard layout types. Using pointer arithmetics to determine addresses of members inside types that are not standard layout is generally undefined behaviour. If we'd use C++17, it is conditionally supported, which means each compiler may or may not support it. And even then using it for individual array elements is syntactically not supported the the standard offsetof function. Unfortunately, the trickery employed for saving linkgraph settings causes quite some clutter in the settings ini files.
2021-02-13Codechange: Don't use cpp_offsetof in the TTO/TTD savegame loader.Michael Lutz
Many of the member variables that are used in the oldloader are inside types that are not standard layout types. Using pointer arithmetics to determine addresses of members inside types that are not standard layout is generally undefined behaviour. If we'd use C++17, it is conditionally supported, which means each compiler may or may not support it. And even then using it for individual array elements is syntactically not supported the the standard offsetof function.
2021-02-13Update: Translations from eintstranslators
portuguese (brazilian): 36 changes by AKANexus
2021-02-13Fix: Desert/rainforest data coordinate 'y' is off by 1 when their 'x' ↵SamuXarick
coordinate is negative
2021-02-13Change: Use a more specific error message when attempting to bulldoze your ↵Charles Pigott
own HQ
2021-02-13Fix f1f281b31: [Win32] MinGW doesn't know timeapi.hglx22
2021-02-13Change: [Actions] Also run CI for VS2017glx22
2021-02-13Codechange: Implement a constructor for CurrencySpecglx22
2021-02-13Codechange: [NewGRF] Make it more explicit which parts of the TTD vehicle ↵Johannes E. Krause
structure (var 80+) are not implemented
2021-02-12Update: Translations from eintstranslators
spanish (mexican): 7 changes by absay dutch: 7 changes by Afoklala french: 7 changes by arikover
2021-02-11Change: [SDL2] Remove unneeded delay of redrawing the screenPatric Stout
In testing, I could find no reason why this statement is here. The comment is rather unclear (it states what it does, but not why it would be needed). This line of code was introduced with f4f40448, which gives no further insight on why it would be needed to have it here. As such, let's remove it and see if anyone else reports any problems with it. If so, this commit can be reverted and a more clear comment should be added what this line of code is dealing with (the WHY, not the WHAT).
2021-02-11Codechange: [SDL2] Don't use globals if we can do with localsPatric Stout
2021-02-11Codechange: [SDL2] Name paint function Paint(), like other drivers doPatric Stout
This reduces confusion when reading different drivers.
2021-02-11Fix 30e69c51: palette was not marked dirty when creating a newPatric Stout
This means the code depended that the caller did this for us before MakePalette() is executed, which is neither a requirement nor a promise the code makes.
2021-02-11Update: Translations from eintstranslators
korean: 7 changes by telk5093 russian: 11 changes by Ln-Wolf finnish: 7 changes by hpiirai
2021-02-10Feature: Remove all industries button in scenario editor (#8550)Kuhnovic
2021-02-09Fix: [Win32] Set minimum resolution for timers to 1ms. (#8660)Loïc Guilloux
2021-02-08Change: Convert .md to .rtf for Windows/Mac packagesOwen Rudge
2021-02-08Fix: [Emscripten] open links in browser (#8655)embeddedt
2021-02-08Fix: mention our websites with https:// (instead of http://) (#8657)Patric Stout
It is 2021. Nobody should advertise http anymore. Not even us.
2021-02-08Fix: [Actions] Use same vcpkg commit for CI on macOS as release buildsOwen Rudge
2021-02-07Update: Specify CMake minimum version in COMPILING.mdglx22
Also give some hints for MSVC users.
2021-02-07Change: [CMake] Bump minimum version to 3.9glx22
2021-02-07Fix 81d335b081: Use non-pulsating red highlight for coverage (#8622)Loïc Guilloux
2021-02-07Fix: [CMake] Restore 'games' as default install bindir (#8629)Loïc Guilloux
2021-02-07Fix 0125892: Don't crash when towns upgrade road tiles during expansion (#8651)Matt Kimber
2021-02-07Fix: [CMake] our allegro drivers use v4, so skip v5 if found (#8653)Patric Stout
On some distros allegro v5 is called allegro-5, but on some others it is not. So this should fix for all distros that allegro v5 is not being picked up, and only v4 is.
2021-02-06Fix #8029: [SDL2] disable draw-thread on wayland SDL video driver (#8648)Patric Stout
When the wayland SDL video driver is used, an EGL context is created in the main thread. It is not allowed to update this context from another thread, which is exactly what our draw-thread is trying. The other solution would be to move all of SDL into the draw-thread, but that would introduce a whole scala of different problems. The wayland SDL backend is significantly faster than the X11 SDL backend, but there is a performance hit nevertheless.
2021-02-05Codechange: [Actions] Document better why we build our own fluidsynth (#8646)Patric Stout
nielsmh nicely correct us in #8641, pointing out the old comment is not telling a complete truth. The result is the same, but it is better to not mislead future-us.
2021-02-05Fix: [CMake] os/windows/openttd.manifest is not a generated fileglx22
2021-02-05Add: [Actions] Automatically upload releases to Steam (#8644)Patric Stout
2021-02-05Feature: [Actions / CMake] support for generic linux builds (#8641)Patric Stout
These bundles can be opened on any "modern" Linux machine with a driver that SDL2 supports. Machines needs at least glibc 2.15, which was released 10 years ago. It is build with CentOS 7 as base, and only assumes the following libraries are available on the system: - libc - libdl - libgcc_s - libpthread - librt - libstdc++ All other libraries the game depends on are bundled together with the game, so users don't need any library installed to use this bundle. The downside of course is that this increases the binary size a bit: 30 MiB of libraries are in this bundle. RPATH is used to make ld-linux find the folder libraries are stored in; however, system libraries are always used before these, in the assumption libraries on the user system are more up-to-date. Using -DOPTION_PACKAGE_DEPENDENCIES=ON switches on packaging of libraries in the "lib" folder. This requires CMake 3.16 to be installed; otherwise it will fail.
2021-02-05Codechange: Apply coding style (#8640)SamuXarick
* Fix: Missing or needed spaces * Codechange: Remove space * Codechange: Remove space * Codechange: More missing spaces * Codechange: Missing spaces * Codechange: Remove space * Codechange: Remove space
2021-02-02Update: Translations from eintstranslators
german: 4 changes by Wuzzy2
2021-02-02Fix: [CMake] Language files should depend on english.txtglx22
2021-02-01Update: Translations from eintstranslators
estonian: 110 changes by siimsoni
2021-01-31Update: Translations from eintstranslators
estonian: 17 changes by siimsoni german: 410 changes by Wuzzy2
2021-01-31Fix: [Emscripten] Pin Dockerfile to emsdk:2.0.10 to prevent patch failure ↵embeddedt
(#8628)
2021-01-31Fix 2db88953: default Network Server List sorter put compatible servers in ↵Patric Stout
wrong order (#8626) If a server is compatible, it falls back to sorting by clients. This used to be in reverse, so full servers are on top. With the codechange commit, this was removed by accident, and as such empty servers were on top. This is silly.
2021-01-31Fix: don't walk out of the map when trying to build tunnels (#8600)Tyler Trahan
2021-01-30Codechange: [SDL2] Use MakeDirty() to force a redrawPatric Stout
The original code is "strictly correct", but just reads really weird, and we use MakeDirty() in several other places instead too.
2021-01-30Codechange: [SDL2] Rework how palette is updatedPatric Stout
It now follows more what the Win32 driver does, and has far less exceptions and special casing. MakePalette creates the Palette and prepares surface. UpdatePalette updates the Palette. CheckPaletteAnim checks if UpdatePalette needs to be called and marks the whole screen dirty so DrawSurfaceToScreen will do a full redraw.
2021-01-30Fix: [SDL2] Display why SDL_CreateWindow() failed in case it doesPatric Stout
All SDL_NNN errors print SDL_GetError, except for this one place.
2021-01-30Codechange: [SDL2] Split away CreateMainWindow from CreateMainSurfacePatric Stout
This makes the code a bit more readable, as both intentions are more clear, and there is less nesting in the main function.
2021-01-30Codechange: [SDL2] reworked the different surfaces to make it more readablePatric Stout
2021-01-30Codechange: [SDL2] Only prepare "caption" if you are going to us itPatric Stout
2021-01-30Codechange: [SDL2] Minor code cleanup to remove silly variablePatric Stout
2021-01-30Codechange: [SDL2] Only set _cur_palette, never _local_palettePatric Stout
2021-01-30Codechange: [SDL2] Move FindStartupDisplay to its own functionPatric Stout
2021-01-30Codechange: [SDL2] reworked FindResolutions to be more like the restPatric Stout
There was no default resolution fallback, and the code was different from the win32 driver. It is now named the same and much more similar.