Commit Graph

19021 Commits (df601b8559b3d5de179b5b9e65ab9674fbd8bf5e)

Author SHA1 Message Date
Rubidium d31a535c87 Cleanup: remove some unneeded c_str() calls 3 years ago
rubidium42 05005dcdfa Codechange: [Network] Use std::string instead of char[] for the name of the file that is downloading 3 years ago
rubidium42 981cd0197a Codechange: [Network] Use std::string for the client name in the network server 3 years ago
rubidium42 a8b3afb236 Codechange: [Network] Use string_view for network compatability check 3 years ago
rubidium42 49dcf0c772 Codechange: [Network] Simplify constructing the HTTP request with fmt 3 years ago
rubidium42 53b4786037 Codechange: [Network] Let NetworkError return its std::string instead of a C-string 3 years ago
rubidium42 667301e3ec Codechange: [Network] Make hostname/client IP return strings instead of a C-string 3 years ago
rubidium42 a91e29b656 Codechange: [Network] Let IsInNetmask use std::string 3 years ago
rubidium42 36705f1dc0 Codechange: [Network] Simplify formatting of network addresses to string 3 years ago
rubidium42 9e32c618f9 Fix: [Network] Determining GetNetworkRevisionString could overflow and underflow its buffer
Tagged releases are not affected
3 years ago
Patric Stout 7b135a8269 Codechange: use SLE_STRUCT(LIST) for Linkgraph chunks 3 years ago
Patric Stout 5cd0c65787 Codechange: move Save/Load functions of same chunk next to each other 3 years ago
Patric Stout af3aba7a88 Codechange: use SLE_STRUCT(LIST) for GameScript chunks 3 years ago
Patric Stout aa02bf27f6 Codechange: use as much of STNN code for STNS as possible
There was a lot of code duplication for no real reason. Now with
SLEG_STRUCT support, we can just re-use the code, hopefully making
it easier for future-us to make changes to this, without breaking
everything for old games.
3 years ago
Patric Stout 0bdca02bdf Codechange: use SLE_STRUCT(LIST) for Station chunks 3 years ago
Patric Stout af43fc3d62 Codechange: use SLE_STRUCT(LIST) for Company chunks 3 years ago
Patric Stout 0bb1d2fa8e Codechange: use SLE_STRUCT(LIST) for Town chunks 3 years ago
Patric Stout 4e4720f217 Codechange: remove the special station/vehicle code from SaveLoad
With the new SLEG_STRUCT it is much easier to embed a struct
in a struct, where the sub-struct has limitations on when it is
being used.
This makes both the code easier to read (less magic) and avoids
the SaveLoad needing to know all these things about Stations
and Vehicles.
3 years ago
Patric Stout 4600d289b5 Codechange: ability to store structs and list of structs in savegames
The commits following this will use this new functionality.

Currently, a few places do this manually. This has as drawback that
the Save() and Load() code need to be in sync, and that any change
can result in (old) savegames no longer loading. In general, it is
annoying code to maintain.

