[Scummvm-git-logs] scummvm master -> 6b9b7fb8bc949b681ad87299a8cc93614f048e0f
sev-
noreply at scummvm.org
Thu Oct 31 15:25:25 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
6b9b7fb8bc TSAGE: Initial code for support of Russian fan translation for Blue Force
Commit: 6b9b7fb8bc949b681ad87299a8cc93614f048e0f
https://github.com/scummvm/scummvm/commit/6b9b7fb8bc949b681ad87299a8cc93614f048e0f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-10-31T16:25:13+01:00
Commit Message:
TSAGE: Initial code for support of Russian fan translation for Blue Force
Changed paths:
engines/tsage/blue_force/blueforce_dialogs.cpp
engines/tsage/blue_force/blueforce_logic.cpp
engines/tsage/blue_force/blueforce_scenes0.cpp
engines/tsage/blue_force/blueforce_scenes1.cpp
engines/tsage/blue_force/blueforce_scenes5.cpp
engines/tsage/blue_force/blueforce_scenes9.cpp
engines/tsage/core.cpp
engines/tsage/staticres.cpp
engines/tsage/staticres.h
diff --git a/engines/tsage/blue_force/blueforce_dialogs.cpp b/engines/tsage/blue_force/blueforce_dialogs.cpp
index 8d4c3ae6ce2..2b96ca68d8e 100644
--- a/engines/tsage/blue_force/blueforce_dialogs.cpp
+++ b/engines/tsage/blue_force/blueforce_dialogs.cpp
@@ -472,6 +472,8 @@ void OptionsDialog::show() {
int rc;
if (g_vm->getLanguage() == Common::ES_ESP) {
rc = MessageDialog::show(ESP_QUIT_CONFIRM_MSG, ESP_CANCEL_BTN_STRING, ESP_QUIT_BTN_STRING);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ rc = MessageDialog::show(RUS_QUIT_CONFIRM_MSG, RUS_CANCEL_BTN_STRING, RUS_QUIT_BTN_STRING);
} else {
rc = MessageDialog::show(QUIT_CONFIRM_MSG, CANCEL_BTN_STRING, QUIT_BTN_STRING);
}
@@ -494,6 +496,14 @@ OptionsDialog::OptionsDialog() {
_btnQuit.setText(ESP_QUIT_BTN_STRING);
_btnSound.setText(ESP_SOUND_BTN_STRING);
_btnResume.setText(ESP_RESUME_BTN_STRING);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ _gfxMessage.set(RUS_OPTIONS_MSG, 140, ALIGN_LEFT);
+ _btnRestore.setText(RUS_RESTORE_BTN_STRING);
+ _btnSave.setText(RUS_SAVE_BTN_STRING);
+ _btnRestart.setText(RUS_RESTART_BTN_STRING);
+ _btnQuit.setText(RUS_QUIT_BTN_STRING);
+ _btnSound.setText(RUS_SOUND_BTN_STRING);
+ _btnResume.setText(RUS_RESUME_BTN_STRING);
} else {
_gfxMessage.set(OPTIONS_MSG, 140, ALIGN_LEFT);
_btnRestore.setText(RESTORE_BTN_STRING);
diff --git a/engines/tsage/blue_force/blueforce_logic.cpp b/engines/tsage/blue_force/blueforce_logic.cpp
index 88c870d65d4..c43ff6f7b4b 100644
--- a/engines/tsage/blue_force/blueforce_logic.cpp
+++ b/engines/tsage/blue_force/blueforce_logic.cpp
@@ -300,6 +300,8 @@ void BlueForceGame::processEvent(Event &event) {
BF_GLOBALS._dialogCenter.y = 100;
if (g_vm->getLanguage() == Common::ES_ESP) {
MessageDialog::show(ESP_HELP_MSG, ESP_OK_BTN_STRING);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ MessageDialog::show(TsAGE::BlueForce::RUS_HELP_MSG, RUS_OK_BTN_STRING);
} else {
MessageDialog::show(HELP_MSG, OK_BTN_STRING);
}
@@ -334,6 +336,8 @@ void BlueForceGame::processEvent(Event &event) {
GfxDialog::setPalette();
if (g_vm->getLanguage() == Common::ES_ESP) {
MessageDialog::show(ESP_GAME_PAUSED_MSG, ESP_OK_BTN_STRING);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ MessageDialog::show(RUS_GAME_PAUSED_MSG, RUS_OK_BTN_STRING);
} else {
MessageDialog::show(GAME_PAUSED_MSG, OK_BTN_STRING);
}
@@ -982,6 +986,8 @@ void SceneHandlerExt::process(Event &event) {
int rc;
if (g_vm->getLanguage() == Common::ES_ESP) {
rc = MessageDialog::show2(ESP_WATCH_INTRO_MSG, ESP_START_PLAY_BTN_STRING, ESP_INTRODUCTION_BTN_STRING);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ rc = MessageDialog::show2(RUS_WATCH_INTRO_MSG, RUS_START_PLAY_BTN_STRING, RUS_INTRODUCTION_BTN_STRING);
} else {
rc = MessageDialog::show2(WATCH_INTRO_MSG, START_PLAY_BTN_STRING, INTRODUCTION_BTN_STRING);
}
diff --git a/engines/tsage/blue_force/blueforce_scenes0.cpp b/engines/tsage/blue_force/blueforce_scenes0.cpp
index 1539b9f503e..3418629d8d4 100644
--- a/engines/tsage/blue_force/blueforce_scenes0.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes0.cpp
@@ -369,19 +369,38 @@ void Scene50::postInit(SceneObjectList *OwnerList) {
_location4.set(Rect(313, 21, 325, 33), 114, ESP_TONYS_BAR, 8);
_location8.set(Rect(69, 79, 82, 88), 580, ESP_CHILD_PROTECTIVE_SERVICES, 256);
_location5.set(Rect(383, 57, 402, 70), 380, ESP_CITY_HALL_JAIL, 32);
+ _location2.set(Rect(443, 149, 508, 178), 330, MARINA, 2);
+ _location6.set(Rect(242, 131, 264, 144), 440, ALLEY_CAT, 64);
+ _location7.set(Rect(128, 32, 143, 42), 800, JAMISON_RYAN, 128);
+ _location9.set(Rect(349, 125, 359, 132),
+ (BF_GLOBALS._bookmark == bInspectionDone) || (BF_GLOBALS._bookmark == bCalledToDrunkStop) ? 551 : 550,
+ BIKINI_HUT, 16);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ _location3.set(Rect(10, 92, 24, 105), 180, RUS_GRANDMA_FRANNIE, 4);
+ _location2.set(Rect(443, 149, 508, 178), 330, RUS_MARINA, 2);
+ _location1.set(Rect(573, 103, 604, 130), 190, RUS_POLICE_DEPARTMENT, 1);
+ _location4.set(Rect(313, 21, 325, 33), 114, RUS_TONYS_BAR, 8);
+ _location8.set(Rect(69, 79, 82, 88), 580, RUS_CHILD_PROTECTIVE_SERVICES, 256);
+ _location6.set(Rect(242, 131, 264, 144), 440, RUS_ALLEY_CAT, 64);
+ _location5.set(Rect(383, 57, 402, 70), 380, RUS_CITY_HALL_JAIL, 32);
+ _location7.set(Rect(128, 32, 143, 42), 800, RUS_JAMISON_RYAN, 128);
+ _location9.set(Rect(349, 125, 359, 132),
+ (BF_GLOBALS._bookmark == bInspectionDone) || (BF_GLOBALS._bookmark == bCalledToDrunkStop) ? 551 : 550,
+ RUS_BIKINI_HUT, 16);
} else {
_location3.set(Rect(10, 92, 24, 105), 180, GRANDMA_FRANNIE, 4);
_location1.set(Rect(573, 103, 604, 130), 190, POLICE_DEPARTMENT, 1);
_location4.set(Rect(313, 21, 325, 33), 114, TONYS_BAR, 8);
_location8.set(Rect(69, 79, 82, 88), 580, CHILD_PROTECTIVE_SERVICES, 256);
_location5.set(Rect(383, 57, 402, 70), 380, CITY_HALL_JAIL, 32);
+ _location2.set(Rect(443, 149, 508, 178), 330, MARINA, 2);
+ _location6.set(Rect(242, 131, 264, 144), 440, ALLEY_CAT, 64);
+ _location7.set(Rect(128, 32, 143, 42), 800, JAMISON_RYAN, 128);
+ _location9.set(Rect(349, 125, 359, 132),
+ (BF_GLOBALS._bookmark == bInspectionDone) || (BF_GLOBALS._bookmark == bCalledToDrunkStop) ? 551 : 550,
+ BIKINI_HUT, 16);
}
- _location2.set(Rect(443, 149, 508, 178), 330, MARINA, 2);
- _location6.set(Rect(242, 131, 264, 144), 440, ALLEY_CAT, 64);
- _location7.set(Rect(128, 32, 143, 42), 800, JAMISON_RYAN, 128);
- _location9.set(Rect(349, 125, 359, 132),
- (BF_GLOBALS._bookmark == bInspectionDone) || (BF_GLOBALS._bookmark == bCalledToDrunkStop) ? 551 : 550,
- BIKINI_HUT, 16);
+
_item.setBounds(Rect(0, 0, SCREEN_WIDTH * 2, SCREEN_HEIGHT));
BF_GLOBALS._sceneItems.push_back(&_item);
diff --git a/engines/tsage/blue_force/blueforce_scenes1.cpp b/engines/tsage/blue_force/blueforce_scenes1.cpp
index 02143f6df59..ef2437064f4 100644
--- a/engines/tsage/blue_force/blueforce_scenes1.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes1.cpp
@@ -64,6 +64,8 @@ void Scene100::Action1::signal() {
} else {
if (g_vm->getLanguage() == Common::ES_ESP) {
setTextStrings(BF_NAME, ESP_BF_ALL_RIGHTS_RESERVED, this);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ setTextStrings(BF_NAME, RUS_BF_ALL_RIGHTS_RESERVED, this);
} else {
setTextStrings(BF_NAME, BF_ALL_RIGHTS_RESERVED, this);
}
@@ -151,6 +153,8 @@ void Scene100::Action2::signal() {
int rc;
if (g_vm->getLanguage() == Common::ES_ESP) {
rc = MessageDialog::show2(ESP_WATCH_INTRO_MSG, ESP_START_PLAY_BTN_STRING, ESP_INTRODUCTION_BTN_STRING);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ rc = MessageDialog::show2(RUS_WATCH_INTRO_MSG, RUS_START_PLAY_BTN_STRING, RUS_INTRODUCTION_BTN_STRING);
} else {
rc = MessageDialog::show2(WATCH_INTRO_MSG, START_PLAY_BTN_STRING, INTRODUCTION_BTN_STRING);
}
@@ -244,6 +248,8 @@ void Scene109::Action1::signal() {
case 2:
if (g_vm->getLanguage() == Common::ES_ESP) {
scene->_text.setup(ESP_BF_19840515, this);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ scene->_text.setup(RUS_BF_19840515, this);
} else {
scene->_text.setup(BF_19840515, this);
}
@@ -2268,6 +2274,8 @@ void Scene140::Action1::signal() {
BF_GLOBALS._scenePalette.refresh();
if (g_vm->getLanguage() == Common::ES_ESP) {
scene->_text.setup(ESP_BF_19840518, this);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ scene->_text.setup(RUS_BF_19840518, this);
} else {
scene->_text.setup(BF_19840518, this);
}
@@ -2634,6 +2642,8 @@ void Scene160::Action2::signal() {
scene->_sceneBounds.set(0, 0, 320, 200);
if (g_vm->getLanguage() == Common::ES_ESP) {
scene->_text.setup(ESP_BF_11_YEARS, this);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ scene->_text.setup(RUS_BF_11_YEARS, this);
} else {
scene->_text.setup(BF_11_YEARS, this);
}
@@ -2683,6 +2693,8 @@ void Scene160::Action3::signal() {
case 0:
if (g_vm->getLanguage() == Common::ES_ESP) {
scene->_text.setup(ESP_BF_3_DAYS, this);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ scene->_text.setup(RUS_BF_3_DAYS, this);
} else {
scene->_text.setup(BF_3_DAYS, this);
}
@@ -2812,6 +2824,8 @@ void Scene180::postInit(SceneObjectList *OwnerList) {
if ((BF_GLOBALS._bookmark == bLyleStoppedBy) && (BF_GLOBALS._dayNumber == 1)) {
if (g_vm->getLanguage() == Common::ES_ESP) {
_sceneMessage.setup(ESP_THE_NEXT_DAY);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ _sceneMessage.setup(RUS_THE_NEXT_DAY);
} else {
_sceneMessage.setup(THE_NEXT_DAY);
}
@@ -2824,6 +2838,8 @@ void Scene180::postInit(SceneObjectList *OwnerList) {
((BF_GLOBALS._bookmark == bDoneAtLyles) && (BF_GLOBALS._dayNumber == 4))) {
if (g_vm->getLanguage() == Common::ES_ESP) {
_sceneMessage.setup(ESP_THE_NEXT_DAY);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ _sceneMessage.setup(RUS_THE_NEXT_DAY);
} else {
_sceneMessage.setup(THE_NEXT_DAY);
}
diff --git a/engines/tsage/blue_force/blueforce_scenes5.cpp b/engines/tsage/blue_force/blueforce_scenes5.cpp
index 24846826aae..9e6afbb3a86 100644
--- a/engines/tsage/blue_force/blueforce_scenes5.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes5.cpp
@@ -1571,7 +1571,12 @@ void Scene560::dispatch() {
*--------------------------------------------------------------------------*/
Scene570::PasswordEntry::PasswordEntry(): EventHandler() {
- _passwordStr = SCENE570_PASSWORD;
+
+ if (g_vm->getLanguage() == Common::RU_RUS) {
+ _passwordStr = RUS_SCENE570_PASSWORD;
+ } else {
+ _passwordStr = SCENE570_PASSWORD;
+ }
}
void Scene570::PasswordEntry::synchronize(Serializer &s) {
@@ -1666,7 +1671,7 @@ void Scene570::PasswordEntry::checkPassword() {
// reimplementation in ScummVM, as the project name.
Scene570 *scene = (Scene570 *)BF_GLOBALS._sceneManager._scene;
- if (!_entryBuffer.compareTo("JACKIE") || !_entryBuffer.compareTo("SCUMMVM")) {
+ if (!_entryBuffer.compareTo("JACKIE") || !_entryBuffer.compareTo("SCUMMVM") || !_entryBuffer.compareTo("L;TRB")) { // Third condition for the Russian version
// Password was correct
T2_GLOBALS._uiElements.addScore(30);
BF_GLOBALS._player.disableControl();
@@ -2082,23 +2087,47 @@ void Scene570::signal() {
_printerIcon.setDetails(570, 14, 15, -1, 2, (SceneItem *)NULL);
_iconManager.setup(2);
- _folder1.setDetails(1, 1, 0, SCENE570_C_DRIVE);
- _folder2.setDetails(1, 2, 1, SCENE570_RING);
- _folder3.setDetails(1, 3, 1, SCENE570_PROTO);
- _folder4.setDetails(1, 4, 1, SCENE570_WACKY);
-
- if (!BF_GLOBALS.getFlag(fDecryptedBluePrints))
- _icon1.setDetails(3, 5, 0, SCENE570_COBB);
- _icon2.setDetails(2, 7, 0, SCENE570_LETTER);
- if (BF_GLOBALS.getFlag(fDecryptedBluePrints))
- _icon3.setDetails(7, 6, 0, SCENE570_COBB);
+ if (g_vm->getLanguage() == Common::RU_RUS) {
+ _folder1.setDetails(1, 1, 0, RUS_SCENE570_C_DRIVE);
+ _folder2.setDetails(1, 2, 1, RUS_SCENE570_RING);
+ _folder3.setDetails(1, 3, 1, RUS_SCENE570_PROTO);
+ _folder4.setDetails(1, 4, 1, RUS_SCENE570_WACKY);
+
+ if (!BF_GLOBALS.getFlag(fDecryptedBluePrints))
+ _icon1.setDetails(3, 5, 0, RUS_SCENE570_COBB);
+
+ _icon2.setDetails(2, 7, 0, RUS_SCENE570_LETTER);
+
+ if (BF_GLOBALS.getFlag(fDecryptedBluePrints))
+ _icon3.setDetails(7, 6, 0, RUS_SCENE570_COBB);
+
+ _icon4.setDetails(6, 8, 1, RUS_SCENE570_RINGEXE);
+ _icon5.setDetails(5, 9, 1, RUS_SCENE570_RINGDATA);
+ _icon6.setDetails(6, 10, 2, RUS_SCENE570_PROTOEXE);
+ _icon7.setDetails(5, 11, 2, RUS_SCENE570_PROTODATA);
+ _icon8.setDetails(6, 12, 3, RUS_SCENE570_WACKYEXE);
+ _icon9.setDetails(5, 13, 3, RUS_SCENE570_WACKYDATA);
+ } else {
+ _folder1.setDetails(1, 1, 0, SCENE570_C_DRIVE);
+ _folder2.setDetails(1, 2, 1, SCENE570_RING);
+ _folder3.setDetails(1, 3, 1, SCENE570_PROTO);
+ _folder4.setDetails(1, 4, 1, SCENE570_WACKY);
+
+ if (!BF_GLOBALS.getFlag(fDecryptedBluePrints))
+ _icon1.setDetails(3, 5, 0, SCENE570_COBB);
- _icon4.setDetails(6, 8, 1, SCENE570_RINGEXE);
- _icon5.setDetails(5, 9, 1, SCENE570_RINGDATA);
- _icon6.setDetails(6, 10, 2, SCENE570_PROTOEXE);
- _icon7.setDetails(5, 11, 2, SCENE570_PROTODATA);
- _icon8.setDetails(6, 12, 3, SCENE570_WACKYEXE);
- _icon9.setDetails(5, 13, 3, SCENE570_WACKYDATA);
+ _icon2.setDetails(2, 7, 0, SCENE570_LETTER);
+
+ if (BF_GLOBALS.getFlag(fDecryptedBluePrints))
+ _icon3.setDetails(7, 6, 0, SCENE570_COBB);
+
+ _icon4.setDetails(6, 8, 1, SCENE570_RINGEXE);
+ _icon5.setDetails(5, 9, 1, SCENE570_RINGDATA);
+ _icon6.setDetails(6, 10, 2, SCENE570_PROTOEXE);
+ _icon7.setDetails(5, 11, 2, SCENE570_PROTODATA);
+ _icon8.setDetails(6, 12, 3, SCENE570_WACKYEXE);
+ _icon9.setDetails(5, 13, 3, SCENE570_WACKYDATA);
+ }
_iconManager.refreshList();
BF_GLOBALS._player.enableControl();
@@ -2113,7 +2142,11 @@ void Scene570::signal() {
_object3.setFrame(1);
_object3.fixPriority(1);
- _icon3.setDetails(7, 6, 0, SCENE570_COBB);
+ if (g_vm->getLanguage() == Common::RU_RUS) {
+ _icon3.setDetails(7, 6, 0, RUS_SCENE570_COBB);
+ } else {
+ _icon3.setDetails(7, 6, 0, SCENE570_COBB);
+ }
_iconManager.refreshList();
T2_GLOBALS._uiElements._active = true;
T2_GLOBALS._uiElements.show();
diff --git a/engines/tsage/blue_force/blueforce_scenes9.cpp b/engines/tsage/blue_force/blueforce_scenes9.cpp
index e22faac57b7..0a4fec306b9 100644
--- a/engines/tsage/blue_force/blueforce_scenes9.cpp
+++ b/engines/tsage/blue_force/blueforce_scenes9.cpp
@@ -3508,7 +3508,11 @@ void Scene935::Action1::signal() {
scene->addFader((const byte *)&v50ECC, 100, this);
break;
case 1:
- scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ if (g_vm->getLanguage() == Common::RU_RUS) {
+ scene->_visualSpeaker.setText("\x84\xA6\xA5\xA9\xAA! \x8F\xE0\xEF\xE7\xEC\xE1\xEF \xA2 \xE8\xAA\xA0\xE4!"); // Ðжейк! ÐÑÑÑÑÑÑ Ð² ÑкаÑ!
+ } else {
+ scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ }
for (int i = 1; i < 21; i++)
scene->transition((const byte *)&v50EEA, 5 * i, 935, NULL, 0, 255, 249, 255, 1);
setDelay(3);
@@ -3521,11 +3525,19 @@ void Scene935::Action1::signal() {
scene->_visualSpeaker._textPos.y = scene->_sceneBounds.top + 80;
scene->_visualSpeaker._color1 = 252;
scene->_visualSpeaker._color2 = 251;
- scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ if (g_vm->getLanguage() == Common::RU_RUS) {
+ scene->_visualSpeaker.setText("\x84\xA6\xA5\xA9\xAA! \x8F\xE0\xEF\xE7\xEC\xE1\xEF \xA2 \xE8\xAA\xA0\xE4!"); // Ðжейк! ÐÑÑÑÑÑÑ Ð² ÑкаÑ!
+ } else {
+ scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ }
setDelay(3);
break;
case 4:
- scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ if (g_vm->getLanguage() == Common::RU_RUS) {
+ scene->_visualSpeaker.setText("\x84\xA6\xA5\xA9\xAA! \x8F\xE0\xEF\xE7\xEC\xE1\xEF \xA2 \xE8\xAA\xA0\xE4!"); // Ðжейк! ÐÑÑÑÑÑÑ Ð² ÑкаÑ!
+ } else {
+ scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ }
for (int i = 1; i < 21; i++)
scene->transition((const byte *)&v50F26, 5 * i, 935, NULL, 0, 255, 249, 255, 1);
setDelay(3);
@@ -3538,11 +3550,19 @@ void Scene935::Action1::signal() {
scene->_visualSpeaker._textPos.y = scene->_sceneBounds.top + 150;
scene->_visualSpeaker._color1 = 250;
scene->_visualSpeaker._color2 = 249;
- scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ if (g_vm->getLanguage() == Common::RU_RUS) {
+ scene->_visualSpeaker.setText("\x84\xA6\xA5\xA9\xAA! \x8F\xE0\xEF\xE7\xEC\xE1\xEF \xA2 \xE8\xAA\xA0\xE4!"); // Ðжейк! ÐÑÑÑÑÑÑ Ð² ÑкаÑ!
+ } else {
+ scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ }
setDelay(3);
break;
case 7:
- scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ if (g_vm->getLanguage() == Common::RU_RUS) {
+ scene->_visualSpeaker.setText("\x84\xA6\xA5\xA9\xAA! \x8F\xE0\xEF\xE7\xEC\xE1\xEF \xA2 \xE8\xAA\xA0\xE4!"); // Ðжейк! ÐÑÑÑÑÑÑ Ð² ÑкаÑ!
+ } else {
+ scene->_visualSpeaker.setText("Jake! Hide in the closet!");
+ }
for (int i = 1; i < 21; i++)
scene->transition((const byte *)&v50F62, 5 * i, 935, NULL, 0, 255, 249, 255, 1);
setDelay(3);
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp
index e3d3699598b..9d1c58cfce7 100644
--- a/engines/tsage/core.cpp
+++ b/engines/tsage/core.cpp
@@ -1963,6 +1963,8 @@ void SceneHotspot::doAction(int action) {
if (g_vm->getGameID() == GType_BlueForce)
if (g_vm->getLanguage() == Common::ES_ESP) {
SceneItem::display(ESP_LOOK_SCENE_HOTSPOT);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ SceneItem::display(RUS_LOOK_SCENE_HOTSPOT);
} else {
SceneItem::display(LOOK_SCENE_HOTSPOT);
}
@@ -1973,6 +1975,8 @@ void SceneHotspot::doAction(int action) {
if (g_vm->getGameID() == GType_BlueForce)
if (g_vm->getLanguage() == Common::ES_ESP) {
SceneItem::display(ESP_USE_SCENE_HOTSPOT);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ SceneItem::display(RUS_USE_SCENE_HOTSPOT);
} else {
SceneItem::display(USE_SCENE_HOTSPOT);
}
@@ -1983,6 +1987,8 @@ void SceneHotspot::doAction(int action) {
if (g_vm->getGameID() == GType_BlueForce)
if (g_vm->getLanguage() == Common::ES_ESP) {
SceneItem::display(ESP_TALK_SCENE_HOTSPOT);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ SceneItem::display(RUS_TALK_SCENE_HOTSPOT);
} else {
SceneItem::display(TALK_SCENE_HOTSPOT);
}
@@ -1995,6 +2001,8 @@ void SceneHotspot::doAction(int action) {
if (g_vm->getGameID() == GType_BlueForce)
if (g_vm->getLanguage() == Common::ES_ESP) {
SceneItem::display(ESP_DEFAULT_SCENE_HOTSPOT);
+ } else if (g_vm->getLanguage() == Common::RU_RUS) {
+ SceneItem::display(RUS_DEFAULT_SCENE_HOTSPOT);
} else {
SceneItem::display(DEFAULT_SCENE_HOTSPOT);
}
diff --git a/engines/tsage/staticres.cpp b/engines/tsage/staticres.cpp
index b9feeb8fc7f..be29591ef50 100644
--- a/engines/tsage/staticres.cpp
+++ b/engines/tsage/staticres.cpp
@@ -323,6 +323,59 @@ char const *const ESP_CITY_HALL_JAIL = "Ayuntamiento & C\240rcel";
// Scene 180 messages
char const *const ESP_THE_NEXT_DAY = "Al d\241a siguiente";
+// Russian version
+char const *const RUS_QUIT_CONFIRM_MSG = "\x82\xEB \xE5\xAE\xE2\xA8\xE2\xA5 \xA2\xEB\xA9\xE2\xA8 \xA8\xA7 \xA8\xA3\xE0\xEB?"; // "ÐÑ Ñ
оÑиÑе вÑйÑи из игÑÑ?"
+char const *const RUS_RESTART_MSG = "\x82\xEB \xE5\xAE\xE2\xA8\xE2\xA5 \xAD\xA0\xE7\xA0\xE2\xEC \xA7\xA0\xAD\xAE\xA2\xAE?"; // "ÐÑ Ñ
оÑиÑе наÑаÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾?"
+char const *const RUS_GAME_PAUSED_MSG = " \x8F\xA0\xE3\xA7\xA0. "; // " ÐаÑза. ";
+char const *const RUS_QUIT_BTN_STRING = " \x82\xEB\xA9\xE2\xA8"; // " ÐÑйÑи";
+char const *const RUS_RESTART_BTN_STRING = "\x87\xA0\xAD\xAE\xA2\xAE"; // "Ðаново";
+char const *const RUS_SAVE_BTN_STRING = " \x87\xA0\xAF\xA8\xE1\xEC "; // " ÐапиÑÑ ";
+char const *const RUS_RESUME_BTN_STRING = " \x8D\xA0\xA7\xA0\xA4 \xA2\r\xA8\xA3\xE0\xE3"; // " Ðазад в\rигÑÑ";
+
+// Dialog resources
+char const *const RUS_HELP_MSG = "\x91\xE2\xE0\xA0\xA6\xA8 \xAF\xAE\xE0\xEF\xA4\xAA\xA0\x14\r\x82\xA5\xE0\xE1\xA8\xEF ScummVM\r\r\x01 \x83\xAE\xE0\xEF\xE7\xA8\xA5 \xAA\xAB\xA0\xA2\xA8\xE8\xA8\rF2 - \x87\xA2\xE3\xAA\rF3 - \x82\xEB\xA9\xE2\xA8\rF4 - \x87\xA0\xAD\xAE\xA2\xAE\rF5 - \x87\xA0\xAF\xA8\xE1\xEC\rF7 - \x91\xE7\xA8\xE2\xA0\xE2\xEC\rF10 - \x8F\xA0\xE3\xA7\xA0"; // СÑÑажи поÑÑдка\x14\rÐеÑÑÐ¸Ñ ScummVM\r\r\x01 ÐоÑÑÑие клавиÑи\rF2 - ÐвÑк\rF3 - ÐÑйÑи\rF4 - Ðаново\rF5 - ÐапиÑÑ\rF6 - СÑиÑаÑÑ\rF7 - ÐаÑза"
+char const *const RUS_WATCH_INTRO_MSG = " \x8F\xAE\xE1\xAC\xAE\xE2\xE0\xA5\xE2\xEC \xA2\xE1\xE2\xE3\xAF\xAB\xA5\xAD\xA8\xA5? "; // " ÐоÑмоÑÑеÑÑ Ð²ÑÑÑпление? "
+char const *const RUS_START_PLAY_BTN_STRING = " \x8D\xA0\xE7\xA0\xE2\xEC "; // " ÐаÑаÑÑ ";
+char const *const RUS_INTRODUCTION_BTN_STRING = " \x82\xE1\xE2\xE3\xAF\xAB\xA5\xAD\xA8\xA5 "; // " ÐÑÑÑпление ";
+char const *const RUS_OPTIONS_MSG = "\x01\x8D\xA0\xE1\xE2\xE0\xAE\xA9\xAA\xA8"; // "\x01ÐаÑÑÑойки"
+
+// Blue Force general messages
+char const *const RUS_BF_NAME = "\x91\xE2\xE0\xA0\xA6\xA8 \xAF\xAE\xE0\xEF\xA4\xAA\xA0"; // "СÑÑажи поÑÑдка"
+char const *const RUS_BF_COPYRIGHT = "\x80\xA2\xE2\xAE\xE0\xE1\xAA\xA8\xA5 \xAF\xE0\xA0\xA2\xA0, 1993 Tsunami Media, Inc."; // "ÐвÑоÑÑкие пÑава, 1993 Tsunami Media, Inc."
+char const *const RUS_BF_ALL_RIGHTS_RESERVED = "\x82\xE1\xA5 \xAF\xE0\xA0\xA2\xA0 \xA7\xA0\xE9\xA8\xE9\xA5\xAD\xEB"; // "ÐÑе пÑава заÑиÑенÑ"
+char const *const RUS_BF_19840518 = "18 \xAC\xA0\xEF 1984 \xA3\xAE\xA4\xA0"; // "18 Ð¼Ð°Ñ 1984 года"
+char const *const RUS_BF_19840515 = "15 \xAC\xA0\xEF 1984 \xA3\xAE\xA4\xA0"; // "15 Ð¼Ð°Ñ 1984 года"
+char const *const RUS_BF_3_DAYS = "3 \xA4\xAD\xEF \xE1\xAF\xE3\xE1\xE2\xEF"; // "3 Ð´Ð½Ñ ÑпÑÑÑÑ"
+char const *const RUS_BF_11_YEARS = "11 \xAB\xA5\xE2 \xE1\xAF\xE3\xE1\xE2\xEF"; // "11 Ð»ÐµÑ ÑпÑÑÑÑ"
+
+// Scene 50 hotspots
+char const *const RUS_GRANDMA_FRANNIE = "\x81\xA0\xA1\xE3\xAB\xEF \x94\xE0\xED\xAD\xAD\xA8"; // "ÐабÑÐ»Ñ Ð¤ÑÑнни"
+char const *const RUS_MARINA = "\x8F\xE0\xA8\xE7\xA0\xAB"; // "ÐÑиÑал"
+char const *const RUS_POLICE_DEPARTMENT = "\x93\xAF\xE0\xA0\xA2\xAB\xA5\xAD\xA8\xA5"; // "УпÑавление"
+char const *const RUS_TONYS_BAR = "\x81\xA0\xE0 \x92\xAE\xAD\xA8"; // "ÐÐ°Ñ Ð¢Ð¾Ð½Ð¸"
+char const *const RUS_CHILD_PROTECTIVE_SERVICES = "\x91\xAB\xE3\xA6\xA1\xA0 \xA7\xA0\xE9\xA8\xE2\xEB \xA4\xA5\xE2\xA5\xA9"; // "СлÑжба заÑиÑÑ Ð´ÐµÑей"
+char const *const RUS_ALLEY_CAT = "\x81\xAE\xE3\xAB\xA8\xAD\xA3"; // "ÐоÑлинг"
+char const *const RUS_CITY_HALL_JAIL = "\x90\xA0\xE2\xE3\xE8\xA0 \xA8 \xE2\xEE\xE0\xEC\xAC\xA0"; // "РаÑÑÑа и ÑÑÑÑма"
+char const *const RUS_JAMISON_RYAN = "\x8E\xE4\xA8\xE1 \x84\xA6\xED\xAC\xA8\xE1\xAE\xAD\xA0"; // "ÐÑÐ¸Ñ ÐжÑмиÑона"
+char const *const RUS_BIKINI_HUT = "\x22\x81\xA8\xAA\xA8\xAD\xA8 \x95\xA0\xE2\x22"; // ""Ðикини ХаÑ""
+
+// Scene 570 computer messageS
+char const *const RUS_SCENE570_PASSWORD = " \xAF\xA0\xE0\xAE\xAB\xEC -> "; //" паÑÐ¾Ð»Ñ -> "
+char const *const RUS_SCENE570_C_DRIVE = "c:\\";
+char const *const RUS_SCENE570_RING = "ring";
+char const *const RUS_SCENE570_PROTO = "proto";
+char const *const RUS_SCENE570_WACKY = "wacky";
+char const *const RUS_SCENE570_COBB = "\xAA\xAE\xA1\xA1"; //"кобб"
+char const *const RUS_SCENE570_LETTER = "\xAF\xA8\xE1\xEC\xAC\xAE"; //"пиÑÑмо"
+char const *const RUS_SCENE570_RINGEXE = "ringexe";
+char const *const RUS_SCENE570_RINGDATA = "ringdata";
+char const *const RUS_SCENE570_PROTOEXE = "protoexe";
+char const *const RUS_SCENE570_PROTODATA = "protodata";
+char const *const RUS_SCENE570_WACKYEXE = "wackyexe";
+char const *const RUS_SCENE570_WACKYDATA = "wackydat ";
+
+// Scene 180 messages
+char const *const RUS_THE_NEXT_DAY = "\x93\xE2\xE0\xAE\xAC"; // "УÑÑом"
} // End of namespace BlueForce
diff --git a/engines/tsage/staticres.h b/engines/tsage/staticres.h
index 5a4b2dbd521..8fe0e80fb1f 100644
--- a/engines/tsage/staticres.h
+++ b/engines/tsage/staticres.h
@@ -279,6 +279,61 @@ extern char const *const ESP_CITY_HALL_JAIL;
// Scene 180 message
extern char const *const ESP_THE_NEXT_DAY;
+// Russian version
+extern char const *const RUS_QUIT_CONFIRM_MSG;
+extern char const *const RUS_RESTART_MSG;
+extern char const *const RUS_GAME_PAUSED_MSG;
+extern char const *const RUS_QUIT_BTN_STRING;
+extern char const *const RUS_RESTART_BTN_STRING;
+extern char const *const RUS_SAVE_BTN_STRING;
+extern char const *const RUS_RESUME_BTN_STRING;
+
+// Dialog resources
+extern char const *const RUS_HELP_MSG;
+extern char const *const RUS_WATCH_INTRO_MSG;
+extern char const *const RUS_START_PLAY_BTN_STRING;
+extern char const *const RUS_INTRODUCTION_BTN_STRING;
+extern char const *const RUS_OPTIONS_MSG;
+
+// Blue Force messages
+extern char const *const RUS_BF_NAME;
+extern char const *const RUS_BF_COPYRIGHT;
+extern char const *const RUS_BF_ALL_RIGHTS_RESERVED;
+extern char const *const RUS_BF_19840518;
+extern char const *const RUS_BF_19840515;
+extern char const *const RUS_BF_3_DAYS;
+extern char const *const RUS_BF_11_YEARS;
+
+// Scene 50 tooltips
+extern char const *const RUS_GRANDMA_FRANNIE;
+extern char const *const RUS_MARINA;
+extern char const *const RUS_POLICE_DEPARTMENT;
+extern char const *const RUS_TONYS_BAR;
+extern char const *const RUS_CHILD_PROTECTIVE_SERVICES;
+extern char const *const RUS_ALLEY_CAT;
+extern char const *const RUS_CITY_HALL_JAIL;
+extern char const *const RUS_JAMISON_RYAN;
+extern char const *const RUS_BIKINI_HUT;
+
+// Scene 570 tooltips
+extern char const *const RUS_SCENE570_PASSWORD;
+extern char const *const RUS_SCENE570_C_DRIVE;
+extern char const *const RUS_SCENE570_RING;
+extern char const *const RUS_SCENE570_PROTO;
+extern char const *const RUS_SCENE570_WACKY;
+extern char const *const RUS_SCENE570_COBB;
+extern char const *const RUS_SCENE570_LETTER;
+extern char const *const RUS_SCENE570_RINGEXE;
+extern char const *const RUS_SCENE570_RINGDATA;
+extern char const *const RUS_SCENE570_PROTOEXE;
+extern char const *const RUS_SCENE570_PROTODATA;
+extern char const *const RUS_SCENE570_WACKYEXE;
+extern char const *const RUS_SCENE570_WACKYDATA;
+
+// Scene 180 message
+extern char const *const RUS_THE_NEXT_DAY;
+
+
} // End of namespace BlueForce
namespace Ringworld2 {
More information about the Scummvm-git-logs
mailing list