Change min energy cheat to the correct min value 32. This fixes the issue with the min energy cheat that causes it to reset to 255 a few seconds after applying it.
* Reintroduce error title to game actions. Small refactor.
Removed setting error titles in any calling functions.
Refactored place park entrance result to conform with other game actions.
* Remove unread variable (fixing Travis)
Predefined title sequence filenames are now treated as "reserved".
Custom title sequences cannot use reserved names and an error will
appear if the user tries.
Duplicating predefined title sequence now uses default text of
predefined sequence's proper name instead of filename.
Renamed `WIDX_TITLE_EDITOR_RENAME_SAVE_BUTTON` to
`WIDX_TITLE_EDITOR_RENAME_BUTTON` to follow formatting of other preset
button ids.
Added string id 6154, `STR_ERROR_RESERVED_NAME`, "Name is reserved".
This increases the height for each item in the keyboard shortcuts window from 10px to 12px.
While this may not seem like much, it ensures the text no longer overlaps for Japanese and Korean.
At also has the added benefit of making the window look a bit nicer for Western languages.
Predefined themes *RCT1* and *RCT2* will now be called their respective
game name*RollerCoaster Tycoon 1* or *RollerCoaster Tycoon 2* in the
current language.
Predefined themes in the config file now are prefixed with an asterisk
like they are supposed to be. AKA `*RCT1` instead of `RCT1`.
This will invalidate the user's currently selected theme in the config
file, but only if they were using RCT1's theme.
This addresses the issue that tofu would not show up in Arial on macOS if the
threshold was set to 60. It being the fallback font, it is important that they
do, which requires lowering to at most 43.
However, it is even more important that the threshold is left at 60 for kanji
in e.g. Japanese to render properly.
Hence, for the moment, Arial is the only font now using a hinting threshold
of 40, for now.
`ScenarioFileIndex`'s `Serialize` and `Deserialize` now read and write each
individual value of a `scenario_index_entry` instead of the entire struct
at once. Thus the difference in pointer sizes of `highscore` on different
architecture builds will not cause issues with `scenarios.idx`.
This uses a previously unused S6 flag to save this option persistently.
This should not make S6 import much harder, but should reduce the amount of questions about S4 import.
Also refactor the checks whether the user can ask money for rides or entry. This should make it a lot easier
when our own save format comes around.
Mistake made during refactoring. Apply flag was not being passed to the game command and this meant that only the query to check if a maze element could be placed was called.
Issue caused by using max where min was intended.
This also reverts an earlier change in capping the energy target, since it seems to max out at 255, unlike energy itself.
Older clang would expand the macros and spot that clamping unsigned
values to [0, MAX] is a tautological operation and produce an error.
As these are tautological operations, no network version change should
be needed.
* Reintroduce error messages when trying to open invalid rides
Mistake made during action refactor. I've added the ability to specify the error title and error args as well in the result constructor. In addition the set status will now perform a query to check if it is valid preventing error messages hitting the server.
* Bring error message setting into the function
This prevents any other function corrupting the message args. Looking at you update ride window.
* Increment network version for error message fix on set status
* Reintroduce the error title to set ride name
* Try not to introduce bugs due to inverting logic