[Scummvm-git-logs] scummvm branch-2-3 -> 5e708381295fd34e5d8886b7483529c5b8bd32fa

dreammaster dreammaster at scummvm.org
Sun Sep 5 02:25:49 UTC 2021


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:
5e70838129 XEEN: Some fixes in both BASE and RU


Commit: 5e708381295fd34e5d8886b7483529c5b8bd32fa
    https://github.com/scummvm/scummvm/commit/5e708381295fd34e5d8886b7483529c5b8bd32fa
Author: Maxim Kovalenko (ardash1100 at gmail.com)
Date: 2021-09-04T19:25:37-07:00

Commit Message:
XEEN: Some fixes in both BASE and RU
XEEN:
Click on 'Auto Notes' shows 'Items' button animation - Fixed
'Up'/'Down' pressed buttons in create_char dialog shows wrong icon - Fixed
Fix 'Yes'/'No' (thumbs up/down) click area

XEEN: RU
'Items' button not working because it uses 'd' alias, same as down button ('d', 'down', 'kp2') - Fixed
Fixed PARTY_DIALOG_TEXT margins
Map title area names translated
Translated monster names
Translated spell names
Add spaces to mae_names

Changed paths:
    devtools/create_xeen/constants.cpp
    devtools/create_xeen/constants.h
    devtools/create_xeen/en_constants.h
    devtools/create_xeen/ru_constants.h
    dists/engine-data/xeen.ccs
    engines/xeen/dialogs/dialogs_create_char.cpp
    engines/xeen/dialogs/dialogs_input.cpp
    engines/xeen/dialogs/dialogs_query.cpp
    engines/xeen/dialogs/dialogs_quests.cpp
    engines/xeen/item.cpp
    engines/xeen/map.cpp
    engines/xeen/resources.cpp
    engines/xeen/resources.h
    engines/xeen/spells.cpp


diff --git a/devtools/create_xeen/constants.cpp b/devtools/create_xeen/constants.cpp
index 8fce639358..679d773f07 100644
--- a/devtools/create_xeen/constants.cpp
+++ b/devtools/create_xeen/constants.cpp
@@ -1213,8 +1213,11 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
 	file.syncString(DARKSIDE_ENDING2());
 	file.syncString(PHAROAH_ENDING_TEXT1());
 	file.syncString(PHAROAH_ENDING_TEXT2());
-	file.syncStrings(MAE_NAMES(), 131);
-	file.syncStrings(MIRROR_LOCATIONS(), 59);
+	file.syncStrings(CLOUDS_MAE_NAMES(), 131);
+	file.syncStrings(CLOUDS_MIRROR_LOCATIONS(), 59);
+	file.syncStrings(CLOUDS_MAP_NAMES(), 86);
+	file.syncStrings(CLOUDS_MONSTERS(), 91);
+	file.syncStrings(CLOUDS_SPELLS(), 77);
 
 	cc.add("CONSTANTS" + num, file);
 
@@ -1267,7 +1270,7 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
 
 	keys.syncNumber(keyConstants()->dialogsQuests()->KEY_QUEST_ITEMS());
 	keys.syncNumber(keyConstants()->dialogsQuests()->KEY_CURRENT_QUESTS());
-	keys.syncNumber(keyConstants()->dialogsQuests()->KEY_QUEST_ITEMS());
+	keys.syncNumber(keyConstants()->dialogsQuests()->KEY_AUTO_NOTES());
 
 	keys.syncNumber(keyConstants()->dialogsQuickFight()->KEY_NEXT());
 
diff --git a/devtools/create_xeen/constants.h b/devtools/create_xeen/constants.h
index 58c1909ea2..b0eb533b6e 100644
--- a/devtools/create_xeen/constants.h
+++ b/devtools/create_xeen/constants.h
@@ -467,8 +467,11 @@ public:
 	virtual const char  *DARKSIDE_ENDING2() = 0;
 	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;
+	virtual const char **CLOUDS_MAE_NAMES() = 0;
+	virtual const char **CLOUDS_MIRROR_LOCATIONS() = 0;
+	virtual const char **CLOUDS_MAP_NAMES() = 0;
+	virtual const char **CLOUDS_MONSTERS() = 0;
+	virtual const char **CLOUDS_SPELLS() = 0;
 
 	void writeConstants(Common::String num, CCArchive &cc);
 
diff --git a/devtools/create_xeen/en_constants.h b/devtools/create_xeen/en_constants.h
index c5e794926c..9b8a6ca404 100644
--- a/devtools/create_xeen/en_constants.h
+++ b/devtools/create_xeen/en_constants.h
@@ -1941,20 +1941,41 @@ public:
 			   "l\fd";
 	}
 
