SaveTool: add a "cheat mode" toggle.
This commit is contained in:
parent
d0716d6242
commit
e99ff14749
4 changed files with 47 additions and 24 deletions
|
@ -145,6 +145,7 @@ SaveTool::SaveTool(const Arguments& arguments):
|
|||
SaveTool::~SaveTool() {
|
||||
SDL_RemoveTimer(_gameCheckTimerId);
|
||||
|
||||
_conf.setValue("cheat_mode", _cheatMode);
|
||||
_conf.setValue("unsafe_mode", _unsafeMode);
|
||||
_conf.setValue("startup_update_check", _checkUpdatesOnStartup);
|
||||
_conf.save();
|
||||
|
@ -357,6 +358,13 @@ void SaveTool::updateCheckEvent(SDL_Event& event) {
|
|||
}
|
||||
|
||||
void SaveTool::initialiseConfiguration() {
|
||||
if(_conf.hasValue("cheat_mode")) {
|
||||
_cheatMode = _conf.value<bool>("cheat_mode");
|
||||
}
|
||||
else {
|
||||
_conf.setValue("cheat_mode", _cheatMode);
|
||||
}
|
||||
|
||||
if(_conf.hasValue("unsafe_mode")) {
|
||||
_unsafeMode = _conf.value<bool>("unsafe_mode");
|
||||
}
|
||||
|
|
|
@ -204,4 +204,6 @@ class SaveTool: public Platform::Sdl2Application, public efsw::FileWatchListener
|
|||
std::string _latestVersion;
|
||||
std::string _releaseLink;
|
||||
std::string _downloadLink;
|
||||
|
||||
bool _cheatMode{false};
|
||||
};
|
||||
|
|
|
@ -231,6 +231,10 @@ void SaveTool::drawGeneralInfo() {
|
|||
}
|
||||
}
|
||||
|
||||
if(!_cheatMode) {
|
||||
return;
|
||||
}
|
||||
|
||||
ImGui::SameLine();
|
||||
|
||||
static Int credits;
|
||||
|
@ -301,7 +305,8 @@ void SaveTool::drawResearchInventory() {
|
|||
ImGui::TextUnformatted((name)); \
|
||||
ImGui::TableSetColumnIndex(1); \
|
||||
if(_currentProfile->getter() != -1) { \
|
||||
drawUnsafeText("%i", _currentProfile->getter()); \
|
||||
ImGui::Text("%i", _currentProfile->getter()); \
|
||||
if(_cheatMode) { \
|
||||
ImGui::TableSetColumnIndex(2); \
|
||||
ImGui::PushID(#setter); \
|
||||
static Int var = _currentProfile->getter(); \
|
||||
|
@ -317,6 +322,7 @@ void SaveTool::drawResearchInventory() {
|
|||
} \
|
||||
ImGui::PopID(); \
|
||||
} \
|
||||
} \
|
||||
else { \
|
||||
ImGui::TextDisabled("Not found in the save file"); \
|
||||
}
|
||||
|
|
|
@ -55,8 +55,15 @@ void SaveTool::drawMainMenu() {
|
|||
ImGui::Separator();
|
||||
|
||||
if(ImGui::BeginMenu(ICON_FA_COG " Settings")) {
|
||||
ImGui::Checkbox("Cheat mode", &_cheatMode);
|
||||
ImGui::SameLine();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
drawHelpMarker("This gives access to save edition features that can be considered cheats.",
|
||||
Float(windowSize().x()) * 0.4f);
|
||||
|
||||
ImGui::Checkbox("Unsafe mode", &_unsafeMode);
|
||||
ImGui::SameLine();
|
||||
ImGui::AlignTextToFramePadding();
|
||||
drawHelpMarker("This allows changing the state of save files in the game's save folder even when the game is running.",
|
||||
Float(windowSize().x()) * 0.4f);
|
||||
|
||||
|
|
Loading…
Reference in a new issue