Richard Wheeler
2b92577f5c
Fix: Add shading to river slopes
...
Adds a 32bpp shading to the river rapids/slopes to make them more visible. Requires a bump of original graphics grfs to use container version 2. Fixes #9031
2023-11-26 23:54:10 +01:00
Peter Nelson
872fdcbbab
Change: When building NewGRFs, use grfid (from grfcodec) to calculate NewGRF MD5 hash. ( #11492 )
...
This allows for v2 container NewGRFs to be created. Hashes are needed for building the baseset metadata, so the .hash files are stored the source tree so they can be built if grfcodec and grfid are not present.
The hash of openttd.grf is not actually needed, but it is simpler to leave it in than handle only orig_extra.grf.
2023-11-26 15:59:41 +00:00
Christopher Lee
763f0eb1f0
Add: LSB_RELEASE_ID Linuxmint to .deb package ( #11390 )
2023-11-08 01:27:50 +01:00
Peter Nelson
890146fecb
Codechange: Add -Wsuggest-override compilation flag.
2023-09-25 21:27:45 +01:00
frosch
2ff4248032
Codechange: Enable more warnings.
2023-09-19 22:49:59 +02:00
Niels Martin Hansen
41de0d46f3
Feature: Help and manuals access window
2023-09-13 16:11:08 +02:00
Niels Martin Hansen
2cff43251e
Add: Install additional documentation files with the game
...
Also include it in Emscripten packages
2023-09-13 16:11:08 +02:00
glx22
b0f8890ba5
Codechange: [CMake] detect source files with duplicate names
2023-09-02 20:32:44 +02:00
glx22
c77184aa35
Codechange: [CMake] reduce code duplication
2023-09-02 20:32:44 +02:00
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.
2023-08-20 17:16:08 +02:00
Patric Stout
53af20910b
Fix: [MSVC] generate static libraries / executables correctly with vcpkg -static target ( #11208 )
2023-08-19 00:43:32 +02:00
Loïc Guilloux
ba95764f1c
Fix 57717a2: VS2022 optimisation bug is fixed with MSVC 19.37 ( #11172 )
2023-08-09 21:43:34 +02:00
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.
2023-05-14 23:22:02 +02:00
Rubidium
f9b5bc7ee6
Cleanup: the need for SQAutoFreePointers has gone
2023-05-14 22:54:10 +02:00
Rubidium
d9e93edc8b
Codechange: replace 'const char *' script API parameters with std::string
2023-05-14 22:54:10 +02:00
Rubidium
77177f7e8b
Add: support for std::string parameters in the script API
2023-05-14 22:54:10 +02:00
Loïc Guilloux
3c59b8e9ec
Fix: disable "redundant move" warnings for GCC ( #10803 )
...
GCC warns about redundant std::move while clang warns when they are missing, so we silence the less harmful one
2023-05-10 17:35:11 +00:00
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
2023-05-01 22:17:56 +02:00
PeterN
e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )
...
This avoids a (soft) namespace conflict between the four ST_* enums.
2023-04-16 20:00:55 +01:00
Rubidium
43a7e54067
Add: unit test functionality using catch2
2023-04-16 18:58:21 +02:00
Rubidium
88ead3f102
Add: catch2 v2.13.10
2023-04-16 18:58:21 +02:00
Rubidium
9b56505fec
Codechange: split building into a library and executable
2023-04-16 18:58:21 +02:00
Eric Long
20a1b24b45
Fix: build on platforms without native atomic
2023-02-27 17:11:29 +01:00
Michael Lutz
9b3326e3fd
Codechange: [Script] Use std::vector instead of a hand-rolled alternative.
2023-02-24 21:46:27 +01:00
Michael Lutz
ca3cb4d2ef
Codechange: [Script] Use a class template instead of a function template for squirrel type conversion.
...
Class templates allow using partial template specialization, which is useful in
case one wants to have a type conversion on a type that is itself templated.
2023-02-24 21:46:27 +01:00
Byoungchan Lee
12f9fbcf39
Fix: [CMake] remove cpack warning on fedora when lsb_release exists ( #10437 )
2023-02-01 07:41:41 +00:00
Rubidium
67e1d1ad89
Fix: no need to cast enums down to int32; they will be automatically promoted to int64
2023-01-31 20:09:48 +01:00
Rubidium
042f90a9dd
Fix: no ScriptEvent sub class should export constructors to scripts
2023-01-25 22:28:30 +01:00
glx22
ffc1f7ce56
Fix 57717a2: [CMake] Don't apply 'cl' workaround to 'clang-cl'
2022-12-30 02:17:38 +01:00
Loïc Guilloux
c294e8b19f
Codechange: [MinGW] use pe-bigobj-x86-64 format for x64 debug builds ( #10142 )
2022-11-06 11:24:35 +01:00
Loïc Guilloux
0afa6f2424
Codechange: [CMake] Auto-fill list of #include in script_window.hpp ( #10103 )
2022-10-24 12:35:58 +02:00
Bouke Haarsma
887b760c88
Change: Strip symbols from bundles except macOS ( #10072 )
2022-10-10 13:42:54 +01:00
Bouke Haarsma
d0dcb6547e
Change: Don't strip symbols from bundles ( #10071 )
2022-10-07 12:56:45 +02:00
Peter Nelson
2cdd8b7429
Change: Separate fontcache implementations.
2022-09-25 18:34:24 +01:00
Loïc Guilloux
57717a20d3
Fix #9966 : workaround a VS2022 optimisation bug ( #10029 )
2022-09-13 12:27:49 +02:00
glx22
906613e83a
Change: [CMake] Disable newgrf scan for regression check
2022-05-27 19:57:50 +02:00
Loïc Guilloux
7331149dde
Codechange: [CMake] Pass API files list via a file to minimise command line length ( #9874 )
2022-05-01 00:39:59 +02:00
Nik Nyby
44713a68ed
Add: [CMake] support rpm for fedora and rhel ( #9861 )
2022-04-19 02:11:42 +02:00
Nik Nyby
6204020b6a
Fix: CMake error message grammar ( #9860 )
2022-04-19 01:33:29 +02:00
Loïc Guilloux
c85557e553
Fix: [MinGW] Disable ASLR for x64 Debug builds ( #9773 )
2021-12-28 21:08:09 +01:00
Patric Stout
eca73a810c
Change: rebrand 1.12.0 to 12.0
...
One question that keeps popping up: "when do we release 2.0?".
NewGRF will force that at least 1.16 will be 2.0, but to not wait
for this, let's drop the "1." and be for ever done with that
conversation.
We are following in the footstep of giants here.
2021-08-15 12:28:51 +02:00
Michael Lutz
10d8c17236
Codechange: Add CMake source group for the saveload compat tables.
...
While at it, fix the not-working OpenGL sub-group.
2021-07-04 16:31:59 +02:00
Rubidium
3237e97b35
Cleanup: [Script] Use nullptr instead of 0 or NULL
2021-06-17 16:18:30 +02:00
Loïc Guilloux
076f3d26c2
Fix #9329 : [CMake] FindVersion.cmake relied on internal cmake variable ( #9330 )
2021-06-10 22:14:08 +02:00
Owen Rudge
3ce7e31f64
Feature: Sign Windows builds
2021-05-26 13:40:44 +01:00
milek7
36bcd2956a
Fix: Building on Haiku
2021-05-24 08:56:18 +02:00
Loïc Guilloux
c0a0d85d20
Fix: [Actions] Annotations not shown for MSVC ( #9247 )
2021-05-11 21:43:43 +02:00
glx22
aca20092aa
Fix: [CMake] Check nforenum and grfcodec return value
2021-04-24 21:16:06 +02:00
glx22
e62ecbff16
Fix: [CMake] Incorrect dependency checks for GRF
2021-04-24 21:16:06 +02:00
Loïc Guilloux
d4f0b6f434
Fix: [CMake] Auto-fill version details in rev.cpp and ottres.rc ( #9066 )
2021-04-20 21:38:46 +02:00
Loïc Guilloux
8395c6532e
Fix 799eb31: [CMake] Don't include regression AIs in bundles ( #9068 )
2021-04-20 18:46:15 +02:00
Loïc Guilloux
f306d65ea3
Fix: [CMake] Use the right run-time library depending on vcpkg triplet ( #8964 )
2021-04-07 12:43:17 +02:00
Loïc Guilloux
799eb31ff1
Change: [CMake] Copy AI/GS compatibility files to build dir ( #8906 )
2021-04-02 10:15:45 +02:00
Patric Stout
501087058e
Fix: [CMake] if the regex for STABLETAG is empty, it means it is stable
...
This feels a bit inside out, but it makes sense: if there are no
"beta1" or "RC1" mentions, it means it is a stable release.
2021-04-01 13:26:34 +02:00
glx22
35a228f78f
Add: [CMake] Install menu and media files
2021-03-09 22:42:25 +01:00
glx22
b5770acd50
Codechange: [CMake] Add checks for baseset script parameters
2021-03-09 22:42:25 +01:00
glx22
349dc568ea
Fix: [CMake] Remove timestamps from regression output
2021-03-04 16:22:58 +01:00
glx22
b67245d71e
Fix: [CMake] CMake may use || at the end of custom commands
2021-02-22 23:17:45 +01:00
glx22
ec9d1a6b8f
Fix: [CMake] CMAKE_SOURCE_DIR may contain regex commands
2021-02-22 23:17:45 +01:00
Michael Lutz
9a069faa01
Codechange: [Win32] Try to get an OpenGL 3.2+ context if possible.
2021-02-22 22:16:07 +01:00
Owen Rudge
395e015282
Change: Convert .md to .rtf for Windows/Mac packages
2021-02-08 23:23:24 +00:00
glx22
2cbfcd2327
Change: [CMake] Bump minimum version to 3.9
2021-02-07 16:21:13 +01:00
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.
2021-02-07 12:54:02 +01:00
glx22
99448eedca
Fix: [CMake] os/windows/openttd.manifest is not a generated file
2021-02-05 23:41:55 +01:00
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.
2021-02-05 12:31:27 +01:00
Owen Rudge
a2bd0a14e1
Feature: [Actions] ARM64 builds for Windows
2021-01-18 08:57:58 +00:00
Owen Rudge
2d9e164ec4
Fix: [Actions] Give Universal Mac packages the "universal" suffix
2021-01-18 08:57:39 +00:00
Owen Rudge
0a129bc810
Change: Label Mac builds as "macos" instead of "macosx"
2021-01-16 10:04:51 +00:00
glx22
97d554feb1
Codechange: On regression failure, output the result in a file
2021-01-09 23:48:09 +01:00
Owen Rudge
bbc96fd37c
Fix: Don't add -mno-sse4 on arm64
2021-01-08 16:58:14 +00:00
Michael Lutz
21a45168bd
Codechange: [OSX] CMake source group for OSX files.
...
This separates the OSX specific files into a proper folder when generating
Xcode project files.
2021-01-03 13:25:32 +01:00
Charles Pigott
10090d0ac6
Add: [CMake] Explicitly support txz for Arch Linux
2021-01-02 19:47:14 +00:00
Charles Pigott
3dfee979a7
Codechange: Drop libxdg-basedir dependency in favour of finding the directories ourselves
2021-01-02 19:46:08 +00:00
Michael Lutz
5b1fb94240
Codechange: [OSX] Prevent the compiler from using SSE4 instructions unless we want to.
...
This improves compatibility on older systems. We don't need to disable anything
older, as there are no SSE2-only Macs.
2021-01-02 01:26:26 +01:00
Patric Stout
0c3ddc5436
Fix: support non-ubuntu/debian Linux variants with LSB support ( #8408 )
...
This now generates a warning, as we would still like people to
make a Pull Request to support the target. But it does continue
with packing to a txz.
2020-12-21 21:32:29 +01:00
Patric Stout
2df182748c
Fix: [CMake] automatically detect dependencies for .deb packages
2020-12-19 18:26:29 +01:00
Patric Stout
6228dde3da
Fix: [bundle] postfix the distribution for Linux bundles
2020-12-19 18:26:29 +01:00
Patric Stout
b8217610ce
Fix: [bundle] postfix the architecture for Mac OS bundles
...
This in preparation for other architectures, like arm64.
2020-12-19 18:26:29 +01:00
Patric Stout
7cdf7c7ca0
Fix: [bundle] custom launch.sh is no longer required for Mac OS
...
Co-authored-by: Owen Rudge <owen@owenrudge.net>
2020-12-19 18:26:29 +01:00
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>
2020-12-15 15:46:39 +01:00
Owen Rudge
b14e3b9b9d
Feature: Switch to bzip2 compression for DMG files (supported by OS X 10.4+)
2020-12-13 23:58:37 +01:00
glx22
d1fa6b129c
Add: [CMake] Option to only build tools/docs
2020-12-13 22:46:46 +01:00
Michael Lutz
a660dce295
Fix: [CMake, MSVC] Don't copy regression exe's into a subfolder as they need have their lang files next to them.
2020-12-13 22:45:50 +01:00
glx22
6fae0b83d9
Add: [CMake] targets to generate documentation
2020-12-12 15:48:04 +01:00
glx22
a06fe8e8a7
Fix: [CMake] cross-compiling requires native tools
2020-12-04 09:49:31 +00:00
Charles Pigott
0a9aed0522
Fix: [CMake] Don't detect XAudio2 if defines are missing
2020-11-26 19:06:03 +00:00
Jelle van der Waa
b6615b2cd4
Fix: make reproducible by not embedding timestamps
...
By default gzip embeds a timestamps which makes building it twice
not reproducible, passing -n skips this embedding behaviour.
Motivation: https://reproducible-builds.org
2020-10-15 22:01:12 +01:00
Charles Pigott
a0307652f3
Fix: Work around cmake bug by stripping link target strings
2020-10-03 16:17:11 +01:00
Charles Pigott
348c231e12
Codechange: Make codestyle for CMake files consistent for 'control' statements
2020-09-25 14:43:13 +01:00
laikh
6358ae47de
Fix: Remove /MP flag and improve FindEditbin.cmake for Windows clang-cl build
2020-09-01 09:45:48 +01:00
Michael Lutz
7d66540af5
Fix: [CMake] Don't strip final newline from regression output.
...
The expected regression output files all end with a newline. As such, we have to make sure we capture the output from OpenTTD with the last newline intact.
2020-07-27 17:26:19 +01:00
glx
4079c47b6c
Change: rewrote squirrel_export in CMake
2020-07-16 00:53:26 +02:00
glx
8794c61f25
Change: rewrote generate_widget in CMake
2020-07-16 00:53:26 +02:00
Michael Lutz
00eccbe298
Add: [CMake] Source group definitions to create file filters in generated project files (like the old MSVC projects).
2020-07-10 19:33:00 +02:00
Michael Lutz
de4dc792a9
Fix: [CMake] Re-enable multi-threaded compilation for MSVC project files.
2020-07-05 21:11:09 +02:00
glx22
97592c4093
Add: [CMake] Allow renaming of openttd binary
2020-07-02 21:18:14 +02:00
glx22
53de5b5c55
Fix: [CMake] Restore man file compression
2020-07-02 21:18:14 +02:00
Dan Villiom Podlaski Christiansen
e6be8be19d
Fix: remove remainining usages of FALSE in CMake files
2020-06-30 09:43:00 +01:00
Dan Villiom Podlaski Christiansen
70905ee82e
Fix: fix building release tags
...
I tried building a tag, and got this error:
CMake Error at cmake/scripts/FindVersion.cmake:85 (string):
string sub-command REGEX, mode REPLACE: regex "^[0-9.]*$" matched an empty
string.
2020-06-30 09:43:00 +01:00
Dan Villiom Podlaski Christiansen
241e3adae8
Fix: use proper flags for suppressing warnings in Clang
2020-06-30 09:43:00 +01:00