[Scummvm-git-logs] scummvm master -> dd791b3453618e0487f3d20aff63842e595f143c

dreammaster dreammaster at scummvm.org
Tue Oct 12 03:36:22 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:
dd791b3453 XEEN: Fix crash on startup loading xeen.ccs data


Commit: dd791b3453618e0487f3d20aff63842e595f143c
    https://github.com/scummvm/scummvm/commit/dd791b3453618e0487f3d20aff63842e595f143c
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-10-11T20:34:05-07:00

Commit Message:
XEEN: Fix crash on startup loading xeen.ccs data

Changed paths:
    NEWS.md
    devtools/create_xeen/constants.cpp
    engines/xeen/resources.cpp


diff --git a/NEWS.md b/NEWS.md
index 4b3737479e..ca00cd5161 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -9,6 +9,9 @@ For a more comprehensive changelog of the latest experimental code, see:
  Supernova:
    - Added text to speech for dialogs and object descriptions.
 
+ Xeen:
+   - Fix crash on startup loading constants from xeen.ccs
+
 #### 2.5.0 "Twenty years ago today..." (2021-10-09)
 
  New games:
diff --git a/devtools/create_xeen/constants.cpp b/devtools/create_xeen/constants.cpp
index 679d773f07..3aba7db22d 100644
--- a/devtools/create_xeen/constants.cpp
+++ b/devtools/create_xeen/constants.cpp
@@ -1310,7 +1310,7 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
 
 void writeConstants(CCArchive &cc) {
 	EN eng;
-	eng.writeConstants(Common::String::format("_%i", Common::EN_ANY), cc);
+	eng.writeConstants(Common::String::format("_%i", 7 /*Common::EN_ANY */), cc);
 	RU ru;
-	ru.writeConstants(Common::String::format("_%i", Common::RU_RUS), cc);
+	ru.writeConstants(Common::String::format("_%i", 26 /* Common::RU_RUS */), cc);
 }
diff --git a/engines/xeen/resources.cpp b/engines/xeen/resources.cpp
index 43e6545cbc..5da6addce6 100644
--- a/engines/xeen/resources.cpp
+++ b/engines/xeen/resources.cpp
@@ -60,8 +60,11 @@ Resources::Resources() {
 }
 
 void Resources::loadData() {
-	Common::Language lang = g_vm->getLanguage();
-	ResFile file("CONSTANTS_", _buffer, lang);
+	int langId = 7; // English
+	if (g_vm->getLanguage() == Common::RU_RUS)
+		langId = 26;
+
+	ResFile file("CONSTANTS_", _buffer, langId);
 	file.syncString(CLOUDS_CREDITS);
 	file.syncString(DARK_SIDE_CREDITS);
 	file.syncString(SWORDS_CREDITS1);
@@ -425,7 +428,7 @@ void Resources::loadData() {
 	file.syncStrings(CLOUDS_MONSTERS, 91);
 	file.syncStrings(CLOUDS_SPELLS, 77);
 
-	ResFile keys("CONSTKEYS_", _buffer, lang);
+	ResFile keys("CONSTKEYS_", _buffer, langId);
 	keys.syncNumber(KeyConstants.DialogsCharInfo.KEY_ITEM);
 	keys.syncNumber(KeyConstants.DialogsCharInfo.KEY_QUICK);
 	keys.syncNumber(KeyConstants.DialogsCharInfo.KEY_EXCHANGE);




More information about the Scummvm-git-logs mailing list