Commit Graph

29 Commits (42c8f50551d7a7bdd33dfa68578c6ba45dce2bb9)

Author SHA1 Message Date
Jonathan G Rennison 42c8f50551 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/release-linux.yml
#	.github/workflows/release-macos.yml
#	.github/workflows/release-windows.yml
#	.gitignore
#	COMPILING.md
#	src/company_gui.cpp
#	src/date_gui.cpp
#	src/engine.cpp
#	src/engine_func.h
#	src/fileio.cpp
#	src/linkgraph/linkgraph_gui.h
#	src/newgrf_debug_gui.cpp
#	src/newgrf_gui.cpp
#	src/order_gui.cpp
#	src/osk_gui.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/script/api/script_event_types.hpp
#	src/sl/oldloader_sl.cpp
#	src/smallmap_gui.cpp
#	src/station_cmd.cpp
#	src/toolbar_gui.cpp
#	src/town_gui.cpp
#	src/transparency_gui.cpp
#	src/vehicle_gui.cpp
#	src/widget.cpp
#	src/widget_type.h
#	src/widgets/dropdown.cpp
#	src/widgets/dropdown_func.h
#	src/widgets/dropdown_type.h
#	src/widgets/group_widget.h
#	src/widgets/vehicle_widget.h
#	src/window.cpp
#	src/window_gui.h
#	src/window_type.h
5 months ago
Patric Stout 49db7bbe08 Change: add vcpkg.json to instruct vcpkg what dependencies we require
This works on all OSes, making it far simpler for any developer
to jump in. Just install vcpkg, run "vcpkg install" in our root,
and you have all the dependencies.
6 months ago
Patric Stout 0c064b5119 Change: [CI] use vcpkg built-in caching mechanism 6 months ago
Patric Stout 086bd00f5d Fix: [CI] upgrade curl to a modern version to avoid patching other tools 6 months ago
Patric Stout 3fec8ece5a Change: [CI] always use "latest" image for our runners 6 months ago
Patric Stout d6e8e83052
Fix: [CI] patch in SHF_COMPRESSED symbol for our Linux Generic binaries (#11651) 6 months ago
Loïc Guilloux 714d2c04e4 Fix: [CI] Don't let SDL2 dependencies install too much stuff (#11537)
(cherry picked from commit 06b1bd3da4)
6 months ago
Loïc Guilloux 06b1bd3da4
Fix: [CI] Don't let SDL2 dependencies install too much stuff (#11537) 6 months ago
glx22 0ceed777ca Codechange: [CI] Use runner vcpkg in release-linux workflow
(cherry picked from commit e2c5eb3b65)
7 months ago
glx22 e2c5eb3b65 Codechange: [CI] Use runner vcpkg in release-linux workflow 7 months ago
Jonathan G Rennison 21b49a213e Merge branch 'master' into jgrpp
# Conflicts:
#	src/cheat_gui.cpp
#	src/main_gui.cpp
#	src/network/network_gui.cpp
#	src/saveload/saveload.h
#	src/smallmap_gui.cpp
#	src/station_cmd.cpp
#	src/timetable_cmd.cpp
#	src/toolbar_gui.cpp
#	src/widget.cpp
#	src/widget_type.h
#	src/widgets/dropdown_type.h
7 months ago
Jonathan G Rennison cf4cf5c08f Codechange: vendor the nlohmann-json library (#11290)
(cherry picked from commit ba67f39db6)

# Conflicts:
#	.github/workflows/ci-build.yml
#	CMakeLists.txt
#	COMPILING.md
#	src/os/macosx/survey_osx.cpp
#	src/os/windows/survey_win.cpp
#	src/script/api/script_admin.cpp
#	src/script/api/script_event_types.cpp
#	src/tests/test_script_admin.cpp
7 months ago
Loïc Guilloux 375f24956c
Fix: [CI] Installed (and cached) vcpkg packages are never upgraded in release-linux workflow (#11396)
Other workflows use a per image cache because images provide a fixed vcpkg clone.
8 months ago
Patric Stout ba67f39db6
Codechange: vendor the nlohmann-json library (#11290) 9 months ago
Patric Stout 2f96ccc18a
Add: [CI] Create and store breakpad symbols for releases (#11247)
Additionally, also store PDB and exe files on the Symbol Server
for easier debugging with MSVC.
10 months ago
Patric Stout f120d2beb8
Add: use breakpad to create crash.dmp on MacOS / Linux too (#11202)
Normally only the Windows platform could create a crash.dmp, making
analysing crash-reports from MacOS / Linux rather tricky.
10 months ago
Jonathan G Rennison 6fa3620222 CMake: Change -ffile-prefix-map to be enabled by an option
Use in github release workflows
10 months ago
Patric Stout b67ff36a13 Fix: [CI] enable audio (alsa / jack / pulse) for generic Linux builds (#11051)
SDL needs to see the header files when compiling to enable those
drivers runtime. It doesn't actually link against them: it just
needs to see the headers.

(cherry picked from commit ff050ea1d9)
12 months ago
Patric Stout ff050ea1d9
Fix: [CI] enable audio (alsa / jack / pulse) for generic Linux builds (#11051)
SDL needs to see the header files when compiling to enable those
drivers runtime. It doesn't actually link against them: it just
needs to see the headers.
12 months ago
Jonathan G Rennison 77b3c5726b Github: Re-add changes to upstream release workflows 1 year ago
Jonathan G Rennison 4f7cb1e498 Github: Change release workflows to match upstream 1 year ago
Patric Stout 7634553d22 Feature: opt-in survey when exiting a game
On first start-up, the game will ask if you want to participate
in our automated survey. You have to opt-in, and can easily opt-out
(via the Options) at any time.

When opt-in, whenever you exit a game, a JSON blob will be send
to the survey server hosted by OpenTTD. This JSON blob contains
information that gives a global picture of the game just played:
- What settings were used
- How many humans vs AIs
- How long the game has been played
- Basic information about the OS / CPU

All this information is kept very generic, so there is no
chance we send private information to our survey server.
Nothing in the JSON blob could identify you as a person; it
mostly tells about the game played. At any time you can see
what the JSON blob includes, by pressing the "Preview Survey
Results" button in-game.
1 year ago
Patric Stout 021c45c4f6 Add: [CMake] JSON library (nlohmann) 1 year ago
Patric Stout 62f9bdb939
Fix: [CI] no need to build unit-tests for releases (#10759)
We don't run them anyway. And LTO can be darn slow.
1 year ago
Patric Stout 81d4fa6999 Feature: drop ICU-lx in favour of directly interfacing with harfbuzz
This means we have RTL support again with ICU 58+. It makes use of:
- ICU for bidi-itemization
- ICU for script-itemization
- OpenTTD for style-itemization
- harfbuzz for shaping
1 year ago
Patric Stout 16352559f2
Change: release with (much) newer versions of dependencies for Generic Linux (#10484) 1 year ago
frosch 274bcf8d80 Fix 64523709: rpm uses different package names than deb. 1 year ago
Patric Stout 64523709bf
Add: use https:// for content-service connections (#10448)
This requires the use of WinHTTP (for Windows) or libcurl (for all
others except Emscripten). Emscripten does not support http(s)
calls currently.

On Linux it requires ca-certificates to be installed, so the HTTPS
certificate can be validated. It is really likely this is installed
on any modern machine, as most connections these days are HTTPS.

(On MacOS and Windows the certificate store is filled by default)

Reminder: in case the http(s):// connection cannot be established,
OpenTTD falls back to a custom TCP-based connection to fetch the
content from the content-service. Emscripten will always do this.
1 year ago
Patric Stout 425ba82676 Change: [Actions] split GitHub workflows into several smaller ones 1 year ago