mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-02 15:16:46 +00:00
XEEN: RU Translated Mirror aliases
This commit is contained in:
parent
680ef62db0
commit
88589a852c
@ -1214,6 +1214,7 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
|
||||
file.syncString(PHAROAH_ENDING_TEXT1());
|
||||
file.syncString(PHAROAH_ENDING_TEXT2());
|
||||
file.syncStrings(MAE_NAMES(), 131);
|
||||
file.syncStrings(MIRROR_LOCATIONS(), 59);
|
||||
|
||||
cc.add("CONSTANTS" + num, file);
|
||||
|
||||
|
@ -468,6 +468,7 @@ public:
|
||||
virtual const char *PHAROAH_ENDING_TEXT1() = 0;
|
||||
virtual const char *PHAROAH_ENDING_TEXT2() = 0;
|
||||
virtual const char **MAE_NAMES() = 0;
|
||||
virtual const char **MIRROR_LOCATIONS() = 0;
|
||||
|
||||
void writeConstants(Common::String num, CCArchive &cc);
|
||||
|
||||
|
@ -1941,7 +1941,6 @@ public:
|
||||
"l\fd";
|
||||
}
|
||||
|
||||
|
||||
const char **MAE_NAMES() {
|
||||
static const char *_maeNames[] = {
|
||||
"",
|
||||
@ -1949,6 +1948,13 @@ public:
|
||||
return _maeNames;
|
||||
}
|
||||
|
||||
const char **MIRROR_LOCATIONS() {
|
||||
static const char *_mirrLocs[] = {
|
||||
"",
|
||||
};
|
||||
return _mirrLocs;
|
||||
}
|
||||
|
||||
class EN_KeyConstants : public KeyConstants {
|
||||
public:
|
||||
class EN_DialogsCharInfo : public DialogsCharInfo {
|
||||
|
@ -2085,6 +2085,71 @@ public:
|
||||
return _maeNames;
|
||||
}
|
||||
|
||||
const char **MIRROR_LOCATIONS() {
|
||||
static const char *_mirrLocs[] = {
|
||||
"\xA2\xA5\xE0\xE2\xA8\xA3\xAE", // вертиго
|
||||
"\xAD\xA0\xA9\xE2\xE8\xED\xA4\xAE\xE3", // найтшэдоу
|
||||
"\xE0\xA8\xA2\xA5\xE0\xE1\xA8\xE2\xA8", // риверсити
|
||||
"\xED\xE1\xAF", // эсп
|
||||
"\xA2\xA8\xAD\xE2\xA5\xE0\xAA\xA8\xAB\xAB", // винтеркилл
|
||||
"\xA7\xA0\xAC\xAE\xAA \xA1\xA0\xE0\xAB\xAE\xAA", // замок барлок
|
||||
"\xAD\xEC\xEE\xAA\xA0\xE1\xAB", // ньюкасл
|
||||
"\xA7\xA0\xAC\xAE\xAA \xA1\xA0\xA7\xA5\xAD\xA4\xA6\xA8", // замок базенджи
|
||||
"\xA2\xA5\xA4\xEC\xAC\xA8\xAD\xA0 \xA1\xA0\xE8\xAD\xEF", // ведьмина башня
|
||||
"\xA1\xA0\xE8\xAD\xEF \xA4\xA0\xE0\xA7\xAE\xA3\xA0", // башня дарзога
|
||||
"\xA1\xA0\xE8\xAD\xEF \xA4\xA0\xE0\xA7\xAE\xA3\xA0", // башня дарзога
|
||||
"\xA1\xA0\xE8\xAD\xEF \xA4\xE0\xA0\xAA\xAE\xAD\xAE\xA2", // башня драконов
|
||||
"\xA1\xA0\xE8\xAD\xEF \xA2\xEB\xE1\xE8\xA5\xA9 \xAC\xA0\xA3\xA8\xA8", // башня высшей магии
|
||||
"\xA1\xA0\xE8\xAD\xEF \xE2\xF1\xAC\xAD\xAE\xA3\xAE \xAA\xA0\xAC\xAD\xEF", // башня тёмного камня
|
||||
"\xA4\xE0\xA0\xAA\xAE\xAD\xEC\xA5 \xAB\xAE\xA3\xAE\xA2\xAE", // драконье логово
|
||||
"\xAF\xA5\xE9\xA5\xE0\xA0 \xA8\xAB\xAB\xEE\xA7\xA8\xA9", // пещера иллюзий
|
||||
"\xA0\xE0\xA5\xAD\xA0", // арена
|
||||
"\xA3\xAE\xE0\xA0 \xE4\xA0\xA9\xA5\xE0\xE1\xE2\xAE\xE3\xAD", // гора файерстоун
|
||||
"\xA3\xAE\xE0\xEB \xA2\xA0\xE0\xA2\xA0\xE0\xAE\xA2", // горы варваров
|
||||
"\xE5\xE0\xA5\xA1\xA5\xE2 \xA3\xAE\xE0\xA3\xE3\xAB\xA8\xA9", // хребет горгулий
|
||||
"\xA3\xAE\xE0\xEB \xE0\xEB\xA6\xA8\xE5 \xA4\xA2\xAE\xE0\xE4\xAE\xA2", // горы рыжих дворфов
|
||||
"\xE5\xAE\xAB\xAC\xEB \xAE\xA3\xE0\xAE\xA2", // холмы огров
|
||||
"\xA2\xA8\xAB\xAE\xAE\xA1\xE0\xA0\xA7\xAD\xA0\xEF \xA1\xE3\xE5\xE2\xA0", // вилообразная бухта
|
||||
"\xA2\xAE\xAB\xE8\xA5\xA1\xAD\xA0\xEF \xA4\xA5\xAB\xEC\xE2\xA0", // волшебная дельта
|
||||
"\xAB\xA0\xA3\xE3\xAD\xA0 \xA6\xA8\xA7\xAD\xA5\xAD\xAD\xAE\xA9 \xE1\xA8\xAB\xEB", // лагуна жизненной силы
|
||||
"\xAB\xA0\xA2\xAE\xA2\xAE\xA5 \xAE\xA7\xA5\xE0\xAE", // лавовое озеро
|
||||
"\xA1\xA0\xE1\xE1\xA5\xA9\xAD \xAA\xE0\xA0\xE1\xAD\xAE\xA9 \xE0\xA5\xAA\xA8", // бассейн красной реки
|
||||
"\xA6\xA0\xA1\xEC\xA8 \xAB\xE3\xA3\xA0", // жабьи луга
|
||||
"\xA2\xA5\xE7\xAD\xAE \xE6\xA2\xA5\xE2\xE3\xE9\xA8\xA9 \xE4\xE0\xE3\xAA\xE2\xAE\xA2\xEB\xA9 \xE1\xA0\xA4", // вечно цветущий фруктовый сад
|
||||
"\xAB\xA5\xE1 \xA6\xA8\xA2\xEB\xE5 \xAC\xA5\xE0\xE2\xA2\xA5\xE6\xAE\xA2", // лес живых мертвецов
|
||||
"\xA2\xAE\xAB\xE8\xA5\xA1\xAD\xEB\xA9 \xAB\xA5\xE1", // волшебный лес
|
||||
"\xAB\xA5\xE1 \xE2\xE0\xAE\xAB\xAB\xA5\xA9", // лес троллей
|
||||
"\xE1\xA0\xA2\xA0\xAD\xAD\xA0 \xA2\xE1\xA0\xA4\xAD\xA8\xAA\xAE\xA2", // саванна всадников
|
||||
"\xE1\xA0\xA2\xA0\xAD\xAD\xA0 \xA2\xE1\xA0\xA4\xAD\xA8\xAA\xAE\xA2", // саванна всадников
|
||||
"\xAF\xE3\xE1\xE2\xEB\xAD\xEF \xE1\xE4\xA8\xAD\xAA\xE1\xA0", // пустыня сфинкса
|
||||
"\xA7\xA5\xAC\xAB\xEF \xA3\xA8\xA3\xA0\xAD\xE2\xAE\xA2", // земля гигантов
|
||||
"\xE8\xA0\xAD\xA3\xE0\xA8-\xAB\xA0", // шангри-ла
|
||||
"\xA3\xE0\xA0\xE4 \xA4\xEE \xAC\xAE\xAD\xA5\xE2\xA0", // граф дю монета
|
||||
"\xAB\xAE\xE0\xA4 \xAA\xE1\xA8\xAD", // лорд ксин
|
||||
"\xE8\xAE\xE3 \xAD\xA0\xE7\xA8\xAD\xA0\xA5\xE2\xE1\xEF", // шоу начинается
|
||||
"\xE8\xA0\xE5\xE2\xA0""1", // шахта1
|
||||
"\xE8\xA0\xE5\xE2\xA0 1", // шахта 1
|
||||
"\xE8\xA0\xE5\xE2\xA0""2", // шахта2
|
||||
"\xE8\xA0\xE5\xE2\xA0 2", // шахта 2
|
||||
"\xE8\xA0\xE5\xE2\xA0""3", // шахта3
|
||||
"\xE8\xA0\xE5\xE2\xA0 3", // шахта 3
|
||||
"\xE8\xA0\xE5\xE2\xA0""4", // шахта4
|
||||
"\xE8\xA0\xE5\xE2\xA0 4", // шахта 4
|
||||
"\xE8\xA0\xE5\xE2\xA0""5", // шахта5
|
||||
"\xE8\xA0\xE5\xE2\xA0 5", // шахта 5
|
||||
"\xA0\xAB\xEC\xE4\xA0", // альфа
|
||||
"\xA3\xAB\xE3\xA1\xAE\xAA\xA0\xEF \xE8\xA0\xE5\xE2\xA0 \xA0\xAB\xEC\xE4\xA0", // глубокая шахта альфа
|
||||
"\xE2\xA5\xE2\xA0", // тета
|
||||
"\xA3\xAB\xE3\xA1\xAE\xAA\xA0\xEF \xE8\xA0\xE5\xE2\xA0 \xE2\xA5\xE2\xA0", // глубокая шахта тета
|
||||
"\xAA\xA0\xAF\xAF\xA0", // каппа
|
||||
"\xA3\xAB\xE3\xA1\xAE\xAA\xA0\xEF \xE8\xA0\xE5\xE2\xA0 \xAA\xA0\xAF\xAF\xA0", // глубокая шахта каппа
|
||||
"\xAE\xAC\xA5\xA3\xA0", // омега
|
||||
"\xA3\xAB\xE3\xA1\xAE\xAA\xA0\xEF \xE8\xA0\xE5\xE2\xA0 \xAE\xAC\xA5\xA3\xA0", // глубокая шахта омега
|
||||
"\xEF \xAF\xAE\xE2\xA5\xE0\xEF\xAB \xED\xE2\xAE", // я потерял это
|
||||
};
|
||||
return _mirrLocs;
|
||||
}
|
||||
|
||||
class RU_KeyConstants : public KeyConstants {
|
||||
public:
|
||||
class RU_DialogsCharInfo : public DialogsCharInfo {
|
||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
@ -35,7 +35,52 @@ int Input::show(XeenEngine *vm, Window *window, Common::String &line,
|
||||
return result;
|
||||
}
|
||||
|
||||
int Input::nonEnToLower(uint16 ascii) {
|
||||
if (Common::RU_RUS == g_vm->getLanguage()) {
|
||||
switch (ascii) {
|
||||
case Common::KEYCODE_f: return 0xA0; // А
|
||||
case Common::KEYCODE_COMMA: return 0xA1; // Б
|
||||
case Common::KEYCODE_d: return 0xA2; // В
|
||||
case Common::KEYCODE_u: return 0xA3; // Г
|
||||
case Common::KEYCODE_l: return 0xA4; // Д
|
||||
case Common::KEYCODE_t: return 0xA5; // Е
|
||||
case Common::KEYCODE_BACKQUOTE: return 0xF1; // Ё
|
||||
case Common::KEYCODE_SEMICOLON: return 0xA6; // Ж
|
||||
case Common::KEYCODE_p: return 0xA7; // З
|
||||
case Common::KEYCODE_b: return 0xA8; // И
|
||||
case Common::KEYCODE_q: return 0xA9; // Й
|
||||
case Common::KEYCODE_r: return 0xAA; // К
|
||||
case Common::KEYCODE_k: return 0xAB; // Л
|
||||
case Common::KEYCODE_v: return 0xAC; // М
|
||||
case Common::KEYCODE_y: return 0xAD; // Н
|
||||
case Common::KEYCODE_j: return 0xAE; // О
|
||||
case Common::KEYCODE_g: return 0xAF; // П
|
||||
case Common::KEYCODE_h: return 0xE0; // Р
|
||||
case Common::KEYCODE_c: return 0xE1; // С
|
||||
case Common::KEYCODE_n: return 0xE2; // Т
|
||||
case Common::KEYCODE_e: return 0xE3; // У
|
||||
case Common::KEYCODE_a: return 0xE4; // Ф
|
||||
case Common::KEYCODE_LEFTBRACKET: return 0xE5; // Х
|
||||
case Common::KEYCODE_w: return 0xE6; // Ц
|
||||
case Common::KEYCODE_x: return 0xE7; // Ч
|
||||
case Common::KEYCODE_i: return 0xE8; // Ш
|
||||
case Common::KEYCODE_o: return 0xE9; // Щ
|
||||
case Common::KEYCODE_RIGHTBRACKET: return 0xEA; // Ъ
|
||||
case Common::KEYCODE_s: return 0xEB; // Ы
|
||||
case Common::KEYCODE_m: return 0xEC; // Ь
|
||||
case Common::KEYCODE_QUOTE: return 0xED; // Э
|
||||
case Common::KEYCODE_PERIOD: return 0xEE; // Ю
|
||||
case Common::KEYCODE_z: return 0xEF; // Я
|
||||
default:
|
||||
return tolower(ascii);
|
||||
}
|
||||
}
|
||||
return ascii;
|
||||
}
|
||||
|
||||
int Input::getString(Common::String &line, uint maxLen, int maxWidth, bool isNumeric) {
|
||||
bool nonEnCharset = false;
|
||||
|
||||
_vm->_noDirectionSense = true;
|
||||
Common::String msg = Common::String::format("\x3""l\t000\x4%03d\x3""c", maxWidth);
|
||||
_window->writeString(msg);
|
||||
@ -53,17 +98,25 @@ int Input::getString(Common::String &line, uint maxLen, int maxWidth, bool isNum
|
||||
} else if (line.size() < maxLen && (line.size() > 0 || keyCode != Common::KEYCODE_SPACE)
|
||||
&& ((isNumeric && keyState.ascii >= '0' && keyState.ascii <= '9') ||
|
||||
(!isNumeric && keyState.ascii >= ' ' && keyState.ascii <= (char)127))) {
|
||||
if (!isNumeric && Common::isAlpha(keyState.ascii)) {
|
||||
// The original game doesn't care about Shift or Caps Locks. The
|
||||
// capitalization is done for the user automatically at the beginning of
|
||||
// words.
|
||||
if (line.empty() || line.hasSuffix(" ")) {
|
||||
line += toupper(keyState.ascii);
|
||||
if (!nonEnCharset) {
|
||||
if (!isNumeric && Common::isAlpha(keyState.ascii)) {
|
||||
// The original game doesn't care about Shift or Caps Locks. The
|
||||
// capitalization is done for the user automatically at the beginning of
|
||||
// words.
|
||||
if (line.empty() || line.hasSuffix(" ")) {
|
||||
line += toupper(keyState.ascii);
|
||||
} else {
|
||||
line += tolower(keyState.ascii);
|
||||
}
|
||||
} else {
|
||||
line += tolower(keyState.ascii);
|
||||
line += keyState.ascii;
|
||||
}
|
||||
} else {
|
||||
line += keyState.ascii;
|
||||
if (!isNumeric) {
|
||||
line += nonEnToLower(keyState.ascii);
|
||||
} else {
|
||||
line += keyState.ascii;
|
||||
}
|
||||
}
|
||||
|
||||
refresh = true;
|
||||
@ -72,6 +125,12 @@ int Input::getString(Common::String &line, uint maxLen, int maxWidth, bool isNum
|
||||
} else if (keyCode == Common::KEYCODE_ESCAPE) {
|
||||
line = "";
|
||||
break;
|
||||
} else if (Common::RU_RUS == g_vm->getLanguage()) {
|
||||
if (Common::KEYCODE_F11 == keyCode) {
|
||||
nonEnCharset = true;
|
||||
} else if (Common::KEYCODE_F12 == keyCode) {
|
||||
nonEnCharset = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (refresh) {
|
||||
@ -198,11 +257,21 @@ int StringInput::execute(bool type, const Common::String &expected,
|
||||
f2.close();
|
||||
}
|
||||
|
||||
for (uint idx = 0; idx < scripts._mirror.size(); ++idx) {
|
||||
if (!line.compareToIgnoreCase(scripts._mirror[idx]._name)) {
|
||||
result = idx + 1;
|
||||
sound.playFX(_vm->_files->_ccNum ? 35 : 61);
|
||||
break;
|
||||
if (Common::RU_RUS == g_vm->getLanguage()) {
|
||||
for (uint idx = 0; idx < 59; ++idx) {
|
||||
if (!line.compareToIgnoreCase(Res.MIRROR_LOCATIONS[idx])) {
|
||||
result = idx + 1;
|
||||
sound.playFX(_vm->_files->_ccNum ? 35 : 61);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (uint idx = 0; idx < scripts._mirror.size(); ++idx) {
|
||||
if (!line.compareToIgnoreCase(scripts._mirror[idx]._name)) {
|
||||
result = idx + 1;
|
||||
sound.playFX(_vm->_files->_ccNum ? 35 : 61);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,9 @@ protected:
|
||||
Window *_window;
|
||||
int _cursorAnimIndex;
|
||||
|
||||
int nonEnToUpper(uint16 ascii);
|
||||
int nonEnToLower(uint16 ascii);
|
||||
|
||||
/**
|
||||
* Allows the user to enter a string
|
||||
*/
|
||||
|
@ -420,6 +420,7 @@ void Resources::loadData() {
|
||||
file.syncString(PHAROAH_ENDING_TEXT1);
|
||||
file.syncString(PHAROAH_ENDING_TEXT2);
|
||||
file.syncStrings(MAE_NAMES, 131);
|
||||
file.syncStrings(MIRROR_LOCATIONS, 59);
|
||||
|
||||
ResFile keys("CONSTKEYS_", _buffer, lang);
|
||||
keys.syncNumber(KeyConstants.DialogsCharInfo.KEY_ITEM);
|
||||
|
@ -474,6 +474,7 @@ public:
|
||||
const char *PHAROAH_ENDING_TEXT1;
|
||||
const char *PHAROAH_ENDING_TEXT2;
|
||||
const char *MAE_NAMES[131];
|
||||
const char *MIRROR_LOCATIONS[58];
|
||||
|
||||
struct {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user