Commit Graph

61 Commits (b284d34277f1ffa6e23ec21c557e13897ab508a8)

Author SHA1 Message Date
dP b284d34277 Add: Support Zstandard(zstd) savegame compression
(cherry picked from commit 6f0aeaf2c5436550c93205e704624957e9abc969)
3 years ago
Jonathan G Rennison 19b7ecf95a Merge branch 'master' into jgrpp 3 years ago
milek7 b749d6f1cb Fix: Allow building with Allegro and without SDL on Linux 3 years ago
Jonathan G Rennison e95216b59d Merge branch 'master' into jgrpp
# Conflicts:
#	src/company_cmd.cpp
#	src/core/geometry_func.cpp
#	src/date.cpp
#	src/genworld_gui.cpp
#	src/gfx.cpp
#	src/object_gui.cpp
#	src/openttd.cpp
#	src/settings_type.h
#	src/video/allegro_v.cpp
#	src/video/dedicated_v.cpp
#	src/video/null_v.cpp
#	src/video/sdl2_v.cpp
#	src/video/sdl_v.cpp
#	src/video/win32_v.cpp
3 years ago
Michael Lutz 6755ff63e1 Add: [OSX] Native font rendering without using FreeType. 3 years ago
Michael Lutz 43326d11d8 Change: [OSX] Use a layer-backed view to speed up drawing. 3 years ago
Owen Rudge 395e015282 Change: Convert .md to .rtf for Windows/Mac packages 3 years ago
glx22 2cbfcd2327 Change: [CMake] Bump minimum version to 3.9 3 years ago
Loïc Guilloux f7ac2969ef
Fix: [CMake] Restore 'games' as default install bindir (#8629) 3 years ago
glx22 99448eedca Fix: [CMake] os/windows/openttd.manifest is not a generated file 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
Jonathan G Rennison 6c3e5642f8 Merge branch 'master' into jgrpp
# Conflicts:
#	cmake/CompileFlags.cmake
#	src/crashlog.cpp
#	src/fileio.cpp
#	src/fileio_func.h
#	src/fios_gui.cpp
#	src/ini_load.cpp
#	src/ini_type.h
#	src/lang/english.txt
#	src/lang/german.txt
#	src/lang/korean.txt
#	src/network/network_client.cpp
#	src/order_base.h
#	src/order_cmd.cpp
#	src/os/windows/win32.cpp
#	src/road_cmd.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/settings.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/table/settings.ini
#	src/tree_cmd.cpp
#	src/tree_gui.cpp
#	src/vehicle_base.h
#	src/video/cocoa/cocoa_v.mm
#	src/video/cocoa/event.mm
#	src/video/cocoa/wnd_quartz.mm
#	src/viewport.cpp
#	src/widgets/tree_widget.h
3 years ago
Jonathan G Rennison 43980639de Merge branch 'master' into jgrpp
# Conflicts:
#	.gitignore
#	CMakeLists.txt
#	src/3rdparty/optional/optional.hpp
#	src/group_cmd.cpp
#	src/industry_cmd.cpp
#	src/misc_gui.cpp
#	src/video/sdl2_v.cpp
3 years ago
Michael Lutz a61a741683 Change: [OSX] Compiling the Cocoa/Quartz video driver cannot be disabled anymore. 3 years ago
Charles Pigott 3dfee979a7 Codechange: Drop libxdg-basedir dependency in favour of finding the directories ourselves 3 years ago
Jonathan G Rennison 483ed2f468 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/commit-checker.yml
#	src/openttd.cpp
3 years ago
Patric Stout e0b953b804 Fix: [Emscripten] compile with exceptions enabled, as our AIs depend on it
Also parts of the saveload code does, and some other places. This
does slow down builds, but for most computers this will not be
measurable. At least, the ones I had access to I could not find
a difference in FPS, mainly as that is heavily limited by the Hz
of the screens of the computer.

Either way, it is better to have a full functional game than a
fast one in my opinion
3 years ago
Jonathan G Rennison 8b94d92158 CMake: Suppress warning messages when Fcitx is not found 3 years ago
Patric Stout d15dc9f40f Add: support for emscripten (play-OpenTTD-in-the-browser)
Emscripten compiles to WASM, which can be loaded via
HTML / JavaScript. This allows you to play OpenTTD inside a
browser.

Co-authored-by: milek7 <me@milek7.pl>
3 years ago
frosch 5d278b62cc Codechange: switch to C++17 on all platforms. 3 years ago
glx22 d1fa6b129c Add: [CMake] Option to only build tools/docs 3 years ago
glx22 6fae0b83d9 Add: [CMake] targets to generate documentation 3 years ago
Jonathan G Rennison bad2cd0677 CMake: Do not look for fctix on Apple 3 years ago
Owen Rudge 6e689e2038 Fix: FreeType is still required on macOS 3 years ago
Jonathan G Rennison 4da3cfcf56 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/bootstrap_gui.cpp
3 years ago
Patric Stout ad47ebc1a8 Change: don't encourage the use of LZO
LZO was used before the first version we track in our version
control system, which dates back to Aug 2004. Somewhere before
that time a few savegames / scenarios exist which use LZO. No
other savegame / scenario does since then. Let's not encourage
people to install something that ancient.

There are no scenarios on BaNaNaS that require LZO.
3 years ago
glx22 a06fe8e8a7 Fix: [CMake] cross-compiling requires native tools 4 years ago
Jonathan G Rennison d85a529f87 Merge branch 'master' into jgrpp 4 years ago
Charles Pigott 85ca1c535e Codechange: Set CMAKE_BUILD_TYPE to default to debug if not otherwise set 4 years ago
Charles Pigott 348c231e12 Codechange: Make codestyle for CMake files consistent for 'control' statements 4 years ago
Jonathan G Rennison 5970c936a6 CMake: Use freetype on Apple
See: #183, #188
4 years ago
Jonathan G Rennison 5b78090a61 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/saveload/town_sl.cpp
#	src/screenshot.h
#	src/script/api/ai/ai_date.hpp.sq
#	src/script/api/ai/ai_marine.hpp.sq
#	src/script/api/ai/ai_station.hpp.sq
#	src/script/api/game/game_date.hpp.sq
#	src/script/api/game/game_marine.hpp.sq
#	src/script/api/game/game_station.hpp.sq
#	src/script/api/game/game_window.hpp.sq
#	src/script/api/script_window.hpp
#	src/script/api/template/template_window.hpp.sq
#	src/signal.cpp
#	src/statusbar_gui.cpp
#	src/toolbar_gui.cpp
#	src/viewport.cpp
#	src/viewport_func.h
4 years ago
glx 8794c61f25 Change: rewrote generate_widget in CMake 4 years ago
Jonathan G Rennison 68f216cad6 CMake: Fix compilation on CMake < 3.12
Bump minimum version to 3.6
4 years ago
Jonathan G Rennison 7467051331 Merge branch 'master' into jgrpp
# Conflicts:
#	.gitignore
#	src/network/network_server.cpp
#	src/vehicle_gui.cpp
4 years ago
Michael Lutz 00eccbe298 Add: [CMake] Source group definitions to create file filters in generated project files (like the old MSVC projects). 4 years ago
Jonathan G Rennison 737ced9f50 Merge branch 'master' into jgrpp 4 years ago
Jonathan G Rennison e39a1d2b6e CMake: Copy bin/ subdirs to build directory 4 years ago
glx22 97592c4093 Add: [CMake] Allow renaming of openttd binary 4 years ago
Jonathan G Rennison 903b0fdd39 CMake: Windows: Add usp10 lib 4 years ago
Jonathan G Rennison 1304d7c8b6 CMake: Add DbgHelp define for MinGW 4 years ago
Jonathan G Rennison 3adeff1883 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	cmake/CompileFlags.cmake
#	src/bridge_gui.cpp
#	src/saveload/afterload.cpp
#	src/saveload/saveload.cpp
#	src/saveload/saveload.h
#	src/saveload/town_sl.cpp
#	src/screenshot.cpp
#	src/screenshot.h
#	src/toolbar_gui.cpp
#	src/town.h
#	src/town_cmd.cpp
4 years ago
Jonathan G Rennison 5075d8cdca CMake: Fix builtins compiler condition 4 years ago
glx22 909c9656ce Fix: [CMake] cross-compiling requires native tools
(cherry picked from commit fdaf0d0b2f82701c8ea1e9a1125415351cf49e57)
4 years ago
Dan Villiom Podlaski Christiansen 7fd7b51593 Fix: don't search for SDL, etc., on macOS 4 years ago
Dan Villiom Podlaski Christiansen c593893b56 Fix: set Mac deployment target
This silences an awful lot of warnings.
4 years ago
Dan Villiom Podlaski Christiansen 04c050f93e Fix: don't use ICU on macOS 4 years ago
Jonathan G Rennison 33c2150c49 CMake: Add demangle and BFD to MinGW 4 years ago
Jonathan G Rennison 10aab3e3a3 CMake: Add BFD, support new BFD API 4 years ago
Jonathan G Rennison 73edc5aaba CMake: Add ucontext on Mac/OSX 4 years ago