aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2005-08-16 19:04:51 +0000
committerEugene Sandulenko2005-08-16 19:04:51 +0000
commitf2c542547d32d2685e070f2b31e8774dde9cdb91 (patch)
tree3e973554b37df18a712c5975ffaa9366b6065cfa
parent968e73a93abf068e177f31c3612cbfd2fe28ff76 (diff)
downloadscummvm-rg350-f2c542547d32d2685e070f2b31e8774dde9cdb91.tar.gz
scummvm-rg350-f2c542547d32d2685e070f2b31e8774dde9cdb91.tar.bz2
scummvm-rg350-f2c542547d32d2685e070f2b31e8774dde9cdb91.zip
Fix bug #1256381 "ITE: Options menu contains wrong item" and gave symbolic
names to text Ids. svn-id: r18699
-rw-r--r--saga/interface.cpp28
-rw-r--r--saga/itedata.cpp14
-rw-r--r--saga/itedata.h2
-rw-r--r--saga/saga.cpp10
-rw-r--r--saga/saga.h11
-rw-r--r--saga/saveload.cpp2
-rw-r--r--saga/script.cpp4
7 files changed, 46 insertions, 25 deletions
diff --git a/saga/interface.cpp b/saga/interface.cpp
index 7e0d2402f1..e7026f45da 100644
--- a/saga/interface.cpp
+++ b/saga/interface.cpp
@@ -650,8 +650,15 @@ void Interface::drawPanelText(Surface *ds, InterfacePanel *panel, PanelButton *p
int textWidth;
Rect rect;
Point textPoint;
+ int textId = panelButton->id;
- text = _vm->getTextString(panelButton->id);
+ switch (panelButton->id) {
+ case kTextReadingSpeed:
+ if (_vm->getFeatures() & GF_CD_FX)
+ textId = kTextShowDialog;
+ break;
+ }
+ text = _vm->getTextString(textId);
panel->calcPanelButtonRect(panelButton, rect);
if (panelButton->xOffset < 0) {
textWidth = _vm->_font->getStringWidth(kMediumFont, text, 0, kFontNormal);
@@ -1770,15 +1777,18 @@ void Interface::drawPanelButtonText(Surface *ds, InterfacePanel *panel, PanelBut
textId = panelButton->id;
switch(panelButton->id) {
- case kTextReadingSpeed:
- textId = kTextFast;
- break;
- case kTextMusic:
+ case kTextReadingSpeed:
+ if (_vm->getFeatures() & GF_CD_FX)
textId = kTextOn;
- break;
- case kTextSound:
- textId = kTextOn;
- break;
+ else
+ textId = kTextFast;
+ break;
+ case kTextMusic:
+ textId = kTextOn;
+ break;
+ case kTextSound:
+ textId = kTextOn;
+ break;
}
text = _vm->getTextString(textId);
diff --git a/saga/itedata.cpp b/saga/itedata.cpp
index c6a9327308..cda9ec2d87 100644
--- a/saga/itedata.cpp
+++ b/saga/itedata.cpp
@@ -334,7 +334,7 @@ FxTable ITE_SfxTable[ITE_SFXCOUNT] = {
{ FX_CROWD_17, 64 }
};
-const char *ITEinterfaceTextStrings[][50] = {
+const char *ITEinterfaceTextStrings[][51] = {
{
"Walk to", "Look At", "Pick Up", "Talk to", "Open",
"Close", "Use", "Give", "Options", "Test",
@@ -350,7 +350,8 @@ const char *ITEinterfaceTextStrings[][50] = {
"I see nothing special about it.",
"There's no place to open it.",
"There's no opening to close.",
- "I don't know how to do that."
+ "I don't know how to do that.",
+ "Show Dialog"
},
// German
{
@@ -359,16 +360,17 @@ const char *ITEinterfaceTextStrings[][50] = {
"Demo", "Hilfe", "Spiel beenden", "S", "L",
"An", "Aus", "Weiterspielen", "Laden", "Sichern",
"Spieleoptionen", "Lesegeschw.", "Musik", "Sound", "Abbr.",
- "Beenden", NULL, "M", "Klick", NULL,
- NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, "Spiel beenden?",
+ "Beenden", NULL, "M", "Klick", "10%",
+ "20%", "30%", "40%", "50%", "60%",
+ "70%", "80%", "90%", "Max", "Spiel beenden?",
"Spielstand geladen!", "Bitte Namen eingeben", "Gib %s zu %s", "Benutze %s mit %s",
"[Neuer Spielstand]",
"Das kann ich nicht aufnehmen.",
"Ich sehe nichts besonderes.",
"Das kann man nicht \224ffnen.",
"Hier ist keine \231ffnung zum Schlie$en.",
- "Ich wei$ nicht, wie ich das machen soll."
+ "Ich wei$ nicht, wie ich das machen soll.",
+ "Text zeigen"
}
};
diff --git a/saga/itedata.h b/saga/itedata.h
index a06127dffc..828cd30151 100644
--- a/saga/itedata.h
+++ b/saga/itedata.h
@@ -87,7 +87,7 @@ struct FxTable {
extern ObjectTableData ITE_ObjectTable[ITE_OBJECTCOUNT];
extern FxTable ITE_SfxTable[ITE_SFXCOUNT];
-extern const char *ITEinterfaceTextStrings[][50];
+extern const char *ITEinterfaceTextStrings[][51];
} // End of namespace Saga
diff --git a/saga/saga.cpp b/saga/saga.cpp
index 44ce9bf9dd..52c326a971 100644
--- a/saga/saga.cpp
+++ b/saga/saga.cpp
@@ -405,23 +405,23 @@ void SagaEngine::getExcuseInfo(int verb, const char *&textString, int &soundReso
textString = NULL;
switch (verb) {
case kVerbPickUp:
- textString = getTextString(45);
+ textString = getTextString(kTextICantPickup);
soundResourceId = RID_BOAR_VOICE_007;
break;
case kVerbLookAt:
- textString = getTextString(46);
+ textString = getTextString(kTextNothingSpecial);
soundResourceId = RID_BOAR_VOICE_006;
break;
case kVerbOpen:
- textString = getTextString(47);
+ textString = getTextString(kTextNoPlaceToOpen);
soundResourceId = RID_BOAR_VOICE_000;
break;
case kVerbClose:
- textString = getTextString(48);
+ textString = getTextString(kTextNoOpening);
soundResourceId = RID_BOAR_VOICE_002;
break;
case kVerbUse:
- textString = getTextString(49);
+ textString = getTextString(kTextDontKnow);
soundResourceId = RID_BOAR_VOICE_005;
break;
}
diff --git a/saga/saga.h b/saga/saga.h
index d5f725675a..1ffb0e6697 100644
--- a/saga/saga.h
+++ b/saga/saga.h
@@ -209,7 +209,16 @@ enum TextStringIds {
kTextMax,
kTextQuitTheGameQuestion,
kTextLoadSuccessful,
- kTextEnterSaveGameName
+ kTextEnterSaveGameName,
+ kTextGiveTo,
+ kTextUseWidth,
+ kTextNewSave,
+ kTextICantPickup,
+ kTextNothingSpecial,
+ kTextNoPlaceToOpen,
+ kTextNoOpening,
+ kTextDontKnow,
+ kTextShowDialog
};
struct ImageHeader {
diff --git a/saga/saveload.cpp b/saga/saveload.cpp
index 4086e07c26..5bfe583ff5 100644
--- a/saga/saveload.cpp
+++ b/saga/saveload.cpp
@@ -64,7 +64,7 @@ SaveFileData *SagaEngine::getSaveFile(uint idx) {
return &_saveFiles[_saveFilesCount - idx - 1];
} else {
if (!emptySlot.name[0])
- strcpy(emptySlot.name, getTextString(44));
+ strcpy(emptySlot.name, getTextString(kTextNewSave));
return (idx == 0) ? &emptySlot : &_saveFiles[_saveFilesCount - idx];
}
diff --git a/saga/script.cpp b/saga/script.cpp
index 0c476758e4..745cb22f0f 100644
--- a/saga/script.cpp
+++ b/saga/script.cpp
@@ -311,11 +311,11 @@ void Script::showVerb(int statusColor) {
}
if (_leftButtonVerb == kVerbGive) {
- snprintf(statusString, STATUS_TEXT_LEN, _vm->getTextString(42), object1Name, object2Name);
+ snprintf(statusString, STATUS_TEXT_LEN, _vm->getTextString(kTextGiveTo), object1Name, object2Name);
_vm->_interface->setStatusText(statusString, statusColor);
} else {
if (_leftButtonVerb == kVerbUse) {
- snprintf(statusString, STATUS_TEXT_LEN, _vm->getTextString(43), object1Name, object2Name);
+ snprintf(statusString, STATUS_TEXT_LEN, _vm->getTextString(kTextUseWidth), object1Name, object2Name);
_vm->_interface->setStatusText(statusString, statusColor);
} else {
snprintf(statusString, STATUS_TEXT_LEN, "%s %s", verbName, object1Name);