-	const char **MAE_NAMES() {
+	const char **CLOUDS_MAE_NAMES() {
 		static const char *_maeNames[] = {
 			"",
 		};
 		return _maeNames;
 	}
 
-	const char **MIRROR_LOCATIONS() {
+	const char **CLOUDS_MIRROR_LOCATIONS() {
 		static const char *_mirrLocs[] = {
 			"",
 		};
 		return _mirrLocs;
 	}
 
+	const char **CLOUDS_MAP_NAMES() {
+		static const char *_mapNames[] = {
+			"",
+		};
+		return _mapNames;
+	}
+
+	const char **CLOUDS_MONSTERS() {
+		static const char *_monsters[] = {
+			"",
+		};
+		return _monsters;
+	}
+
+	const char **CLOUDS_SPELLS() {
+		static const char *_spells[] = {
+			"",
+		};
+		return _spells;
+	}
+
 	class EN_KeyConstants : public KeyConstants {
 	public:
 		class EN_DialogsCharInfo : public DialogsCharInfo {
diff --git a/devtools/create_xeen/ru_constants.h b/devtools/create_xeen/ru_constants.h
index 6ddcb1b705..429a475f6e 100644
--- a/devtools/create_xeen/ru_constants.h
+++ b/devtools/create_xeen/ru_constants.h
@@ -1948,144 +1948,144 @@ public:
 			   "l\fd";
 	}
 
-	const char **MAE_NAMES() {
+	const char **CLOUDS_MAE_NAMES() {	// mae.cld
 		static const char *_maeNames[] = {
-			"",
-			"\xA6\xA0\xE0\xA0",                                             //жара
-			"\xAE\xA3\xAD\xA5\xA9",                                         //огней
-			"\xAE\xA3\xAD\xEF",                                             //огня
-			"\xA4\xEB\xAC\xA0",                                             //дыма
-			"\xAF\xAB\xA0\xAC\xA5\xAD\xA8",                                 //пламени
-			"\xAA\xA8\xAF\xA5\xAD\xA8\xEF",                                 //кипения
-			"\xA2\xE1\xAF\xEB\xE8\xAA\xA8",                                 //вспышки
-			"\xA0\xA4\xA0",                                                 //ада
-			"\xAC\xA5\xE0\xE6\xA0\xAD\xA8\xEF",                             //мерцания
-			"\xA8\xE1\xAA\xE0",                                             //искр
-			"\xE1\xE2\xA0\xE2\xA8\xAA\xA8",                                 //статики
-			"\xA3\xE0\xAE\xAC\xA0",                                         //грома
-			"\xE8\xAE\xAA\xA0",                                             //шока
-			"\xED\xAB\xA5\xAA\xE2\xE0\xA8\xE7\xA5\xE1\xE2\xA2\xA0",         //электричества
-			"\xAC\xAE\xAB\xAD\xA8\xA8",                                     //молнии
-			"\xAB\xEC\xA4\xA0",                                             //льда
-			"\xAC\xAE\xE0\xAE\xA7\xA0",                                     //мороза
-			"\xE1\xE2\xE3\xA6\xA8",                                         //стужи
-			"\xE5\xAE\xAB\xAE\xA4\xA0",                                     //холода
-			"\xAA\xE0\xA8\xAE",                                             //крио
-			"\xAA\xA8\xE1\xAB\xAE\xE2\xEB",                                 //кислоты
-			"\xA7\xA5\xAB\xEC\xEF",                                         //зелья
-			"\xEF\xA4\xA0",                                                 //яда
-			"\xE2\xAE\xAA\xE1\xA8\xAD\xA0",                                 //токсина
-			"\xAE\xE2\xE0\xA0\xA2\xEB",                                     //отравы
-			"\xE1\xA2\xA5\xE2\xA0",                                         //света
-			"\xAD\xA0\xAA\xA0\xAB\xA0",                                     //накала
-			"\xAF\xAB\xAE\xE2\xAD\xAE\xE1\xE2\xA8",                         //плотности
-			"\xA7\xA2\xE3\xAA\xA0",                                         //звука
-			"\xED\xAD\xA5\xE0\xA3\xA8\xA8",                                 //энергии
-			"\xE2\xA5\xAF\xAB\xA0",                                         //тепла
-			"\xE1\xA8\xEF\xAD\xA8\xEF",                                     //сияния
-			"\xAA\xA8\xAD\xA5\xE2\xA8\xAA\xA8",                             //кинетики
-			"\xAC\xA8\xE1\xE2\xA8\xAA\xA8",                                 //мистики
-			"\xAC\xA0\xA3\xA8\xA8",                                         //магии
-			"\xED\xAA\xE2\xAE\xAF\xAB\xA0\xA7\xAC\xEB",                     //эктоплазмы
-			"\xA8\xA7 \xA4\xA5\xE0\xA5\xA2\xA0",                            //из дерева
-			"\xA8\xA7 \xAA\xAE\xA6\xA8",                                    //из кожи
-			"\xA8\xA7 \xAC\xA5\xA4\xA8",                                    //из меди
-			"\xA8\xA7 \xA1\xE0\xAE\xAD\xA7\xEB",                            //из бронзы
-			"\xA8\xA7 \xA6\xA5\xAB\xA5\xA7\xA0",                            //из железа
-			"\xA8\xA7 \xE1\xA5\xE0\xA5\xA1\xE0\xA0",                        //из серебра
-			"\xA8\xA7 \xE1\xE2\xA0\xAB\xA8",                                //из стали
-			"\xA8\xA7 \xA7\xAE\xAB\xAE\xE2\xA0",                            //из золота
-			"\xA8\xA7 \xAF\xAB\xA0\xE2\xA8\xAD\xEB",                        //из платины
-			"\xA8\xA7 \xE1\xE2\xA5\xAA\xAB\xA0",                            //из стекла
-			"\xA8\xA7 \xAA\xAE\xE0\xA0\xAB\xAB\xAE\xA2",                    //из кораллов
-			"\xA8\xA7 \xE5\xE0\xE3\xE1\xE2\xA0\xAB\xEF",                    //из хрусталя
-			"\xA8\xA7 \xAB\xA0\xA7\xE3\xE0\xA8\xE2\xA0",                    //из лазурита
-			"\xA8\xA7 \xAF\xA5\xE0\xAB\xA0\xAC\xE3\xE2\xE0\xA0",            //из перламутра
-			"\xA8\xA7 \xEF\xAD\xE2\xA0\xE0\xEF",                            //из янтаря
-			"\xA8\xA7 \xED\xA1\xA5\xAD\xA0",                                //из эбена
-			"\xA8\xA7 \xAA\xA2\xA0\xE0\xE6\xA0",                            //из кварца
-			"\xA8\xA7 \xE0\xE3\xA1\xA8\xAD\xA0",                            //из рубина
-			"\xA8\xA7 \xA8\xA7\xE3\xAC\xE0\xE3\xA4\xA0",                    //из изумруда
-			"\xA8\xA7 \xE1\xA0\xAF\xE4\xA8\xE0\xA0",                        //из сапфира
-			"\xA8\xA7 \xA0\xAB\xAC\xA0\xA7\xA0",                            //из алмаза
-			"\xA8\xA7 \xAE\xA1\xE1\xA8\xA4\xA8\xA0\xAD\xA0",                //из обсидиана
-			"\xE1\xA8\xAB\xEB",                                             //силы
-			"\xAA\xE0\xA5\xAF\xAE\xE1\xE2\xA8",                             //крепости
-			"\xA2\xAE\xA8\xAD\xA0",                                         //воина
-			"\xAE\xA3\xE0\xA0",                                             //огра
-			"\xA3\xA8\xA3\xA0\xAD\xE2\xA0",                                 //гиганта
-			"\xA3\xE0\xAE\xAC\xA0",                                         //грома
-			"\xAC\xAE\xE9\xA8",                                             //мощи
-			"\xA4\xE0\xA0\xAA\xAE\xAD\xA0",                                 //дракона
-			"\xE4\xAE\xE2\xAE\xAD\xA0",                                     //фотона
-			"\xE3\xAC\xA0",                                                 //ума
-			"\xE0\xA0\xA7\xE3\xAC\xA0",                                     //разума
-			"\xA2\xAE\xAB\xE5\xA2\xA0",                                     //волхва
-			"\xAC\xEB\xE1\xAB\xA8",                                         //мысли
-			"\xA7\xAD\xA0\xAD\xA8\xEF",                                     //знания
-			"\xA8\xAD\xE2\xA5\xAB\xAB\xA5\xAA\xE2\xA0",                     //интеллекта
-			"\xAC\xE3\xA4\xE0\xAE\xE1\xE2\xA8",                             //мудрости
-			"\xA3\xA5\xAD\xA8\xEF",                                         //гения
-			"\xE1\xA8\xAC\xAF\xA0\xE2\xA8\xA8",                             //симпатии
-			"\xA4\xE0\xE3\xA6\xA1\xEB",                                     //дружбы
-			"\xAE\xA1\xA0\xEF\xAD\xA8\xEF",                                 //обаяния
-			"\xE2\xA0\xAB\xA8\xE1\xAC\xA0\xAD",                             //талисман
-			"\xE1\xA8\xAB\xEB \xA4\xE3\xE5\xA0",                            //силы духа
-			"\xE5\xA0\xE0\xA8\xA7\xAC\xEB",                                 //харизмы
-			"\xAB\xA8\xA4\xA5\xE0\xE1\xE2\xA2\xA0",                         //лидерства
-			"\xED\xA3\xAE",                                                 //эго
-			"\xE1\xA2\xEF\xE2\xAE\xE1\xE2\xA8",                             //святости
-			"\xAF\xE0\xEB\xE2\xAA\xAE\xE1\xE2\xA8",                         //прыткости
-			"\xE0\xA5\xA7\xA2\xAE\xE1\xE2\xA8",                             //резвости
-			"\xA1\xEB\xE1\xE2\xE0\xAE\xE2\xEB",                             //быстроты
-			"\xE1\xE2\xE0\xA5\xAC\xA8\xE2\xA5\xAB\xEC\xAD\xAE\xE1\xE2\xA8", //стремительности
-			"\xE1\xAA\xAE\xE0\xAE\xE1\xE2\xA8",                             //скорости
-			"\xA2\xA5\xE2\xE0\xA0",                                         //ветра
-			"\xE3\xE1\xAA\xAE\xE0\xA5\xAD\xA8\xEF",                         //ускорения
-			"\xE3\xE0\xA0\xA3\xA0\xAD\xA0",                                 //урагана
-			"\xE2\xAE\xE7\xAD\xAE\xE1\xE2\xA8",                             //точности
-			"\xAC\xA5\xE2\xAA\xAE\xE1\xE2\xA8",                             //меткости
-			"\xE1\xE2\xE0\xA5\xAB\xAA\xA0",                                 //стрелка
-			"\xAF\xE0\xA8\xE6\xA5\xAB\xEC\xAD\xAE\xE1\xE2\xA8",             //прицельности
-			"\xAD\xA0\xE6\xA5\xAB\xA5\xAD\xAD\xAE\xE1\xE2\xA8",             //нацеленности
-			"\xEF\xE1\xE2\xE0\xA5\xA1\xA0",                                 //ястреба
-			"\xAA\xAB\xA5\xA2\xA5\xE0\xA0",                                 //клевера
-			"\xE8\xA0\xAD\xE1\xA0",                                         //шанса
-			"\xAF\xAE\xA1\xA5\xA4\xA8\xE2\xA5\xAB\xEF",                     //победителя
-			"\xE3\xA4\xA0\xE7\xA8",                                         //удачи
-			"\xA8\xA3\xE0\xAE\xAA\xA0",                                     //игрока
-			"\xAB\xA5\xAF\xE0\xA5\xAA\xAE\xAD\xA0",                         //лепрекона
-			"\xA1\xAE\xA4\xE0\xAE\xE1\xE2\xA8",                             //бодрости
-			"\xA7\xA4\xAE\xE0\xAE\xA2\xEC\xEF",                             //здоровья
-			"\xA6\xA8\xA7\xAD\xA8",                                         //жизни
-			"\xE2\xE0\xAE\xAB\xAB\xEF",                                     //тролля
-			"\xA2\xA0\xAC\xAF\xA8\xE0\xA0",                                 //вампира
-			"\xE7\xA0\xE0",                                                 //чар
-			"\xA7\xA0\xAA\xAB\xA8\xAD\xA0\xE2\xA5\xAB\xEF",                 //заклинателя
-			"\xA2\xA5\xA4\xEC\xAC\xEB",                                     //ведьмы
-			"\xAC\xA0\xA3\xA0",                                             //мага
-			"\xA0\xE0\xE5\xA8\xAC\xA0\xA3\xA0",                             //архимага
-			"\xE2\xA0\xA9\xAD\xEB\xE5 \xA7\xAD\xA0\xAD\xA8\xA9",            //тайных знаний
-			"\xA7\xA0\xE9\xA8\xE2\xEB",                                     //защиты
-			"\xA1\xE0\xAE\xAD\xA8",                                         //брони
-			"\xA7\xA0\xE9\xA8\xE2\xAD\xA8\xAA\xA0",                         //защитника
-			"\xAB\xAE\xA2\xAA\xAE\xE1\xE2\xA8",                             //ловкости
-			"\xAF\xE0\xA5\xA4\xE1\xAA\xA0\xA7\xA0\xE2\xA5\xAB\xEF",         //предсказателя
-			"\xAC\xAE\xE8\xA5\xAD\xAD\xA8\xAA\xA0",                         //мошенника
-			"\xA2\xA7\xAB\xAE\xAC\xE9\xA8\xAA\xA0",                         //взломщика
-			"\xAC\xA0\xE0\xAE\xA4\xF1\xE0\xA0",                             //мародёра
-			"\xA1\xA0\xAD\xA4\xA8\xE2\xA0",                                 //бандита
-			"\xAA\xA0\xE0\xAC\xA0\xAD\xAD\xA8\xAA\xA0",                     //карманника
-			"\xA2\xAE\xE0\xA0",                                             //вора
-			"\xE0\xA0\xA7\xA1\xAE\xA9\xAD\xA8\xAA\xA0",                     //разбойника
-			"\xA3\xE0\xA0\xA1\xA8\xE2\xA5\xAB\xEF",                         //грабителя
-			"\xAF\xE0\xA5\xE1\xE2\xE3\xAF\xAD\xA8\xAA\xA0",                 //преступника
-			"\xAF\xA8\xE0\xA0\xE2\xA0"                                      //пирата
+			" ",
+			"\xA6\xA0\xE0\xA0 ",                                             //жара
+			"\xAE\xA3\xAD\xA5\xA9 ",                                         //огней
+			"\xAE\xA3\xAD\xEF ",                                             //огня
+			"\xA4\xEB\xAC\xA0 ",                                             //дыма
+			"\xAF\xAB\xA0\xAC\xA5\xAD\xA8 ",                                 //пламени
+			"\xAA\xA8\xAF\xA5\xAD\xA8\xEF ",                                 //кипения
+			"\xA2\xE1\xAF\xEB\xE8\xAA\xA8 ",                                 //вспышки
+			"\xA0\xA4\xA0 ",                                                 //ада
+			"\xAC\xA5\xE0\xE6\xA0\xAD\xA8\xEF ",                             //мерцания
+			"\xA8\xE1\xAA\xE0 ",                                             //искр
+			"\xE1\xE2\xA0\xE2\xA8\xAA\xA8 ",                                 //статики
+			"\xA3\xE0\xAE\xAC\xA0 ",                                         //грома
+			"\xE8\xAE\xAA\xA0 ",                                             //шока
+			"\xED\xAB\xA5\xAA\xE2\xE0\xA8\xE7\xA5\xE1\xE2\xA2\xA0 ",         //электричества
+			"\xAC\xAE\xAB\xAD\xA8\xA8 ",                                     //молнии
+			"\xAB\xEC\xA4\xA0 ",                                             //льда
+			"\xAC\xAE\xE0\xAE\xA7\xA0 ",                                     //мороза
+			"\xE1\xE2\xE3\xA6\xA8 ",                                         //стужи
+			"\xE5\xAE\xAB\xAE\xA4\xA0 ",                                     //холода
+			"\xAA\xE0\xA8\xAE ",                                             //крио
+			"\xAA\xA8\xE1\xAB\xAE\xE2\xEB ",                                 //кислоты
+			"\xA7\xA5\xAB\xEC\xEF ",                                         //зелья
+			"\xEF\xA4\xA0 ",                                                 //яда
+			"\xE2\xAE\xAA\xE1\xA8\xAD\xA0 ",                                 //токсина
+			"\xAE\xE2\xE0\xA0\xA2\xEB ",                                     //отравы
+			"\xE1\xA2\xA5\xE2\xA0 ",                                         //света
+			"\xAD\xA0\xAA\xA0\xAB\xA0 ",                                     //накала
+			"\xAF\xAB\xAE\xE2\xAD\xAE\xE1\xE2\xA8 ",                         //плотности
+			"\xA7\xA2\xE3\xAA\xA0 ",                                         //звука
+			"\xED\xAD\xA5\xE0\xA3\xA8\xA8 ",                                 //энергии
+			"\xE2\xA5\xAF\xAB\xA0 ",                                         //тепла
+			"\xE1\xA8\xEF\xAD\xA8\xEF ",                                     //сияния
+			"\xAA\xA8\xAD\xA5\xE2\xA8\xAA\xA8 ",                             //кинетики
+			"\xAC\xA8\xE1\xE2\xA8\xAA\xA8 ",                                 //мистики
+			"\xAC\xA0\xA3\xA8\xA8 ",                                         //магии
+			"\xED\xAA\xE2\xAE\xAF\xAB\xA0\xA7\xAC\xEB ",                     //эктоплазмы
+			"\xA8\xA7 \xA4\xA5\xE0\xA5\xA2\xA0 ",                            //из дерева
+			"\xA8\xA7 \xAA\xAE\xA6\xA8 ",                                    //из кожи
+			"\xA8\xA7 \xAC\xA5\xA4\xA8 ",                                    //из меди
+			"\xA8\xA7 \xA1\xE0\xAE\xAD\xA7\xEB ",                            //из бронзы
+			"\xA8\xA7 \xA6\xA5\xAB\xA5\xA7\xA0 ",                            //из железа
+			"\xA8\xA7 \xE1\xA5\xE0\xA5\xA1\xE0\xA0 ",                        //из серебра
+			"\xA8\xA7 \xE1\xE2\xA0\xAB\xA8 ",                                //из стали
+			"\xA8\xA7 \xA7\xAE\xAB\xAE\xE2\xA0 ",                            //из золота
+			"\xA8\xA7 \xAF\xAB\xA0\xE2\xA8\xAD\xEB ",                        //из платины
+			"\xA8\xA7 \xE1\xE2\xA5\xAA\xAB\xA0 ",                            //из стекла
+			"\xA8\xA7 \xAA\xAE\xE0\xA0\xAB\xAB\xAE\xA2 ",                    //из кораллов
+			"\xA8\xA7 \xE5\xE0\xE3\xE1\xE2\xA0\xAB\xEF ",                    //из хрусталя
+			"\xA8\xA7 \xAB\xA0\xA7\xE3\xE0\xA8\xE2\xA0 ",                    //из лазурита
+			"\xA8\xA7 \xAF\xA5\xE0\xAB\xA0\xAC\xE3\xE2\xE0\xA0 ",            //из перламутра
+			"\xA8\xA7 \xEF\xAD\xE2\xA0\xE0\xEF ",                            //из янтаря
+			"\xA8\xA7 \xED\xA1\xA5\xAD\xA0 ",                                //из эбена
+			"\xA8\xA7 \xAA\xA2\xA0\xE0\xE6\xA0 ",                            //из кварца
+			"\xA8\xA7 \xE0\xE3\xA1\xA8\xAD\xA0 ",                            //из рубина
+			"\xA8\xA7 \xA8\xA7\xE3\xAC\xE0\xE3\xA4\xA0 ",                    //из изумруда
+			"\xA8\xA7 \xE1\xA0\xAF\xE4\xA8\xE0\xA0 ",                        //из сапфира
+			"\xA8\xA7 \xA0\xAB\xAC\xA0\xA7\xA0 ",                            //из алмаза
+			"\xA8\xA7 \xAE\xA1\xE1\xA8\xA4\xA8\xA0\xAD\xA0 ",                //из обсидиана
+			"\xE1\xA8\xAB\xEB ",                                             //силы
+			"\xAA\xE0\xA5\xAF\xAE\xE1\xE2\xA8 ",                             //крепости
+			"\xA2\xAE\xA8\xAD\xA0 ",                                         //воина
+			"\xAE\xA3\xE0\xA0 ",                                             //огра
+			"\xA3\xA8\xA3\xA0\xAD\xE2\xA0 ",                                 //гиганта
+			"\xA3\xE0\xAE\xAC\xA0 ",                                         //грома
+			"\xAC\xAE\xE9\xA8 ",                                             //мощи
+			"\xA4\xE0\xA0\xAA\xAE\xAD\xA0 ",                                 //дракона
+			"\xE4\xAE\xE2\xAE\xAD\xA0 ",                                     //фотона
+			"\xE3\xAC\xA0 ",                                                 //ума
+			"\xE0\xA0\xA7\xE3\xAC\xA0 ",                                     //разума
+			"\xA2\xAE\xAB\xE5\xA2\xA0 ",                                     //волхва
+			"\xAC\xEB\xE1\xAB\xA8 ",                                         //мысли
+			"\xA7\xAD\xA0\xAD\xA8\xEF ",                                     //знания
+			"\xA8\xAD\xE2\xA5\xAB\xAB\xA5\xAA\xE2\xA0 ",                     //интеллекта
+			"\xAC\xE3\xA4\xE0\xAE\xE1\xE2\xA8 ",                             //мудрости
+			"\xA3\xA5\xAD\xA8\xEF ",                                         //гения
+			"\xE1\xA8\xAC\xAF\xA0\xE2\xA8\xA8 ",                             //симпатии
+			"\xA4\xE0\xE3\xA6\xA1\xEB ",                                     //дружбы
+			"\xAE\xA1\xA0\xEF\xAD\xA8\xEF ",                                 //обаяния
+			"\xE2\xA0\xAB\xA8\xE1\xAC\xA0\xAD ",                             //талисман
+			"\xE1\xA8\xAB\xEB \xA4\xE3\xE5\xA0 ",                            //силы духа
+			"\xE5\xA0\xE0\xA8\xA7\xAC\xEB ",                                 //харизмы
+			"\xAB\xA8\xA4\xA5\xE0\xE1\xE2\xA2\xA0 ",                         //лидерства
+			"\xED\xA3\xAE ",                                                 //эго
+			"\xE1\xA2\xEF\xE2\xAE\xE1\xE2\xA8 ",                             //святости
+			"\xAF\xE0\xEB\xE2\xAA\xAE\xE1\xE2\xA8 ",                         //прыткости
+			"\xE0\xA5\xA7\xA2\xAE\xE1\xE2\xA8 ",                             //резвости
+			"\xA1\xEB\xE1\xE2\xE0\xAE\xE2\xEB ",                             //быстроты
+			"\xE1\xE2\xE0\xA5\xAC\xA8\xE2\xA5\xAB\xEC\xAD\xAE\xE1\xE2\xA8 ", //стремительности
+			"\xE1\xAA\xAE\xE0\xAE\xE1\xE2\xA8 ",                             //скорости
+			"\xA2\xA5\xE2\xE0\xA0 ",                                         //ветра
+			"\xE3\xE1\xAA\xAE\xE0\xA5\xAD\xA8\xEF ",                         //ускорения
+			"\xE3\xE0\xA0\xA3\xA0\xAD\xA0 ",                                 //урагана
+			"\xE2\xAE\xE7\xAD\xAE\xE1\xE2\xA8 ",                             //точности
+			"\xAC\xA5\xE2\xAA\xAE\xE1\xE2\xA8 ",                             //меткости
+			"\xE1\xE2\xE0\xA5\xAB\xAA\xA0 ",                                 //стрелка
+			"\xAF\xE0\xA8\xE6\xA5\xAB\xEC\xAD\xAE\xE1\xE2\xA8 ",             //прицельности
+			"\xAD\xA0\xE6\xA5\xAB\xA5\xAD\xAD\xAE\xE1\xE2\xA8 ",             //нацеленности
+			"\xEF\xE1\xE2\xE0\xA5\xA1\xA0 ",                                 //ястреба
+			"\xAA\xAB\xA5\xA2\xA5\xE0\xA0 ",                                 //клевера
+			"\xE8\xA0\xAD\xE1\xA0 ",                                         //шанса
+			"\xAF\xAE\xA1\xA5\xA4\xA8\xE2\xA5\xAB\xEF ",                     //победителя
+			"\xE3\xA4\xA0\xE7\xA8 ",                                         //удачи
+			"\xA8\xA3\xE0\xAE\xAA\xA0 ",                                     //игрока
+			"\xAB\xA5\xAF\xE0\xA5\xAA\xAE\xAD\xA0 ",                         //лепрекона
+			"\xA1\xAE\xA4\xE0\xAE\xE1\xE2\xA8 ",                             //бодрости
+			"\xA7\xA4\xAE\xE0\xAE\xA2\xEC\xEF ",                             //здоровья
+			"\xA6\xA8\xA7\xAD\xA8 ",                                         //жизни
+			"\xE2\xE0\xAE\xAB\xAB\xEF ",                                     //тролля
+			"\xA2\xA0\xAC\xAF\xA8\xE0\xA0 ",                                 //вампира
+			"\xE7\xA0\xE0 ",                                                 //чар
+			"\xA7\xA0\xAA\xAB\xA8\xAD\xA0\xE2\xA5\xAB\xEF ",                 //заклинателя
+			"\xA2\xA5\xA4\xEC\xAC\xEB ",                                     //ведьмы
+			"\xAC\xA0\xA3\xA0 ",                                             //мага
+			"\xA0\xE0\xE5\xA8\xAC\xA0\xA3\xA0 ",                             //архимага
+			"\xE2\xA0\xA9\xAD\xEB\xE5 \xA7\xAD\xA0\xAD\xA8\xA9 ",            //тайных знаний
+			"\xA7\xA0\xE9\xA8\xE2\xEB ",                                     //защиты
+			"\xA1\xE0\xAE\xAD\xA8 ",                                         //брони
+			"\xA7\xA0\xE9\xA8\xE2\xAD\xA8\xAA\xA0 ",                         //защитника
+			"\xAB\xAE\xA2\xAA\xAE\xE1\xE2\xA8 ",                             //ловкости
+			"\xAF\xE0\xA5\xA4\xE1\xAA\xA0\xA7\xA0\xE2\xA5\xAB\xEF ",         //предсказателя
+			"\xAC\xAE\xE8\xA5\xAD\xAD\xA8\xAA\xA0 ",                         //мошенника
+			"\xA2\xA7\xAB\xAE\xAC\xE9\xA8\xAA\xA0 ",                         //взломщика
+			"\xAC\xA0\xE0\xAE\xA4\xF1\xE0\xA0 ",                             //мародёра
+			"\xA1\xA0\xAD\xA4\xA8\xE2\xA0 ",                                 //бандита
+			"\xAA\xA0\xE0\xAC\xA0\xAD\xAD\xA8\xAA\xA0 ",                     //карманника
+			"\xA2\xAE\xE0\xA0 ",                                             //вора
+			"\xE0\xA0\xA7\xA1\xAE\xA9\xAD\xA8\xAA\xA0 ",                     //разбойника
+			"\xA3\xE0\xA0\xA1\xA8\xE2\xA5\xAB\xEF ",                         //грабителя
+			"\xAF\xE0\xA5\xE1\xE2\xE3\xAF\xAD\xA8\xAA\xA0 ",                 //преступника
+			"\xAF\xA8\xE0\xA0\xE2\xA0 "                                      //пирата
 		};
 		return _maeNames;
 	}
 
-	const char **MIRROR_LOCATIONS() {
+	const char **CLOUDS_MIRROR_LOCATIONS() {	// xeenmirr.txt
 		static const char *_mirrLocs[] = {
 			"\xA2\xA5\xE0\xE2\xA8\xA3\xAE",                                                                            // вертиго
 			"\xAD\xA0\xA9\xE2\xE8\xED\xA4\xAE\xE3",                                                                    // найтшэдоу
@@ -2150,6 +2150,278 @@ public:
 		return _mirrLocs;
 	}
 
+	const char **CLOUDS_MAP_NAMES() {
+		static const char *_mapNames[] = {	// mapnames.cld
+			" ",
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC A1 ",                                                      // Область A1
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC A2 ",                                                      // Область A2
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC A3 ",                                                      // Область A3
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC A4 ",                                                      // Область A4
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC B1 ",                                                      // Область B1
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC B2 ",                                                      // Область B2
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC B3 ",                                                      // Область B3
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC B4 ",                                                      // Область B4
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC C1 ",                                                      // Область C1
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC C2 ",                                                      // Область C2
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC C3 ",                                                      // Область C3
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC C4 ",                                                      // Область C4
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC D1 ",                                                      // Область D1
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC D2 ",                                                      // Область D2
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC D3 ",                                                      // Область D3
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC D4 ",                                                      // Область D4
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC E1 ",                                                      // Область E1
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC E2 ",                                                      // Область E2
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC E3 ",                                                      // Область E3
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC E4 ",                                                      // Область E4
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC F1 ",                                                      // Область F1
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC F2 ",                                                      // Область F2
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC F3 ",                                                      // Область F3
+			"\x8E\xA1\xAB\xA0\xE1\xE2\xEC F4 ",                                                      // Область F4
+			"\x8E\xA1\xAB\xA0\xAA\xA0 \xA2\xA5\xA4\xEC\xAC ",                                        // Облака ведьм
+			"\x8E\xA1\xAB\xA0\xAA\xA0 \xA2\xEB\xE1\xE8\xA5\xA9 \xAC\xA0\xA3\xA8\xA8 ",               // Облака высшей магии
+			"\x8E\xA1\xAB\xA0\xAA\xA0 \x8A\xE1\xA8\xAD\xA0 ",                                        // Облака Ксина
+			"\x82\xA5\xE0\xE2\xA8\xA3\xAE ",                                                         // Вертиго
+			"\x8D\xA0\xA9\xE2\xE8\xED\xA4\xAE\xE3 ",                                                 // Найтшэдоу
+			"\x90\xA8\xA2\xA5\xE0\xE1\xA8\xE2\xA8 ",                                                 // Риверсити
+			"\x9D\xE1\xAF ",                                                                         // Эсп
+			"\x82\xA8\xAD\xE2\xA5\xE0\xAA\xA8\xAB\xAB ",                                             // Винтеркилл
+			"\x98\xA0\xE5\xE2\xEB \xA4\xA2\xAE\xE0\xE4\xAE\xA2 1 ",                                  // Шахты дворфов 1
+			"\x98\xA0\xE5\xE2\xEB \xA4\xA2\xAE\xE0\xE4\xAE\xA2 2 ",                                  // Шахты дворфов 2
+			"\x98\xA0\xE5\xE2\xEB \xA4\xA2\xAE\xE0\xE4\xAE\xA2 3 ",                                  // Шахты дворфов 3
+			"\x98\xA0\xE5\xE2\xEB \xA4\xA2\xAE\xE0\xE4\xAE\xA2 4 ",                                  // Шахты дворфов 4
+			"\x98\xA0\xE5\xE2\xEB \xA4\xA2\xAE\xE0\xE4\xAE\xA2 5 ",                                  // Шахты дворфов 5
+			"\x83\xAB\xE3\xA1\xAE\xAA\xA0\xEF \xE8\xA0\xE5\xE2\xA0 \x80\xAB\xEC\xE4\xA0 ",           // Глубокая шахта Альфа
+			"\x83\xAB\xE3\xA1\xAE\xAA\xA0\xEF \xE8\xA0\xE5\xE2\xA0 \x92\xA5\xE2\xA0 ",               // Глубокая шахта Тета
+			"\x83\xAB\xE3\xA1\xAE\xAA\xA0\xEF \xE8\xA0\xE5\xE2\xA0 \x8A\xA0\xAF\xAF\xA0 ",           // Глубокая шахта Каппа
+			"\x83\xAB\xE3\xA1\xAE\xAA\xA0\xEF \xE8\xA0\xE5\xE2\xA0 \x8E\xAC\xA5\xA3\xA0 ",           // Глубокая шахта Омега
+			"\x8F\xA5\xE9\xA5\xE0\xA0 \xA8\xAB\xAB\xEE\xA7\xA8\xA9 \x93\xE0\xAE\xA2\xA5\xAD\xEC 1 ", // Пещера иллюзий Уровень 1
+			"\x8F\xA5\xE9\xA5\xE0\xA0 \xA8\xAB\xAB\xEE\xA7\xA8\xA9 \x93\xE0\xAE\xA2\xA5\xAD\xEC 2 ", // Пещера иллюзий Уровень 2
+			"\x8F\xA5\xE9\xA5\xE0\xA0 \xA8\xAB\xAB\xEE\xA7\xA8\xA9 \x93\xE0\xAE\xA2\xA5\xAD\xEC 3 ", // Пещера иллюзий Уровень 3
+			"\x8F\xA5\xE9\xA5\xE0\xA0 \xA8\xAB\xAB\xEE\xA7\xA8\xA9 \x93\xE0\xAE\xA2\xA5\xAD\xEC 4 ", // Пещера иллюзий Уровень 4
+			"\x8F\xA5\xE9\xA5\xE0\xA0 \xA2\xE3\xAB\xAA\xA0\xAD\xA0 \x93\xE0\xAE\xA2\xA5\xAD\xEC 1 ", // Пещера вулкана Уровень 1
+			"\x8F\xA5\xE9\xA5\xE0\xA0 \xA2\xE3\xAB\xAA\xA0\xAD\xA0 \x93\xE0\xAE\xA2\xA5\xAD\xEC 2 ", // Пещера вулкана Уровень 2
+			"\x8F\xA5\xE9\xA5\xE0\xA0 \xA2\xE3\xAB\xAA\xA0\xAD\xA0 \x93\xE0\xAE\xA2\xA5\xAD\xEC 3 ", // Пещера вулкана Уровень 3
+			"\x98\xA0\xAD\xA3\xE0\xA8-\x8B\xA0 ",                                                    // Шангри-Ла
+			"\x84\xE0\xA0\xAA\xAE\xAD\xEC\xA5 \xAB\xAE\xA3\xAE\xA2\xAE ",                            // Драконье логово
+			"\x81\xA0\xE8\xAD\xEF \xA2\xA5\xA4\xEC\xAC. \x9D\xE2\xA0\xA6 1 ",                        // Башня ведьм. Этаж 1
+			"\x81\xA0\xE8\xAD\xEF \xA2\xA5\xA4\xEC\xAC. \x9D\xE2\xA0\xA6 2 ",                        // Башня ведьм. Этаж 2
+			"\x81\xA0\xE8\xAD\xEF \xA2\xA5\xA4\xEC\xAC. \x9D\xE2\xA0\xA6 3 ",                        // Башня ведьм. Этаж 3
+			"\x81\xA0\xE8\xAD\xEF \xA2\xA5\xA4\xEC\xAC. \x9D\xE2\xA0\xA6 4 ",                        // Башня ведьм. Этаж 4
+			"\x81\xA0\xE8\xAD\xEF \xA2\xEB\xE1\xE8\xA5\xA9 \xAC\xA0\xA3\xA8\xA8 \x9D\xE2 1 ",        // Башня высшей магии Эт 1
+			"\x81\xA0\xE8\xAD\xEF \xA2\xEB\xE1\xE8\xA5\xA9 \xAC\xA0\xA3\xA8\xA8 \x9D\xE2 2 ",        // Башня высшей магии Эт 2
+			"\x81\xA0\xE8\xAD\xEF \xA2\xEB\xE1\xE8\xA5\xA9 \xAC\xA0\xA3\xA8\xA8 \x9D\xE2 3 ",        // Башня высшей магии Эт 3
+			"\x81\xA0\xE8\xAD\xEF \xA2\xEB\xE1\xE8\xA5\xA9 \xAC\xA0\xA3\xA8\xA8 \x9D\xE2 4 ",        // Башня высшей магии Эт 4
+			"\x81\xA0\xE8\xAD\xEF \x84\xA0\xE0\xA7\xAE\xA3\xA0. \x9D\xE2\xA0\xA6 1 ",                // Башня Дарзога. Этаж 1
+			"\x81\xA0\xE8\xAD\xEF \x84\xA0\xE0\xA7\xAE\xA3\xA0. \x9D\xE2\xA0\xA6 2 ",                // Башня Дарзога. Этаж 2
+			"\x81\xA0\xE8\xAD\xEF \x84\xA0\xE0\xA7\xAE\xA3\xA0. \x9D\xE2\xA0\xA6 3 ",                // Башня Дарзога. Этаж 3
+			"\x81\xA0\xE8\xAD\xEF \x84\xA0\xE0\xA7\xAE\xA3\xA0. \x9D\xE2\xA0\xA6 4 ",                // Башня Дарзога. Этаж 4
+			"\x8F\xAE\xA4\xA7\xA5\xAC\xA5\xAB\xEC\xA5 \x81\xA0\xE0\xAB\xAE\xAA\xA0 ",                // Подземелье Барлока
+			"\x87\xA0\xAC\xAE\xAA \x81\xA0\xE0\xAB\xAE\xAA. \x9D\xE2\xA0\xA6 1 ",                    // Замок Барлок. Этаж 1
+			"\x87\xA0\xAC\xAE\xAA \x81\xA0\xE0\xAB\xAE\xAA. \x9D\xE2\xA0\xA6 2 ",                    // Замок Барлок. Этаж 2
+			"\x87\xA0\xAC\xAE\xAA \x81\xA0\xE0\xAB\xAE\xAA. \x9D\xE2\xA0\xA6 3 ",                    // Замок Барлок. Этаж 3
+			"\x8F\xAE\xA7\xA5\xAC\xA5\xAB\xEC\xA5 \x81\xA0\xA7\xA5\xAD\xA4\xA6\xA8 ",                // Поземелье Базенджи
+			"\x87\xA0\xAC\xAE\xAA \x81\xA0\xA7\xA5\xAD\xA4\xA6\xA8. \x9D\xE2\xA0\xA6 1 ",            // Замок Базенджи. Этаж 1
+			"\x87\xA0\xAC\xAE\xAA \x81\xA0\xA7\xA5\xAD\xA4\xA6\xA8. \x9D\xE2\xA0\xA6 2 ",            // Замок Базенджи. Этаж 2
+			"\x87\xA0\xAC\xAE\xAA \x81\xA0\xA7\xA5\xAD\xA4\xA6\xA8. \x9D\xE2\xA0\xA6 3 ",            // Замок Базенджи. Этаж 3
+			"\x8F\xAE\xA4\xA7\xA5\xAC\xA5\xAB\xEC\xA5 \x8D\xEC\xEE\xAA\xA0\xE1\xAB\xA0 ",            // Подземелье Ньюкасла
+			"\x94\xE3\xAD\xA4\xA0\xAC\xA5\xAD\xE2 \x8D\xEC\xEE\xAA\xA0\xE1\xAB\xA0 ",                // Фундамент Ньюкасла
+			"\x8D\xEC\xEE\xAA\xA0\xE1\xAB. \x9D\xE2\xA0\xA6 1 ",                                     // Ньюкасл. Этаж 1
+			"\x8D\xEC\xEE\xAA\xA0\xE1\xAB. \x9D\xE2\xA0\xA6 2 ",                                     // Ньюкасл. Этаж 2
+			"\x87\xA0\xAC\xAE\xAA \x8A\xE1\xA8\xAD\xA0. \x9D\xE2\xA0\xA6 1 ",                        // Замок Ксина. Этаж 1
+			"\x87\xA0\xAC\xAE\xAA \x8A\xE1\xA8\xAD\xA0. \x9D\xE2\xA0\xA6 2 ",                        // Замок Ксина. Этаж 2
+			"\x87\xA0\xAC\xAE\xAA \x8A\xE1\xA8\xAD\xA0. \x9D\xE2\xA0\xA6 3 ",                        // Замок Ксина. Этаж 3
+			"\x87\xA0\xAC\xAE\xAA \x8A\xE1\xA8\xAD\xA0. \x9D\xE2\xA0\xA6 4 ",                        // Замок Ксина. Этаж 4
+			"\x84\xE0\xA5\xA2\xAD\xA8\xA9 \xE5\xE0\xA0\xAC \x9F\xAA\xA0 ",                           // Древний храм Яка
+			"\x91\xAA\xAB\xA5\xAF \x92\xEB\xE1\xEF\xE7\xA8 \x93\xA6\xA0\xE1\xAE\xA2 ",               // Склеп Тысячи Ужасов
+			"\x8F\xAE\xA4\xA7\xA5\xAC\xA5\xAB\xEC\xA5 \xA3\xAE\xAB\xA5\xAC\xAE\xA2 ",                // Подземелье големов
+			"\x92\xA5\xAB\xAE \x91\xE4\xA8\xAD\xAA\xE1\xA0 ",                                        // Тело Сфинкса
+			"\x83\xAE\xAB\xAE\xA2\xA0 \x91\xE4\xA8\xAD\xAA\xE1\xA0 ",                                // Голова Сфинкса
+			"\x8F\xAE\xA4\xA7\xA5\xAC\xA5\xAB\xEC\xA5 \x91\xE4\xA8\xAD\xAA\xE1\xA0 ",                // Подземелье Сфинкса
+			"\x80\xE0\xA5\xAD\xA0"                                                                  // Арена
+		};
+		return _mapNames;
+	}
+
+	const char **CLOUDS_MONSTERS() {	// monsters.cld
+		static const char *_monsters[] = {
+			"\x91\xAB\xA8\xA7\xA5\xAD\xEC ",                                               // Слизень
+			"\x81\xAE\xAB\xEC\xE8\xA0\xEF \xAB\xA5\xE2\xE3\xE7\xA0\xEF \xAC\xEB\xE8\xEC ", // Большая летучая мышь
+			"\x97\xE3\xA4\xAE\xA2\xA8\xE9\xAD\xA0\xEF \xE1\xA0\xE0\xA0\xAD\xE7\xA0 ",      // Чудовищная саранча
+			"\x81\xAE\xAB\xEC\xE8\xA0\xEF \xA7\xAC\xA5\xEF ",                              // Большая змея
+			"\x83\xA8\xA3\xA0\xAD\xE2\xE1\xAA\xA8\xA9 \xAF\xA0\xE3\xAA ",                  // Гигантский паук
+			"\x83\xAE\xA1\xAB\xA8\xAD ",                                                   // Гоблин
+			"\x8E\xE0\xAA ",                                                               // Орк
+			"\x81\xA5\xA7\xE3\xAC\xAD\xEB\xA9 \xA4\xA2\xAE\xE0\xE4 ",                      // Безумный дворф
+			"\x91\xAA\xA5\xAB\xA5\xE2 ",                                                   // Скелет
+			"\x87\xAE\xAC\xA1\xA8 ",                                                       // Зомби
+			"\x81\xE3\xA9\xAD\xEB\xA9 \xA4\xE3\xE0\xA0\xAA ",                              // Буйный дурак
+			"\x92\xA8\xA3\xE0\xAE\xA2\xEB\xA9 \xAA\xE0\xAE\xE2 ",                          // Тигровый крот
+			"\x81\xA5\xA7\xE3\xAC\xAD\xEB\xA9 \xAD\xA8\xE9\xA8\xA9 ",                      // Безумный нищий
+			"\x8E\xA3\xE0\xAE\xAC\xAD\xA0\xEF \xA6\xA0\xA1\xA0 ",                          // Огромная жаба
+			"\x87\xAB\xA0\xEF \xA2\xA5\xA4\xEC\xAC\xA0 ",                                  // Злая ведьма
+			"\x90\xAE\xA9 \xAD\xA0\xE1\xA5\xAA\xAE\xAC\xEB\xE5 ",                          // Рой насекомых
+			"\x8A\xAE\xE0\xAE\xAB\xA5\xA2\xA0 \xAD\xA5\xE2\xAE\xAF\xEB\xE0\xA5\xA9 ",      // Королева нетопырей
+			"\x8A\xAB\xA8\xE0\xA8\xAA \x9F\xAA\xA0 ",                                      // Клирик Яка
+			"\x90\xA0\xA7\xA1\xAE\xA9\xAD\xA8\xAA ",                                       // Разбойник
+			"\x81\xAE\xAB\xEC\xE8\xAE\xA9 \xE1\xAA\xAE\xE0\xAF\xA8\xAE\xAD ",              // Большой скорпион
+			"\x83\xA0\xE0\xAF\xA8\xEF ",                                                   // Гарпия
+			"\x91\xE2\xE0\xA0\xA6 ",                                                       // Страж
+			"\x8F\xA8\xAA\xE1\xA8-\xE3\xA1\xA8\xA9\xE6\xA0 ",                              // Пикси-убийца
+			"\x86\xA0\xAB\xEF\xE9\xA8\xA5 \xAD\xA0\xE1\xA5\xAA\xAE\xAC\xEB\xA5 ",          // Жалящие насекомые
+			"\x8D\xA8\xAD\xA4\xA7\xEF ",                                                   // Ниндзя
+			"\x86\xE0\xA5\xE6 \x9F\xAA\xA0 ",                                              // Жрец Яка
+			"\x8A\xE0\xEB\xAB\xA0\xE2\xEB\xA5 \xE1\xE2\xE3\xAF\xAD\xA8 ",                  // Крылатые ступни
+			"\x93\xAF\xEB\xE0\xEC ",                                                       // Упырь
+			"\x82\xAE\xA4\xEF\xAD\xAE\xA9 \xA3\xAE\xAB\xA5\xAC ",                          // Водяной голем
+			"\x82\xE1\xA0\xA4\xAD\xA8\xAA ",                                               // Всадник
+			"\x97\xA5\xAB\xAE\xA2\xA5\xAA-\xA7\xAC\xA5\xEF ",                              // Человек-змея
+			"\x82\xAE\xAB\xE8\xA5\xA1\xAD\xA8\xE6\xA0 ",                                   // Волшебница
+			"\x8E\xA3\xE0 ",                                                               // Огр
+			"\x91\xE2\xE0\xA0\xA6 \xE1\xAA\xAB\xA5\xAF\xA0 ",                              // Страж склепа
+			"\x81\xAE\xAB\xAE\xE2\xAD\xA0\xEF \xE2\xA2\xA0\xE0\xEC ",                      // Болотная тварь
+			"\x92\xF1\xAC\xAD\xEB\xA9 \xE1\xAB\xA5\xA4\xAE\xAF\xEB\xE2 ",                  // Тёмный следопыт
+			"\x91\xAD\xA5\xA6\xAD\xEB\xA9 \xA7\xA2\xA5\xE0\xEC ",                          // Снежный зверь
+			"\x8F\xA5\xE1\xE7\xA0\xAD\xEB\xA9 \xA3\xAE\xAB\xA5\xAC ",                      // Песчаный голем
+			"\x90\xEB\xE6\xA0\xE0\xEC \x9F\xAD\xEC ",                                      // Рыцарь Янь
+			"\x8E\xA1\xAE\xE0\xAE\xE2\xA5\xAD\xEC ",                                       // Оборотень
+			"\x8C\xE3\xAC\xA8\xEF ",                                                       // Мумия
+			"\x8B\xA8\xE7 \x9F\xAA\xA0 ",                                                  // Лич Яка
+			"\x8A\xAE\xAB\xA4\xE3\xAD ",                                                   // Колдун
+			"\x92\xF1\xAC\xAD\xEB\xA9 \xAB\xE3\xE7\xAD\xA8\xAA ",                          // Тёмный лучник
+			"\x84\xA5\xE0\xA5\xA2\xEF\xAD\xAD\xEB\xA9 \xA3\xAE\xAB\xA5\xAC ",              // Деревянный голем
+			"\x82\xA0\xE0\xA2\xA0\xE0 ",                                                   // Варвар
+			"\x91\xE2\xE0\xA0\xA6 \xA7\xA0\xAC\xAA\xA0 ",                                  // Страж замка
+			"\x83\xAE\xE0\xA3\xE3\xAB\xEC\xEF ",                                           // Горгулья
+			"\x83\xAD\xAE\xAC-\xA2\xA0\xAC\xAF\xA8\xE0 ",                                  // Гном-вампир
+			"\x84\xAB\xA0\xAD\xEC \xE0\xA5\xA7\xAD\xA8 ",                                  // Длань резни
+			"\x82\xAE\xAB\xE8\xA5\xA1\xAD\xA8\xAA ",                                       // Волшебник
+			"\x93\xA6\xA0\xE1 \xE1\xAA\xAB\xA5\xAF\xA0 ",                                  // Ужас склепа
+			"\x87\xA5\xAC\xAB\xEF\xAD\xAE\xA9 \xA3\xAE\xAB\xA5\xAC ",                      // Земляной голем
+			"\x8B\xA5\xA4\xEF\xAD\xAE\xA9 \xE2\xE0\xAE\xAB\xAB\xEC ",                      // Ледяной тролль
+			"\x83\xA0\xA4\xEE\xAA\xA0-\xE1\xE2\xE0\xA0\xA6 ",                              // Гадюка-страж
+			"\x8A\xA0\xAC\xA5\xAD\xAD\xEB\xA9 \xA3\xAE\xAB\xA5\xAC ",                      // Каменный голем
+			"\x8F\xA5\xE1\xE7\xA0\xAD\xEB\xA9 \xE7\xA5\xE0\xA2\xEC ",                      // Песчаный червь
+			"\x96\xA8\xAA\xAB\xAE\xAF ",                                                   // Циклоп
+			"\x86\xA5\xAB\xA5\xA7\xAD\xEB\xA9 \xA3\xAE\xAB\xA5\xAC ",                      // Железный голем
+			"\x82\xAE\xA4\xAD\xEB\xA9 \xA4\xE0\xA0\xAA\xAE\xAD ",                          // Водный дракон
+			"\x8D\xA5\xA1\xA5\xE1\xAD\xEB\xA9 \xA3\xAE\xAB\xA5\xAC ",                      // Небесный голем
+			"\x8A\xA8\xE1\xAB\xAE\xE2\xAD\xEB\xA9 \xA4\xE0\xA0\xAA\xAE\xAD ",              // Кислотный дракон
+			"\x91\xE2\xE0\xA0\xA6 \x8A\xE1\xA8\xAD\xA0 ",                                  // Страж Ксина
+			"\x8A\xAB\xAE\xAD \x84\xA0\xE0\xA7\xAE\xA3\xA0 ",                              // Клон Дарзога
+			"\x84\xA5\xAC\xAE\xAD ",                                                       // Демон
+			"\x8B\xA0\xA2\xAE\xA2\xEB\xA9 \xA3\xAE\xAB\xA5\xAC ",                          // Лавовый голем
+			"\x90\xE3\xE5 ",                                                               // Рух
+			"\x80\xAB\xAC\xA0\xA7\xAD\xEB\xA9 \xA3\xAE\xAB\xA5\xAC ",                      // Алмазный голем
+			"\x8E\xA3\xAD\xA5\xAD\xAD\xEB\xA9 \xA4\xE0\xA0\xAA\xAE\xAD ",                  // Огненный дракон
+			"\x8B\xA5\xA4\xEF\xAD\xAE\xA9 \xA4\xE0\xA0\xAA\xAE\xAD ",                      // Ледяной дракон
+			"\x84\xEC\xEF\xA2\xAE\xAB ",                                                   // Дьявол
+			"\x82\xA5\xAB\xA8\xAA\xA0\xEF \xA3\xA8\xA4\xE0\xA0 ",                          // Великая гидра
+			"\x8A\xAE\xE0\xAE\xAB\xEC \xA4\xE0\xA0\xAA\xAE\xAD\xAE\xA2 ",                  // Король драконов
+			"\x91\xAB\xA8\xA7\xAE\xAC\xA0\xE2\xAA\xA0 ",                                   // Слизоматка
+			"\x91\xE2\xA0\xE0\xE8\xA8\xAD\xA0 \xAA\xAB\xA0\xAD\xA0 ",                      // Старшина клана
+			"\x8A\xAE\xE0\xAE\xAB\xEC \xAA\xAB\xA0\xAD\xA0 ",                              // Король клана
+			"\x91\xE2\xA0\xE0\xE8\xA0\xEF \xA2\xA5\xA4\xEC\xAC\xA0 ",                      // Старшая ведьма
+			"\x8F\xE0\xA8\xA7\xE0\xA0\xE7\xAD\xEB\xA9 \xE1\xAA\xA5\xAB\xA5\xE2 ",          // Призрачный скелет
+			"\x8F\xAE\xAB\xE2\xA5\xE0\xA4\xE3\xE0 ",                                       // Полтердур
+			"\x8F\xE0\xA8\xA7\xE0\xA0\xE7\xAD\xEB\xA9 \xA2\xE1\xA0\xA4\xAD\xA8\xAA ",      // Призрачный всадник
+			"\x83\xAB\xA0\xA2\xA0\xE0\xEC \xE0\xA0\xA7\xA1\xAE\xA9\xAD\xA8\xAA\xAE\xA2 ",  // Главарь разбойников
+			"\x8A\xAE\xE0\xAE\xAB\xA5\xA2\xA0 \xA3\xA0\xE0\xAF\xA8\xA9 ",                  // Королева гарпий
+			"\x8A\xA0\xAF\xA8\xE2\xA0\xAD \x9F\xAD\xEC ",                                  // Капитан Янь
+			"\x8C\xA0\xA3\xA8\xE1\xE2\xE0 \x9F\xAA ",                                      // Магистр Як
+			"\x8A\xAE\xE0\xAE\xAB\xA5\xA2\xE1\xAA\xA8\xA9 \xE1\xE2\xE0\xA0\xA6 ",          // Королевский страж
+			"\x83\xAB\xA0\xA2\xA0 \xE1\xA5\xAA\xE2\xEB ",                                  // Глава секты
+			"\x83\xE0\xA0\xE4 \x84\xE0\xA0\xAA\xAE ",                                      // Граф Драко
+			"\x84\xA0\xE0\xA7\xAE\xA3 ",                                                   // Дарзог
+			"\x87\xA2\xA5\xE0\xE3\xE8\xAA\xA0 \x8A\xE1\xA8\xAD\xA0 ",                      // Зверушка Ксина
+			"\x8B\xAE\xE0\xA4 \x8A\xE1\xA8\xAD ",                                          // Лорд Ксин
+			""
+		};
+		return _monsters;
+	}
+
+	const char **CLOUDS_SPELLS() {	// spells.cld
+		static const char *_spells[] = {
+			"\x90\xA0\xE1\xAF\xEB\xAB\xA5\xAD\xA8\xA5 \xAA\xA8\xE1\xAB\xAE\xE2\xEB ", // Распыление кислоты
+			"\x8F\xE0\xAE\xA1\xE3\xA6\xA4\xA5\xAD\xA8\xA5 ",                          // Пробуждение
+			"\x8F\xAE\xA2\xA5\xAB\xA8\xE2\xA5\xAB\xEC \xA7\xA2\xA5\xE0\xA5\xA9 ",     // Повелитель зверей
+			"\x81\xAB\xA0\xA3\xAE\xE1\xAB\xAE\xA2\xA5\xAD\xA8\xA5 ",                  // Благословение
+			"\x9F\xE1\xAD\xAE\xA2\xA8\xA4\xA5\xAD\xA8\xA5 ",                          // Ясновидение
+			"\x8B\xE3\xE7 \xE5\xAE\xAB\xAE\xA4\xA0 ",                                 // Луч холода
+			"\x91\xAE\xE2\xA2\xAE\xE0\xA5\xAD\xA8\xA5 \xA5\xA4\xEB ",                 // Сотворение еды
+			"\x8B\xA5\xE7\xA5\xAD\xA8\xA5 \xA1\xAE\xAB\xA5\xA7\xAD\xA8 ",             // Лечение болезни
+			"\x8B\xA5\xE7\xA5\xAD\xA8\xA5 \xAF\xA0\xE0\xA0\xAB\xA8\xE7\xA0 ",         // Лечение паралича
+			"\x8B\xA5\xE7\xA5\xAD\xA8\xA5 \xAE\xE2\xE0\xA0\xA2\xAB\xA5\xAD\xA8\xEF ", // Лечение отравления
+			"\x8B\xA5\xE7\xA5\xAD\xA8\xA5 \xE0\xA0\xAD ",                             // Лечение ран
+			"\x92\xA0\xAD\xE6\xE3\xEE\xE9\xA8\xA9 \xAA\xAB\xA8\xAD\xAE\xAA ",         // Танцующий клинок
+			"\x84\xA5\xAD\xEC \xA7\xA0\xE9\xA8\xE2\xEB ",                             // День защиты
+			"\x84\xA5\xAD\xEC \xAC\xA0\xA3\xA8\xA8 ",                                 // День магии
+			"\x91\xAC\xA5\xE0\xE2\xA5\xAB\xEC\xAD\xEB\xA9 \xE0\xAE\xA9 ",             // Смертельный рой
+			"\x8F\xAE\xA8\xE1\xAA \xAC\xAE\xAD\xE1\xE2\xE0\xAE\xA2 ",                 // Поиск монстров
+			"\x8F\xAE\xAC\xAE\xE9\xEC \x81\xAE\xA3\xAE\xA2  ",                        // Помощь Богов
+			"\x93\xE1\xEB\xAF\xAB\xA5\xAD\xA8\xA5 \xA4\xE0\xA0\xAA\xAE\xAD\xA0 ",     // Усыпление дракона
+			"\x81\xE3\xE0\xEF \xE1\xE2\xA8\xE5\xA8\xA9 ",                             // Буря стихий
+			"\x87\xA0\xE7\xA0\xE0\xAE\xA2\xA0\xE2\xEC \xAF\xE0\xA5\xA4\xAC\xA5\xE2 ", // Зачаровать предмет
+			"\x82\xA7\xE0\xEB\xA2 \xED\xAD\xA5\xE0\xA3\xA8\xA8 ",                     // Взрыв энергии
+			"\x88\xE1\xE7\xA5\xA7\xAD\xAE\xA2\xA5\xAD\xA8\xA5 ",                      // Исчезновение
+			"\x91\xE2\xE0\xA0\xE8\xAD\xEB\xA9 \xAC\xAE\xE0\xAE\xA7 ",                 // Страшный мороз
+			"\x8E\xA3\xAD\xA5\xAD\xAD\xEB\xA9 \xE6\xA5\xAF ",                         // Огненный цеп
+			"\x8F\xA5\xE0\xE1\xE2 \xE1\xAC\xA5\xE0\xE2\xA8 ",                         // Перст смерти
+			"\x8E\xA3\xAD\xA5\xAD\xAD\xEB\xA9 \xE8\xA0\xE0 ",                         // Огненный шар
+			"\x8F\xA5\xE0\xA2\xA0\xEF \xAF\xAE\xAC\xAE\xE9\xEC ",                     // Первая помощь
+			"\x8B\xA5\xE2\xA0\xEE\xE9\xA8\xA9 \xAA\xE3\xAB\xA0\xAA ",                 // Летающий кулак
+			"\x8E\xA1\xA6\xA8\xA3\xA0\xEE\xE9\xA8\xA9 \xE5\xAE\xAB\xAE\xA4 ",         // Обжигающий холод
+			"\x8E\xE1\xE2\xA0\xAD\xAE\xA2\xA8\xE2\xEC \xA3\xAE\xAB\xA5\xAC\xA0 ",     // Остановить голема
+			"\x8C\xE3\xA6\xA5\xE1\xE2\xA2\xAE ",                                      // Мужество
+			"\x91\xA2\xEF\xE2\xAE\xA9 \xA4\xA0\xE0 ",                                 // Святой дар
+			"\x91\xA2\xEF\xE2\xAE\xA5 \xE1\xAB\xAE\xA2\xAE ",                         // Святое слово
+			"\x83\xA8\xAF\xAD\xAE\xA7 ",                                              // Гипноз
+			"\x8E\xAF\xAE\xA7\xAD\xA0\xE2\xEC \xAC\xAE\xAD\xE1\xE2\xE0\xA0 ",         // Опознать монстра
+			"\x88\xAC\xAF\xAB\xAE\xA7\xA8\xEF ",                                      // Имплозия
+			"\x88\xE1\xAF\xA5\xAF\xA5\xAB\xA5\xAD\xA8\xA5 ",                          // Испепеление
+			"\x80\xA4\xE1\xAA\xAE\xA5 \xAF\xAB\xA0\xAC\xEF ",                         // Адское пламя
+			"\x90\xA5\xAF\xA5\xAB\xAB\xA5\xAD\xE2 ",                                  // Репеллент
+			"\x8F\xE0\xA5\xA4\xAC\xA5\xE2 \xA2 \xA7\xAE\xAB\xAE\xE2\xAE ",            // Предмет в золото
+			"\x8F\xE0\xEB\xA6\xAE\xAA ",                                              // Прыжок
+			"\x8B\xA5\xA2\xA8\xE2\xA0\xE6\xA8\xEF ",                                  // Левитация
+			"\x91\xA2\xA5\xE2 ",                                                      // Свет
+			"\x93\xA4\xA0\xE0 \xAC\xAE\xAB\xAD\xA8\xA8 ",                             // Удар молнии
+			"\x8C\xA0\xEF\xAA \x8B\xAB\xAE\xA9\xA4\xA0 ",                             // Маяк Ллойда
+			"\x82\xAE\xAB\xE8\xA5\xA1\xAD\xA0\xEF \xE1\xE2\xE0\xA5\xAB\xA0 ",         // Волшебная стрела
+			"\x88\xA7\xAC\xA5\xAD\xA5\xAD\xA8\xA5 \xA2\xA5\xE1\xA0 ",                 // Изменение веса
+			"\x8C\xA5\xA3\xA0\xA2\xAE\xAB\xEC\xE2\xEB ",                              // Мегавольты
+			"\x8B\xE3\xAD\xAD\xEB\xA9 \xAB\xE3\xE7 ",                                 // Лунный луч
+			"\x8F\xE0\xA8\xE0\xAE\xA4\xAD\xAE\xA5 \xAB\xA5\xE7\xA5\xAD\xA8\xA5 ",     // Природное лечение
+			"\x81\xAE\xAB\xEC ",                                                      // Боль
+			"\x9F\xA4\xAE\xA2\xA8\xE2\xEB\xA9 \xA7\xA0\xAB\xAF ",                     // Ядовитый залп
+			"\x88\xE1\xE6\xA5\xAB\xA5\xAD\xA8\xA5 ",                                  // Исцеление
+			"\x91\xA8\xAB\xAE\xA2\xAE\xA9 \xE9\xA8\xE2 ",                             // Силовой щит
+			"\x91\xA2\xA5\xE2 \xAF\xE0\xA8\xA7\xAC\xEB ",                             // Свет призмы
+			"\x87\xA0\xE9\xA8\xE2\xA0 \xAE\xE2 \xE1\xE2\xA8\xE5\xA8\xA9 ",            // Защита от стихий
+			"\x8E\xA6\xA8\xA2\xAB\xA5\xAD\xA8\xA5 \xAC\xF1\xE0\xE2\xA2\xEB\xE5 ",     // Оживление мёртвых
+			"\x8F\xA5\xE0\xA5\xA7\xA0\xE0\xEF\xA4\xAA\xA0 \xAF\xE0\xA5\xA4\xAC. ",    // Перезарядка предм.
+			"\x82\xAE\xE1\xAA\xE0\xA5\xE8\xA5\xAD\xA8\xA5 ",                          // Воскрешение
+			"\x8B\xA5\xE7\xA5\xAD\xA8\xA5 \xE1\xAB\xA0\xA1\xAE\xE1\xE2\xA8 ",         // Лечение слабости
+			"\x98\xE0\xA0\xAF\xAD\xA5\xAB\xEC ",                                      // Шрапнель
+			"\x93\xE1\xEB\xAF\xAB\xA5\xAD\xA8\xA5 ",                                  // Усыпление
+			"\x88\xE1\xAA\xE0\xEB ",                                                  // Искры
+			"\x82\xA7\xE0\xEB\xA2 \xA7\xA2\xA5\xA7\xA4\xEB ",                         // Взрыв звезды
+			"\x88\xA7 \xAA\xA0\xAC\xAD\xEF \xA2 \xAF\xAB\xAE\xE2\xEC ",               // Из камня в плоть
+			"\x91\xAE\xAB\xAD\xA5\xE7\xAD\xEB\xA9 \xAB\xE3\xE7 ",                     // Солнечный луч
+			"\x97\xE3\xA4\xA5\xE1\xAD\xAE\xA5 \xE3\xA1\xA5\xA6\xA8\xE9\xA5 ",         // Чудесное убежище
+			"\x8E\xA1\xAB\xA5\xA3\xE7\xA5\xAD\xA8\xA5 \xA1\xAE\xAB\xA5\xA7\xAD\xA8 ", // Облегчение болезни
+			"\x8E\xE1\xAB\xA0\xA1. \xAE\xE2\xE0\xA0\xA2\xAB\xA5\xAD\xA8\xA5 ",        // Ослаб. отравление
+			"\x92\xA5\xAB\xA5\xAF\xAE\xE0\xE2 ",                                      // Телепорт
+			"\x88\xE1\xAA\xA0\xA6\xA5\xAD\xA8\xA5 \xA2\xE0\xA5\xAC\xA5\xAD\xA8 ",     // Искажение времени
+			"\x83\xAE\xE0\xAE\xA4\xE1\xAA\xAE\xA9 \xAF\xAE\xE0\xE2\xA0\xAB ",         // Городской портал
+			"\x9F\xA4\xAE\xA2\xA8\xE2\xAE\xA5 \xAE\xA1\xAB\xA0\xAA\xAE ",             // Ядовитое облако
+			"\x88\xA7\xA3\xAD\xA0\xAD\xA8\xA5 \xAD\xA5\xA6\xA8\xE2\xA8 ",             // Изгнание нежити
+			"\x95\xAE\xA6\xA4\xA5\xAD\xA8\xA5 \xAF\xAE \xA2\xAE\xA4\xA5 ",            // Хождение по воде
+			"\x82\xAE\xAB\xE8\xA5\xA1\xAD\xEB\xA9 \xA3\xAB\xA0\xA7 ",                 // Волшебный глаз
+			"\x8D\xA5\xE2"                                                           // Нет
+		};
+		return _spells;
+	}
+
 	class RU_KeyConstants : public KeyConstants {
 	public:
 		class RU_DialogsCharInfo : public DialogsCharInfo {
diff --git a/dists/engine-data/xeen.ccs b/dists/engine-data/xeen.ccs
index c2d06f1c61..7486b95211 100644
Binary files a/dists/engine-data/xeen.ccs and b/dists/engine-data/xeen.ccs differ
diff --git a/engines/xeen/dialogs/dialogs_create_char.cpp b/engines/xeen/dialogs/dialogs_create_char.cpp
index ae97d4bcf3..3333e3eae0 100644
--- a/engines/xeen/dialogs/dialogs_create_char.cpp
+++ b/engines/xeen/dialogs/dialogs_create_char.cpp
@@ -251,6 +251,11 @@ void CreateCharacterDialog::loadButtons() {
 	// Add buttons
 	addButton(Common::Rect(132, 98, 156, 118), Res.KeyConstants.DialogsCreateChar.KEY_ROLL, &_icons);
 	addButton(Common::Rect(132, 128, 156, 148), Res.KeyConstants.DialogsCreateChar.KEY_CREATE, &_icons);
+
+	addButton(Common::Rect(132, 158, 156, 178), Common::KEYCODE_ESCAPE, &_icons);
+	addButton(Common::Rect(86, 98, 110, 118), Common::KEYCODE_UP, &_icons);
+	addButton(Common::Rect(86, 120, 110, 140), Common::KEYCODE_DOWN, &_icons);
+
 	addButton(Common::Rect(168, 19, 192, 39), Res.KeyConstants.DialogsCreateChar.KEY_MGT, nullptr);
 	addButton(Common::Rect(168, 43, 192, 63),   Res.KeyConstants.DialogsCreateChar.KEY_INT, nullptr);
 	addButton(Common::Rect(168, 67, 192, 87),   Res.KeyConstants.DialogsCreateChar.KEY_PER, nullptr);
@@ -259,9 +264,6 @@ void CreateCharacterDialog::loadButtons() {
 	addButton(Common::Rect(168, 139, 192, 159), Res.KeyConstants.DialogsCreateChar.KEY_ACY, nullptr);
 	addButton(Common::Rect(168, 163, 192, 183), Res.KeyConstants.DialogsCreateChar.KEY_LCK, nullptr);
 
-	addButton(Common::Rect(132, 158, 156, 178), Common::KEYCODE_ESCAPE, &_icons);
-	addButton(Common::Rect(86, 98, 110, 118), Common::KEYCODE_UP, &_icons);
-	addButton(Common::Rect(86, 120, 110, 140), Common::KEYCODE_DOWN, &_icons);
 	addButton(Common::Rect(227, 19, 239, 29), 1000, nullptr);
 	addButton(Common::Rect(227, 30, 239, 40), 1001, nullptr);
 	addButton(Common::Rect(227, 41, 239, 51), 1002, nullptr);
diff --git a/engines/xeen/dialogs/dialogs_input.cpp b/engines/xeen/dialogs/dialogs_input.cpp
index d36ed60d63..ca86fe5566 100644
--- a/engines/xeen/dialogs/dialogs_input.cpp
+++ b/engines/xeen/dialogs/dialogs_input.cpp
@@ -257,9 +257,9 @@ int StringInput::execute(bool type, const Common::String &expected,
 				f2.close();
 			}
 
-			if (Common::RU_RUS == g_vm->getLanguage()) {
+			if (Common::RU_RUS == g_vm->getLanguage() && GType_Clouds == g_vm->getGameID()) {
 				for (uint idx = 0; idx < 59; ++idx) {
-					if (!line.compareToIgnoreCase(Res.MIRROR_LOCATIONS[idx])) {
+					if (!line.compareToIgnoreCase(Res.CLOUDS_MIRROR_LOCATIONS[idx])) {
 						result = idx + 1;
 						sound.playFX(_vm->_files->_ccNum ? 35 : 61);
 						break;
diff --git a/engines/xeen/dialogs/dialogs_query.cpp b/engines/xeen/dialogs/dialogs_query.cpp
index 297966b63c..037b467de8 100644
--- a/engines/xeen/dialogs/dialogs_query.cpp
+++ b/engines/xeen/dialogs/dialogs_query.cpp
@@ -39,8 +39,8 @@ bool Confirm::execute(const Common::String &msg, int mode) {
 	SpriteResource confirmSprites;
 
 	confirmSprites.load("confirm.icn");
-	addButton(Common::Rect(129, 112, 153, 122), Common::KEYCODE_y, &confirmSprites);
-	addButton(Common::Rect(185, 112, 209, 122), Common::KEYCODE_n, &confirmSprites);
+	addButton(Common::Rect(129, 112, 153, 132), Common::KEYCODE_y, &confirmSprites);
+	addButton(Common::Rect(185, 112, 209, 132), Common::KEYCODE_n, &confirmSprites);
 
 	Window &w = windows[mode ? 22 : 21];
 	w.open();
diff --git a/engines/xeen/dialogs/dialogs_quests.cpp b/engines/xeen/dialogs/dialogs_quests.cpp
index 7c6feb6e90..87265d4896 100644
--- a/engines/xeen/dialogs/dialogs_quests.cpp
+++ b/engines/xeen/dialogs/dialogs_quests.cpp
@@ -222,7 +222,16 @@ void Quests::execute() {
 		if (_buttonValue == Common::KEYCODE_ESCAPE)
 			break;
 
-		if (Common::KEYCODE_HOME == _buttonValue) {
+		if (Res.KeyConstants.DialogsQuests.KEY_AUTO_NOTES == _buttonValue) {
+			mode = AUTO_NOTES;
+			topRow = 0;
+		} else if (Res.KeyConstants.DialogsQuests.KEY_QUEST_ITEMS == _buttonValue) {
+			mode = QUEST_ITEMS;
+			topRow = 0;
+		} else if (Res.KeyConstants.DialogsQuests.KEY_CURRENT_QUESTS == _buttonValue) {
+			mode = CURRENT_QUESTS;
+			topRow = 0;
+		} else if (Common::KEYCODE_HOME == _buttonValue) {
 			topRow = 0;
 		} else if (Common::KEYCODE_END == _buttonValue) {
 			topRow = MAX(count - 1, 0);
@@ -238,15 +247,6 @@ void Quests::execute() {
 				   Common::KEYCODE_KP2 == _buttonValue ||
 				   Common::KEYCODE_d == _buttonValue) {
 			topRow = CLIP(topRow + 1, 0, MAX(count - 1, 0));
-		} else if (Res.KeyConstants.DialogsQuests.KEY_AUTO_NOTES == _buttonValue) {
-			mode = AUTO_NOTES;
-			topRow = 0;
-		} else if (Res.KeyConstants.DialogsQuests.KEY_QUEST_ITEMS == _buttonValue) {
-			mode = QUEST_ITEMS;
-			topRow = 0;
-		} else if (Res.KeyConstants.DialogsQuests.KEY_CURRENT_QUESTS == _buttonValue) {
-			mode = CURRENT_QUESTS;
-			topRow = 0;
 		}
 	}
 
diff --git a/engines/xeen/item.cpp b/engines/xeen/item.cpp
index dd81a7133c..47a2f80396 100644
--- a/engines/xeen/item.cpp
+++ b/engines/xeen/item.cpp
@@ -289,8 +289,8 @@ void InventoryItems::capitalizeItem(Common::String &name) {
 }
 
 const char *InventoryItems::getMaeName(int material) {
-	if (Common::RU_RUS == g_vm->getLanguage()) {
-		return Res.MAE_NAMES[material];
+	if (Common::RU_RUS == g_vm->getLanguage() && GType_Clouds == g_vm->getGameID()) {
+		return Res.CLOUDS_MAE_NAMES[material];
 	} else {
 		Resources &res = *getVm()->_resources;
 		return res._maeNames[material].c_str();
diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp
index f314a4a436..1dc700ac73 100644
--- a/engines/xeen/map.cpp
+++ b/engines/xeen/map.cpp
@@ -149,8 +149,12 @@ void MonsterData::synchronize(Common::SeekableReadStream &s) {
 	clear();
 
 	MonsterStruct spr;
+	int i = 0;
 	while (!s.eos()) {
 		spr.synchronize(s);
+		if (Common::RU_RUS == g_vm->getLanguage() && GType_Clouds == g_vm->getGameID()) {
+			spr._name = Res.CLOUDS_MONSTERS[i++];
+		}
 		push_back(spr);
 	}
 }
@@ -1451,7 +1455,10 @@ Common::String Map::getMazeName(int mapId, int ccNum) {
 		ccNum = g_vm->_files->_ccNum;
 
 	if (g_vm->getGameID() == GType_Clouds) {
-		return Res._cloudsMapNames[mapId];
+		if (Common::RU_RUS == g_vm->getLanguage()) {
+			return Res.CLOUDS_MAP_NAMES[mapId];
+		} else
+			return Res._cloudsMapNames[mapId];
 	} else {
 		Common::String txtName = Common::String::format("%s%c%03d.txt",
 			ccNum ? "dark" : "xeen", mapId >= 100 ? 'x' : '0', mapId);
diff --git a/engines/xeen/resources.cpp b/engines/xeen/resources.cpp
index 870732347a..43e6545cbc 100644
--- a/engines/xeen/resources.cpp
+++ b/engines/xeen/resources.cpp
@@ -419,8 +419,11 @@ void Resources::loadData() {
 	file.syncString(DARKSIDE_ENDING2);
 	file.syncString(PHAROAH_ENDING_TEXT1);
 	file.syncString(PHAROAH_ENDING_TEXT2);
-	file.syncStrings(MAE_NAMES, 131);
-	file.syncStrings(MIRROR_LOCATIONS, 59);
+	file.syncStrings(CLOUDS_MAE_NAMES, 131);
+	file.syncStrings(CLOUDS_MIRROR_LOCATIONS, 59);
+	file.syncStrings(CLOUDS_MAP_NAMES, 86);
+	file.syncStrings(CLOUDS_MONSTERS, 91);
+	file.syncStrings(CLOUDS_SPELLS, 77);
 
 	ResFile keys("CONSTKEYS_", _buffer, lang);
 	keys.syncNumber(KeyConstants.DialogsCharInfo.KEY_ITEM);
diff --git a/engines/xeen/resources.h b/engines/xeen/resources.h
index 5a74ff7f05..dfb11fd52b 100644
--- a/engines/xeen/resources.h
+++ b/engines/xeen/resources.h
@@ -473,8 +473,11 @@ public:
 	const char *DARKSIDE_ENDING2;
 	const char *PHAROAH_ENDING_TEXT1;
 	const char *PHAROAH_ENDING_TEXT2;
-	const char *MAE_NAMES[131];
-	const char *MIRROR_LOCATIONS[58];
+	const char *CLOUDS_MAE_NAMES[131];
+	const char *CLOUDS_MIRROR_LOCATIONS[58];
+	const char *CLOUDS_MAP_NAMES[86];
+	const char *CLOUDS_MONSTERS[91];
+	const char *CLOUDS_SPELLS[77];
 
 	struct {
 
diff --git a/engines/xeen/spells.cpp b/engines/xeen/spells.cpp
index b5cdceaf43..f076f6a442 100644
--- a/engines/xeen/spells.cpp
+++ b/engines/xeen/spells.cpp
@@ -37,8 +37,15 @@ Spells::Spells(XeenEngine *vm) : _vm(vm) {
 
 void Spells::load() {
 	File f1((g_vm->getGameID() == GType_Clouds) ? "spells.cld" : "spells.xen", 1);
-	while (f1.pos() < f1.size())
-		_spellNames.push_back(f1.readString());
+	int i = 0;
+	while (f1.pos() < f1.size()) {
+		if (Common::RU_RUS == g_vm->getLanguage() && GType_Clouds == g_vm->getGameID()) {
+			f1.readString();
+			_spellNames.push_back(Res.CLOUDS_SPELLS[i++]);
+		} else 
+			_spellNames.push_back(f1.readString());
+
+	}
 	f1.close();
 }
 




More information about the Scummvm-git-logs mailing list