Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-07-06 | Codechange: Use ChunkHandlers sub-classes | glx22 | |
2021-07-06 | Codechange: Use static array of references to ChunkHandler | glx22 | |
2021-07-02 | Add: store headers for most savegame chunks | Patric Stout | |
When a header is added, the chunk changes from CH_ARRAY type to CH_TABLE type. | |||
2021-07-02 | Feature: framework to make savegames self-descriptive | Patric 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-06-17 | Cleanup: use true/false instead of 1/0 where applicable | Rubidium | |
2021-06-13 | Codechange: convert printf DEBUG statements to fmt Debug statements | rubidium42 | |
2021-06-06 | Codechange: Remove FOR_ALL_CHUNK_HANDLERS | glx22 | |
Co-Authored-By: Patric Stout <truebrain@openttd.org> | |||
2021-05-31 | Codechange: C++-ify lists for SaveLoad (#9323) | Patric Stout | |
Basically, this changes "SaveLoad *" to either: 1) "SaveLoadTable" if a list of SaveLoads was meant 2) "SaveLoad &" if a single entry was meant As added bonus, this removes SL_END / SLE_END / SLEG_END. This also adds core/span.hpp, a "std::span"-lite. | |||
2021-05-15 | Change: Use gender-neutral pronouns | rubidium42 | |
2021-05-13 | Codechange: move script settings to std::string | rubidium42 | |
2021-05-08 | Change: Use gender-neutral pronouns in console command messages (and ↵ | William Davis | |
comments) (#9203) | |||
2019-11-10 | Cleanup: Removed SVN headers | S. D. Cloudt | |
2019-04-10 | Codechange: Use null pointer literal instead of the NULL macro | Henry Wilson | |
2019-02-02 | Codechange: Convert saveload numbers to enum values. | Peter Nelson | |
(This was mostly achieved with a few in-place regexes) | |||
2014-04-24 | (svn r26493) -Codechange: use strecat to concatenate script settings instead ↵ | rubidium | |
of manually accounting for the amount of characters that has been written | |||
2014-04-23 | (svn r26485) -Codechange: Replace ttd_strlcpy and ttd_strlcat with strecpy ↵ | frosch | |
and strecat. | |||
2014-04-23 | (svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵ | rubidium | |
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values | |||
2012-03-17 | (svn r24033) -Fix: reset "is random" status of temporary variable during ↵ | rubidium | |
saveload as it's not always written to when loading an AI which means it'd be taking the is random setting of another AI. | |||
2011-12-01 | (svn r23386) -Fix: debug script related events to 'script' (removes 'ai') | truebrain | |
2011-12-01 | (svn r23384) -Remove: no longer allow a binary to be without AI support; the ↵ | truebrain | |
parts some compilers failed at, are integrated in other parts of the code now too | |||
2011-11-29 | (svn r23364) -Codechange: refactor AIConfig, moving it mostly to Scriptconfig | truebrain | |
2011-08-25 | (svn r22843) -Fix [FS#4748]: Harden savegame load against too many ai config ↵ | planetmaker | |
settings (monoid) | |||
2010-09-16 | (svn r20819) -Fix [FS#3714]: be a bit more "lenient" w.r.t. invalid ↵ | rubidium | |
savegames; don't crash on saveload related NOT_REACHEDs, just show the user an error that the savegame is corrupted | |||
2010-06-13 | (svn r19973) -Codechange: Add another procedure to chunk handlers for ↵ | frosch | |
checking savegames (empty for now). | |||
2010-03-15 | (svn r19429) -Fix: when the title game contains an AIPL block the AI ↵ | yexo | |
settinsg where overwritten by those from the title game | |||
2010-02-10 | (svn r19081) -Codechange: make it possible to disable compilation of the ↵ | rubidium | |
AI+Squirrel | |||
2010-01-29 | (svn r18944) -Change [FS#3232]: use the highest version of an AI that can ↵ | yexo | |
load the AI data from a savegame instead of the exact same version | |||
2010-01-09 | (svn r18763) -Feature [FS#3095]: rerandomise AIs on reloading (via the debug ↵ | rubidium | |
window) when they were randomly chosen | |||
2009-10-04 | (svn r17693) -Cleanup: remove some unneeded includes | rubidium | |
2009-08-21 | (svn r17248) -Fix: add GPL license notice where appropriate | rubidium | |
2009-06-24 | (svn r16651) -Fix: When there is no AI version that can load data from the ↵ | yexo | |
savegame, load the latest version of the same AI instead of a random AI. | |||
2009-06-10 | (svn r16559) -Codechange: introduce Company::IsValidAiID() and ↵ | smatz | |
Company::IsValidHumanID(), don't use IsHumanCompany() where possible | |||
2009-05-17 | (svn r16338) -Codechange: split loading of references to two phases | smatz | |
In the first phase, indexes are stored. In the second phase, indexes are checked for validity and converted to pointers | |||
2009-05-17 | (svn r16327) -Codechange: replace IsValidPoolItemID(index) by ↵ | smatz | |
PoolItem::IsValidID(index) | |||
2009-02-20 | (svn r15532) -Fix (r15525): don't try to load (and forget) AI data from a ↵ | rubidium | |
non-existing AI when joining a server. In other words: you can join network servers again. | |||
2009-02-20 | (svn r15528) -Fix (r15525): Check should be the other way around (thanks SmatZ). | yexo | |
2009-02-19 | (svn r15525) -Fix: Don't try to find the AIs the server runs when joining a ↵ | yexo | |
mp server. | |||
2009-01-31 | (svn r15299) -Cleanup: remove many redundant includes | smatz | |
2009-01-23 | (svn r15239) -Fix [FS#2579]: The start date of random AIs was not stored in ↵ | Yexo | |
the config file or the savegame. | |||
2009-01-13 | (svn r15045) -Add [NoAI API CHANGE]: in info.nut you can now have (optional) ↵ | truebrain | |
a CanLoadFromVersion(version), which should return true/false, to indicate if you can load a savegame made with your AI of version 'version' -Add [NoAI API CHANGE]: in main.nut the Load() function now should be Load(version, data), where 'version' is the version of your AI which made the savegame -Codechange [NoAI]: various of function renames to make things more sane -Add [NoAI]: push the 'version' of the AI through various of layers -Codechange [NoAI]: various of code cleanups -Add [NoAI]: store the version of the AI in the savegame too | |||
2009-01-12 | (svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to ↵ | truebrain | |
see. NoAI is an API (a framework) to build your own AIs in. See: http://wiki.openttd.org/wiki/index.php/AI:Main_Page With many thanks to: - glx and Rubidium for their syncing, feedback and hard work - Yexo for his feedback, patches, and AIs which tested the system very deep - Morloth for his feedback and patches - TJIP for hosting a challenge which kept NoAI on track - All AI authors for testing our AI API, and all other people who helped in one way or another -Remove: all old AIs and their cheats/hacks | |||
2009-01-04 | (svn r14828) -Codechange: move most of save/load-specific code to separate files | smatz | |