summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2021-06-28Fix ea9715d: not all setting values were clamped properly (#9401)SamuXarick
2021-06-27Update: Translations from eintstranslators
swedish: 6 changes by joeax910 finnish: 1 change by hpiirai catalan: 9 changes by J0anJosep
2021-06-27Fix #9402, 2e136285: Crash when founding town using default name (#9403)Loïc Guilloux
2021-06-26Update: Translations from eintstranslators
swedish: 1 change by joeax910
2021-06-26Fix #9386: compilers failing to compile with LTO by using variants instead ↵rubidium42
of new + unique_ptr With std::variant all memory can be figured out at compile time, so the compiler needs to keep track of fewer elements. It also saves out a unique_ptr and its memory management, over a slight impact for resolving a setting.
2021-06-26Codechange: use C-style strings instread of std::string in the SettingDesc ↵rubidium42
constructor This as using std::string causes much more variables to be tracked, potentially causing problemes for certain compilers in certain situations
2021-06-26Codechange: introduce helper to convert from the iterated type to the actual ↵rubidium42
SettingDesc
2021-06-26Codechange: instead of "naked" initializer lists, declare the type in the ↵rubidium42
saveload macros This to help variant's constructor to be able to resolve the constructor of the setting
2021-06-26Codechange: remove overloading on UpdateServiceIntervalrubidium42
One UpdateServiceInterval has two parameters to update the service interval for a vehicle type, the other for all vehicle types at once. Rename the latter to help with function resolution for the introduction of variants.
2021-06-26Codechange: [Network] Remove overload on NetworkValidateClientNamerubidium42
Rename the zero-parameter NetworkValidateClientName to NetworkValidateOurClientName to make it clearer it is performed on our client name, and to make it a non-overloaded function to aid with the variant being added a few commits later
2021-06-26Change: prevent palette updates during copying to the video driverPatric Stout
ThreadSanitizer rightfully notices that the game-thread could update the palette while the draw-thread is copying it for local use. The odds of this are very small, but nevertheless, it does carry a very good point. It wouldn't hurt the application in any way, but it might cause visual glitches on the screen.
2021-06-26Codechange: use _cur_palette the same in all the driversPatric Stout
It was a bit of a mixed bag. With this change, gfx.cpp is in control who accesses _cur_palette from the video-drivers.
2021-06-25Update: Translations from eintstranslators
swedish: 1 change by joeax910 dutch: 9 changes by Afoklala
2021-06-22Codechange: [OSX] Remove old code that has no effect on current OSX versions.Michael Lutz
2021-06-22Codechange: [OSX] We use OpenGL even if Apple doesn't like it.Michael Lutz