Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-10-20 | Fix #9626, ddafc0d: Incorrect loading of script saved data (#9629) | Loïc Guilloux | |
2021-10-02 | Fix #9548, e5fedcd: [Squirrel] Crash during engine cleanup after reaching ↵ | Loïc Guilloux | |
memory limit on realloc (#9592) | |||
2021-10-02 | Fix #9588, 140a96b: [Squirrel] Reaching memory limit during script ↵ | Loïc Guilloux | |
registration could prevent further script detections (#9589) Also the memory allocation triggering the limit was never freed. And if the exception was thrown in a constructor using placement new, the pre-allocated memory was not freed either. | |||
2021-09-25 | Change: Heading for 13 now (#9573) | Patric Stout | |
2021-09-25 | Add: allow gamescripts to build neutral objects (#9568) | dP | |
2021-09-14 | Feature: [AI/GS] Missing water related functions and objects (#8390) | SamuXarick | |
2021-08-15 | Change: rebrand 1.12.0 to 12.0 | Patric Stout | |
One question that keeps popping up: "when do we release 2.0?". NewGRF will force that at least 1.16 will be 2.0, but to not wait for this, let's drop the "1." and be for ever done with that conversation. We are following in the footstep of giants here. | |||
2021-08-12 | Add: [AI] Get the number of vehicles in a given group (#9462) | SamuXarick | |
2021-08-10 | Fix 8706dcd9: [Script] Byte-swap grfids to match normal expectations. | Michael Lutz | |
2021-08-10 | Fix 14f197c: [Script] int64 values don't fit into int (#9465) | Loïc Guilloux | |
2021-08-09 | Add: [Script] Basic information about loaded NewGRFs for scripts. (#9464) | Michael Lutz | |
Currently, scripts use various heuristics to detect loaded NewGRFs that are inherently unreliable. The list of loaded NewGRFs is easily accessible to a human player, and thus giving scripts the same information is consistent with the current approach to not give scripts more information than a human player. | |||
2021-07-20 | Codechange: Remove (unused) ability to specify min/max of OverflowSafeInt | Charles Pigott | |
2021-07-09 | Codechange: access the name of a setting via an accessor function | Rubidium | |
2021-07-06 | Fix 39e90ec: Integers for scripts are 64bit, but saved as 32bit (#9415) | Loïc Guilloux | |
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: simplify some boolean expressions | Rubidium | |
2021-06-17 | Cleanup: [Script] Use nullptr instead of 0 or NULL | Rubidium | |
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 | Cleanup: remove some unneeded c_str() calls | Rubidium | |
2021-06-13 | Codechange: convert printf DEBUG statements to fmt Debug statements | rubidium42 | |
2021-06-13 | Codechange: make the name of SettingDesc a std::string | rubidium42 | |
2021-06-12 | Fix #9353: [Script] Garbage collecting on priority queues could crash the game | rubidium42 | |
2021-06-11 | Fix 4079c47: Missed a file when removing generated .sq files from the repo ↵ | Loïc Guilloux | |
(#9350) | |||
2021-06-11 | Fix: [Script] doxygen_filter is very strict about DOXYGEN_API usage (#9351) | Loïc Guilloux | |
2021-06-10 | Fix: [Script] Ensure the saved script strings are properly validated and ↵ | rubidium42 | |
terminated when being read from the savegame | |||
2021-06-06 | Codechange: merge guiflags and flags in settings .ini files | Patric Stout | |
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. | |||
2021-06-03 | Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways ↵ | Patric Stout | |
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. | |||
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-31 | Codechange: use AsIntSetting()->Read() wrapper if possible (#9324) | Patric Stout | |
2021-05-30 | Codechange: [Network] Let admin-game script use std::string | rubidium42 | |
2021-05-30 | Codechange: [Game] Pass the length instead of '\0' terminating (and undoing ↵ | rubidium42 | |
that) in the middle of a C-string | |||
2021-05-29 | Codechange: use setting name instead of index for CmdChange(Company)Setting ↵ | Patric Stout | |
(#9306) This is mostly done as there are now constraints on settings.ini you might not expected. For example, conditional settings always have to come last, as otherwise they would influence the index. | |||
2021-05-29 | Codechange: Rename window related DeleteXXX to match new behaviour | glx22 | |
2021-05-29 | Codechange: move from C-string to std::string for DoCommand | rubidium42 | |
2021-05-29 | Codechange: move casting a "const char *" to "char *" to the caller | Patric Stout | |
It is not nice to have your definition say you won't change a value while in fact the whole reason for your existance is to change it. | |||
2021-05-29 | Fix: ScriptObject::DoCommand could modify "text" while defined "const" | Patric Stout | |
This could have unwanted side-effects, as it could change the source for ever and ever. | |||
2021-05-29 | Codechange: rename str_validate to StrMakeValid(InPlace) (#9304) | Patric Stout | |
This to be more explicit the function changes the value, and not returns yes/no. | |||
2021-05-27 | Codechange: remove SettingDescType in lieu of the actual classes | rubidium42 | |
2021-05-27 | Codechange: let SettingDesc extend SettingDescBase | rubidium42 | |
2021-05-27 | Codechange: just pass the SettingDesc to SetSettingValue and remove ↵ | rubidium42 | |
distinction between (non)company | |||
2021-05-16 | Codechange: [Network] Let NetworkClientInfo use std::string | rubidium42 | |
2021-05-15 | Change: Use gender-neutral pronouns | rubidium42 | |
2021-05-13 | Codechange: clean up C-string support from settings | rubidium42 | |
2021-05-13 | Codechange: move script settings to std::string | rubidium42 | |
2021-05-13 | Codechange: make explicit that virtual functions in a con/destructor are ↵ | Rubidium | |
resolved statically This as during construction the sub class has not been initialized yet, and during destruction the sub class has already been destroyed, so the overriding virtual function would be accessing uninitialized data. | |||
2021-05-13 | Codechange: Replace TILE_AREA_LOOP with range-based for loops | glx22 | |
2021-05-08 | Change: Use gender-neutral pronouns in console command messages (and ↵ | William Davis | |
comments) (#9203) | |||
2021-05-03 | Codechange: Replace FOR_ALL_SEARCHPATHS with range-based for loops | glx22 | |
2021-05-03 | Codechange: Replace FOR_ALL_TARS with range-based for loops | glx22 | |
2021-04-29 | Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops | glx22 | |