aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2017-10-17 04:34:26 +0200
committerThierry Crozat2018-01-23 02:15:35 +0000
commited9d92407ec496922245b06c9b0372dc6e466f36 (patch)
treed56285c410c3517e9c93736e5601edcc6538b8a2
parent38fbda91895ae41c1d45a0d0a25b0d1c21def21f (diff)
downloadscummvm-rg350-ed9d92407ec496922245b06c9b0372dc6e466f36.tar.gz
scummvm-rg350-ed9d92407ec496922245b06c9b0372dc6e466f36.tar.bz2
scummvm-rg350-ed9d92407ec496922245b06c9b0372dc6e466f36.zip
SUPERNOVA: Extract more dialog texts
-rw-r--r--devtools/create_supernova/gametext.h144
-rw-r--r--engines/supernova/msn_def.h13
-rw-r--r--engines/supernova/rooms.cpp73
-rw-r--r--engines/supernova/rooms.h56
-rw-r--r--engines/supernova/state.cpp4
-rw-r--r--engines/supernova/state.h1
6 files changed, 181 insertions, 110 deletions
diff --git a/devtools/create_supernova/gametext.h b/devtools/create_supernova/gametext.h
index 5c5ecc08ad..f385c76dc9 100644
--- a/devtools/create_supernova/gametext.h
+++ b/devtools/create_supernova/gametext.h
@@ -444,60 +444,114 @@ const char *gameText[] = {
"Beim Aufprall des Raumschiffs|mu\341t du mit dem Kopf aufgeschlagen|und bewu\341tlos geworden sein.", // kStringShipSleepCabin15
"Was steht dir jetzt wohl wirklich bevor?", // kStringShipSleepCabin16
// 340
- "Geschwindigkeit: ",
- "8000 hpm",
- "0 hpm",
- "Ziel: Arsano 3",
- "Entfernung: ",
+ "Geschwindigkeit: ", // kStringShipCockpit1
+ "8000 hpm", // kStringShipCockpit2
+ "0 hpm", // kStringShipCockpit3
+ "Ziel: Arsano 3", // kStringShipCockpit4
+ "Entfernung: ", // kStringShipCockpit5
//345
- " Lichtjahre",
- "Dauer der Reise bei momentaner Geschwindigkeit:",
- " Tage",
- "Vergi\341 nicht, du bist nur der|Schiffskoch und hast keine Ahnung,|wie man ein Raumschiff fliegt.",
- "Achtung: Triebwerke funktionsunf\204hig",
+ " Lichtjahre", // kStringShipCockpit6
+ "Dauer der Reise bei momentaner Geschwindigkeit:", // kStringShipCockpit7
+ " Tage", // kStringShipCockpit8
+ "Vergi\341 nicht, du bist nur der|Schiffskoch und hast keine Ahnung,|wie man ein Raumschiff fliegt.", // kStringShipCockpit9
+ "Achtung: Triebwerke funktionsunf\204hig", // kStringShipCockpit10
//350
- "Energievorrat ersch\224pft",
- "Notstromversorgung aktiv",
- "Was?! Keiner im Cockpit!|Die sind wohl verr\201ckt!",
- "Du hast die Platte schon aufgelegt.",
- "Es ist doch gar keine Platte aufgelegt.",
+ "Energievorrat ersch\224pft", // kStringShipCockpit11
+ "Notstromversorgung aktiv", // kStringShipCockpit12
+ "Was?! Keiner im Cockpit!|Die sind wohl verr\201ckt!", // kStringShipCockpit13
+ "Du hast die Platte schon aufgelegt.", // kStringShipCabinL3_1
+ "Es ist doch gar keine Platte aufgelegt.", // kStringShipCabinL3_2
//355
- "Die Platte scheint einen Sprung zu haben.",
- "Schneid doch besser ein|l\204ngeres St\201ck Kabel ab!",
- "Das ist befestigt.",
- "Zu niedriger Luftdruck soll ungesund sein.",
- "Er zeigt Null an.",
+ "Die Platte scheint einen Sprung zu haben.", // kStringShipCabinL3_3
+ "Schneid doch besser ein|l\204ngeres St\201ck Kabel ab!", // kStringShipCabinL3_4
+ "Das ist befestigt.", // kStringShipCabinL3_5
+ "Zu niedriger Luftdruck soll ungesund sein.", // kStringShipAirlock1
+ "Er zeigt Null an.", // kStringShipAirlock2
//360
- "Er zeigt Normaldruck an.",
- "Komisch, es ist nur|noch ein Raumanzug da.",
- "Du mu\341t erst hingehen.",
- "Das Kabel ist im Weg.",
- "Das Kabel ist schon ganz|richtig an dieser Stelle.",
+ "Er zeigt Normaldruck an.", // kStringShipAirlock3
+ "Komisch, es ist nur|noch ein Raumanzug da.", // kStringShipAirlock4
+ "Du mu\341t erst hingehen.", // kStringShipHold1
+ "Das Kabel ist im Weg.", // kStringCable1
+ "Das Kabel ist schon ganz|richtig an dieser Stelle.", // kStringCable2
//365
- "Womit denn?",
- "Die Leitung ist zu kurz.",
- "Was ist denn das f\201r ein Chaos?|Und au\341erdem fehlt das Notraumschiff!|Jetzt wird mir einiges klar.|Die anderen sind gefl\201chtet,|und ich habe es verpennt.",
- "Es ist nicht spitz genug.",
- "Du wirst aus den Anzeigen nicht schlau.",
+ "Womit denn?", // kStringCable3
+ "Die Leitung ist zu kurz.", // kStringCable4
+ "Was ist denn das f\201r ein Chaos?|Und au\341erdem fehlt das Notraumschiff!|Jetzt wird mir einiges klar.|Die anderen sind gefl\201chtet,|und ich habe es verpennt.", // kStringShipHold2
+ "Es ist nicht spitz genug.", // kStringShipHold3
+ "Du wirst aus den Anzeigen nicht schlau.", // kStringShipHold4
//370
- "La\341 lieber die Finger davon!",
- "An dem Kabel ist doch gar kein Stecker.",
- "Du solltest die Luke vielleicht erst \224ffnen.",
- "Das Seil ist im Weg.",
- "Das ist geschlossen.",
+ "La\341 lieber die Finger davon!", // kStringShipHold5
+ "An dem Kabel ist doch gar kein Stecker.", // kStringShipHold6
+ "Du solltest die Luke vielleicht erst \224ffnen.", // kStringShipHold7
+ "Das Seil ist im Weg.", // kStringShipHold8
+ "Das ist geschlossen.", // kStringShipHold9
//375
- "Das geht nicht.|Die Luke ist mindestens|5 Meter \201ber dem Boden.",
- "Was n\201tzt dir der Anschlu\341|ohne eine Stromquelle?!",
- "Die Spannung ist auf Null abgesunken.",
- "Es zeigt volle Spannung an.",
- "Du mu\341t die Luke erst \224ffnen.",
+ "Das geht nicht.|Die Luke ist mindestens|5 Meter \201ber dem Boden.", // kStringShipHold10
+ "Was n\201tzt dir der Anschlu\341|ohne eine Stromquelle?!", // kStringShipHold11
+ "Die Spannung ist auf Null abgesunken.", // kStringShipHold12
+ "Es zeigt volle Spannung an.", // kStringShipHold13
+ "Du mu\341t die Luke erst \224ffnen.", // kStringShipHold14
//380
- "Das Seil ist hier schon ganz richtig.",
- "Das Kabel ist zu kurz.",
- "",
- "",
- "",
+ "Das Seil ist hier schon ganz richtig.", // kStringShipHold15
+ "Das Kabel ist zu kurz.", // kStringShipHold16
+ "Die Raumschifft sind alle verschlossen.", // kStringArsanoMeetup1
+ "Unsinn!", // kStringArsanoMeetup2
+ "Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Treffpunkt Galactica\".", // kStringArsanoMeetup3
//385
+ "Durch deinen Helm kannst|du nicht sprechen.", // kStringArsanoEntrance1
+ "Wo soll ich die Schuhe ablegen?", // kStringArsanoEntrance2
+ "Was, das wissen Sie nicht?", // kStringArsanoEntrance3
+ "Sie befinden sich im Restaurant|\"Treffpunkt Galactica\".", // kStringArsanoEntrance4
+ "Wir sind bei den interessantesten|Ereignissen in der Galaxis|immer zur Stelle.", // kStringArsanoEntrance5
+ //390
+ "Wenn Sie meinen.", // kStringArsanoEntrance6
+ "In der Toilette gibt es|Schlie\341f\204cher f\201r Schuhe.", // kStringArsanoEntrance7
+ "Wenn Sie das Lokal betreten|wollen, m\201ssen Sie erst|ihre Schuhe ausziehen.", // kStringArsanoEntrance8
+ "Wollen Sie, da\341 ich Sie rau\341schmei\341e?", // kStringArsanoEntrance9
+ "Hhius otgfh Dgfdrkjlh Fokj gf.", // kStringArsanoEntrance10
+ //395
+ "Halt!", // kStringArsanoEntrance11
+ "Uhwdejkt!", // kStringArsanoEntrance12
+ "Sie m\201ssen erst ihre Schuhe ausziehen, Sie Trottel!", // kStringArsanoEntrance13
+ "Was f\204llt ihnen ein!|Sie k\224nnen doch ein Lokal|nicht mit Schuhen betreten!", // kStringArsanoEntrance14
+ "Fragen Sie nicht so doof!", // kStringArsanoEntrance15
+ // 400
+ "Das w\201rde ich an ihrer|Stelle nicht versuchen!", // kStringArsanoEntrance16
+ "Du ziehst deine Schuhe|aus und legst sie in|eins der Schlie\341f\204cher.", // kStringArsanoEntrance17
+ "Du ziehst deine Schuhe wieder an.", // kStringArsanoEntrance18
+ "Du durchsuchst die Klos nach|anderen brauchbaren Sachen,|findest aber nichts.", // kStringArsanoEntrance19
+ "Bevor du aufs Klo gehst,|solltest du besser deinen|Raumanzug ausziehen.", // kStringArsanoEntrance20
+ // 405
+ "Du gehst seit sieben Jahren das|erste Mal wieder aufs Klo!", // kStringArsanoEntrance21
+ "In einem der Schlie\341f\204cher,|die sich auch im Raum befinden,|findest du einige M\201nzen.", // kStringArsanoEntrance22
+ "Mach doch zuerst das Fach leer!", // kStringArsanoEntrance23
+ "Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Zutritt nur f\201r Personal\".", // kStringArsanoEntrance24
+ "Komisch! Auf einmal kannst|du das Schild lesen!|Darauf steht:\"Toilette\".", // kStringArsanoEntrance25
+ // 410
+ "Du ziehst den Raumanzug wieder an.", // kStringArsanoEntrance26
+ "Nicht so gewaltt\204tig!", // kStringArsanoEntrance27
+ "Wo bin ich hier?", // kStringArsanoDialog1
+ "Sch\224nes Wetter heute, nicht wahr?", // kStringArsanoDialog2
+ "W\201rden Sie mich bitte durchlassen.", // kStringArsanoDialog3
+ // 415
+ "Hey Alter, la\341 mich durch!", // kStringArsanoDialog4
+ "Was haben Sie gesagt?", // kStringArsanoDialog5
+ "Sprechen Sie bitte etwas deutlicher!", // kStringArsanoDialog6
+ "Wieso das denn nicht?", // kStringArsanoDialog7
+ "Wo soll ich die Schuhe ablegen?", // kStringArsanoDialog8
+ // 420
+ "Schwachsinn! Ich gehe jetzt nach oben!", // kStringArsanoDialog9
+ "|", // kStringDialogSeparator
+ "K\224nnten Sie mir ein Gericht empfehlen?", // kStringDialogArsanoRoger1
+ "Wie lange dauert es denn noch bis zur Supernova?", // kStringDialogArsanoRoger2
+ "Sie kommen mir irgendwie bekannt vor.", // kStringDialogArsanoRoger3
+ // 425
+ "Was wollen Sie von mir?", // kStringDialogArsanoMeetup3_1
+ "Hilfe!!", // kStringDialogArsanoMeetup3_2
+ "Warum sprechen Sie meine Sprache?", // kStringDialogArsanoMeetup3_3
+ "Ja, ich bin einverstanden.", // kStringDialogArsanoMeetup3_4
+ "Nein, lieber bleibe ich hier, als mit Ihnen zu fliegen.", // kStringDialogArsanoMeetup3_5
+ // 430
NULL
};
diff --git a/engines/supernova/msn_def.h b/engines/supernova/msn_def.h
index ba9eff361b..d30aec1fe9 100644
--- a/engines/supernova/msn_def.h
+++ b/engines/supernova/msn_def.h
@@ -489,7 +489,18 @@ enum StringID {
kStringShipHold5, kStringShipHold6, kStringShipHold7, kStringShipHold8, kStringShipHold9,
// 375
kStringShipHold10, kStringShipHold11, kStringShipHold12, kStringShipHold13, kStringShipHold14,
- kStringShipHold15, kStringShipHold16
+ kStringShipHold15, kStringShipHold16, kStringArsanoMeetup1, kStringArsanoMeetup2, kStringArsanoMeetup3,
+ kStringArsanoEntrance1, kStringArsanoEntrance2, kStringArsanoEntrance3, kStringArsanoEntrance4, kStringArsanoEntrance5,
+ kStringArsanoEntrance6, kStringArsanoEntrance7, kStringArsanoEntrance8, kStringArsanoEntrance9, kStringArsanoEntrance10,
+ kStringArsanoEntrance11, kStringArsanoEntrance12, kStringArsanoEntrance13, kStringArsanoEntrance14, kStringArsanoEntrance15,
+ // 400
+ kStringArsanoEntrance16, kStringArsanoEntrance17, kStringArsanoEntrance18, kStringArsanoEntrance19, kStringArsanoEntrance20,
+ kStringArsanoEntrance21, kStringArsanoEntrance22, kStringArsanoEntrance23, kStringArsanoEntrance24, kStringArsanoEntrance25,
+ kStringArsanoEntrance26, kStringArsanoEntrance27, kStringArsanoDialog1, kStringArsanoDialog2, kStringArsanoDialog3,
+ kStringArsanoDialog4, kStringArsanoDialog5, kStringArsanoDialog6, kStringArsanoDialog7, kStringArsanoDialog8,
+ kStringArsanoDialog9, kStringDialogSeparator, kStringDialogArsanoRoger1, kStringDialogArsanoRoger2, kStringDialogArsanoRoger3,
+ // 425
+ kStringDialogArsanoMeetup3_1, kStringDialogArsanoMeetup3_2, kStringDialogArsanoMeetup3_3, kStringDialogArsanoMeetup3_4, kStringDialogArsanoMeetup3_5
};
static StringID guiCommands[] = {
diff --git a/engines/supernova/rooms.cpp b/engines/supernova/rooms.cpp
index 77d6efaa3f..cdcc29592e 100644
--- a/engines/supernova/rooms.cpp
+++ b/engines/supernova/rooms.cpp
@@ -1489,12 +1489,12 @@ bool ArsanoMeetup::interact(Action verb, Object &obj1, Object &obj2) {
if ((verb == ACTION_WALK) &&
((obj1._id == SPACESHIPS) ||
((obj1._id == SPACESHIP) && !obj1.hasProperty(OPENED)))) {
- _vm->renderMessage("Die Raumschifft sind alle verschlossen.");
+ _vm->renderMessage(kStringArsanoMeetup1);
} else if ((verb == ACTION_WALK) && (obj1._id == SPACESHIP)) {
_gm->changeRoom(GLIDER);
_gm->_newRoom = true;
} else if ((verb == ACTION_WALK) && (obj1._id == STAR)) {
- _vm->renderMessage("Unsinn!");
+ _vm->renderMessage(kStringArsanoMeetup2);
} else if ((verb == ACTION_LOOK) && (obj1._id == STAR)) {
_vm->renderImage(26, 0);
_vm->paletteBrightness();
@@ -1515,7 +1515,7 @@ bool ArsanoMeetup::interact(Action verb, Object &obj1, Object &obj2) {
return false;
} else if ((verb == ACTION_LOOK) && (obj1._id == MEETUP_SIGN) && _gm->_state._language) {
if (_gm->_state._language == 2)
- _vm->renderMessage("Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Treffpunkt Galactica\".");
+ _vm->renderMessage(kStringArsanoMeetup3);
obj1._description = kStringSignDescription2;
if (_gm->_state._language == 1)
@@ -1576,43 +1576,43 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
if ((verb == ACTION_TALK) && (obj1._id == PORTER)) {
if (_gm->_rooms[AIRLOCK]->getObject(4)->hasProperty(WORN)) {
- _vm->renderMessage("Durch deinen Helm kannst|du nicht sprechen.");
+ _vm->renderMessage(kStringArsanoEntrance1);
} else {
if (_gm->_state._language) {
do {
if (_gm->_state._shoes == 1) {
- _dialog2[2] = "Wo soll ich die Schuhe ablegen?";
+ _dialog2[2] = kStringArsanoEntrance2;
_gm->addSentence(2, 2);
} else if (_gm->_state._shoes > 1) {
_gm->removeSentence(2, 2);
}
switch (e = _gm->dialog(5, nullptr, nullptr, 2)) { // row2, dialog2
case 0:
- _gm->reply("Was, das wissen Sie nicht?", 1, _gm->invertSection(1));
- _gm->reply("Sie befinden sich im Restaurant|\"Treffpunkt Galactica\".", 1, _gm->invertSection(1));
- _gm->reply("Wir sind bei den interessantesten|Ereignissen in der Galaxis|immer zur Stelle.", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance3, 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance4, 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance5, 1, _gm->invertSection(1));
_gm->removeSentence(1, 1);
break;
case 1:
- _gm->reply("Wenn Sie meinen.", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance6, 1, _gm->invertSection(1));
_gm->addSentence(1, 2);
break;
case 2:
if (_gm->_state._shoes == 1) {
- _gm->reply("In der Toilette gibt es|Schlie\341f\204cher f\201r Schuhe.", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance7, 1, _gm->invertSection(1));
_gm->_state._shoes = 2;
} else {
- _gm->reply("Wenn Sie das Lokal betreten|wollen, m\201ssen Sie erst|ihre Schuhe ausziehen.", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance8, 1, _gm->invertSection(1));
_gm->_state._shoes = 1;
}
break;
case 3:
- _gm->reply("Wollen Sie, da\341 ich Sie rau\341schmei\341e?", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance9, 1, _gm->invertSection(1));
}
} while (e != 4);
} else {
if (_gm->dialog(5, nullptr, nullptr, 0) != 4) // row2, dialog2
- _gm->reply("Hhius otgfh Dgfdrkjlh Fokj gf.", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance10, 1, _gm->invertSection(1));
}
}
} else if ((verb == ACTION_WALK) && (obj1._id == STAIRCASE) && (_gm->_state._shoes != 3)) {
@@ -1623,9 +1623,9 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
if (_gm->_rooms[AIRLOCK]->getObject(4)->hasProperty(WORN))
_gm->reply("|", 1, _gm->invertSection(1));
else if (_gm->_state._language)
- _gm->reply("Halt!", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance11, 1, _gm->invertSection(1));
else
- _gm->reply("Uhwdejkt!", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance12, 1, _gm->invertSection(1));
_gm->drawImage(3);
setSectionVisible(4, false);
_gm->wait2(2);
@@ -1633,23 +1633,23 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
if (!_gm->_rooms[AIRLOCK]->getObject(4)->hasProperty(WORN)) {
if (_gm->_state._language) {
if (_gm->_state._shoes)
- _gm->reply("Sie m\201ssen erst ihre Schuhe ausziehen, Sie Trottel!", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance13, 1, _gm->invertSection(1));
else
- _gm->reply("Was f\204llt ihnen ein!|Sie k\224nnen doch ein Lokal|nicht mit Schuhen betreten!", 1, _gm->invertSection(1));
+ _gm->reply(kStringArsanoEntrance14, 1, _gm->invertSection(1));
e = 0;
while ((e < 3) && (_shown[kMaxSection - 1] != 15)) {
switch (e = _gm->dialog(5, nullptr, nullptr, 1)) { // row1, dialog1
case 0:
- _gm->reply("Fragen Sie nicht so doof!", 1, 1 + 128);
+ _gm->reply(kStringArsanoEntrance15, 1, 1 + 128);
break;
case 1:
- _gm->reply("Was, das wissen Sie nicht?", 1, 1 + 128);
- _gm->reply("Sie befinden sich im Restaurant|\"Treffpunkt Galactica\".", 1, 1 + 128);
- _gm->reply("Wir sind bei den interessantesten|Ereignissen in der Galaxis|immer zur Stelle.", 1, 1 + 128);
+ _gm->reply(kStringArsanoEntrance3, 1, 1 + 128);
+ _gm->reply(kStringArsanoEntrance4, 1, 1 + 128);
+ _gm->reply(kStringArsanoEntrance5, 1, 1 + 128);
_gm->removeSentence(0, 2);
break;
case 2:
- _gm->reply("In der Toilette gibt es|Schlie\341f\204cher f\201r Schuhe.", 1, 1 + 128);
+ _gm->reply(kStringArsanoEntrance7, 1, 1 + 128);
_gm->_state._shoes = 2;
break;
case 3:
@@ -1657,7 +1657,7 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
_gm->wait2(2);
_gm->drawImage(4);
setSectionVisible(3, false);
- _gm->reply("Das w\201rde ich an ihrer|Stelle nicht versuchen!", 1, 1 + 128);
+ _gm->reply(kStringArsanoEntrance16, 1, 1 + 128);
_gm->drawImage(3);
setSectionVisible(4, false);
_gm->wait2(2);
@@ -1668,7 +1668,7 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
}
} else {
_gm->dialog(2, nullptr, nullptr, 0); // row3, dialog3
- _gm->reply("Hhius otgfh Dgfdrkjlh Fokj gf.", 1, 1 + 128);
+ _gm->reply(kStringArsanoEntrance10, 1, 1 + 128);
}
}
} else if ((verb == ACTION_PRESS) && (obj1._id == BATHROOM_BUTTON)) {
@@ -1690,23 +1690,23 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
} else if ((verb == ACTION_WALK) && (obj1._id == ARSANO_BATHROOM)) {
if (_gm->_state._coins) {
if (_gm->_state._shoes == 2) {
- _vm->renderMessage("Du ziehst deine Schuhe|aus und legst sie in|eins der Schlie\341f\204cher.");
+ _vm->renderMessage(kStringArsanoEntrance17);
_gm->_state._shoes = 3;
_gm->removeSentence(2, 2);
_gm->removeSentence(3, 2);
} else if (_gm->_state._shoes == 3) {
- _vm->renderMessage("Du ziehst deine Schuhe wieder an.");
+ _vm->renderMessage(kStringArsanoEntrance18);
_gm->_state._shoes = 2;
} else
- _vm->renderMessage("Du durchsuchst die Klos nach|anderen brauchbaren Sachen,|findest aber nichts.");
+ _vm->renderMessage(kStringArsanoEntrance19);
} else {
if (_gm->_rooms[AIRLOCK]->getObject(5)->hasProperty(WORN))
- _vm->renderMessage("Bevor du aufs Klo gehst,|solltest du besser deinen|Raumanzug ausziehen.");
+ _vm->renderMessage(kStringArsanoEntrance20);
else {
- _vm->renderMessage("Du gehst seit sieben Jahren das|erste Mal wieder aufs Klo!");
+ _vm->renderMessage(kStringArsanoEntrance21);
_gm->mouseWait(_gm->_timer1);
_vm->removeMessage();
- _vm->renderMessage("In einem der Schlie\341f\204cher,|die sich auch im Raum befinden,|findest du einige M\201nzen.");
+ _vm->renderMessage(kStringArsanoEntrance22);
_gm->takeObject(*getObject(16));
_gm->_state._coins = 5;
}
@@ -1716,7 +1716,7 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
_shown[kMaxSection - 5] = kShownTrue;
} else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, COINS, CAR_SLOT)) {
if ((_gm->_state._coins < 5) && (getObject(7 - _gm->_state._coins)->_click == 7))
- _vm->renderMessage("Mach doch zuerst das Fach leer!");
+ _vm->renderMessage(kStringArsanoEntrance23);
else {
_gm->drawImage(15 - _gm->_state._coins);
getObject(8 - _gm->_state._coins)->_click = 7;
@@ -1731,14 +1731,14 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
}
} else if ((verb == ACTION_LOOK) && (obj1._id == KITCHEN_SIGN) && _gm->_state._language) {
if (_gm->_state._language == 2)
- _vm->renderMessage("Komisch! Auf einmal kannst du|das Schild lesen! Darauf steht:|\"Zutritt nur f\201r Personal\".");
+ _vm->renderMessage(kStringArsanoEntrance24);
obj1._description = kStringDoorDescription5;
if (_gm->_state._language == 1)
return false;
_gm->_state._language = 1;
} else if ((verb == ACTION_LOOK) && (obj1._id == BATHROOM_SIGN) && _gm->_state._language) {
if (_gm->_state._language == 2)
- _vm->renderMessage("Komisch! Auf einmal kannst|du das Schild lesen!|Darauf steht:\"Toilette\".");
+ _vm->renderMessage(kStringArsanoEntrance25);
obj1._description = kStringDoorDescription6;
if (_gm->_state._language == 1)
return false;
@@ -1747,7 +1747,7 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
if (!((_gm->_rooms[AIRLOCK]->getObject(4)->hasProperty(WORN)) &&
(_gm->_rooms[AIRLOCK]->getObject(5)->hasProperty(WORN)) &&
(_gm->_rooms[AIRLOCK]->getObject(6)->hasProperty(WORN)))) {
- _vm->renderMessage("Du ziehst den Raumanzug wieder an.");
+ _vm->renderMessage(kStringArsanoEntrance26);
getObject(4)->setProperty(WORN);
getObject(5)->setProperty(WORN);
getObject(6)->setProperty(WORN);
@@ -1756,9 +1756,10 @@ bool ArsanoEntrance::interact(Action verb, Object &obj1, Object &obj2) {
}
return false;
} else if ((verb == ACTION_USE) && Object::combine(obj1, obj2, KNIFE, PORTER))
- _vm->renderMessage("Nicht so gewaltt\204tig!");
+ _vm->renderMessage(kStringArsanoEntrance27);
else
return false;
+
return true;
}
@@ -2251,7 +2252,7 @@ bool ArsanoMeetup3::interact(Action verb, Object &obj1, Object &obj2) {
byte zeilen3[2] = {1, 1};
if ((verb == ACTION_WALK) && (obj1._id == STAR))
- _vm->renderMessage("Unsinn!");
+ _vm->renderMessage(kStringArsanoMeetup2);
else if ((verb == ACTION_LOOK) && (obj1._id == STAR)) {
_vm->renderImage(26, 0);
_vm->paletteBrightness();
diff --git a/engines/supernova/rooms.h b/engines/supernova/rooms.h
index 6e570efac7..8e857e889e 100644
--- a/engines/supernova/rooms.h
+++ b/engines/supernova/rooms.h
@@ -625,20 +625,20 @@ public:
_objectState[16] = Object(_id, kStringCoins,kStringCoinsDescription,COINS,TAKE|COMBINABLE,255,255,0);
_objectState[17] = Object(_id, kStringTabletPackage,kStringTabletPackageDescription,PILL_HULL,TAKE,255,255,0);
- _dialog1[0] = "Wieso das denn nicht?";
- _dialog1[1] = "Wo bin ich hier?";
- _dialog1[2] = "Wo soll ich die Schuhe ablegen?";
- _dialog1[3] = "Schwachsinn! Ich gehe jetzt nach oben!";
- _dialog1[4] = "|";
+ _dialog1[0] = kStringArsanoDialog7;
+ _dialog1[1] = kStringArsanoDialog1;
+ _dialog1[2] = kStringArsanoDialog8;
+ _dialog1[3] = kStringArsanoDialog9;
+ _dialog1[4] = kStringDialogSeparator;
- _dialog2[0] = "Wo bin ich hier?";
- _dialog2[1] = "Sch\224nes Wetter heute, nicht wahr?";
- _dialog2[2] = "W\201rden Sie mich bitte durchlassen.";
- _dialog2[3] = "Hey Alter, la\341 mich durch!";
- _dialog2[4] = "|";
+ _dialog2[0] = kStringArsanoDialog1;
+ _dialog2[1] = kStringArsanoDialog2;
+ _dialog2[2] = kStringArsanoDialog3;
+ _dialog2[3] = kStringArsanoDialog4;
+ _dialog2[4] = kStringDialogSeparator;
- _dialog3[0] = "Was haben Sie gesagt?";
- _dialog3[1] = "Sprechen Sie bitte etwas deutlicher!";
+ _dialog3[0] = kStringArsanoDialog5;
+ _dialog3[1] = kStringArsanoDialog6;
_eyewitness = 5;
}
@@ -647,9 +647,9 @@ public:
virtual void animation();
private:
- Common::String _dialog1[5];
- Common::String _dialog2[5];
- Common::String _dialog3[5];
+ StringID _dialog1[5];
+ StringID _dialog2[5];
+ StringID _dialog3[5];
byte _eyewitness;
};
class ArsanoRemaining : public Room {
@@ -695,10 +695,10 @@ public:
_objectState[7] = Object(_id, kStringBill,kStringBillDescription,NULLOBJECT,TAKE|COMBINABLE,255,255,0);
_objectState[8] = Object(_id, kStringKeycard3,kStringDefaultDescription,KEYCARD_R,TAKE|COMBINABLE,255,255,0);
- _dialog1[0] = "K\224nnten Sie mir ein Gericht empfehlen?";
- _dialog1[1] = "Wie lange dauert es denn noch bis zur Supernova?";
- _dialog1[2] = "Sie kommen mir irgendwie bekannt vor.";
- _dialog1[3] = "|";
+ _dialog1[0] = kStringDialogArsanoRoger1;
+ _dialog1[1] = kStringDialogArsanoRoger2;
+ _dialog1[2] = kStringDialogArsanoRoger3;
+ _dialog1[3] = kStringDialogSeparator;
_eyewitness = 5;
}
@@ -708,7 +708,7 @@ public:
virtual bool interact(Action verb, Object &obj1, Object &obj2);
private:
- Common::String _dialog1[4];
+ StringID _dialog1[4];
byte _eyewitness;
byte _hands;
};
@@ -793,19 +793,19 @@ public:
_objectState[1] = Object(_id, kStringStar,kStringDefaultDescription,STAR,NULLTYPE,1,1,0);
_objectState[2] = Object(_id, kStringCave,kStringDefaultDescription,NULLOBJECT,EXIT,255,255,0,CAVE,22);
- _dialog2[0] = "Wo bin ich hier?";
- _dialog2[1] = "Was wollen Sie von mir?";
- _dialog2[2] = "Hilfe!!";
- _dialog2[3] = "Warum sprechen Sie meine Sprache?";
- _dialog3[0] = "Ja, ich bin einverstanden.";
- _dialog3[1] = "Nein, lieber bleibe ich hier, als mit Ihnen zu fliegen.";
+ _dialog2[0] = kStringArsanoDialog1;
+ _dialog2[1] = kStringDialogArsanoMeetup3_1;
+ _dialog2[2] = kStringDialogArsanoMeetup3_2;
+ _dialog2[3] = kStringDialogArsanoMeetup3_3;
+ _dialog3[0] = kStringDialogArsanoMeetup3_4;
+ _dialog3[1] = kStringDialogArsanoMeetup3_5;
}
virtual bool interact(Action verb, Object &obj1, Object &obj2);
private:
- Common::String _dialog2[4];
- Common::String _dialog3[2];
+ StringID _dialog2[4];
+ StringID _dialog3[2];
};
// Axacuss
diff --git a/engines/supernova/state.cpp b/engines/supernova/state.cpp
index 2bbcb0a6b3..293f3d410e 100644
--- a/engines/supernova/state.cpp
+++ b/engines/supernova/state.cpp
@@ -787,6 +787,10 @@ void GameManager::say(const char *text) {
// STUB
}
+void GameManager::reply(StringID textId, int aus1, int aus2) {
+ // STUB
+}
+
void GameManager::reply(const char *text, int aus1, int aus2) {
// STUB
}
diff --git a/engines/supernova/state.h b/engines/supernova/state.h
index c4d1cf4166..f294f14f7c 100644
--- a/engines/supernova/state.h
+++ b/engines/supernova/state.h
@@ -185,6 +185,7 @@ public:
void removeSentence(int sentence, int number);
void addSentence(int sentence, int number);
void say(const char *text);
+ void reply(StringID textId, int aus1, int aus2);
void reply(const char *text, int aus1, int aus2);
void shipStart();
void shot(int a, int b);