aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaromir Wysoglad2019-06-24 10:40:56 +0200
committerThierry Crozat2019-07-28 15:09:14 +0100
commitab4af5c61483c90d4ee9479a2e2ed4130a2cd90e (patch)
tree53786b92ace7c8c62a9238b0abd0edf1477c3d4d
parentb1f37566ea02a3e55fbe7d79e4d39d3655ca16de (diff)
downloadscummvm-rg350-ab4af5c61483c90d4ee9479a2e2ed4130a2cd90e.tar.gz
scummvm-rg350-ab4af5c61483c90d4ee9479a2e2ed4130a2cd90e.tar.bz2
scummvm-rg350-ab4af5c61483c90d4ee9479a2e2ed4130a2cd90e.zip
SUPERNOVA: Add info, doc, help screens for MS2
-rw-r--r--devtools/create_supernova/gametext.h23
-rw-r--r--devtools/create_supernova2/gametext.h15
-rw-r--r--dists/engine-data/supernova.datbin116547 -> 116547 bytes
-rw-r--r--dists/engine-data/supernova2.datbin79725 -> 80029 bytes
-rw-r--r--engines/supernova/game-manager.cpp15
-rw-r--r--engines/supernova/msn_def.h3
-rw-r--r--engines/supernova/supernova.cpp27
-rw-r--r--engines/supernova/supernova.h3
-rw-r--r--engines/supernova/supernova1/rooms.cpp1
-rw-r--r--engines/supernova/supernova1/rooms.h1
-rw-r--r--engines/supernova/supernova1/stringid.h7
-rw-r--r--engines/supernova/supernova2/rooms.cpp10
-rw-r--r--engines/supernova/supernova2/stringid.h8
13 files changed, 76 insertions, 37 deletions
diff --git a/devtools/create_supernova/gametext.h b/devtools/create_supernova/gametext.h
index 1963d5edf4..2e7f8d358c 100644
--- a/devtools/create_supernova/gametext.h
+++ b/devtools/create_supernova/gametext.h
@@ -64,6 +64,17 @@ const char *gameText[] = {
"Es ist nichts Besonderes daran.", // kStringDefaultDescription
"|", // kStringDialogSeparator
"Gespr\204ch beenden", // kStringConversationEnd
+ "F1 Hilfe", // kStringHelpOverview1
+ "F2 Anleitung", // kStringHelpOverview2
+ "F3 Programminformationen", //kStringHelpOverview3
+ "F4 Textgeschwindigkeit", //kStringHelpOverview4
+ "F5 Laden / Speichern", // kStringHelpOverview5
+ "ESC Vorspann \201berspringen", // kStringHelpOverview6
+ "Alt-X Programm abbrechen", // kStringHelpOverview7
+ "Textgeschwindigkeit:", // kStringTextSpeed
+ "Spiel abbrechen?", // kStringLeaveGame
+ "Ja", // kStringYes
+ "Nein", // kStringNo
// 20
"V2.02", // kStringTitleVersion
"Teil 1:", // kStringTitle1
@@ -786,7 +797,6 @@ const char *gameText[] = {
"Und jetzt raus mit Ihnen!", // kStringSupernova7
"Zehn Minuten sp\204ter ...", // kStringSupernova8
// 625
- "Textgeschwindigkeit:", // kStringTextSpeed
"Was war das f\201r ein Ger\204usch?", // kStringGuardNoticed1
"Ich werde mal nachsehen.", // kStringGuardNoticed2
"Guten Tag, hier ist Horst Hummel.", // kStringTelomat1
@@ -816,17 +826,6 @@ const char *gameText[] = {
"Passwort:", // kStringTelomat21
"Deine Armbanduhr piepst,|die Alarmzeit ist erreicht.", // kStringAlarm
// 650
- "Spiel abbrechen?", // kStringLeaveGame
- "Ja", // kStringYes
- "Nein", // kStringNo
- "F1 Hilfe", // kStringHelpOverview1
- "F2 Anleitung", // kStringHelpOverview2
- // 655
- "F3 Programminformationen", //kStringHelpOverview3
- "F4 Textgeschwindigkeit", //kStringHelpOverview4
- "F5 Laden / Speichern", // kStringHelpOverview5
- "ESC Vorspann \201berspringen", // kStringHelpOverview6
- "Alt-X Programm abbrechen", // kStringHelpOverview7
// 660
NULL
};
diff --git a/devtools/create_supernova2/gametext.h b/devtools/create_supernova2/gametext.h
index f71c21b35c..da187e96a8 100644
--- a/devtools/create_supernova2/gametext.h
+++ b/devtools/create_supernova2/gametext.h
@@ -65,17 +65,24 @@ const char *gameText[] = {
"Es ist nichts Besonderes daran.", //There's nothing special about it.
"|", //Dialog separator
"Gespr\204ch beenden", //End of conversation
+" F1 Hilfe", // kStringHelpOverview1
+" F2 Anleitung", // kStringHelpOverview2
+" F3 Programminformationen", //kStringHelpOverview3
+" F4 Textgeschwindigkeit", //kStringHelpOverview4
+" F5 Laden/Speichern", // kStringHelpOverview5
+" ESC Vorspann \201berspringen", // kStringHelpOverview6
+"Alt X Spiel beenden", // kStringHelpOverview7
+"Textgeschwindigkeit:", //Text speed:
+"Spiel abbrechen?", //Leave game?
+"Ja", //Yes
+"Nein", //No
"Laden", //Load
"Speichern", //Save
// 25
"Zur\201ck", //Back
"Neustart", //Restart
"Schreibfehler", //write error
-"Textgeschwindigkeit:", //Text speed:
-"Spiel abbrechen?", //Leave game?
// 30
-"Ja", //Yes
-"Nein", //No
"Das tr\204gst du doch bei dir.", //You already carry this.
"Du bist doch schon da.", //You are already there.
"Das ist geschlossen.", //This is closed.
diff --git a/dists/engine-data/supernova.dat b/dists/engine-data/supernova.dat
index 839b3b635f..63e6bdb2cc 100644
--- a/dists/engine-data/supernova.dat
+++ b/dists/engine-data/supernova.dat
Binary files differ
diff --git a/dists/engine-data/supernova2.dat b/dists/engine-data/supernova2.dat
index decb910b02..ead25f6547 100644
--- a/dists/engine-data/supernova2.dat
+++ b/dists/engine-data/supernova2.dat
Binary files differ
diff --git a/engines/supernova/game-manager.cpp b/engines/supernova/game-manager.cpp
index cefc41d02d..8296e27651 100644
--- a/engines/supernova/game-manager.cpp
+++ b/engines/supernova/game-manager.cpp
@@ -225,15 +225,24 @@ void GameManager::processInput(Common::KeyState &state) {
switch (state.keycode) {
case Common::KEYCODE_F1:
// help
- _vm->showHelpScreen();
+ if (_vm->_MSPart == 1)
+ _vm->showHelpScreen1();
+ else if (_vm->_MSPart == 2)
+ _vm->showHelpScreen2();
break;
case Common::KEYCODE_F2:
// show game manual
- _vm->showTextReader("msn.doc");
+ if (_vm->_MSPart == 1)
+ _vm->showTextReader("msn.doc");
+ else if (_vm->_MSPart == 2)
+ _vm->showTextReader("ms2.doc");
break;
case Common::KEYCODE_F3:
// show game info
- _vm->showTextReader("msn.inf");
+ if (_vm->_MSPart == 1)
+ _vm->showTextReader("msn.inf");
+ else if (_vm->_MSPart == 2)
+ _vm->showTextReader("ms2.inf");
break;
case Common::KEYCODE_F4:
_vm->setTextSpeed();
diff --git a/engines/supernova/msn_def.h b/engines/supernova/msn_def.h
index eebffc34cd..70d167e3d2 100644
--- a/engines/supernova/msn_def.h
+++ b/engines/supernova/msn_def.h
@@ -186,7 +186,8 @@ enum StringId {
kStringCommandGo = 0, kStringCommandLook, kStringCommandTake, kStringCommandOpen, kStringCommandClose,
kStringCommandPress, kStringCommandPull, kStringCommandUse, kStringCommandTalk, kStringCommandGive,
kStringStatusCommandGo, kStringStatusCommandLook, kStringStatusCommandTake, kStringStatusCommandOpen, kStringStatusCommandClose,
- kStringStatusCommandPress, kStringStatusCommandPull, kStringStatusCommandUse, kStringStatusCommandTalk, kStringStatusCommandGive, kPhrasalVerbParticleGiveTo, kPhrasalVerbParticleUseWith, kStringDefaultDescription, kStringDialogSeparator, kStringConversationEnd
+ kStringStatusCommandPress, kStringStatusCommandPull, kStringStatusCommandUse, kStringStatusCommandTalk, kStringStatusCommandGive, kPhrasalVerbParticleGiveTo, kPhrasalVerbParticleUseWith, kStringDefaultDescription, kStringDialogSeparator, kStringConversationEnd, kStringHelpOverview1, kStringHelpOverview2,
+ kStringHelpOverview3, kStringHelpOverview4, kStringHelpOverview5, kStringHelpOverview6, kStringHelpOverview7, kStringTextSpeed, kStringLeaveGame, kStringYes, kStringNo
};
ObjectType operator|(ObjectType a, ObjectType b);
diff --git a/engines/supernova/supernova.cpp b/engines/supernova/supernova.cpp
index 4ff5434aad..9d7faf880b 100644
--- a/engines/supernova/supernova.cpp
+++ b/engines/supernova/supernova.cpp
@@ -455,7 +455,7 @@ void SupernovaEngine::setTextSpeed() {
_gm->animationOn();
}
-void SupernovaEngine::showHelpScreen() {
+void SupernovaEngine::showHelpScreen1() {
if (_screen->isMessageShown())
_screen->removeMessage();
_gm->animationOff();
@@ -479,6 +479,31 @@ void SupernovaEngine::showHelpScreen() {
_gm->animationOn();
}
+void SupernovaEngine::showHelpScreen2() {
+ if (_screen->isMessageShown())
+ _screen->removeMessage();
+ _gm->animationOff();
+ _gm->saveTime();
+
+ paletteFadeOut();
+ setCurrentImage(27);
+ renderImage(0);
+ renderBox(10, 70, 192, 100, kColorWhite35);
+ renderText(kStringHelpOverview1, 15, 80, kColorWhite99);
+ renderText(kStringHelpOverview2, 15, 92, kColorWhite99);
+ renderText(kStringHelpOverview3, 15, 104, kColorWhite99);
+ renderText(kStringHelpOverview4, 15, 116, kColorWhite99);
+ renderText(kStringHelpOverview5, 15, 128, kColorWhite99);
+ renderText(kStringHelpOverview6, 15, 140, kColorWhite99);
+ renderText(kStringHelpOverview7, 15, 152, kColorWhite99);
+ paletteFadeIn();
+ _gm->getKeyInput();
+
+ paletteFadeOut();
+ _gm->loadTime();
+ _gm->animationOn();
+}
+
Common::Error SupernovaEngine::showTextReader(const char *filename) {
Common::File file;
diff --git a/engines/supernova/supernova.h b/engines/supernova/supernova.h
index 7054fcdfd0..b357f6e1a3 100644
--- a/engines/supernova/supernova.h
+++ b/engines/supernova/supernova.h
@@ -102,7 +102,8 @@ public:
void setTextSpeed();
const Common::String &getGameString(int idx) const;
void setGameString(int idx, const Common::String &string);
- void showHelpScreen();
+ void showHelpScreen1();
+ void showHelpScreen2();
Common::Error showTextReader(const char *filename);
// forwarding calls
diff --git a/engines/supernova/supernova1/rooms.cpp b/engines/supernova/supernova1/rooms.cpp
index 7190a7584a..f39cbb861b 100644
--- a/engines/supernova/supernova1/rooms.cpp
+++ b/engines/supernova/supernova1/rooms.cpp
@@ -27,6 +27,7 @@
#include "supernova/screen.h"
#include "supernova/supernova.h"
#include "supernova/supernova1/state.h"
+#include "supernova/supernova1/stringid.h"
namespace Supernova {
diff --git a/engines/supernova/supernova1/rooms.h b/engines/supernova/supernova1/rooms.h
index 0b0dbc432b..d45936b14b 100644
--- a/engines/supernova/supernova1/rooms.h
+++ b/engines/supernova/supernova1/rooms.h
@@ -26,7 +26,6 @@
#include "common/str.h"
#include "supernova/msn_def.h"
-#include "supernova/supernova1/stringid.h"
#include "supernova/room.h"
namespace Common {
diff --git a/engines/supernova/supernova1/stringid.h b/engines/supernova/supernova1/stringid.h
index 7f3c1f1fcb..81f92772d0 100644
--- a/engines/supernova/supernova1/stringid.h
+++ b/engines/supernova/supernova1/stringid.h
@@ -28,7 +28,7 @@
namespace Supernova {
enum StringId1 {
- kStringTitleVersion = 25, kStringTitle1, kStringTitle2, kStringTitle3, kStringIntro1,
+ kStringTitleVersion = 36, kStringTitle1, kStringTitle2, kStringTitle3, kStringIntro1,
kStringIntro2, kStringIntro3, kStringIntro4, kStringIntro5, kStringIntro6,
kStringIntro7, kStringIntro8, kStringIntro9, kStringIntro10, kStringIntro11,
kStringIntro12, kStringIntro13, kStringBroken, kStringTakeMessage,
@@ -169,15 +169,12 @@ enum StringId1 {
kStringGenericInteract_43, kStringSupernova1, kStringSupernova2, kStringSupernova3,
kStringSupernova4, kStringSupernova5, kStringSupernova6, kStringSupernova7, kStringSupernova8,
// 625
- kStringTextSpeed, kStringGuardNoticed1, kStringGuardNoticed2, kStringTelomat1, kStringTelomat2,
+ kStringGuardNoticed1, kStringGuardNoticed2, kStringTelomat1, kStringTelomat2,
kStringTelomat3, kStringTelomat4, kStringTelomat5, kStringTelomat6, kStringTelomat7,
kStringTelomat8, kStringTelomat9, kStringTelomat10, kStringTelomat11, kStringTelomat12,
kStringTelomat13, kStringTelomat14, kStringTelomat15, kStringTelomat16, kStringTelomat17,
kStringTelomat18, kStringTelomat19, kStringTelomat20, kStringTelomat21, kStringAlarm,
// 650
- kStringLeaveGame, kStringYes, kStringNo, kStringHelpOverview1, kStringHelpOverview2,
- kStringHelpOverview3, kStringHelpOverview4, kStringHelpOverview5, kStringHelpOverview6, kStringHelpOverview7,
-
// Add two placeholder strings at the end for variable text
kStringPlaceholder1, kStringPlaceholder2,
diff --git a/engines/supernova/supernova2/rooms.cpp b/engines/supernova/supernova2/rooms.cpp
index 01ccb59463..9399444069 100644
--- a/engines/supernova/supernova2/rooms.cpp
+++ b/engines/supernova/supernova2/rooms.cpp
@@ -973,8 +973,8 @@ bool Checkout::interact(Action verb, Object &obj1, Object &obj2) {
kStringCheckout3
};
static int dialCheckout2[2] = {
- kStringYes,
- kStringNo
+ kStringYes2,
+ kStringNo2
};
static int dialStage1[3] = {
kStringCheckout4,
@@ -1116,7 +1116,7 @@ bool Checkout::interact(Action verb, Object &obj1, Object &obj2) {
switch (_gm->dialog(3, _gm->_dials, dialCheckout1, 1)) {
case 0:
_gm->reply(kStringCheckout40, 1, 1 + 128);
- _gm->say(kStringNo);
+ _gm->say(kStringNo2);
_gm->reply(kStringCheckout41, 1, 1 + 128);
_gm->say(kStringCheckout42);
break;
@@ -1128,7 +1128,7 @@ bool Checkout::interact(Action verb, Object &obj1, Object &obj2) {
*_gm->_rooms[CULTURE_PALACE]->getObject(4),
*_gm->_rooms[CHECKOUT]->getObject(2));
} else {
- _gm->say(kStringNo);
+ _gm->say(kStringNo2);
_gm->reply(kStringCheckout45, 1, 1 + 128);
_gm->say(kStringCheckout46);
}
@@ -1624,7 +1624,7 @@ bool Elevator2::interact(Action verb, Object &obj1, Object &obj2) {
_vm->renderImage(0);
_vm->paletteFadeIn();
_gm->reply(kStringElevator15, 1, 1 + 128);
- _gm->say(kStringYes);
+ _gm->say(kStringYes2);
_gm->reply(kStringElevator16, 1, 1 + 128);
_gm->reply(kStringElevator17, 1, 1 + 128);
if (_gm->dialog(2, _gm->_dials, dialBoss1, 0)) {
diff --git a/engines/supernova/supernova2/stringid.h b/engines/supernova/supernova2/stringid.h
index fe765df3ce..42540319fe 100644
--- a/engines/supernova/supernova2/stringid.h
+++ b/engines/supernova/supernova2/stringid.h
@@ -28,9 +28,9 @@
namespace Supernova {
enum StringId2 {
-kString23 = 25, kString24,
-kString25, kString26, kString27, kStringTextSpeed, kStringLeaveGame,
-kString30, kString31, kStringGenericInteract1, kStringGenericInteract2, kStringGenericInteract3,
+kString23 = 36, kString24,
+kString25, kString26, kString27,
+kStringGenericInteract1, kStringGenericInteract2, kStringGenericInteract3,
kStringGenericInteract4, kStringGenericInteract5, kStringGenericInteract6, kStringGenericInteract7, kStringGenericInteract8,
kStringGenericInteract9, kStringGenericInteract10, kStringGenericInteract11, kStringGenericInteract12, kStringGenericInteract13,
kStringIntro1, kStringIntro2, kStringIntro3, kStringIntro4, kStringIntro5,
@@ -97,7 +97,7 @@ kStringWhatYouWant, kStringWhoAreYou, kStringHorstHummel2, kStringNeverHeard, kS
kStringImOnTV, kStringIDontKnow, kStringFunny, kStringAha, kStringICan,
kStringFromWhom, kStringCost, kStringAsYouSay, kStringGetCard, kStringOnlyParticipation,
kStringWhatForIt, kStringMakeOffer, kStringGoodOffer, kStringGiveCard, kStringIdiot,
-kStringCheckout1, kStringCheckout2, kStringCheckout3, kStringYes, kStringNo,
+kStringCheckout1, kStringCheckout2, kStringCheckout3, kStringYes2, kStringNo2,
kStringCheckout4, kStringCheckout5, kStringCheckout6, kStringCheckout7, kStringCheckout8,
kStringCheckout9, kStringCheckout10, kStringCheckout11, kStringCheckout12, kStringCheckout13,
kStringCheckout14, kStringCheckout15, kStringCheckout16, kStringCheckout17, kStringCheckout18,