[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