Translate excuse messages and make them work on floppy versions. Earlier

it just crashed there.

svn-id: r18659
This commit is contained in:
Eugene Sandulenko 2005-08-11 15:28:08 +00:00
parent 3d4fe0470e
commit 801bb09bb5
4 changed files with 26 additions and 12 deletions

View File

@ -334,7 +334,7 @@ FxTable ITE_SfxTable[ITE_SFXCOUNT] = {
{ FX_CROWD_17, 64 }
};
const char *ITEinterfaceTextStrings[][45] = {
const char *ITEinterfaceTextStrings[][50] = {
{
"Walk to", "Look At", "Pick Up", "Talk to", "Open",
"Close", "Use", "Give", "Options", "Test",
@ -345,8 +345,12 @@ const char *ITEinterfaceTextStrings[][45] = {
"20%", "30%", "40%", "50%", "60%",
"70%", "80%", "90%", "Max", "Quit the Game?",
"Load Successful!", "Enter Save Game Name", "Give %s to %s", "Use %s with %s",
"[New Save Game]"
"[New Save Game]",
"I can't pick that up.",
"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."
},
// German
{
@ -359,7 +363,12 @@ const char *ITEinterfaceTextStrings[][45] = {
NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, "Spiel beenden?",
"Spielstand geladen!", "Bitte Namen eingeben", "Gib %s zu %s", "Benutze %s mit %s",
"[Neuer Spielstand]"
"[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."
}
};

View File

@ -87,7 +87,7 @@ struct FxTable {
extern ObjectTableData ITE_ObjectTable[ITE_OBJECTCOUNT];
extern FxTable ITE_SfxTable[ITE_SFXCOUNT];
extern const char *ITEinterfaceTextStrings[][45];
extern const char *ITEinterfaceTextStrings[][50];
} // End of namespace Saga

View File

@ -402,26 +402,26 @@ const char *SagaEngine::getTextString(int textStringId) {
}
void SagaEngine::getExcuseInfo(int verb, const char *&textString, int &soundResourceId) {
textString = NULL; // TODO: i18n it !
textString = NULL;
switch (verb) {
case kVerbPickUp:
textString = "I can't pick that up.";
textString = getTextString(45);
soundResourceId = RID_BOAR_VOICE_007;
break;
case kVerbLookAt:
textString = "I see nothing special about it.";
textString = getTextString(46);
soundResourceId = RID_BOAR_VOICE_006;
break;
case kVerbOpen:
textString = "There's no place to open it.";
textString = getTextString(47);
soundResourceId = RID_BOAR_VOICE_000;
break;
case kVerbClose:
textString = "There's no opening to close.";
textString = getTextString(48);
soundResourceId = RID_BOAR_VOICE_002;
break;
case kVerbUse:
textString = "I don't know how to do that.";
textString = getTextString(49);
soundResourceId = RID_BOAR_VOICE_005;
break;
}

View File

@ -431,8 +431,13 @@ void Script::doVerb() {
} else {
_vm->getExcuseInfo(_pendingVerb, excuseText, excuseSampleResourceId);
if (excuseText)
if (excuseText) {
// In Floppy versions we don't have excuse texts
if (!(_vm->getFeatures() & GF_CD_FX))
excuseSampleResourceId = -1;
_vm->_actor->actorSpeech(ID_PROTAG, &excuseText, 1, excuseSampleResourceId, 0);
}
}
if ((_currentVerb == kVerbWalkTo) || (_currentVerb == kVerbLookAt)) {