[Scummvm-git-logs] scummvm master -> b93419019db6f434b0368f09a6da82b340f2e8ce
bluegr
noreply at scummvm.org
Wed Apr 8 12:16:34 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
b93419019d ENGINES: Change SaveStateDescriptor description to use Common::String
Commit: b93419019db6f434b0368f09a6da82b340f2e8ce
https://github.com/scummvm/scummvm/commit/b93419019db6f434b0368f09a6da82b340f2e8ce
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2026-04-08T15:16:28+03:00
Commit Message:
ENGINES: Change SaveStateDescriptor description to use Common::String
Changed paths:
backends/cloud/savessyncrequest.cpp
base/commandLine.cpp
engines/ags/engine/gui/gui_dialog.cpp
engines/bladerunner/ui/kia_section_load.cpp
engines/bladerunner/ui/kia_section_save.cpp
engines/cine/metaengine.cpp
engines/drascula/metaengine.cpp
engines/engine.cpp
engines/groovie/script.cpp
engines/hpl1/hpl1.cpp
engines/metaengine.cpp
engines/mohawk/myst_state.cpp
engines/myst3/metaengine.cpp
engines/nancy/state/loadsave.cpp
engines/pink/gui.cpp
engines/savestate.cpp
engines/savestate.h
engines/sky/metaengine.cpp
engines/startrek/actors.cpp
engines/startrek/metaengine.cpp
engines/startrek/startrek.h
engines/twine/menu/menuoptions.cpp
engines/ultima/metaengine.cpp
gui/options.cpp
gui/saveload-dialog.cpp
gui/saveload-dialog.h
gui/saveload.cpp
gui/saveload.h
diff --git a/backends/cloud/savessyncrequest.cpp b/backends/cloud/savessyncrequest.cpp
index 510165016a1..bb99781aaa5 100644
--- a/backends/cloud/savessyncrequest.cpp
+++ b/backends/cloud/savessyncrequest.cpp
@@ -31,7 +31,6 @@
#include "common/formats/json.h"
#include "common/savefile.h"
#include "common/system.h"
-#include "gui/saveload-dialog.h"
namespace Cloud {
diff --git a/base/commandLine.cpp b/base/commandLine.cpp
index 536a1d7e09b..c6255f22648 100644
--- a/base/commandLine.cpp
+++ b/base/commandLine.cpp
@@ -1566,7 +1566,7 @@ static Common::Error listSaves(const Common::String &singleTarget) {
" ---- ------------------------------------------------------\n");
for (const auto &x : saveList) {
- printf(" %-4d %s\n", x.getSaveSlot(), x.getDescription().encode().c_str());
+ printf(" %-4d %s\n", x.getSaveSlot(), x.getDescription().c_str());
// TODO: Could also iterate over the full hashmap, printing all key-value pairs
}
atLeastOneFound = true;
diff --git a/engines/ags/engine/gui/gui_dialog.cpp b/engines/ags/engine/gui/gui_dialog.cpp
index cafc3db6c32..13cd0416127 100644
--- a/engines/ags/engine/gui/gui_dialog.cpp
+++ b/engines/ags/engine/gui/gui_dialog.cpp
@@ -287,7 +287,7 @@ void preparesavegamelist(int ctrllist) {
// fill in the list box and global savegameindex[] array for backward compatibilty
for (_G(numsaves) = 0; _G(numsaves) < (int)saveList.size(); ++_G(numsaves)) {
CSCISendControlMessage(ctrllist, CLB_ADDITEM, 0,
- saveList[_G(numsaves)].getDescription().encode().c_str());
+ saveList[_G(numsaves)].getDescription().c_str());
_G(filenumbers)[_G(numsaves)] = saveList[_G(numsaves)].getSaveSlot();
_G(filedates)[_G(numsaves)] = 0;
//(long int)saveList[_G(numsaves)].FileTime;
diff --git a/engines/bladerunner/ui/kia_section_load.cpp b/engines/bladerunner/ui/kia_section_load.cpp
index a42fe075500..84c80c3c160 100644
--- a/engines/bladerunner/ui/kia_section_load.cpp
+++ b/engines/bladerunner/ui/kia_section_load.cpp
@@ -73,7 +73,7 @@ void KIASectionLoad::open() {
if (!_saveList.empty()) {
_scrollBox->addLine(_vm->_textOptions->getText(36), -1, 4); // Load game:
for (uint i = 0; i < _saveList.size(); ++i) {
- _scrollBox->addLine(_saveList[i].getDescription().encode(Common::kDos850), i, 0);
+ _scrollBox->addLine(_saveList[i].getDescription().decode().encode(Common::kDos850), i, 0);
}
_scrollBox->addLine("", -1, 4);
}
diff --git a/engines/bladerunner/ui/kia_section_save.cpp b/engines/bladerunner/ui/kia_section_save.cpp
index 3962a495618..c23317dd0e6 100644
--- a/engines/bladerunner/ui/kia_section_save.cpp
+++ b/engines/bladerunner/ui/kia_section_save.cpp
@@ -115,7 +115,7 @@ void KIASectionSave::open() {
}
for (uint i = 0; i < _saveList.size(); ++i) {
- _scrollBox->addLine(_saveList[i].getDescription().encode(Common::kDos850), i, 0);
+ _scrollBox->addLine(_saveList[i].getDescription().decode().encode(Common::kDos850), i, 0);
}
if (ableToSaveGame) {
@@ -313,7 +313,7 @@ void KIASectionSave::scrollBoxCallback(void *callbackData, void *source, int lin
if (self->_selectedLineId == self->_newSaveLineId) {
self->_inputBox->setText("");
} else {
- self->_inputBox->setText(self->_saveList[self->_selectedLineId].getDescription().encode(Common::kDos850));
+ self->_inputBox->setText(self->_saveList[self->_selectedLineId].getDescription().decode().encode(Common::kDos850));
}
self->_vm->_audioPlayer->playAud(self->_vm->_gameInfo->getSfxTrack(kSfxSPNBEEP3), 40, 0, 0, 50, 0);
diff --git a/engines/cine/metaengine.cpp b/engines/cine/metaengine.cpp
index 96737ee1d15..2f5d02887bc 100644
--- a/engines/cine/metaengine.cpp
+++ b/engines/cine/metaengine.cpp
@@ -221,7 +221,7 @@ SaveStateDescriptor CineMetaEngine::querySaveMetaInfos(const char *target, int s
if (f) {
// Create the return descriptor
- SaveStateDescriptor desc(this, slot, Common::U32String());
+ SaveStateDescriptor desc(this, slot);
ExtendedSavegameHeader header;
if (readSavegameHeader(f.get(), &header, false)) {
diff --git a/engines/drascula/metaengine.cpp b/engines/drascula/metaengine.cpp
index df4596619c9..219d434bd67 100644
--- a/engines/drascula/metaengine.cpp
+++ b/engines/drascula/metaengine.cpp
@@ -163,7 +163,7 @@ SaveStateDescriptor DrasculaMetaEngine::querySaveMetaInfos(const char *target, i
Common::InSaveFile *in = g_system->getSavefileManager()->openForLoading(fileName);
- SaveStateDescriptor desc(this, slot, Common::U32String());
+ SaveStateDescriptor desc(this, slot);
if (in) {
desc = Drascula::loadMetaData(in, slot, false);
if (desc.getSaveSlot() != slot) {
diff --git a/engines/engine.cpp b/engines/engine.cpp
index 0185f80e33c..9931471bdd9 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -641,7 +641,7 @@ bool Engine::warnBeforeOverwritingAutosave() {
altButtons.push_back(_("Delete"));
altButtons.push_back(_("Skip autosave"));
const Common::U32String message = Common::U32String::format(
- _("WARNING: The autosave slot contains a saved game named %S, and an autosave is pending.\n"
+ _("WARNING: The autosave slot contains a saved game named %s, and an autosave is pending.\n"
"Please move this saved game to a new slot, or delete it if it's no longer needed.\n"
"Alternatively, you can skip the autosave (will prompt again in 5 minutes)."), desc.getDescription().c_str());
GUI::MessageDialog warn(message, _("Move"), altButtons);
diff --git a/engines/groovie/script.cpp b/engines/groovie/script.cpp
index bb997d8006b..602879cf853 100644
--- a/engines/groovie/script.cpp
+++ b/engines/groovie/script.cpp
@@ -1935,7 +1935,7 @@ void Script::o_checkvalidsaves() {
while (it != list.end()) {
int8 slot = it->getSaveSlot();
if (SaveLoad::isSlotValid(slot)) {
- debugC(2, kDebugScript, "Groovie::Script: Found valid savegame: %s", it->getDescription().encode().c_str());
+ debugC(2, kDebugScript, "Groovie::Script: Found valid savegame: %s", it->getDescription().c_str());
// Mark this slot as used
if (slot < maxSaves) {
diff --git a/engines/hpl1/hpl1.cpp b/engines/hpl1/hpl1.cpp
index 8925e4aa46f..a4886d9efb4 100644
--- a/engines/hpl1/hpl1.cpp
+++ b/engines/hpl1/hpl1.cpp
@@ -137,7 +137,7 @@ Common::StringArray Hpl1Engine::listInternalSaves(const Common::String &pattern)
Common::Error Hpl1Engine::loadGameState(int slot) {
SaveStateDescriptor a = getMetaEngine()->querySaveMetaInfos(_targetName.c_str(), slot);
_gameInit->mpMainMenu->SetActive(false);
- _gameInit->mpSaveHandler->LoadGameFromFile(a.getDescription());
+ _gameInit->mpSaveHandler->LoadGameFromFile(cString::To16Char(a.getDescription()));
return Common::kNoError;
}
diff --git a/engines/metaengine.cpp b/engines/metaengine.cpp
index 9e6f8f4c2dc..5a2bfb0f09b 100644
--- a/engines/metaengine.cpp
+++ b/engines/metaengine.cpp
@@ -483,7 +483,7 @@ SaveStateDescriptor MetaEngine::querySaveMetaInfos(const char *target, int slot)
}
// Create the return descriptor
- SaveStateDescriptor desc(this, slot, Common::U32String());
+ SaveStateDescriptor desc(this, slot);
parseSavegameHeader(&header, &desc);
desc.setThumbnail(header.thumbnail);
desc.setAutosave(header.isAutosave);
diff --git a/engines/mohawk/myst_state.cpp b/engines/mohawk/myst_state.cpp
index c7a07d1ae31..7ec08d528e6 100644
--- a/engines/mohawk/myst_state.cpp
+++ b/engines/mohawk/myst_state.cpp
@@ -268,7 +268,7 @@ bool MystGameState::saveMetadata(int slot, const Graphics::Surface *thumbnail) {
}
SaveStateDescriptor MystGameState::querySaveMetaInfos(const MetaEngine *metaEngine, int slot) {
- SaveStateDescriptor desc(metaEngine, slot, Common::U32String());
+ SaveStateDescriptor desc(metaEngine, slot);
// Open the save file
Common::String filename = buildSaveFilename(slot);
diff --git a/engines/myst3/metaengine.cpp b/engines/myst3/metaengine.cpp
index 974d924c191..b4686113ab3 100644
--- a/engines/myst3/metaengine.cpp
+++ b/engines/myst3/metaengine.cpp
@@ -106,7 +106,7 @@ public:
// Open save
Common::InSaveFile *saveFile = g_system->getSavefileManager()->openForLoading(saveInfos.getDescription());
if (!saveFile) {
- warning("Unable to open file %s for reading, slot %d", saveInfos.getDescription().encode().c_str(), slot);
+ warning("Unable to open file %s for reading, slot %d", saveInfos.getDescription().c_str(), slot);
return SaveStateDescriptor();
}
diff --git a/engines/nancy/state/loadsave.cpp b/engines/nancy/state/loadsave.cpp
index 67abaa50bc9..59bd2269f5a 100644
--- a/engines/nancy/state/loadsave.cpp
+++ b/engines/nancy/state/loadsave.cpp
@@ -688,7 +688,7 @@ bool LoadSaveMenu_V1::save() {
}
SaveStateDescriptor desc = g_nancy->getMetaEngine()->querySaveMetaInfos(ConfMan.getActiveDomainName().c_str(), i);
- if (desc.getDescription().substr(0, _loadSaveData->_defaultSaveNamePrefix.size()).equals(Common::U32String(_loadSaveData->_defaultSaveNamePrefix))) {
+ if (desc.getDescription().substr(0, _loadSaveData->_defaultSaveNamePrefix.size()).equals(_loadSaveData->_defaultSaveNamePrefix)) {
if (desc.getDescription().substr(_loadSaveData->_defaultSaveNamePrefix.size(), 1).asUint64() == suffixNum) {
++suffixNum;
} else {
diff --git a/engines/pink/gui.cpp b/engines/pink/gui.cpp
index ba6ca85246b..51ba37730a8 100644
--- a/engines/pink/gui.cpp
+++ b/engines/pink/gui.cpp
@@ -196,7 +196,7 @@ void PinkEngine::initMenu() {
_menu->removeMenuItem(subMenu, kRecentSaveId);
int maxSaves = saves.size() > kMaxSaves ? kMaxSaves : saves.size();
for (int i = 0; i < maxSaves; ++i) {
- _menu->insertMenuItem(subMenu, Common::U32String::format("%i. %S", i + 1, saves[i].getDescription().c_str()),
+ _menu->insertMenuItem(subMenu, Common::U32String::format("%i. %s", i + 1, saves[i].getDescription().c_str()),
kRecentSaveId + i, saves[i].getSaveSlot() + kRecentSavesOffset);
}
}
diff --git a/engines/savestate.cpp b/engines/savestate.cpp
index a9231af1a19..0e2c00149dc 100644
--- a/engines/savestate.cpp
+++ b/engines/savestate.cpp
@@ -34,13 +34,18 @@ SaveStateDescriptor::SaveStateDescriptor()
_thumbnail(), _saveType(kSaveTypeUndetermined) {
}
+SaveStateDescriptor::SaveStateDescriptor(const MetaEngine *metaEngine, int slot)
+ : _slot(slot), _description(), _isLocked(false), _playTimeMSecs(0), _saveType(kSaveTypeUndetermined) {
+ initSaveSlot(metaEngine);
+}
+
SaveStateDescriptor::SaveStateDescriptor(const MetaEngine *metaEngine, int slot, const Common::U32String &d)
- : _slot(slot), _description(d), _isLocked(false), _playTimeMSecs(0), _saveType(kSaveTypeUndetermined) {
+ : _slot(slot), _description(d.encode()), _isLocked(false), _playTimeMSecs(0), _saveType(kSaveTypeUndetermined) {
initSaveSlot(metaEngine);
}
SaveStateDescriptor::SaveStateDescriptor(const MetaEngine *metaEngine, int slot, const Common::String &d)
- : _slot(slot), _description(Common::U32String(d)), _isLocked(false), _playTimeMSecs(0), _saveType(kSaveTypeUndetermined) {
+ : _slot(slot), _description(d), _isLocked(false), _playTimeMSecs(0), _saveType(kSaveTypeUndetermined) {
initSaveSlot(metaEngine);
}
@@ -96,15 +101,16 @@ bool SaveStateDescriptor::isAutosave() const {
bool SaveStateDescriptor::hasAutosaveName() const
{
const Common::U32String &autosave = _("Autosave");
+ const Common::U32String description32 = _description.decode();
// if the save file name is long enough, just check if it starts with "Autosave"
- if (_description.size() >= autosave.size())
- return _description.substr(0, autosave.size()) == autosave;
+ if (description32.size() >= autosave.size())
+ return description32.substr(0, autosave.size()) == autosave;
// if the save name has been trimmed, as long as it isn't too short, use fallback logic
- if (_description.size() < 14)
+ if (description32.size() < 14)
return false;
- return autosave.substr(0, _description.size()) == _description;
+ return autosave.substr(0, description32.size()) == description32;
}
bool SaveStateDescriptor::isValid() const
diff --git a/engines/savestate.h b/engines/savestate.h
index 93bda7868fd..edfe7da66d9 100644
--- a/engines/savestate.h
+++ b/engines/savestate.h
@@ -53,7 +53,7 @@ struct Surface;
*
* Saves are writable and deletable by default.
*/
-class SaveStateDescriptor {
+class SaveStateDescriptor final {
private:
enum SaveType {
kSaveTypeUndetermined,
@@ -64,8 +64,9 @@ private:
void initSaveSlot(const MetaEngine *metaEngine);
public:
SaveStateDescriptor();
- SaveStateDescriptor(const MetaEngine *metaEngine, int slot, const Common::U32String &d);
+ SaveStateDescriptor(const MetaEngine *metaEngine, int slot);
SaveStateDescriptor(const MetaEngine *metaEngine, int slot, const Common::String &d);
+ SaveStateDescriptor(const MetaEngine *metaEngine, int slot, const Common::U32String &d);
/**
* @param slot The saveslot id, as it would be passed to the "-x" command line switch.
@@ -80,13 +81,13 @@ public:
/**
* @param desc A human readable description of the save state.
*/
- void setDescription(const Common::String &desc) { _description = desc.decode(); }
- void setDescription(const Common::U32String &desc) { _description = desc; }
+ void setDescription(const Common::String &desc) { _description = desc; }
+ void setDescription(const Common::U32String &desc) { _description = desc.encode(); }
/**
* @return A human readable description of the save state.
*/
- const Common::U32String &getDescription() const { return _description; }
+ const Common::String &getDescription() const { return _description; }
/** Optional entries only included when querying via MetaEngine::querySaveMetaInfo */
@@ -234,7 +235,7 @@ private:
/**
* A human readable description of the save state.
*/
- Common::U32String _description;
+ Common::String _description;
/**
* Whether the save state can be deleted.
diff --git a/engines/sky/metaengine.cpp b/engines/sky/metaengine.cpp
index 863322309ba..a392a294903 100644
--- a/engines/sky/metaengine.cpp
+++ b/engines/sky/metaengine.cpp
@@ -214,8 +214,10 @@ SaveStateList SkyMetaEngine::listSaves(const char *target) const {
int slotNum = atoi(ext.c_str());
Common::InSaveFile *in = saveFileMan->openForLoading(*file);
if (in) {
- saveList.push_back(SaveStateDescriptor(this, slotNum,
- (slotNum == 0) ? _("Autosave") : Common::U32String(savenames[slotNum - 1])));
+ if (slotNum == 0)
+ saveList.push_back(SaveStateDescriptor(this, slotNum, _("Autosave")));
+ else
+ saveList.push_back(SaveStateDescriptor(this, slotNum, savenames[slotNum - 1]));
delete in;
}
}
diff --git a/engines/startrek/actors.cpp b/engines/startrek/actors.cpp
index dda88bd7cf0..541bc58aa3d 100644
--- a/engines/startrek/actors.cpp
+++ b/engines/startrek/actors.cpp
@@ -21,6 +21,7 @@
#include "common/stream.h"
#include "common/memstream.h"
+#include "graphics/surface.h"
#include "startrek/iwfile.h"
#include "startrek/resource.h"
diff --git a/engines/startrek/metaengine.cpp b/engines/startrek/metaengine.cpp
index 02117cdfbef..cbdfc8a768c 100644
--- a/engines/startrek/metaengine.cpp
+++ b/engines/startrek/metaengine.cpp
@@ -174,7 +174,7 @@ SaveStateDescriptor StarTrekMetaEngine::querySaveMetaInfos(const char *target, i
return descriptor;
} else {
- SaveStateDescriptor emptySave(this, slotNr, Common::U32String());
+ SaveStateDescriptor emptySave(this, slotNr);
return emptySave;
}
}
diff --git a/engines/startrek/startrek.h b/engines/startrek/startrek.h
index 0344873e2d1..40024d5a670 100644
--- a/engines/startrek/startrek.h
+++ b/engines/startrek/startrek.h
@@ -34,8 +34,6 @@
#include "common/system.h"
#include "common/util.h"
-#include "gui/saveload-dialog.h"
-
#include "engines/engine.h"
#include "math/cosinetables.h"
diff --git a/engines/twine/menu/menuoptions.cpp b/engines/twine/menu/menuoptions.cpp
index 7dc06af736e..4a20baa3460 100644
--- a/engines/twine/menu/menuoptions.cpp
+++ b/engines/twine/menu/menuoptions.cpp
@@ -369,7 +369,7 @@ int MenuOptions::chooseSave(TextId textIdx, bool showEmptySlots) {
if (savegame.getSaveSlot() == i - 1) {
// manually creating a savegame should not overwrite the autosave slot
if (textIdx != TextId::kCreateSaveGame || i > 1) {
- saveFiles.addButton(savegame.getDescription().encode().c_str(), i);
+ saveFiles.addButton(savegame.getDescription().c_str(), i);
}
++savesIndex;
} else if (showEmptySlots) {
diff --git a/engines/ultima/metaengine.cpp b/engines/ultima/metaengine.cpp
index 6a8d2eb92d6..7db2f0c15c2 100644
--- a/engines/ultima/metaengine.cpp
+++ b/engines/ultima/metaengine.cpp
@@ -244,7 +244,7 @@ SaveStateDescriptor UltimaMetaEngine::querySaveMetaInfos(const char *target, int
Common::String gameId = getGameId(target);
if (gameId == "ultima8") {
Common::String filename = getSavegameFile(slot, target);
- desc = SaveStateDescriptor(this, slot, Common::U32String());
+ desc = SaveStateDescriptor(this, slot);
if (!Ultima::Ultima8::MetaEngine::querySaveMetaInfos(filename, desc))
return SaveStateDescriptor();
}
diff --git a/gui/options.cpp b/gui/options.cpp
index 4ca63d09094..aa21f72aefe 100644
--- a/gui/options.cpp
+++ b/gui/options.cpp
@@ -2959,7 +2959,7 @@ bool GlobalOptionsDialog::updateAutosavePeriod(int newValue) {
"will be prompted when autosave is about to overwrite a save).\n"
"List of games:\n");
for (ExistingSaveList::const_iterator it = saveList.begin(), end = saveList.end(); it != end; ++it)
- message += Common::U32String(it->target) + Common::U32String(": ") + it->desc.getDescription() + "\n";
+ message += Common::U32String(it->target + ": " + it->desc.getDescription() + "\n");
message.deleteLastChar();
if (hasMore)
message += _("\nAnd more...");
@@ -2984,7 +2984,7 @@ bool GlobalOptionsDialog::updateAutosavePeriod(int newValue) {
if (!failedSaves.empty()) {
Common::U32String failMessage = _("ERROR: Failed to move the following saved games:\n");
for (ExistingSaveList::const_iterator it = failedSaves.begin(), end = failedSaves.end(); it != end; ++it)
- failMessage += Common::U32String(it->target) + Common::U32String(": ") + it->desc.getDescription() + "\n";
+ failMessage += Common::U32String(it->target + ": " + it->desc.getDescription() + "\n");
failMessage.deleteLastChar();
GUI::MessageDialog(failMessage).runModal();
}
diff --git a/gui/saveload-dialog.cpp b/gui/saveload-dialog.cpp
index 07060ee82eb..bed72781737 100644
--- a/gui/saveload-dialog.cpp
+++ b/gui/saveload-dialog.cpp
@@ -356,7 +356,7 @@ void SaveLoadChooserDialog::listSaves() {
#endif
}
-void SaveLoadChooserDialog::activate(int slot, const Common::U32String &description) {
+void SaveLoadChooserDialog::activate(int slot, const Common::String &description) {
if (!_saveList.empty() && slot < int(_saveList.size())) {
const SaveStateDescriptor &desc = _saveList[slot];
if (_saveMode)
@@ -487,9 +487,9 @@ int SaveLoadChooserSimple::runIntern() {
return Dialog::runModal();
}
-const Common::U32String SaveLoadChooserSimple::getResultString() const {
+const Common::String SaveLoadChooserSimple::getResultString() const {
int selItem = _list->getSelected();
- return (selItem >= 0) ? _list->getSelectedString() : _resultString;
+ return (selItem >= 0) ? _list->getSelectedString().encode() : _resultString;
}
void SaveLoadChooserSimple::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
@@ -517,7 +517,7 @@ void SaveLoadChooserSimple::handleCommand(CommandSender *sender, uint32 cmd, uin
Common::U32String description;
if (!_saveList.empty())
description = _list->getSelectedString();
- activate(selItem, description);
+ activate(selItem, description.encode());
}
}
break;
@@ -527,7 +527,7 @@ void SaveLoadChooserSimple::handleCommand(CommandSender *sender, uint32 cmd, uin
Common::U32String description;
if (!_saveList.empty())
description = _list->getSelectedString();
- activate(selItem, description);
+ activate(selItem, description.encode());
}
break;
case kListSelectionChangedCmd:
@@ -768,7 +768,7 @@ void SaveLoadChooserSimple::updateSaveList(bool external) {
}
// Show "Untitled saved game" for empty/whitespace saved game descriptions
- Common::U32String description = x->getDescription();
+ Common::U32String description = x->getDescription().decode();
Common::U32String trimmedDescription = description;
trimmedDescription.trim();
if (trimmedDescription.empty()) {
@@ -856,14 +856,14 @@ SaveLoadChooserGrid::~SaveLoadChooserGrid() {
delete _pageDisplay;
}
-const Common::U32String SaveLoadChooserGrid::getResultString() const {
+const Common::String SaveLoadChooserGrid::getResultString() const {
return _resultString;
}
void SaveLoadChooserGrid::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
const int slot = cmd + _curPage * _entriesPerPage - 1;
if (cmd <= _entriesPerPage && slot < (int)_saveList.size()) {
- activate(slot, Common::U32String());
+ activate(slot, Common::String());
}
switch (cmd) {
@@ -1180,10 +1180,10 @@ void SaveLoadChooserGrid::updateSaves() {
} else {
curButton.button->setGfx(kThumbnailWidth, kThumbnailHeight2, 0, 0, 0);
}
- curButton.description->setLabel(Common::U32String(Common::String::format("%d. ", saveSlot)) + _saveList[i].getDescription());
+ curButton.description->setLabel(Common::U32String::format("%d. %s", saveSlot, _saveList[i].getDescription().c_str()));
Common::U32String tooltip(_("Name: "));
- tooltip += _saveList[i].getDescription();
+ tooltip += _saveList[i].getDescription().decode();
if (_saveDateSupport) {
const Common::U32String &saveDate = desc.getSaveDate();
@@ -1248,12 +1248,12 @@ SavenameDialog::SavenameDialog()
_targetSlot = 0;
}
-void SavenameDialog::setDescription(const Common::U32String &desc) {
- _description->setEditString(desc);
+void SavenameDialog::setDescription(const Common::String &desc) {
+ _description->setEditString(desc.decode());
}
-const Common::U32String &SavenameDialog::getDescription() {
- return _description->getEditString();
+const Common::String SavenameDialog::getDescription() {
+ return _description->getEditString().encode();
}
void SavenameDialog::open() {
diff --git a/gui/saveload-dialog.h b/gui/saveload-dialog.h
index cf16bdeef4f..db70a4358ba 100644
--- a/gui/saveload-dialog.h
+++ b/gui/saveload-dialog.h
@@ -94,7 +94,7 @@ public:
#endif // !DISABLE_SAVELOADCHOOSER_GRID
int run(const Common::String &target, const MetaEngine *metaEngine);
- virtual const Common::U32String getResultString() const = 0;
+ virtual const Common::String getResultString() const = 0;
protected:
virtual int runIntern() = 0;
@@ -112,7 +112,7 @@ protected:
*/
virtual void listSaves();
- void activate(int slot, const Common::U32String &description);
+ void activate(int slot, const Common::String &description);
const bool _saveMode;
const MetaEngine *_metaEngine;
@@ -124,7 +124,7 @@ protected:
Common::String _target;
bool _dialogWasShown;
SaveStateList _saveList;
- Common::U32String _resultString;
+ Common::String _resultString;
#ifndef DISABLE_SAVELOADCHOOSER_GRID
ButtonWidget *_listButton;
@@ -151,7 +151,7 @@ public:
void handleCommand(CommandSender *sender, uint32 cmd, uint32 data) override;
- const Common::U32String getResultString() const override;
+ const Common::String getResultString() const override;
void reflowLayout() override;
@@ -188,8 +188,8 @@ class SavenameDialog : public Dialog {
public:
SavenameDialog();
- void setDescription(const Common::U32String &desc);
- const Common::U32String &getDescription();
+ void setDescription(const Common::String &desc);
+ const Common::String getDescription();
void setTargetSlot(int slot) { _targetSlot = slot; }
@@ -207,7 +207,7 @@ public:
SaveLoadChooserGrid(const Common::U32String &title, bool saveMode);
~SaveLoadChooserGrid() override;
- const Common::U32String getResultString() const override;
+ const Common::String getResultString() const override;
void open() override;
diff --git a/gui/saveload.cpp b/gui/saveload.cpp
index dee005601e7..5b231898361 100644
--- a/gui/saveload.cpp
+++ b/gui/saveload.cpp
@@ -120,7 +120,7 @@ int SaveLoadChooser::runModalWithMetaEngineAndTarget(const MetaEngine *engine, c
return ret;
}
-const Common::U32String SaveLoadChooser::getResultString() const {
+const Common::String SaveLoadChooser::getResultString() const {
assert(_impl);
return _impl->getResultString();
}
diff --git a/gui/saveload.h b/gui/saveload.h
index b76a6b743e7..5bd963615ab 100644
--- a/gui/saveload.h
+++ b/gui/saveload.h
@@ -52,7 +52,7 @@ public:
int runModalWithCurrentTarget();
int runModalWithMetaEngineAndTarget(const MetaEngine *engine, const Common::String &target);
- const Common::U32String getResultString() const;
+ const Common::String getResultString() const;
/**
* Creates a default save description for the specified slot. Depending
More information about the Scummvm-git-logs
mailing list