[Scummvm-git-logs] scummvm master -> a166015406727460c9478f04a812a96dbdfc0c74
sev-
noreply at scummvm.org
Sun Jan 4 00:01:24 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:
a166015406 GUI: Translate the default OK button in message boxes
Commit: a166015406727460c9478f04a812a96dbdfc0c74
https://github.com/scummvm/scummvm/commit/a166015406727460c9478f04a812a96dbdfc0c74
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2026-01-04T03:01:19+03:00
Commit Message:
GUI: Translate the default OK button in message boxes
Changed paths:
audio/softsynth/mt32.cpp
base/main.cpp
engines/agos/animation.cpp
engines/agos/midi.cpp
engines/ags/engine/ac/listbox.cpp
engines/buried/buried.cpp
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/xlibs/j/jitdraw3.cpp
engines/engine.cpp
engines/groovie/script.cpp
engines/mtropolis/mtropolis.cpp
engines/saga/music.cpp
engines/scumm/he/net/net_lobby.cpp
engines/scumm/he/net/net_main.cpp
engines/scumm/resource.cpp
engines/scumm/scumm.cpp
engines/scumm/scumm.h
engines/sky/compact.cpp
engines/sky/control.cpp
engines/sky/control.h
engines/sword1/animation.cpp
engines/sword1/control.cpp
engines/sword1/control.h
engines/sword1/logic.cpp
engines/sword2/animation.cpp
engines/tinsel/sound.cpp
engines/tinsel/strres.cpp
engines/vcruise/vcruise.cpp
engines/zvision/file/save_manager.cpp
gui/downloaddialog.cpp
gui/launcher.cpp
gui/message.cpp
gui/message.h
diff --git a/audio/softsynth/mt32.cpp b/audio/softsynth/mt32.cpp
index f6c4ef81e1b..464ebd35ab8 100644
--- a/audio/softsynth/mt32.cpp
+++ b/audio/softsynth/mt32.cpp
@@ -65,12 +65,12 @@ public:
// Callbacks for reporting various errors and information
void onErrorControlROM() override {
- GUI::MessageDialog dialog("MT32Emu: Init Error - Missing or invalid Control ROM image", "OK");
+ GUI::MessageDialog dialog("MT32Emu: Init Error - Missing or invalid Control ROM image");
dialog.runModal();
error("MT32emu: Init Error - Missing or invalid Control ROM image");
}
void onErrorPCMROM() override {
- GUI::MessageDialog dialog("MT32Emu: Init Error - Missing PCM ROM image", "OK");
+ GUI::MessageDialog dialog("MT32Emu: Init Error - Missing PCM ROM image");
dialog.runModal();
error("MT32emu: Init Error - Missing PCM ROM image");
}
diff --git a/base/main.cpp b/base/main.cpp
index a0ca78f68f2..b5eed27653d 100644
--- a/base/main.cpp
+++ b/base/main.cpp
@@ -656,7 +656,7 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) {
"Select the folder containing the game's files, then tap **Choose**. \n"
"\n"
"Repeat steps 1 and 6 for each game."
- ), _("Ok"),
+ ), _("OK"),
// I18N: A button caption to dismiss a message and read it later
_("Read Later"), Graphics::kTextAlignLeft);
@@ -681,7 +681,7 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) {
"Select the sub-folder containing the game's files, then tap **Choose**."
"\n"
"Repeat steps 1 and 6 for each game."
- ), _("Ok"),
+ ), _("OK"),
// I18N: A button caption to dismiss a message and read it later
_("Read Later"), Graphics::kTextAlignLeft);
diff --git a/engines/agos/animation.cpp b/engines/agos/animation.cpp
index 23f75c32db5..c3a807e514c 100644
--- a/engines/agos/animation.cpp
+++ b/engines/agos/animation.cpp
@@ -574,7 +574,7 @@ MoviePlayer *makeMoviePlayer(AGOSEngine_Feeble *vm, const char *name) {
}
Common::U32String buf = Common::U32String::format(_("Cutscene file '%s' not found!"), baseName);
- GUI::MessageDialog dialog(buf, _("OK"));
+ GUI::MessageDialog dialog(buf);
dialog.runModal();
return NULL;
diff --git a/engines/agos/midi.cpp b/engines/agos/midi.cpp
index de23cca8ffc..a8f6cb1ef54 100644
--- a/engines/agos/midi.cpp
+++ b/engines/agos/midi.cpp
@@ -316,8 +316,7 @@ int MidiPlayer::open() {
_("Could not find AdLib instrument definition file\n"
"%s. Without this file,\n"
"the music will not sound the same as the original game."),
- "MT_FM.IBK"),
- _("OK"));
+ "MT_FM.IBK"));
dialog.runModal();
_driverMsMusic = new MidiDriver_ADLIB_Multisource(oplType);
@@ -374,8 +373,7 @@ int MidiPlayer::open() {
_("Could not find AdLib instrument definition file\n"
"%s. Without this file,\n"
"the sound effects will not sound the same as the original game."),
- "MT_FM.IBK"),
- _("OK"));
+ "MT_FM.IBK"));
dialog.runModal();
_driverMsSfx = new MidiDriver_ADLIB_Multisource(oplType);
@@ -453,8 +451,7 @@ int MidiPlayer::open() {
_("Could not find AdLib instrument definition file\n"
"%s or %s. Without one of these files,\n"
"the music will not sound the same as the original game."),
- "MIDPAK.AD", "SETUP.SHR"),
- _("OK"));
+ "MIDPAK.AD", "SETUP.SHR"));
dialog.runModal();
_driverMsMusic = new MidiDriver_ADLIB_Multisource(oplType);
diff --git a/engines/ags/engine/ac/listbox.cpp b/engines/ags/engine/ac/listbox.cpp
index 19216af8367..07d8ef99b78 100644
--- a/engines/ags/engine/ac/listbox.cpp
+++ b/engines/ags/engine/ac/listbox.cpp
@@ -77,7 +77,7 @@ static void FillSaveList(std::set<String> &files, const String &filePattern) {
if ((strcmp(_GP(game).guid, "{a46a9171-f6f9-456c-9b2b-a509b560ddc0}") == 0) && _G(displayed_room) == 1) {
::GUI::MessageDialog dialog(_("The game will now list characters exported from the Sierra games that can be imported:\n"
"1. Save files named qfg1*.sav or qfg1vga*.sav inside ScummVM save directory, or\n"
- "2. Any .sav file inside the QfG2 Remake game directory"), "Ok");
+ "2. Any .sav file inside the QfG2 Remake game directory"));
dialog.runModal();
matches = g_system->getSavefileManager()->listSavefiles("qfg1*.sav");
diff --git a/engines/buried/buried.cpp b/engines/buried/buried.cpp
index ef40b34312c..44576f1f074 100644
--- a/engines/buried/buried.cpp
+++ b/engines/buried/buried.cpp
@@ -619,7 +619,7 @@ void BuriedEngine::showPoints() {
GUI::MessageDialog dialog(
agentEvaluation->_scoringTextDescriptionsWithScores,
- "OK",
+ _("OK"),
Common::U32String(),
Graphics::kTextAlignLeft
);
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 0e82e5caab1..0928815cdf2 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -1715,7 +1715,7 @@ void LB::b_open(int nargs) {
if (!debugChannelSet(-1, kDebugFewFramesOnly) &&
!(g_director->getGameGID() == GID_TEST || g_director->getGameGID() == GID_TESTALL)) {
Common::U32String message = Common::String::format("Unsupported command open encountered -> The movie tried to execute open %s %s!", ex.asString().c_str(), d.type != VOID ? d.asString().c_str() : "");
- GUI::MessageDialog dialog(message, _("Ok"));
+ GUI::MessageDialog dialog(message);
dialog.runModal();
}
}
@@ -2466,7 +2466,7 @@ void LB::b_alert(int nargs) {
if (!debugChannelSet(-1, kDebugFewFramesOnly)) {
g_director->_wm->clearHandlingWidgets();
- GUI::MessageDialog dialog(alert.c_str(), _("OK"));
+ GUI::MessageDialog dialog(alert.c_str());
dialog.runModal();
}
diff --git a/engines/director/lingo/xlibs/j/jitdraw3.cpp b/engines/director/lingo/xlibs/j/jitdraw3.cpp
index 687aab1c566..7415ade1ee1 100644
--- a/engines/director/lingo/xlibs/j/jitdraw3.cpp
+++ b/engines/director/lingo/xlibs/j/jitdraw3.cpp
@@ -120,7 +120,7 @@ XOBJSTUB(JITDraw3XObj::m_checkifcdrom, 0)
void JITDraw3XObj::m_msgokcancel(int nargs) {
Common::U32String caption = g_lingo->pop().asString(); // Title of the message box
Common::U32String message = g_lingo->pop().asString();
- GUI::MessageDialog dialog(message, _("Ok"), _("Cancel"));
+ GUI::MessageDialog dialog(message, _("OK"), _("Cancel"));
int result = dialog.runModal();
g_lingo->push(Datum(result == GUI::kMessageOK ? 1 : 0));
}
@@ -128,7 +128,7 @@ void JITDraw3XObj::m_msgokcancel(int nargs) {
void JITDraw3XObj::m_msgok(int nargs) {
Common::U32String caption = g_lingo->pop().asString(); // Title of the message box
Common::U32String message = g_lingo->pop().asString();
- GUI::MessageDialog dialog(message, _("Ok"));
+ GUI::MessageDialog dialog(message);
dialog.runModal();
g_lingo->push(Datum());
}
diff --git a/engines/engine.cpp b/engines/engine.cpp
index eb8446218aa..281bee16ed5 100644
--- a/engines/engine.cpp
+++ b/engines/engine.cpp
@@ -600,7 +600,7 @@ bool Engine::isDataAndCDAudioReadFromSameCD() {
"from the CD. This is known to cause problems,\n"
"and it is therefore recommended that you copy\n"
"the data files to your hard disk instead.\n"
- "See the documentation (CD audio) for details."), _("OK"));
+ "See the documentation (CD audio) for details."));
dialog.runModal();
return true;
}
@@ -623,7 +623,7 @@ void Engine::warnMissingExtractedCDAudio() {
"tracks need to be ripped from the CD using\n"
"an appropriate CD audio extracting tool in\n"
"order to listen to the game's music.\n"
- "See the documentation (CD audio) for details."), _("OK"));
+ "See the documentation (CD audio) for details."));
dialog.runModal();
}
diff --git a/engines/groovie/script.cpp b/engines/groovie/script.cpp
index 5ce1170e139..b28f63e192f 100644
--- a/engines/groovie/script.cpp
+++ b/engines/groovie/script.cpp
@@ -662,7 +662,7 @@ void Script::savegame(uint slot, const Common::String &name) {
if (!file) {
debugC(9, kDebugScript, "Save file pointer is null");
- GUI::MessageDialog dialog(_("Failed to save game"), _("OK"));
+ GUI::MessageDialog dialog(_("Failed to save game"));
dialog.runModal();
return;
}
diff --git a/engines/mtropolis/mtropolis.cpp b/engines/mtropolis/mtropolis.cpp
index d15fd15f385..e4866c0e81c 100644
--- a/engines/mtropolis/mtropolis.cpp
+++ b/engines/mtropolis/mtropolis.cpp
@@ -110,8 +110,7 @@ Common::Error MTropolisEngine::run() {
GUI::MessageDialog dialog(
_("This game requires MPEG video support for some\n"
"content but MPEG video support was not compiled in.\n"
- "The game will still play, but MPEG videos will not work."),
- _("OK"));
+ "The game will still play, but MPEG videos will not work."));
dialog.runModal();
}
#endif
@@ -120,8 +119,7 @@ Common::Error MTropolisEngine::run() {
GUI::MessageDialog dialog(
_("This game requires MPEG audio support for some\n"
"content but MPEG audio support was not compiled in.\n"
- "The game will still play, but some audio will not work."),
- _("OK"));
+ "The game will still play, but some audio will not work."));
dialog.runModal();
}
#endif
diff --git a/engines/saga/music.cpp b/engines/saga/music.cpp
index c6b28206a56..5987cc12460 100644
--- a/engines/saga/music.cpp
+++ b/engines/saga/music.cpp
@@ -98,8 +98,7 @@ Music::Music(SagaEngine *vm, Audio::Mixer *mixer) : _vm(vm), _mixer(mixer), _par
_("Could not find AdLib instrument definition files\n"
"%s and %s. Without these files,\n"
"the music will not sound the same as the original game."),
- opl2InstDefFilename, opl3InstDefFilename),
- _("OK"));
+ opl2InstDefFilename, opl3InstDefFilename));
dialog.runModal();
OPL::Config::OplType oplType =
diff --git a/engines/scumm/he/net/net_lobby.cpp b/engines/scumm/he/net/net_lobby.cpp
index 2b87ac3643e..c261ec00536 100644
--- a/engines/scumm/he/net/net_lobby.cpp
+++ b/engines/scumm/he/net/net_lobby.cpp
@@ -341,7 +341,7 @@ void Lobby::openUrl(const char *url) {
urlString == "http://www.humongoussports.com/backyard/registration/register.asp") {
if (_vm->displayMessageYesNo("Online Play for this game is provided by Backyard Sports Online, which is a\nservice provided by the ScummVM project.\nWould you like to go to their registration page?")) {
if (!g_system->openUrl("https://backyardsports.online/register")) {
- _vm->displayMessage(0, "Failed to open registration URL. Please navigate to this page manually.\n\n\"https://backyardsports.online/register\"");
+ _vm->displayMessage("Failed to open registration URL. Please navigate to this page manually.\n\n\"https://backyardsports.online/register\"");
}
}
} else {
diff --git a/engines/scumm/he/net/net_main.cpp b/engines/scumm/he/net/net_main.cpp
index b438b028fd3..f8f7c8148f9 100644
--- a/engines/scumm/he/net/net_main.cpp
+++ b/engines/scumm/he/net/net_main.cpp
@@ -131,12 +131,12 @@ int Net::hostGame(char *sessionName, char *userName) {
_userIdToPeerIndex[_myUserId] = -1;
return 1;
} else {
- _vm->displayMessage(0, "Error Adding User \"%s\" to Session \"%s\"", userName, sessionName);
+ _vm->displayMessage("Error Adding User \"%s\" to Session \"%s\"", userName, sessionName);
endSession();
closeProvider();
}
} else {
- _vm->displayMessage(0, "Error creating session \"%s\"", userName );
+ _vm->displayMessage("Error creating session \"%s\"", userName );
closeProvider();
}
@@ -453,7 +453,7 @@ int Net::doJoinSession(Session session) {
return true;
}
}
- _vm->displayMessage(0, "Unable to join game session with address \"%s:%d\"", session.host.c_str(), session.port);
+ _vm->displayMessage("Unable to join game session with address \"%s:%d\"", session.host.c_str(), session.port);
return false;
}
@@ -768,7 +768,7 @@ bool Net::initProvider() {
return true;
_enet = new Networking::ENet::ENet();
if (!_enet->initialize()) {
- _vm->displayMessage(0, "Unable to initialize ENet library.");
+ _vm->displayMessage("Unable to initialize ENet library.");
Net::closeProvider();
return false;
}
@@ -1243,7 +1243,7 @@ void Net::remoteReceiveData() {
if (_gameName == "moonbase") {
// TODO: Host migration
if (!_isHost && _vm->_currentRoom == 2) {
- _vm->displayMessage(0, "You have been disconnected from the game host.\nNormally, host migration would take place, but ScummVM doesn't do that yet, so this game session will now end.");
+ _vm->displayMessage("You have been disconnected from the game host.\nNormally, host migration would take place, but ScummVM doesn't do that yet, so this game session will now end.");
_vm->VAR(253) = 26; // gGameMode = GAME-OVER
_vm->runScript(2104, 1, 0, 0); // leave-game
}
@@ -1404,7 +1404,7 @@ void Net::handleGameData(Common::JSONValue *json, int peerIndex) {
if (paramsArray[0]->asIntegerNumber() == 145 && _fromUserId == 1) {
if (!_isHost && _vm->_currentRoom == 2) {
// TODO: Host migration
- _vm->displayMessage(0, "You have been disconnected from the game host.\nNormally, host migration would take place, but ScummVM doesn't do that yet, so this game session will now end.");
+ _vm->displayMessage("You have been disconnected from the game host.\nNormally, host migration would take place, but ScummVM doesn't do that yet, so this game session will now end.");
_vm->VAR(253) = 26; // GAME-OVER
_vm->runScript(2104, 1, 0, 0); // leave-game
return;
diff --git a/engines/scumm/resource.cpp b/engines/scumm/resource.cpp
index 72d6980b8cf..2d31e33dd78 100644
--- a/engines/scumm/resource.cpp
+++ b/engines/scumm/resource.cpp
@@ -231,7 +231,7 @@ void ScummEngine::askForDisk(const Common::Path &filename, int disknum) {
ConfMan.getPath("path").toString(Common::Path::kNativeSeparator).c_str());
#endif
- result = displayMessage("Quit", "%s", buf);
+ result = displayMessageOKQuit("%s", buf);
if (!result) {
error("Cannot find file: '%s'", filename.toString(Common::Path::kNativeSeparator).c_str());
}
@@ -293,7 +293,7 @@ void ScummEngine::readIndexFile() {
}
if (checkTryMedia(_fileHandle)) {
- displayMessage(nullptr, "You're trying to run game encrypted by ActiveMark. This is not supported.");
+ displayMessage("You're trying to run game encrypted by ActiveMark. This is not supported.");
quitGame();
return;
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index b65972a479f..e6559a50ae6 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -1356,7 +1356,7 @@ Common::Error ScummEngine::init() {
GUI::MessageDialog dialog(Common::U32String::format(
_("Could not find the '%s' Macintosh executable to read resources from. %s will be disabled."),
- gameName, (_game.id == GID_MONKEY2 || _game.version > 6) ? _s("The Mac GUI") : _s("The music and the Mac GUI")), _("OK"));
+ gameName, (_game.id == GID_MONKEY2 || _game.version > 6) ? _s("The Mac GUI") : _s("The music and the Mac GUI")));
dialog.runModal();
} else if (isUsingOriginalGUI() || _game.id == GID_INDY3 || _game.id == GID_LOOM) {
// FIXME: THIS IS A TEMPORARY WORKAROUND!
@@ -1810,8 +1810,7 @@ void ScummEngine_v7::setupScumm(const Common::Path &macResourceFile) {
GUI::MessageDialog dialog(_(
"Audio files compressed with ScummVM Tools were detected; *.BUN/*.SOU\n"
"compression is not supported anymore for this game, audio will be disabled.\n"
- "Please copy the game from the original media without compression."),
- _("OK"));
+ "Please copy the game from the original media without compression."));
dialog.runModal();
_imuseDigital->disableEngine();
}
@@ -2300,8 +2299,7 @@ void ScummEngine::setupMusic(int midi) {
GUI::MessageDialog dialog(
Common::U32String::format(
_("Native MIDI support requires the Roland Upgrade from LucasArts,\n"
- "but %s is missing. Using AdLib instead."), fileName.toString(Common::Path::kNativeSeparator).c_str()),
- _("OK"));
+ "but %s is missing. Using AdLib instead."), fileName.toString(Common::Path::kNativeSeparator).c_str()));
dialog.runModal();
_sound->_musicType = MDT_ADLIB;
}
@@ -2316,8 +2314,7 @@ void ScummEngine::setupMusic(int midi) {
memcmp(_gameMD5, "\xa0\x1f\xab\x4a\x64\xd4\x7b\x96\xe2\xe5\x8e\x6b\x0f\x82\x5c\xc7", 16) == 0) {
GUI::MessageDialog dialog(
_("This particular version of Monkey Island 1 is known to miss some\n"
- "required resources for MT-32. Using AdLib instead."),
- _("OK"));
+ "required resources for MT-32. Using AdLib instead."));
dialog.runModal();
_sound->_musicType = MDT_ADLIB;
}
@@ -4301,7 +4298,7 @@ void ScummEngine::confirmRestartDialog() {
}
}
-char ScummEngine::displayMessage(const char *altButton, const char *message, ...) {
+char ScummEngine::displayMessage(const char *message, ...) {
char buf[STRINGBUFLEN];
va_list va;
@@ -4309,7 +4306,7 @@ char ScummEngine::displayMessage(const char *altButton, const char *message, ...
vsnprintf(buf, STRINGBUFLEN, message, va);
va_end(va);
- GUI::MessageDialog dialog(buf, "OK", altButton);
+ GUI::MessageDialog dialog(buf);
return runDialog(dialog);
}
@@ -4325,6 +4322,18 @@ bool ScummEngine::displayMessageYesNo(const char *message, ...) {
return runDialog(dialog) == GUI::kMessageOK;
}
+bool ScummEngine::displayMessageYesNo(const char *message, ...) {
+ char buf[STRINGBUFLEN];
+ va_list va;
+
+ va_start(va, message);
+ vsnprintf(buf, STRINGBUFLEN, message, va);
+ va_end(va);
+
+ GUI::MessageDialog dialog(buf, _("OK"), _("Quit"));
+ return runDialog(dialog) == GUI::kMessageOK;
+}
+
#if defined(ENABLE_HE) && defined(USE_ENET)
int ScummEngine_v90he::networkSessionDialog() {
GUI::MessageDialog dialog(_("Would you like to host or join a network play session?"), _("Host"), _("Join"));
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index a869f33ba13..2458f156a3d 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -803,8 +803,9 @@ protected:
void drawDraftsInventory();
public:
- char displayMessage(const char *altButton, MSVC_PRINTF const char *message, ...) GCC_PRINTF(3, 4);
+ char displayMessage(MSVC_PRINTF const char *message, ...) GCC_PRINTF(2, 3);
bool displayMessageYesNo(MSVC_PRINTF const char *message, ...) GCC_PRINTF(2, 3);
+ bool displayMessageOKQuit(MSVC_PRINTF const char *message, ...) GCC_PRINTF(2, 3);
protected:
byte _fastMode = 0;
diff --git a/engines/sky/compact.cpp b/engines/sky/compact.cpp
index 5bad4015f76..7e35015a214 100644
--- a/engines/sky/compact.cpp
+++ b/engines/sky/compact.cpp
@@ -137,7 +137,7 @@ SkyCompact::SkyCompact() {
error("unknown \"sky.cpt\" version");
if (SKY_CPT_SIZE != _cptFile->size()) {
- GUI::MessageDialog dialog(_("The \"sky.cpt\" engine data file has an incorrect size."), _("OK"));
+ GUI::MessageDialog dialog(_("The \"sky.cpt\" engine data file has an incorrect size."));
dialog.runModal();
error("Incorrect sky.cpt size (%d, expected: %d)", (int)_cptFile->size(), SKY_CPT_SIZE);
}
diff --git a/engines/sky/control.cpp b/engines/sky/control.cpp
index db438a086d6..f854b9f42d4 100644
--- a/engines/sky/control.cpp
+++ b/engines/sky/control.cpp
@@ -954,7 +954,7 @@ uint16 Control::saveRestorePanel(bool allowSave) {
saveGameTexts[_selectedGame] = dirtyBufStr;
saveDescriptions(saveGameTexts);
} else if (clickRes == NO_DISK_SPACE)
- displayMessage(0, "Could not save the game. (%s)", _saveFileMan->popErrorDesc().c_str());
+ displayMessage("Could not save the game. (%s)", _saveFileMan->popErrorDesc().c_str());
quitPanel = true;
}
_mouseClicked = false;
@@ -1002,7 +1002,7 @@ uint16 Control::saveRestorePanel(bool allowSave) {
refreshNames = true;
}
if (clickRes == NO_DISK_SPACE) {
- displayMessage(0, "Could not save the game. (%s)", _saveFileMan->popErrorDesc().c_str());
+ displayMessage("Could not save the game. (%s)", _saveFileMan->popErrorDesc().c_str());
quitPanel = true;
}
if ((clickRes == CANCEL_PRESSED) || (clickRes == GAME_RESTORED))
@@ -1153,7 +1153,7 @@ bool Control::isControlPanelOpen() {
return _controlPanel;
}
-int Control::displayMessage(const char *altButton, const char *message, ...) {
+int Control::displayMessage(const char *message, ...) {
char buf[STRINGBUFLEN];
va_list va;
@@ -1161,7 +1161,7 @@ int Control::displayMessage(const char *altButton, const char *message, ...) {
vsnprintf(buf, STRINGBUFLEN, message, va);
va_end(va);
- GUI::MessageDialog dialog(buf, "OK", altButton);
+ GUI::MessageDialog dialog(buf);
int result = dialog.runModal();
_skyMouse->spriteMouse(MOUSE_NORMAL, 0, 0);
return result;
@@ -1182,7 +1182,7 @@ void Control::saveDescriptions(const Common::StringArray &list) {
delete outf;
}
if (ioFailed)
- displayMessage(NULL, "Unable to store Savegame names to file SKY-VM.SAV. (%s)", _saveFileMan->popErrorDesc().c_str());
+ displayMessage("Unable to store Savegame names to file SKY-VM.SAV. (%s)", _saveFileMan->popErrorDesc().c_str());
}
uint16 Control::saveGameToFile(bool fromControlPanel, const char *filename, bool isAutosave) {
@@ -1385,16 +1385,16 @@ uint16 Control::parseSaveData(uint8 *srcBuf) {
LODSD(srcPos, size);
LODSD(srcPos, saveRev);
if (saveRev > SAVE_FILE_REVISION) {
- displayMessage(0, "Unknown save file revision (%d)", saveRev);
+ displayMessage("Unknown save file revision (%d)", saveRev);
return RESTORE_FAILED;
} else if (saveRev < OLD_SAVEGAME_TYPE) {
- displayMessage(0, "This saved game version is unsupported.");
+ displayMessage("This saved game version is unsupported.");
return RESTORE_FAILED;
}
LODSD(srcPos, gameVersion);
if (gameVersion != SkyEngine::_systemVars->gameVersion) {
if ((!SkyEngine::isCDVersion()) || (gameVersion < 365)) { // cd versions are compatible
- displayMessage(NULL, "This saved game was created by\n"
+ displayMessage("This saved game was created by\n"
"Beneath a Steel Sky v0.0%03d\n"
"It cannot be loaded by this version (v0.0%3d)",
gameVersion, SkyEngine::_systemVars->gameVersion);
@@ -1482,7 +1482,7 @@ uint16 Control::restoreGameFromFile(bool autoSave) {
*(uint32 *)saveData = TO_LE_32(infSize);
if (inf->read(saveData+4, infSize-4) != infSize-4) {
- displayMessage(NULL, "Can't read from file '%s'", filename.c_str());
+ displayMessage("Can't read from file '%s'", filename.c_str());
free(saveData);
delete inf;
return RESTORE_FAILED;
diff --git a/engines/sky/control.h b/engines/sky/control.h
index 2a32cbe8487..82a690acd85 100644
--- a/engines/sky/control.h
+++ b/engines/sky/control.h
@@ -198,7 +198,7 @@ public:
void saveDescriptions(const Common::StringArray &list);
private:
- int displayMessage(const char *altButton, MSVC_PRINTF const char *message, ...) GCC_PRINTF(3, 4);
+ int displayMessage(MSVC_PRINTF const char *message, ...) GCC_PRINTF(2, 3);
void initPanel();
void removePanel();
diff --git a/engines/sword1/animation.cpp b/engines/sword1/animation.cpp
index 0c1a28ad7bd..6dd77a271ff 100644
--- a/engines/sword1/animation.cpp
+++ b/engines/sword1/animation.cpp
@@ -563,7 +563,7 @@ MoviePlayer *makeMoviePlayer(uint32 id, SwordEngine *vm, Text *textMan, ResMan *
Video::VideoDecoder *aviDecoder = new Video::AVIDecoder(12);
return new MoviePlayer(vm, textMan, resMan, sound, system, aviDecoder, kVideoDecoderMP2);
#else
- GUI::MessageDialog dialog(_("MPEG-2 cutscenes found but ScummVM has been built without MPEG-2 support"), _("OK"));
+ GUI::MessageDialog dialog(_("MPEG-2 cutscenes found but ScummVM has been built without MPEG-2 support"));
dialog.runModal();
return 0;
#endif
@@ -571,7 +571,7 @@ MoviePlayer *makeMoviePlayer(uint32 id, SwordEngine *vm, Text *textMan, ResMan *
if (!vm->isPsx() || scumm_stricmp(sequenceList[id], "enddemo") != 0) {
Common::U32String buf = Common::U32String::format(_("Cutscene '%s' not found"), sequenceList[id]);
- GUI::MessageDialog dialog(buf, _("OK"));
+ GUI::MessageDialog dialog(buf);
dialog.runModal();
}
diff --git a/engines/sword1/control.cpp b/engines/sword1/control.cpp
index 8ad897b11a4..1c40eb63566 100644
--- a/engines/sword1/control.cpp
+++ b/engines/sword1/control.cpp
@@ -2790,7 +2790,7 @@ void Control::drawPsxComponent(int componentType, uint8 *src, uint8 *dst, FrameH
free(initialPtr);
}
-int Control::displayMessage(const char *altButton, const char *message, ...) {
+int Control::displayMessage(const char *message, ...) {
char buf[STRINGBUFLEN];
va_list va;
@@ -2798,7 +2798,7 @@ int Control::displayMessage(const char *altButton, const char *message, ...) {
vsnprintf(buf, STRINGBUFLEN, message, va);
va_end(va);
- GUI::MessageDialog dialog(buf, "OK", altButton);
+ GUI::MessageDialog dialog(buf);
int result = dialog.runModal();
_mouse->setPointer(MSE_POINTER, 0);
return result;
@@ -2860,7 +2860,7 @@ void Control::saveGameToFile(uint8 slot) {
outf = _saveFileMan->openForSaving(fName);
if (!outf) {
// Display an error message and do nothing
- displayMessage(0, "Unable to create file '%s'. (%s)", fName, _saveFileMan->popErrorDesc().c_str());
+ displayMessage("Unable to create file '%s'. (%s)", fName, _saveFileMan->popErrorDesc().c_str());
return;
}
@@ -2908,7 +2908,7 @@ void Control::saveGameToFile(uint8 slot) {
outf->writeUint32LE(playerRaw[cnt2]);
outf->finalize();
if (outf->err())
- displayMessage(0, "Couldn't write to file '%s'. Device full? (%s)", fName, _saveFileMan->popErrorDesc().c_str());
+ displayMessage("Couldn't write to file '%s'. Device full? (%s)", fName, _saveFileMan->popErrorDesc().c_str());
delete outf;
}
@@ -2920,14 +2920,14 @@ bool Control::restoreGameFromFile(uint8 slot) {
inf = _saveFileMan->openForLoading(fName);
if (!inf) {
// Display an error message, and do nothing
- displayMessage(0, "Can't open file '%s'. (%s)", fName, _saveFileMan->popErrorDesc().c_str());
+ displayMessage("Can't open file '%s'. (%s)", fName, _saveFileMan->popErrorDesc().c_str());
return false;
}
uint saveHeader = inf->readUint32LE();
if (saveHeader != SAVEGAME_HEADER) {
// Display an error message, and do nothing
- displayMessage(0, "Saved game '%s' is corrupt", fName);
+ displayMessage("Saved game '%s' is corrupt", fName);
return false;
}
@@ -2973,7 +2973,7 @@ bool Control::restoreGameFromFile(uint8 slot) {
playerBuf[cnt2] = inf->readUint32LE();
if (inf->err() || inf->eos()) {
- displayMessage(0, "Can't read from file '%s'. (%s)", fName, _saveFileMan->popErrorDesc().c_str());
+ displayMessage("Can't read from file '%s'. (%s)", fName, _saveFileMan->popErrorDesc().c_str());
delete inf;
free(_restoreBuf);
_restoreBuf = nullptr;
diff --git a/engines/sword1/control.h b/engines/sword1/control.h
index ce75304b65a..fd004607df5 100644
--- a/engines/sword1/control.h
+++ b/engines/sword1/control.h
@@ -202,7 +202,7 @@ private:
bool gameVersionIsMediaHouse();
bool loadCustomStrings(const char *filename);
- int displayMessage(const char *altButton, MSVC_PRINTF const char *message, ...) GCC_PRINTF(3, 4);
+ int displayMessage(MSVC_PRINTF const char *message, ...) GCC_PRINTF(2, 3);
// PSX Credits functions
int32 getCreditsFontHeight(uint8 *font);
diff --git a/engines/sword1/logic.cpp b/engines/sword1/logic.cpp
index c6d502adb84..dbc9282a3fb 100644
--- a/engines/sword1/logic.cpp
+++ b/engines/sword1/logic.cpp
@@ -1735,7 +1735,7 @@ int Logic::fnRestartGame(Object *cpt, int32 id, int32 a, int32 b, int32 c, int32
int Logic::fnQuitGame(Object *cpt, int32 id, int32 a, int32 b, int32 c, int32 d, int32 z, int32 x) {
if (SwordEngine::_systemVars.isDemo) {
- GUI::MessageDialog dialog(_("This is the end of the Broken Sword 1 Demo"), _("OK"));
+ GUI::MessageDialog dialog(_("This is the end of the Broken Sword 1 Demo"));
dialog.runModal();
Engine::quitGame();
} else
diff --git a/engines/sword2/animation.cpp b/engines/sword2/animation.cpp
index 64bdac2671d..a7319a02862 100644
--- a/engines/sword2/animation.cpp
+++ b/engines/sword2/animation.cpp
@@ -456,7 +456,7 @@ MoviePlayer *makeMoviePlayer(const char *name, Sword2Engine *vm, OSystem *system
Video::AVIDecoder *aviDecoder = new Video::AVIDecoder(12);
return new MoviePlayer(vm, system, aviDecoder, kVideoDecoderMP2);
#else
- GUI::MessageDialog dialog(_("MPEG-2 cutscenes found but ScummVM has been built without MPEG-2 support"), _("OK"));
+ GUI::MessageDialog dialog(_("MPEG-2 cutscenes found but ScummVM has been built without MPEG-2 support"));
dialog.runModal();
return nullptr;
#endif
@@ -466,7 +466,7 @@ MoviePlayer *makeMoviePlayer(const char *name, Sword2Engine *vm, OSystem *system
// In addition, some of the later re-releases of the game don't have the "eye" Virgin logo movie.
if (!vm->_logic->readVar(DEMO) && strcmp(name, "eye") != 0) {
Common::U32String buf = Common::U32String::format(_("Cutscene '%s' not found"), name);
- GUI::MessageDialog dialog(buf, _("OK"));
+ GUI::MessageDialog dialog(buf);
dialog.runModal();
} else
warning("Cutscene '%s' not found", name);
diff --git a/engines/tinsel/sound.cpp b/engines/tinsel/sound.cpp
index 23ad23191da..1729378a658 100644
--- a/engines/tinsel/sound.cpp
+++ b/engines/tinsel/sound.cpp
@@ -486,7 +486,7 @@ void SoundManager::setSFXVolumes(uint8 volume) {
void SoundManager::showSoundError(const char *errorMsg, const char *soundFile) {
Common::String msg;
msg = Common::String::format(errorMsg, soundFile);
- GUI::MessageDialog dialog(msg.c_str(), "OK");
+ GUI::MessageDialog dialog(msg.c_str());
dialog.runModal();
error("%s", msg.c_str());
diff --git a/engines/tinsel/strres.cpp b/engines/tinsel/strres.cpp
index 9e88a4366c0..9fca54e0a64 100644
--- a/engines/tinsel/strres.cpp
+++ b/engines/tinsel/strres.cpp
@@ -98,7 +98,7 @@ void ChangeLanguage(LANGUAGE newLang) {
if ((newLang == TXT_ENGLISH) || !f.open(_vm->getTextFile(TXT_ENGLISH))) {
char buf[50];
Common::sprintf_s(buf, CANNOT_FIND_FILE, _vm->getTextFile(newLang));
- GUI::MessageDialog dialog(buf, "OK");
+ GUI::MessageDialog dialog(buf);
dialog.runModal();
error(CANNOT_FIND_FILE, _vm->getTextFile(newLang));
diff --git a/engines/vcruise/vcruise.cpp b/engines/vcruise/vcruise.cpp
index d615598be4b..0bb6541d95c 100644
--- a/engines/vcruise/vcruise.cpp
+++ b/engines/vcruise/vcruise.cpp
@@ -92,8 +92,7 @@ Common::Error VCruiseEngine::run() {
if (_gameDescription->desc.flags & VCRUISE_GF_WANT_OGG_VORBIS) {
GUI::MessageDialog dialog(
_("Music for this game requires Ogg Vorbis support, which was not compiled in.\n"
- "The game will still play, but will not have any music."),
- _("OK"));
+ "The game will still play, but will not have any music."));
dialog.runModal();
}
#endif
@@ -102,8 +101,7 @@ Common::Error VCruiseEngine::run() {
if (_gameDescription->desc.flags & VCRUISE_GF_WANT_MP3) {
GUI::MessageDialog dialog(
_("Music for this game requires MP3 support, which was not compiled in.\n"
- "The game will still play, but will not have any music."),
- _("OK"));
+ "The game will still play, but will not have any music."));
dialog.runModal();
}
#endif
diff --git a/engines/zvision/file/save_manager.cpp b/engines/zvision/file/save_manager.cpp
index d190d177a77..4cc007ed6df 100644
--- a/engines/zvision/file/save_manager.cpp
+++ b/engines/zvision/file/save_manager.cpp
@@ -207,8 +207,7 @@ bool SaveManager::readSaveGameHeader(Common::InSaveFile *in, SaveGameHeader &hea
_("This saved game uses version %u, but this engine only "
"supports up to version %d. You will need an updated version "
"of the engine to use this saved game."), tempVersion, SAVE_VERSION
- ),
- _("OK"));
+ ));
dialog.runModal();
}
diff --git a/gui/downloaddialog.cpp b/gui/downloaddialog.cpp
index f58f2484d63..54b4116208d 100644
--- a/gui/downloaddialog.cpp
+++ b/gui/downloaddialog.cpp
@@ -143,7 +143,7 @@ bool DownloadDialog::selectDirectories() {
if (file.getName().equalsIgnoreCase(remoteDirectory.name())) {
// If there is, ask user whether it's OK
if (!file.isDirectory()) {
- GUI::MessageDialog alert(_("Cannot create a directory to download - the specified directory has a file with the same name."), _("OK"));
+ GUI::MessageDialog alert(_("Cannot create a directory to download - the specified directory has a file with the same name."));
alert.runModal();
return false;
}
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 123c52eaac9..1882f10c752 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -563,11 +563,11 @@ void LauncherDialog::loadGame(int item) {
}
} else {
MessageDialog dialog
- (_("This game does not support loading games from the launcher."), _("OK"));
+ (_("This game does not support loading games from the launcher."));
dialog.runModal();
}
} else {
- MessageDialog dialog(_("ScummVM could not find any engine capable of running the selected game!"), _("OK"));
+ MessageDialog dialog(_("ScummVM could not find any engine capable of running the selected game!"));
dialog.runModal();
}
diff --git a/gui/message.cpp b/gui/message.cpp
index 4af435ad8d0..a2659e236f7 100644
--- a/gui/message.cpp
+++ b/gui/message.cpp
@@ -152,6 +152,14 @@ void MessageDialog::reflowLayout() {
}
}
+MessageDialog::MessageDialog(const Common::U32String &message)
+ : MessageDialog(message, _("OK")) {
+}
+
+MessageDialog::MessageDialog(const Common::String &message)
+ : MessageDialog(Common::U32String(message), _("OK")) {
+}
+
MessageDialog::MessageDialog(const Common::U32String &message,
const Common::U32String &defaultButton,
const Common::U32String &altButton,
@@ -218,6 +226,11 @@ void TimedMessageDialog::handleTickle() {
close();
}
+CountdownMessageDialog::CountdownMessageDialog(const Common::U32String &message,
+ uint32 duration)
+ : CountdownMessageDialog(message, duration, _("OK")) {
+}
+
CountdownMessageDialog::CountdownMessageDialog(const Common::U32String &message,
uint32 duration,
const Common::U32String &defaultButton,
@@ -253,6 +266,14 @@ void CountdownMessageDialog::updateCountdown() {
}
}
+MessageDialogWithURL::MessageDialogWithURL(const Common::U32String &message, const char *url)
+ : MessageDialogWithURL(message, url, _("OK")) {
+}
+
+MessageDialogWithURL::MessageDialogWithURL(const Common::String &message, const char *url)
+ : MessageDialogWithURL(Common::U32String(message), url, _("OK")) {
+}
+
MessageDialogWithURL::MessageDialogWithURL(const Common::U32String &message, const char *url, const Common::U32String &defaultButton, Graphics::TextAlign alignment)
: MessageDialog(message, defaultButton, _("Open URL"), alignment, url) {
}
diff --git a/gui/message.h b/gui/message.h
index 2656fa81659..4916ed3196c 100644
--- a/gui/message.h
+++ b/gui/message.h
@@ -43,14 +43,16 @@ enum {
*/
class MessageDialog : public Dialog {
public:
+ MessageDialog(const Common::U32String &message);
+ MessageDialog(const Common::String &message);
MessageDialog(const Common::U32String &message,
- const Common::U32String &defaultButton = Common::U32String("OK"),
+ const Common::U32String &defaultButton,
const Common::U32String &altButton = Common::U32String(),
Graphics::TextAlign alignment = Graphics::kTextAlignCenter,
const char *url = nullptr,
const Common::U32String &extraMessage = Common::U32String());
MessageDialog(const Common::String &message,
- const Common::String &defaultButton = "OK",
+ const Common::String &defaultButton,
const Common::String &altButton = Common::String(),
Graphics::TextAlign alignment = Graphics::kTextAlignCenter,
const char *url = nullptr);
@@ -97,9 +99,11 @@ protected:
*/
class CountdownMessageDialog : public MessageDialog {
public:
+ CountdownMessageDialog(const Common::U32String &message,
+ uint32 duration);
CountdownMessageDialog(const Common::U32String &message,
uint32 duration,
- const Common::U32String &defaultButton = Common::U32String("OK"),
+ const Common::U32String &defaultButton,
const Common::U32String &altButton = Common::U32String(),
Graphics::TextAlign alignment = Graphics::kTextAlignCenter,
const Common::U32String &countdownMessage = Common::U32String(""));
@@ -119,8 +123,10 @@ protected:
*/
class MessageDialogWithURL : public MessageDialog {
public:
- MessageDialogWithURL(const Common::U32String &message, const char *url, const Common::U32String &defaultButton = Common::U32String("OK"), Graphics::TextAlign alignment = Graphics::kTextAlignCenter);
- MessageDialogWithURL(const Common::String &message, const char *url, const char *defaultButton = "OK", Graphics::TextAlign alignment = Graphics::kTextAlignCenter);
+ MessageDialogWithURL(const Common::U32String &message, const char *url);
+ MessageDialogWithURL(const Common::String &message, const char *url);
+ MessageDialogWithURL(const Common::U32String &message, const char *url, const Common::U32String &defaultButton, Graphics::TextAlign alignment = Graphics::kTextAlignCenter);
+ MessageDialogWithURL(const Common::String &message, const char *url, const char *defaultButton, Graphics::TextAlign alignment = Graphics::kTextAlignCenter);
};
More information about the Scummvm-git-logs
mailing list