summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-13Codechange: [OSX] Move mouse event handling to our NSView.Michael Lutz
2021-02-13Codechange: [OSX] Move some things from video driver to our NSView.Michael Lutz
2021-02-13Codechange: [OSX] Use newer mouse tracking API.Michael Lutz
2021-02-13Codechange: [OSX] Split drawing into its own subview.Michael Lutz
This allows the drawing backend code to be independent of any event or command handling.
2021-02-13Codechange: [OSX] Drain autoreleased objects in each game loop cycle.Michael Lutz
2021-02-13Codechange: [OSX] Split Window and back buffer creation in Cocoa video driver.Michael Lutz
2021-02-13Cleanup: [OSX] Doxygen comment style in video driver.Michael Lutz
2021-02-13Codechange: [OSX] Inline some functions that are used in only one place.Michael Lutz
2021-02-13Codechange: [OSX] Replace #define with modern code.Michael Lutz
2021-02-13Codechange: [OSX] Fold remaining Cocoa video subdriver into the main driver.Michael Lutz
2021-02-13Change: [OSX] Replace screen resolution list with suggested window sizes.Michael Lutz
We never change the real screen resolution on OSX. As such, offering a list of resolutions is pointless. Instead of that, offer the user a list of commonly used window sizes up to the current screen size.
2021-02-13Codechange: [OSX] There is only one subdriver left, remove virtual dispatch.Michael Lutz
2021-02-13Codechange: Move Fontconfig-specific code to a seperate file.Michael Lutz
2021-02-13Codechange: [OSX] Move OSX-specific font code to a separate file.Michael Lutz
2021-02-13Codechange: [Win32] Move Win32-specific font code to a seperate file.Michael Lutz
2021-02-13Codechange: Make OS font handle of the FontCache read-only.Michael Lutz
2021-02-13Codechange: OS-specific data for font search is not used outside of searching.Michael Lutz
2021-02-13Codechange: Remove all remaining uses of cpp_offset.Michael Lutz
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.