By putting everything in a description table, and use that for
both Save() and Load(), it becomes easier to see what is going on,
and hopefully less likely for people to make mistakes.
3 years ago
translators 909f3f25bd Update: Translations from eints
spanish (mexican): 9 changes by absay
portuguese (brazilian): 9 changes by Vimerum
3 years ago
Peter Nelson 7385e780ac Cleanup: nested_array should not be accessed directly.
Replace accesses with GetWidget() as documented.
3 years ago
rubidium42 c811d42d0c Fix a99ac62: fmt's include of cassert breaks our assert logic 3 years ago
translators 721c3fdfb4 Update: Translations from eints
vietnamese: 2 changes by KhoiCanDev
german: 9 changes by Wuzzy2
finnish: 1 change by hpiirai
portuguese: 9 changes by azulcosta
3 years ago
rubidium42 fc63432a11 Codechange: improve style/writing of IConsolePrint strings 3 years ago
rubidium42 75afd25e16 Change: do not print the '-' in front of help messages and make help messages more uniform 3 years ago
rubidium42 eb6cdadc4d Codechange: replace IConsolePrintF with IConsolePrint and fmt formatting
Also make some strings more consistent with the rest of the console strings.
3 years ago
rubidium42 d9c1d18f2b Change: improve some of the console messages related to networking (make them more uniform) and convert to fmt 3 years ago
rubidium42 b280a3a0ed Cleanup: remove IConsoleWarning/IConsoleError helpers
Both did not support format parameters, so in many places IConsolePrint(CC_ERROR, "message") was used with a style different from what IConsoleError would do.
3 years ago
rubidium42 efd4ba4797 Change: unify the style of console error messages and convert to fmt
Always start with a capital, do not add "ERROR: " in front of it.
3 years ago
rubidium42 de49727ae8 Change: not performing a command is worthy of an error, not a warning
If a command cannot be executed for whatever reason, it makes no sense to call it a warning. Something has been done wrong.
Also make writing of these error message consistent while changing their "type".
3 years ago
rubidium42 121b037054 Codechange: remove single use IConsoleDebug 3 years ago
rubidium42 6b757c716a Codechange: add an IConsolePrint overload that does formatting with fmt 3 years ago
Patric Stout 1e432fbd71
Fix 81062163: for (really) old games, station bus/truck station cache was not updated (#9366) 3 years ago
rubidium42 7d79180040 Codechange: use fmt in DebugPrint where applicable 3 years ago
rubidium42 352dbdd570 Cleanup: remove old DEBUG macro and debug function 3 years ago
rubidium42 55a11710a6 Codechange: convert printf DEBUG statements to fmt Debug statements 3 years ago
rubidium42 a99ac62c1a Codechange: use the fmt library for simpler debug formats 3 years ago
rubidium42 662d8dfc30 Add: minimal set of headers from {fmt} 7.1.3 to 3rdparty 3 years ago
rubidium42 845fded2a0 Fix #9361, a2051ba: [Network] Off by one in CanWriteToPacket
Previously it did not allow writing a byte to a packet that was of size limit - 1 anymore.
3 years ago
rubidium42 bf500c39c9 Codechange: make the name of SettingDesc a std::string 3 years ago
rubidium42 e588923bff Codechange: add std::string accepting SetDParamStr to ErrorMessageData 3 years ago
rubidium42 ca9c50607e Codechange: use StrStartsWith/StrEndsWith when finding settings 3 years ago
rubidium42 fed3e3305f Codechange: add function to determine whether are string starts or ends with a given other string 3 years ago
TELK 2d0abf5a76
Fix #9362: Hover in online players window was slightly too big (#9364)
This causes graphical glitches at the bottom of the window.
3 years ago
Michael Lutz 418e0ea85f Codechange: Use dynamic string list for contents of land info window. 3 years ago
translators 8dd846bad4 Update: Translations from eints
norwegian (bokmal): 10 changes by Anolitt
korean: 9 changes by telk5093
russian: 9 changes by Ln-Wolf
finnish: 10 changes by hpiirai
spanish: 8 changes by MontyMontana
french: 9 changes by glx22
3 years ago
rubidium42 71f3c35288 Fix #9353: [Script] Garbage collecting on priority queues could crash the game 3 years ago
Peter Nelson 40cec34836 Change: Skip creating a RealSpriteGroup when there is only one result.
This avoids checking RSG for empty sets every time they are evaluated.
This might alter behaviour in cases of a malformed NewGRF file.
3 years ago
Peter Nelson f1328db063 Codechange: Deduplicate ResolveReal() for resolvers that don't use real sprite groups.
This may change behaviour when multiple loading/loaded stages are provided, as the various copies checked in different orders, however only one result is expected in these cases anyway.
3 years ago
translators c562b4c527 Update: Translations from eints
hindi: 67 changes by ritwikraghav14
3 years ago
Loïc Guilloux 16ebf7861f
Fix 4079c47: Missed a file when removing generated .sq files from the repo (#9350) 3 years ago
Loïc Guilloux ee5f23382d
Fix: [Script] doxygen_filter is very strict about DOXYGEN_API usage (#9351) 3 years ago
Patric Stout ef25afd55a
Fix #9348, 4d74e51: don't try to sell shares of spectators (#9349)
"new_owner" can be INVALID_OWNER, and as INVALID_OWNER ==
COMPANY_SPECTATORS, we could end up trying to sell shares of
nobody.
3 years ago
Tyler Trahan d09210e1c6 Feature: Configurable subsidy duration 3 years ago
glx22 c2db408d5d Fix aa5a8fe28: [MinGW] Wrong define tested (WIN32 vs _WIN32) 3 years ago
glx22 d485b50813 Fix: [MinGW] Ignore wglGetProcAddress() cast warnings 3 years ago
glx22 744a9e4745 Codechange: [WIN32] Add a wrapper around GetProcAddress() 3 years ago
glx22 15f66329c2 Fix: [MinGW] Silence 2 cast warnings 3 years ago
glx22 00e3fddd0c Fix: [MinGW] Unused squirrel code triggering a warning 3 years ago
glx22 b7250a42e1 Fix: [MinGW32] Linking error 3 years ago
glx22 2df48a78cc Fix: [MinGW32] Can't convert lambda to stdcall 3 years ago
glx22 3ca0239985 Fix: [MinGW32] SHGFP_TYPE_CURRENT is now present in win32api 3 years ago
glx22 5d05c4919b Codechange: [WIN32] Reduce manual dynamic loading as WinXP is the minimum version 3 years ago
glx22 f4c7d5577e Codechange: [WIN32] Use VersionHelpers where appropriate 3 years ago
Patric Stout ed3946e295
Add: '-X' option to ignore global folders in the search path (#9341)
This is extreme useful for automated testing. Without this, OpenTTD
will always look in your personal-dir (like ~/.local/share/openttd
or %USER%\Documents\OpenTTD). For most users this is exactly what
we want, that there is a shared place for all their files.

However, for automated testing this is rather annoying, as your
local development files influence the automated test. As such,
'-X' counters this, and only gives the local folders. This is
especially useful in combination with '-x' and '-c'.
3 years ago
rubidium42 2924ac48c5 Fix: [Script] Ensure the saved script strings are properly validated and terminated when being read from the savegame 3 years ago
rubidium42 bb8fd00760 Cleanup: [Network] Remove C-string Recv_string and its last use 3 years ago
rubidium42 ab9b937ab7 Codechange: [Network] Use std::string to get a NewGRF's name 3 years ago
Patric Stout 849a10520c
Change: allow pause/unpause console command in single player too (#9342) 3 years ago
rubidium42 e2417193c9 Cleanup: [ContentInfo] Remove some functions that are not needed anymore 3 years ago
rubidium42 e3717ae903 Codechange: [ContentInfo] Use std::string instead of string buffers 3 years ago
rubidium42 df181bb641 Codechange: [ContentInfo] Use a vector for dependencies instead of custom allocation 3 years ago
rubidium42 9c424ab741 Codechange: [ContentInfo] Use StringList for tags instead of custom allocations 3 years ago
rubidium42 dfb89f3891 Codechange: [ContentInfo] Do not use memset/memcpy to make it possible to use vector/string 3 years ago
rubidium42 6bb3f034e4 Cleanup: [ContentInfo] Remove unused function 3 years ago
Patric Stout 37ae6b8ae3
Add: adhere the autosave_on_exit setting for Null videodriver (#9343)
This is especially useful for automated-testing, to make a save
when the game quits while using "-vnull:ticks=N".
3 years ago
Patric Stout 174952440a Codechange: rework CHTS-chunk save/load to be more like the others 3 years ago
Patric Stout 8f323855b1 Codechange: rename SL_LST to SL_REFLIST to highlight the "reference" part
You can easily mistake SlList / SL_LST to be a list of SL_VAR, but
it is a list of SL_REF. With this rename, it hopefully saves a few
people from "wtf?" moments.
3 years ago
Patric Stout aa6443d57a Codechange: refactor SlList to use SlStorageHelper 3 years ago
Patric Stout 23857af693 Codechange: refactor SlDequeueHelper to work with unsigned and be more generic
Future additions will start using it for std::list too.
3 years ago
Patric Stout a2147d437e Codechange: use wrappers to get Var[Mem|File]Type, instead of GB() 3 years ago
Patric Stout fba86f711f Codechange: move GetVariableAddress inside SlObjectMember
Also move it to static, as nobody else is using it.
3 years ago
Vít Šefl f899772ec2
Fix 2e136285: Crash when CTRL-clicking on a sign (#9345) 3 years ago
translators 37b285ad83 Update: Translations from eints
spanish (mexican): 2 changes by absay
3 years ago
translators 12de256b72 Update: Translations from eints
german: 1 change by Wuzzy2
spanish: 1 change by ilyabakhlin
3 years ago
Patric Stout f997eb6ca4
Fix: compatible NewGRFs in crash-log reported wrong md5 (#9340)
The text suggests it reports the original md5, but it does in fact
report the replaced md5. Now it reports both.
3 years ago
Patric Stout 1e564b333f
Codechange: make [Save|Load]Settings() behave more like other Save/Load code (#9335)
Prepare the full description and send it to SlObject. This does
require some code to be able to read to a SLE_VAR_NULL, like strings
etc, as there is no way to know their length beforehand.
3 years ago
Patric Stout 648ee88a02 Codechange: merge guiflags and flags in settings .ini files
It was rather confusing which one was for what, especially as some
SaveLoad flags were settings-only. Clean up this mess a bit by
having only Setting flags.
3 years ago
Patric Stout 264991dfa5 Codechange: move SLF_NO_NETWORK_SYNC into settings
It is a settings-only flag, so don't pollute SaveLoad code with it.
3 years ago
Patric Stout 414e12d26b Codechange: move SLF_NOT_IN_SAVE into settings
It is a settings-only flag, so don't pollute SaveLoad code with it.
3 years ago
Patric Stout 7572603c9d Codechange: remove the unused SLF_HEX flag 3 years ago
translators d835a42c05 Update: Translations from eints
english (us): 1 change by 2TallTyler
catalan: 5 changes by J0anJosep
3 years ago
glx22 c27afdf3f6 Codechange: Remove FOR_ALL_CHUNK_HANDLERS
Co-Authored-By: Patric Stout <truebrain@openttd.org>
3 years ago
translators 3559e55b91 Update: Translations from eints
spanish (mexican): 1 change by absay
latvian: 2 changes by osprinkis
3 years ago
translators ea23a9cdb6 Update: Translations from eints
korean: 1 change by telk5093
dutch: 1 change by Afoklala
french: 1 change by MalaGaM
3 years ago
translators d816ff0361 Update: Translations from eints
korean: 1 change by telk5093
3 years ago
Patric Stout 5e44da3010
Fix ef991b17: server was trying to free() a packet created with "new CommandPacket()" (#9334) 3 years ago
Patric Stout feb2ddbefa
Codechange: rename SettingGuiFlag to SettingFlag (#9332)
It is a lovely organicly grown enum, where it started off with
GUI-only flags, and after that a few flags got added that can be
considered GUI-only (the GUI disables/enables based on them), to
only have flags added that has nothing to do with the GUI.

So be less confusing, and rename them to what they do.

Additionally, I took this opportunity to rename 0ISDISABLED to
reflect what it really does.
3 years ago
Patric Stout 28e90769f7 Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
3 years ago
Patric Stout f8dd5dd00a Codechange: remove unused assert_msg() macro 3 years ago