summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-07-09Add #9188: netsave now keeps multiple version around, similar to autosave ↵Stephan
(#9395)
2021-07-09Cleanup: Remove now unused FOR_EACH_SET_BIT_EX macroglx22
2021-07-09Codechange: Remove FOR_EACH_SET_TRACKglx22
2021-07-09Codechange: Remove FOR_EACH_SET_CARGO_IDglx22
2021-07-09Codechange: Remove FOR_EACH_SET_BITglx22
2021-07-09Codechange: Remove FOR_ALL_SORTED_STANDARD_CARGOSPECSglx22
2021-07-09Codechange: Remove FOR_ALL_TILES_IN_HEIGHTglx22
2021-07-09Codechange: split settings.ini over several files (#9421)Patric Stout
This reduced the load on compilers, as currently for example MacOS doesn't like the huge settings-tables. Additionally, nobody can find settings, as the list is massive and unordered. By splitting it, it becomes a little bit more sensible.
2021-07-09Update: Translations from eintstranslators
spanish (mexican): 44 changes by absay italian: 2 changes by CoderLel
2021-07-08Update: Translations from eintstranslators
spanish (mexican): 54 changes by absay
2021-07-08Fix: reduce the amount of debug messages on -dsl=2 (#9420)Patric Stout
LoadCheck makes it sound like something is really broken while loading savegames, while it really is perfectly normal, as most chunks do not implement LoadCheck.
2021-07-08Fix 9e32c618: network revision was always empty (#9419)Patric Stout
Shadowing the variable you intend to write in tends to do that ;)
2021-07-07Update: Translations from eintstranslators
spanish (mexican): 6 changes by absay
2021-07-06Codechange: Use a common sub-class for NewGRFMapping chunksglx22
2021-07-06Cleanup: Remove now unneeded ChunkHandler membersglx22
2021-07-06Codechange: Use ChunkHandlers sub-classesglx22
2021-07-06Codechange: Use static array of references to ChunkHandlerglx22
2021-07-06Codechange: Preparation for ChunkHandler subclassingglx22
2021-07-06Codechange: split off the settings saveload code from the main settings ↵Rubidium
handling logic
2021-07-06Codechange: split off the settings table and all the callbacks from the main ↵rubidium42
settings handling logic
2021-07-06Codechange: ensure xxx_setting_tables are initialised after their contentglx22
2021-07-06Fix 39e90ec: Integers for scripts are 64bit, but saved as 32bit (#9415)Loïc Guilloux
2021-07-06Update: Translations from eintstranslators
portuguese (brazilian): 1 change by Vimerum
2021-07-05Update: Translations from eintstranslators
hindi: 26 changes by ritwikraghav14
2021-07-04Update: Translations from eintstranslators
catalan: 1 change by J0anJosep
2021-07-03Update: Translations from eintstranslators
norwegian (bokmal): 1 change by Anolitt japanese: 1 change by scabtert
2021-07-03Fix cdb3dd049: GOAL chunk was not using the header for loading (#9409)Loïc Guilloux
2021-07-03Cleanup: remove declaration of undefined functionrubidium42
2021-07-03Codechange: replace InjectDParam/ShiftParameters by setting the right ↵rubidium42
parameter values in the first place
2021-07-02Codechange: make savegame-version checks more obvious in SlCompanyLiveries::LoadPatric Stout
num_liveries indirectly contained the same information, but this makes reading these things pretty difficult. So use IsSavegameVersionBefore() like everywhere else instead.
2021-07-02Codechange: using "until" in function names can be confusingPatric Stout
IsSavegameVersionUntil() did a [0, N] check, not [0, N) as the name suggests. Until can be a confusing word, where people consider it to be including the upperbound. Dictionary states it means "before", excluding the upperbound. There are long debates about who is right. So, simply remove away from this ambiguity, and call it "before" and "before or at". This makes the world easier for everyone.
2021-07-02Cleanup: remove SLE_NULL and friendsPatric Stout
We no longer need them. If you want to remove a field .. just remove it! Because of the headers in the savegame, on loading, it will do the right thing and skip the field. Do remember to bump the savegame version, as otherwise older clients can still load the game, but will reset the field you have removed .. that might be unintentially.
2021-07-02Add: store headers for chunks with SL_STRUCTLISTPatric Stout
2021-07-02Add: store headers for most savegame chunksPatric Stout
When a header is added, the chunk changes from CH_ARRAY type to CH_TABLE type.
2021-07-02Feature: framework to make savegames self-descriptivePatric Stout
We won't be able to make it fully self-descriptive (looking at you MAP-chunks), but anything else can. With this framework, we can add headers for each chunk explaining how each chunk looks like in detail. They also will all be tables, making it a lot easier to read in external tooling, and opening the way to consider a database (like SQLite) to use as savegame format. Lastly, with the headers in the savegame, you can freely add fields without needing a savegame version bump; older versions of OpenTTD will simply ignore the new field. This also means we can remove all the SLE_CONDNULL, as they are irrelevant. The next few commits will start using this framework.
2021-07-02Update: Translations from eintstranslators
english (us): 1 change by 2TallTyler german: 1 change by Wuzzy2 dutch: 1 change by Afoklala
2021-07-02Change: move sensitive information to secrets.cfg and private information to ↵Patric Stout
private.cfg We often ask people for their openttd.cfg, which now includes their passwords, usernames, etc. It is easy for people to overlook this, unwillingly sharing information they shouldn't. By splitting this information over either private.cfg or secrets.cfg, we make it more obvious they shouldn't be sharing those files, and hint to what is inside them.
2021-07-02Codechange: simplify SaveVersionInConfig()Patric Stout
Clearly someone really wanted to generalize the function, but in reality it makes it a lot longer than needed. Let's keep it simple.
2021-07-02Codechange: C++-ify the usage of IniFile in settings.cppPatric Stout
Instead of creating the object on heap and use a pointer, create the object on stack and use a guaranteed-not-null pointer. The size of IniFile doesn't warrent the forcing to heap. Additionally, use a subclass instead of a function to do some initial bookkeeping on an IniFile meant to read a configuration.
2021-07-02Codechange: move network-related settings out of settings.iniPatric Stout
This to prepare the code to split up network-related settings into private / secrets / generic.
2021-07-01Codechange: use a contructor for NewsItem to set the valuesRubidium
And use std::unique_ptr to manage the memory of the allocated data
2021-07-01Codechange: use the constructor for CompanyNewsItem to fill the data instead ↵rubidium42
of a separate function
2021-07-01Codechange: create a type for the "free_data" of NewsItems and (de)allocate ↵rubidium42
it with new and delete
2021-06-30Update: Translations from eintstranslators
finnish: 1 change by hpiirai
2021-06-29Fix f7e390bd: freeaddrinfo() is not guaranteed to handle a nullptr graceful ↵Patric Stout
(#9404)
2021-06-29Change: [strgen] Change warnings for translations into infos (#9406)Loïc Guilloux
Unless invoked with -w, --warning ("print a warning for any untranslated strings") or -t, --todo ("replace any untranslated strings with '<TODO>'"). Eints normally fixes the warnings after a Pull Request, so it is not really useful information for the developer to see as a warning.
2021-06-29Update: Translations from eintstranslators
swedish: 27 changes by joeax910 korean: 4 changes by telk5093 russian: 1 change by Ln-Wolf portuguese: 1 change by azulcosta
2021-06-28Update: Translations from eintstranslators
swedish: 1 change by joeax910
2021-06-28Add: Show the number of clients and companies in the online players window ↵TELK
(#9376)
2021-06-28Change: [Emscripten] set default scrolling mode to non-pointer-locking (#9191)embeddedt