Commit Graph

24755 Commits (9c9292949fa4d699c58d40abcac563a86df239dd)
 

Author SHA1 Message Date
Michael Lutz 9c9292949f Codechange: Don't use cpp_offsetof in the TTO/TTD savegame loader.
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.
3 years ago
translators 0f621b4956 Update: Translations from eints
portuguese (brazilian): 36 changes by AKANexus
3 years ago
SamuXarick 36ab9c64ef Fix: Desert/rainforest data coordinate 'y' is off by 1 when their 'x' coordinate is negative 3 years ago
Charles Pigott d9df20d102 Change: Use a more specific error message when attempting to bulldoze your own HQ 3 years ago
glx22 348f322df1 Fix f1f281b31: [Win32] MinGW doesn't know timeapi.h 3 years ago
glx22 f181037bed Change: [Actions] Also run CI for VS2017 3 years ago
glx22 5a4d5f03b0 Codechange: Implement a constructor for CurrencySpec 3 years ago
Johannes E. Krause 3ac43582c2 Codechange: [NewGRF] Make it more explicit which parts of the TTD vehicle structure (var 80+) are not implemented 3 years ago
translators fa0704138d Update: Translations from eints
spanish (mexican): 7 changes by absay
dutch: 7 changes by Afoklala
french: 7 changes by arikover
3 years ago
Patric Stout 52317bb7df Change: [SDL2] Remove unneeded delay of redrawing the screen
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).
3 years ago
Patric Stout 2e1535389a Codechange: [SDL2] Don't use globals if we can do with locals 3 years ago
Patric Stout 2bbef6b5cf Codechange: [SDL2] Name paint function Paint(), like other drivers do
This reduces confusion when reading different drivers.
3 years ago
Patric Stout 569ce6c7b4 Fix 30e69c51: palette was not marked dirty when creating a new
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.
3 years ago
translators 64e2d6b672 Update: Translations from eints
korean: 7 changes by telk5093
russian: 11 changes by Ln-Wolf
finnish: 7 changes by hpiirai
3 years ago
Kuhnovic 83ddb1501f
Feature: Remove all industries button in scenario editor (#8550) 3 years ago
Loïc Guilloux f1f281b318
Fix: [Win32] Set minimum resolution for timers to 1ms. (#8660) 3 years ago
Owen Rudge 395e015282 Change: Convert .md to .rtf for Windows/Mac packages 3 years ago
embeddedt 6c8f2227cd
Fix: [Emscripten] open links in browser (#8655) 3 years ago
Patric Stout ac2b5e57cf
Fix: mention our websites with https:// (instead of http://) (#8657)
It is 2021. Nobody should advertise http anymore. Not even us.
3 years ago
Owen Rudge da4c404f3d Fix: [Actions] Use same vcpkg commit for CI on macOS as release builds 3 years ago
glx22 af0acc9a75 Update: Specify CMake minimum version in COMPILING.md
Also give some hints for MSVC users.
3 years ago
glx22 2cbfcd2327 Change: [CMake] Bump minimum version to 3.9 3 years ago
Loïc Guilloux b927da73c1
Fix 81d335b081: Use non-pulsating red highlight for coverage (#8622) 3 years ago
Loïc Guilloux f7ac2969ef
Fix: [CMake] Restore 'games' as default install bindir (#8629) 3 years ago
Matt Kimber 2a6da319b2
Fix 0125892: Don't crash when towns upgrade road tiles during expansion (#8651) 3 years ago
Patric Stout 9322b40df1
Fix: [CMake] our allegro drivers use v4, so skip v5 if found (#8653)
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.
3 years ago
Patric Stout 2c9084d48c
Fix #8029: [SDL2] disable draw-thread on wayland SDL video driver (#8648)
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.
3 years ago
Patric Stout 4f0692c437
Codechange: [Actions] Document better why we build our own fluidsynth (#8646)
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.
3 years ago
glx22 99448eedca Fix: [CMake] os/windows/openttd.manifest is not a generated file 3 years ago
Patric Stout a667ed945f
Add: [Actions] Automatically upload releases to Steam (#8644) 3 years ago
Patric Stout 05df7996a4
Feature: [Actions / CMake] support for generic linux builds (#8641)
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.
3 years ago
SamuXarick a4035af337
Codechange: Apply coding style (#8640)
* Fix: Missing or needed spaces

* Codechange: Remove space

* Codechange: Remove space

* Codechange: More missing spaces

* Codechange: Missing spaces

* Codechange: Remove space

* Codechange: Remove space
3 years ago
translators 5b3fe4ae27 Update: Translations from eints
german: 4 changes by Wuzzy2
3 years ago
glx22 144991990e Fix: [CMake] Language files should depend on english.txt 3 years ago
translators 696b6990ea Update: Translations from eints
estonian: 110 changes by siimsoni
3 years ago
translators 069fb54253 Update: Translations from eints
estonian: 17 changes by siimsoni
german: 410 changes by Wuzzy2
3 years ago
embeddedt 76a279ef68
Fix: [Emscripten] Pin Dockerfile to emsdk:2.0.10 to prevent patch failure (#8628) 3 years ago
Patric Stout 7fbf705c41
Fix 2db88953: default Network Server List sorter put compatible servers in 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.
3 years ago
Tyler Trahan 1dda7d6486
Fix: don't walk out of the map when trying to build tunnels (#8600) 3 years ago
Patric Stout 0e54c32452 Codechange: [SDL2] Use MakeDirty() to force a redraw
The original code is "strictly correct", but just reads really
weird, and we use MakeDirty() in several other places instead too.
3 years ago
Patric Stout 30e69c518b Codechange: [SDL2] Rework how palette is updated
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.
3 years ago
Patric Stout eb80fefd1d Fix: [SDL2] Display why SDL_CreateWindow() failed in case it does
All SDL_NNN errors print SDL_GetError, except for this one place.
3 years ago
Patric Stout 19345908cb Codechange: [SDL2] Split away CreateMainWindow from CreateMainSurface
This makes the code a bit more readable, as both intentions are
more clear, and there is less nesting in the main function.
3 years ago
Patric Stout 8c37e5c526 Codechange: [SDL2] reworked the different surfaces to make it more readable 3 years ago
Patric Stout 8de325f256 Codechange: [SDL2] Only prepare "caption" if you are going to us it 3 years ago
Patric Stout e41ec5b42e Codechange: [SDL2] Minor code cleanup to remove silly variable 3 years ago
Patric Stout 678031f9b3 Codechange: [SDL2] Only set _cur_palette, never _local_palette 3 years ago
Patric Stout f31b65825f Codechange: [SDL2] Move FindStartupDisplay to its own function 3 years ago
Patric Stout 6916fc76bd Codechange: [SDL2] reworked FindResolutions to be more like the rest
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.
3 years ago
Patric Stout a52d716c88 Codechange: [SDL2] remove include-protection
This is already done by CMake: if SDL2 is not detected, this file
is not included.
3 years ago