Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-06-15 | Change: rework GLOG chunk to be more like the rest | Patric Stout | |
Basically it is very similar to Vehicles, where there first is a type field, followed by data of that type. So this commit makes it looks like how Vehicles solved that. This removes a lot of custom "keeping track of length" stuff. | |||
2021-06-15 | Change: rework several CH_RIFF chunks to use CH_ARRAY instead | Patric Stout | |
This adds two byte extra to those chunks, and might feel a bit silly at first. But in later changes we will prefix CH_ARRAY with a table header, and then this change shines. Without this, we could still add headers to these chunks, but any external reader wouldn't know if the CH_RIFF has them or not. This way is much more practical, as they are now more like any other chunk. | |||
2021-06-15 | Codechange: add the ability to save/load a std::vector | Patric Stout | |
std::vector<bool> is not possible, as .. that is a nice special case in C++. This new type will be used in next commit. | |||
2021-06-15 | Change: prefix SL_ARR with the length of the array | Patric Stout | |
This means that during loading we can validate that what is saved is also that what is expected. Additionally, this makes all list types similar to how they are stored on disk: First a gamma to indicate length, followed by the data. The size still depends on the type. | |||
2021-06-15 | Codechange: make it more obvious SlArray supports SLE_VAR_NULL | Patric Stout | |
In the end, the code was already doing the right thing, but a few functions deep, and not really obvious. When validating what objects can handle SLE_VAR_NULL, it is nicer to just have this obvious. | |||
2021-06-15 | Codechange: use SL_NULL if you want to store null-bytes or load to nothing | Patric Stout | |
Using SL_ARR for this gives us a bit of trouble later on, where we add a length-field to SL_ARR. This of course is not the intention of SLE_CONDNULL. So better seperate it. | |||
2021-06-15 | Change: switch SL_DEQUE and SL_REFLIST length field to a gamma | Patric Stout | |
The current SaveLoad is a bit inconsistent how long a length field is. Sometimes it is a 32bit, sometimes a gamma. Make it consistent across the board by making them all gammas. | |||
2021-06-15 | Change: indicate in the savegame if a SL_STRUCT contains any data | Patric Stout | |
This helps external tooling to understand if a SL_STRUCT should be skipped when reading. Basically, this transforms an SL_STRUCT into a SL_STRUCTLIST with either 0 or 1 length. | |||
2021-06-15 | Change: store length of SL_STRUCTLIST in the savegame | Patric Stout | |
This wasn't consistently done, and often variables were used that were read by an earlier blob. By moving it next to the struct itself, the code becomes a bit more self-contained and easier to read. Additionally, this allows for external tooling to know how many structs to expect, instead of having to know where to find the length-field or a hard-coded value that can change at any moment. | |||
2021-06-15 | Fix: you could join an AI company in multiplayer via the GUI (#9369) | SamuXarick | |
2021-06-15 | Cleanup: remove some unneeded c_str() calls | Rubidium | |
2021-06-15 | Codechange: [Network] Use std::string instead of char[] for the name of the ↵ | rubidium42 | |
file that is downloading | |||
2021-06-15 | Codechange: [Network] Use std::string for the client name in the network server | rubidium42 | |
2021-06-15 | Codechange: [Network] Use string_view for network compatability check | rubidium42 | |
2021-06-15 | Codechange: [Network] Simplify constructing the HTTP request with fmt | rubidium42 | |
2021-06-15 | Codechange: [Network] Let NetworkError return its std::string instead of a ↵ | rubidium42 | |
C-string | |||
2021-06-15 | Codechange: [Network] Make hostname/client IP return strings instead of a ↵ | rubidium42 | |
C-string | |||
2021-06-15 | Codechange: [Network] Let IsInNetmask use std::string | rubidium42 | |
2021-06-15 | Codechange: [Network] Simplify formatting of network addresses to string | rubidium42 | |
2021-06-14 | Fix: [Network] Determining GetNetworkRevisionString could overflow and ↵ | rubidium42 | |
underflow its buffer Tagged releases are not affected | |||
2021-06-14 | Codechange: use SLE_STRUCT(LIST) for Linkgraph chunks | Patric Stout | |
2021-06-14 | Codechange: move Save/Load functions of same chunk next to each other | Patric Stout | |
2021-06-14 | Codechange: use SLE_STRUCT(LIST) for GameScript chunks | Patric Stout | |
2021-06-14 | Codechange: use as much of STNN code for STNS as possible | Patric Stout | |
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. | |||
2021-06-14 | Codechange: use SLE_STRUCT(LIST) for Station chunks | Patric Stout | |
2021-06-14 | Codechange: use SLE_STRUCT(LIST) for Company chunks | Patric Stout | |
2021-06-14 | Codechange: use SLE_STRUCT(LIST) for Town chunks | Patric Stout | |
2021-06-14 | Codechange: remove the special station/vehicle code from SaveLoad | Patric Stout | |
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. | |||
2021-06-14 | Codechange: ability to store structs and list of structs in savegames | Patric Stout | |
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. | |||
2021-06-14 | Update: Translations from eints | translators | |
spanish (mexican): 9 changes by absay portuguese (brazilian): 9 changes by Vimerum | |||
2021-06-14 | Cleanup: nested_array should not be accessed directly. | Peter Nelson | |
Replace accesses with GetWidget() as documented. | |||
2021-06-13 | Fix a99ac62: fmt's include of cassert breaks our assert logic | rubidium42 | |
2021-06-13 | Update: Translations from eints | translators | |
vietnamese: 2 changes by KhoiCanDev german: 9 changes by Wuzzy2 finnish: 1 change by hpiirai portuguese: 9 changes by azulcosta | |||
2021-06-13 | Codechange: improve style/writing of IConsolePrint strings | rubidium42 | |
2021-06-13 | Change: do not print the '-' in front of help messages and make help ↵ | rubidium42 | |
messages more uniform | |||
2021-06-13 | Codechange: replace IConsolePrintF with IConsolePrint and fmt formatting | rubidium42 | |
Also make some strings more consistent with the rest of the console strings. | |||
2021-06-13 | Change: improve some of the console messages related to networking (make ↵ | rubidium42 | |
them more uniform) and convert to fmt | |||
2021-06-13 | Cleanup: remove IConsoleWarning/IConsoleError helpers | rubidium42 | |
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. | |||
2021-06-13 | Change: unify the style of console error messages and convert to fmt | rubidium42 | |
Always start with a capital, do not add "ERROR: " in front of it. | |||
2021-06-13 | Change: not performing a command is worthy of an error, not a warning | rubidium42 | |
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". | |||
2021-06-13 | Codechange: remove single use IConsoleDebug | rubidium42 | |
2021-06-13 | Codechange: add an IConsolePrint overload that does formatting with fmt | rubidium42 | |
2021-06-13 | Fix 81062163: for (really) old games, station bus/truck station cache was ↵ | Patric Stout | |
not updated (#9366) | |||
2021-06-13 | Codechange: use fmt in DebugPrint where applicable | rubidium42 | |
2021-06-13 | Cleanup: remove old DEBUG macro and debug function | rubidium42 | |
2021-06-13 | Codechange: convert printf DEBUG statements to fmt Debug statements | rubidium42 | |
2021-06-13 | Codechange: use the fmt library for simpler debug formats | rubidium42 | |
2021-06-13 | Add: minimal set of headers from {fmt} 7.1.3 to 3rdparty | rubidium42 | |
2021-06-13 | Fix #9361, a2051ba: [Network] Off by one in CanWriteToPacket | rubidium42 | |
Previously it did not allow writing a byte to a packet that was of size limit - 1 anymore. | |||
2021-06-13 | Codechange: make the name of SettingDesc a std::string | rubidium42 | |