Commit Graph

17852 Commits (547e5fdb65ae1c7909ef602a58085e5146782b42)

Author SHA1 Message Date
Patric Stout 547e5fdb65
Fix 86e08aa: STR_CARGO_PLURAL_CANDY with cases was not renamed (#8412) 4 years ago
Patric Stout d8c8f4e72d
Fix: next 67 savegame versions are used in PatchPacks; skip them (#8411)
Various of PatchPacks (Spring 2013, Joker, ChillPP) used versions
slightly higher than ours. Of course, as time went by, this
caught up with us, and we are now almost pushing a new version
that would conflict with them. To avoid users creating unneeded
issues about "why can I not load my savegame", lets be ahead of
the curve and flat-out refuse to load them.

Version-wise, this is totally fine. We have ~32k versions to go
before we run out (0x8000 is masked by JGRPP; we should avoid
using that). At the rate we bump savegames, this is not going to
happen in any sane reality.
4 years ago
Matt Kimber 6c3a5b5b17
Fix c02ef3e4: [NewGRF] Variable 0x44 was always HZB_TOWN_EDGE for road stops. (#8400) 4 years ago
Bernard Teo 981c540201 Change: Place "Group by" above "Sort by" in station window for consistency 4 years ago
Bernard Teo 4af1acfe92 Feature: Drag-and-drop vehicles in group GUI for shared order groups 4 years ago
Bernard Teo a5047b7566 Cleanup: Use range-based for-loop in group_gui.cpp 4 years ago
Bernard Teo 61fb1cac54 Cleanup: Move EndContainer() for empty WWT_PANEL to the same line 4 years ago
Bernard Teo e59c400ca6 Feature: Option to group vehicle lists by shared orders
This applies to all kinds of vehicle lists, as well as the "vehicle groups" window.
4 years ago
Bernard Teo 584df548f1 Codechange: Make vehicle lists internally support grouping of vehicles
This is in preparation for the new UI feature that allows grouping by shared orders.
4 years ago
Xaroth Brook 86e08aa8ef Update: Apply name changes to all languages. 4 years ago
Xaroth Brook d05be2cff5 Cleanup: Rework the CargoSpec macro for improved readability. 4 years ago
Patric Stout 34051c10df
Doc: some comments for the win32 video driver (#8409)
Co-authored-by: Niels Martin Hansen <nielsm@indvikleren.dk>
4 years ago
translators f24bc8b509 Update: Translations from eints
vietnamese: 3 changes by KhoiCanDev
russian: 4 changes by Ln-Wolf
polish: 11 changes by yazalo
4 years ago
Michael Lutz 5575cb9133 Remove: Remnants of PSP support.
No active target is that limited in concurrent file descriptors.
4 years ago
translators 914fb4c987 Update: Translations from eints
korean: 1 change by telk5093
slovak: 6 changes by FuryPapaya
latvian: 9 changes by lexuslatvia
4 years ago
dP e82333cf77 Feature #7962: Improve rendering of large viewports 4 years ago
dP 5ca8a0bda9 Feature #7962: Significantly improve sprite sorter performance 4 years ago
Michael Lutz 4c1ee264a6
Fix: [OSX] Warning about ambiguous method (-Wobjc-multiple-method-names). (#8399) 4 years ago
translators 2714e0a33f Update: Translations from eints
russian: 10 changes by Ln-Wolf
finnish: 4 changes by hpiirai
slovak: 16 changes by FuryPapaya
french: 1 change by glx22
4 years ago
translators 40269f5df2 Update: Translations from eints
finnish: 47 changes by hpiirai
4 years ago
Pavel Stupnikov b2895dfcd0
Change: extend the allowed range for max loan setting (#8386) 4 years ago
Pavel Stupnikov d989fb516b
Change: send network error to the server before making an emergency save (#8387) 4 years ago
frosch d5f05fb781
Fix: [NewGRF] Action 7/9 conditions 0x0F to 0x12 failed, if 'param' was 0x88. (#8382)
Fix: [NewGRF] Action 7/9 conditions 0x0B to 0x12 failed, if 'param' was 0x85.
These conditions are supposed to ignore 'param' entirely.
4 years ago
Byoungchan Lee 0471de2d92
Fix: Remove unnessary reference to suppress warning (#8337)
Apple Clang version 12 (bundled with Xcode 12) complaints about copying
small objects in range loop (-Wrange-loop-analysis introduced by -Wall).
This warning can be easily avoided by removing the reference from
the const pointer type.
4 years ago
SamuXarick 1d85d71d29
Fix: for original terrain generator, keep a single gap of water at the borders (#7883)
This means that for NE/NW, it should have one more in case of
freeform-edges, and in case of SE/SW it should have one less.

Reminder: freeform-edges only adds VOID tiles on X=0 and Y=0.
4 years ago
Patric Stout e07afaeffb
Fix: a cargos sneaked in; should be cargoes for consistency (#8383) 4 years ago
Patric Stout f7b8e7e46c Fix: prefix the Nth vehicle with "#" when ungrouped
This is for consistency; most other objects add a # to indicate
it is the Nth of that object, except for Trains / RVs / Ships /
Aircrafts.
This becomes painfully apparent with unnamed vehicles in groups,
which do get a "#".
4 years ago
stormcone ca65f19b03 Feature: Show group name as part of the default vehicle name.
Only if the vehicle is member of a group and does not have a user defined name.
4 years ago
translators 1a67954ff9 Update: Translations from eints
korean: 29 changes by telk5093
finnish: 8 changes by hpiirai
slovak: 6 changes by FuryPapaya
french: 6 changes by glx22
4 years ago
Patric Stout 8fbf5bef60 Fix: workarounds for two emscripten bugs in the network stack 4 years ago
Patric Stout d5b9f7ac37 Add: [Emscripten] use "relative mouse mode" with SDL2
This mode doesn't wrap the mouse constantly, but requests SDL
to lock the mouse pointer. This is needed, as with Emscripten
you are not allowed to change the mouse poisition (only to lock
it into place).
4 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>
4 years ago
Patric Stout 2da07f7615 Codechange: unroll the SDL2 main loop
This commit prepares for the next commit, as Emscripten needs to
have a way to trigger a single iteration of the main loop. To
keep the real changes more clear, this commit only unrolls the
loop, and makes no changes to the logic itself.
4 years ago
Tyler Trahan f2a93dba0d
Change: set the default setting for autorenew to on for new games (#8352) 4 years ago
translators 8c42f3a8d4 Update: Translations from eints
french: 1 change by glx22
4 years ago
jostephd b1cf79da5b
Feature: new velocity unit "tiles/day" (#8278) 4 years ago
Michael Lutz 79240eab1e Codechange: Make use of the improved C++17 emplace_back function. 4 years ago
frosch cc1679e317 Codechange: Apple LLVM fails to implement std::optional::value() also on pretty recent version. Use operator* instead. 4 years ago
frosch 484ea62a62 Cleanup: use std::optional instead of custom implementation. 4 years ago
Pavel Stupnikov c9fd85528a
Add: new economy "frozen" that stops production changes and industry closures (#8282) 4 years ago
Patric Stout 68f9925cd4
Codechange: use \u to indicate unicode chars in strings (#8379)
With \x, we sometimes had to do the "" trick, as the length is not
predefined. With C++11 bringing \u to the specs, which has a preset
length, we no longer need the "" trick.

We set the strings to u8, to ensure all compilers use UTF-8 encoding
for the \u characters.

This was triggered by newer CLangs, which start to warn if you
use "" in the middle of a string, wondering if that was your
intention. It is a good question. And this is our answer :)
4 years ago
glx22 d1fa6b129c Add: [CMake] Option to only build tools/docs 4 years ago
Patric Stout b7851e51ad Fix: set SP_WORKING_DIR earlier with '-c'
On Windows, relative folders don't work so well. So we need to
lookup the full path. This is best done in DetermineBasePaths()
and as a bonus that only sets SP_WORKING_DIR once.
4 years ago
Patric Stout 5d0331ecdc
Fix 8bef06a2: don't use "extern" when you want to implement a global (#8373) 4 years ago
Patric Stout da7c74ba7e Fix: change the working-dir searchpath when using '-c'
Basically, with '-c' you now create a sandbox. It will still use
your personal-dir and global-dir to find files you installed there,
but all new files are stored with a base folder identical to the
folder the configuration is in.

This is a bit of an old bug, that we many have tried to solve in
various of different ways. The code has grown sufficiently complex
that it is hard to see what consequences of actions are. This is
in my opinion the most harmless solution, while increasing the
usefulness of the '-c' flag.

In essence, the problem was that empty folders were always created
in the directory where the configuration was, but as that directory
wasn't added to any searchpath, files weren't stored there, unless
by accident it was a folder already on the searchpath. For example,
if you do './openttd -c local.cfg', it did work as expected. But
in the more generic variant, it did not.

With this patch, you can run './openttd -c /new/folder/local.cfg',
and it will create and prepare that folder to receive new files.

'content_download' is also stored in the directory the
configuration is in; this was already the case. Important to
note that there is only one search-path for 'content_download'.
In other words, when using '-c', it will not look in '~/.openttd'
inside the 'content_download' folder.
4 years ago
Patric Stout 4e12aac9c0 Codechange: to create or not to create a folder, that is the question
This was just weird. With XDG _personal_dir was created already,
but later on it was checked if it was different from config_dir,
and the creation was skipped. All this checking and validation
makes my head spin .. let's make it a bit more simple.
4 years ago
Patric Stout c66bd18a10
Add: save openttd.cfg immediately on changing a setting (#8358)
Formally it was only done on exit. This means that if it crashes
changes in settings were not stored. This is often rather
frustrating. Additionally, targets (like emscripten) where people
are unlike to use "Exit Game", will never see their configuration
stored.

The drawback is that on every setting change there is some minor
I/O of writing the ini file to disk again.
4 years ago
translators 40edc2863c Update: Translations from eints
finnish: 1 change by hpiirai
4 years ago
glx22 6fae0b83d9 Add: [CMake] targets to generate documentation 4 years ago
translators 7f5afbfdf5 Update: Translations from eints
slovak: 2 changes by FuryPapaya
4 years ago