diff options
-rw-r--r-- | devtools/create_supernova/gametext.h | 4 | ||||
-rw-r--r-- | engines/supernova/rooms.cpp | 12 | ||||
-rw-r--r-- | engines/supernova/rooms.h | 4 |
3 files changed, 10 insertions, 10 deletions
diff --git a/devtools/create_supernova/gametext.h b/devtools/create_supernova/gametext.h index ad264b4c0e..11cc6566a5 100644 --- a/devtools/create_supernova/gametext.h +++ b/devtools/create_supernova/gametext.h @@ -678,7 +678,7 @@ const char *gameText[] = { "Dann gehe ich eben wieder.", // kStringDialogAxacussCorridor5_5 "Ach, halten Sie's Maul, ich gehe trotzdem!", // kStringDialogAxacussCorridor5_6 // 535 - "Wenn Sie mich durchlassen gebe ich Ihnen %d Xa.", // kStringDialogAxacussCorridor5_7 + "Wenn Sie mich durchlassen gebe ich Ihnen %s Xa.", // kStringDialogAxacussCorridor5_7 "Hallo!", // kStringDialogX1 "Guten Tag!", // kStringDialogX2 "Ich bin's, Horst Hummel.", // kStringDialogX3 @@ -812,6 +812,8 @@ const char *gameText[] = { // 645 "Huch, Sie h\224ren sich aber|nicht gut an. Ich komme sofort.", // kStringTelomat18 "Horst Hummel! Von wo rufen Sie an?", // kStringTelomat19 + "Hmm, keine Antwort.", // kStringTelomat20 + "Passwort:", // kStringTelomat21 NULL }; diff --git a/engines/supernova/rooms.cpp b/engines/supernova/rooms.cpp index 08ee12ebb9..6d5ddf87dd 100644 --- a/engines/supernova/rooms.cpp +++ b/engines/supernova/rooms.cpp @@ -2565,16 +2565,10 @@ bool AxacussCorridor5::handleMoneyDialog() { removeSentence(2, 2); removeSentence(3, 2); } else { - // TODO: Handle string manipulation in dialogs - // _dialog3[2] and _dialog3[3] are both using kStringDialogAxacussCorridor5_7 - // ("Wenn Sie mich durchlassen gebe ich Ihnen %d Xa.") - // One way could be to keep an array of string[6], replace the %d of the previous sentence by a %s, - // and format the dialog string when the associated parameter string isn't empty. - // The following code is broken and only kept in order to remember the values used. - // _dialog3[2] += Common::String::format(kStringDialogAxacussCorridor5_7, _gm->_state._money - 200); - // _dialog3[3] += Common::String::format(kStringDialogAxacussCorridor5_7, _gm->_state._money); + _varTexts3[2] = Common::String::format("%d", _gm->_state._money - 200); + _varTexts3[3] = Common::String::format("%d", _gm->_state._money); } - switch (_gm->dialog(4, _rows, _dialog3, 2)) { + switch (_gm->dialog(4, _rows, _dialog3, 2, _varTexts3)) { case 1: _gm->wait2(3); _vm->renderImage(1); diff --git a/engines/supernova/rooms.h b/engines/supernova/rooms.h index ad28afb991..62c7d8f6d0 100644 --- a/engines/supernova/rooms.h +++ b/engines/supernova/rooms.h @@ -1015,6 +1015,9 @@ public: _rows[3] = 1; _rows[4] = 0; _rows[5] = 0; + + for (int i = 0; i < 6; i++) + _varTexts3[i] = ""; } virtual void onEntrance(); @@ -1028,6 +1031,7 @@ private: StringID _dialog1[2]; StringID _dialog2[2]; StringID _dialog3[4]; + Common::String _varTexts3[6]; byte _rows[6]; }; |