[Scummvm-git-logs] scummvm master -> 612c55f53fdc3c8e5509bbb88bdbc92a4646db70
mgerhardy
martin.gerhardy at gmail.com
Sun Mar 28 16:58:31 UTC 2021
This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
698861bba6 TWINE: init the configuration values earlier
a108866b7d TWINE: added text parser
f98eead34f TWINE: format
e9b72e2d7e TWINE: debug output for text handling
772368b6dc TWINE: use TextData parser
df11ff82b9 TWINE: access to the current text bank id
a144b88b5c TWINE: added text-to-speech for the floppy disc version
612c55f53f TWINE: reduced warnings output to debug
Commit: 698861bba628ad0494f2f02cad6b514d4595a998
https://github.com/scummvm/scummvm/commit/698861bba628ad0494f2f02cad6b514d4595a998
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-28T18:56:32+02:00
Commit Message:
TWINE: init the configuration values earlier
this allows us to load localized resources to the data cache
Changed paths:
engines/twine/twine.cpp
diff --git a/engines/twine/twine.cpp b/engines/twine/twine.cpp
index 5ae1a45705..31cb4f56b5 100644
--- a/engines/twine/twine.cpp
+++ b/engines/twine/twine.cpp
@@ -462,9 +462,6 @@ void TwinEEngine::queueMovie(const char *filename) {
}
void TwinEEngine::initEngine() {
- // getting configuration file
- initConfigurations();
-
_screens->clearScreen();
// Check if LBA CD-Rom is on drive
@@ -522,6 +519,9 @@ void TwinEEngine::initAll() {
// Set clip to fullscreen by default, allows main menu to render properly after load
_interface->resetClip();
+ // getting configuration file
+ initConfigurations();
+
_resources->initResources();
exitSceneryView();
Commit: a108866b7d23bab093581b6935c39824dd8194d9
https://github.com/scummvm/scummvm/commit/a108866b7d23bab093581b6935c39824dd8194d9
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-28T18:56:32+02:00
Commit Message:
TWINE: added text parser
Changed paths:
A engines/twine/parser/text.cpp
A engines/twine/parser/text.h
engines/twine/module.mk
diff --git a/engines/twine/module.mk b/engines/twine/module.mk
index 7719c0595e..22fd6c2bc8 100644
--- a/engines/twine/module.mk
+++ b/engines/twine/module.mk
@@ -20,6 +20,7 @@ MODULE_OBJS := \
parser/holomap.o \
parser/parser.o \
parser/sprite.o \
+ parser/text.o \
\
renderer/redraw.o \
renderer/renderer.o \
diff --git a/engines/twine/parser/text.cpp b/engines/twine/parser/text.cpp
new file mode 100644
index 0000000000..3c5ac31b12
--- /dev/null
+++ b/engines/twine/parser/text.cpp
@@ -0,0 +1,81 @@
+/* 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
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "twine/parser/text.h"
+#include "common/debug.h"
+#include "common/util.h"
+#include "twine/resources/hqr.h"
+
+namespace TwinE {
+
+bool TextData::loadFromHQR(const char *name, int textBankId, int language, int entryCount) {
+ const int langIdx = textBankId * 2 + (entryCount * language);
+ Common::SeekableReadStream *indexStream = HQR::makeReadStream(name, langIdx + 0);
+ Common::SeekableReadStream *offsetStream = HQR::makeReadStream(name, langIdx + 1);
+ if (indexStream == nullptr || offsetStream == nullptr) {
+ warning("Failed to load %s with index %i", name, langIdx);
+ delete indexStream;
+ delete offsetStream;
+ return false;
+ }
+
+ _texts[textBankId].clear();
+
+ const int numIdxEntries = indexStream->size() / 2;
+ _texts[textBankId].reserve(numIdxEntries);
+
+ for (int entry = 0; entry < numIdxEntries; ++entry) {
+ const uint16 textIdx = indexStream->readUint16LE();
+ const uint16 start = offsetStream->readUint16LE();
+ const int32 offsetPos = offsetStream->pos();
+ const uint16 end = offsetStream->readUint16LE();
+ offsetStream->seek(start);
+ Common::String result;
+ for (int16 i = start; i < end - 1; ++i) {
+ const char c = (char)offsetStream->readByte();
+ result += c;
+ }
+ _texts[textBankId].push_back(TextEntry{result, entry, textIdx});
+ debug(5, "index: %i (bank %i), text: %s", textIdx, textBankId, result.c_str());
+ offsetStream->seek(offsetPos);
+ if (end >= offsetStream->size()) {
+ break;
+ }
+ }
+ delete indexStream;
+ delete offsetStream;
+ return true;
+}
+
+const TextEntry *TextData::getText(int textBankId, int textIndex) const {
+ const Common::Array<TextEntry> &entries = _texts[textBankId];
+ const int32 size = entries.size();
+ for (int32 i = 0; i < size; ++i) {
+ if (entries[i].textIndex == textIndex) {
+ return &entries[i];
+ }
+ }
+ warning("Failed to find text entry for bank id %i with text index %i", textBankId, textIndex);
+ return nullptr;
+}
+
+} // End of namespace TwinE
diff --git a/engines/twine/parser/text.h b/engines/twine/parser/text.h
new file mode 100644
index 0000000000..50a676b847
--- /dev/null
+++ b/engines/twine/parser/text.h
@@ -0,0 +1,52 @@
+/* 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
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TWINE_PARSER_TEXT_H
+#define TWINE_PARSER_TEXT_H
+
+#include "common/array.h"
+#include "common/memstream.h"
+#include "common/stream.h"
+#include "twine/parser/parser.h"
+#include "twine/shared.h"
+
+namespace TwinE {
+
+struct TextEntry {
+ Common::String string; /**< The real string behind the text id */
+ int index; /**< The index in the text index hqr file. This is also the index in the corresponding vox hqr file */
+ int textIndex; /**< The text identifier */
+};
+
+class TextData {
+private:
+ // 30 is the max for lba2, lba1 uses 28
+ Common::Array<TextEntry> _texts[30];
+public:
+ bool loadFromHQR(const char *name, int textBankId, int language, int entryCount);
+
+ const TextEntry *getText(int textBankId, int textIndex) const;
+};
+
+} // End of namespace TwinE
+
+#endif
Commit: f98eead34ff637635127c5afe6c12e2605eb5241
https://github.com/scummvm/scummvm/commit/f98eead34ff637635127c5afe6c12e2605eb5241
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-28T18:56:32+02:00
Commit Message:
TWINE: format
Changed paths:
engines/twine/resources/resources.h
diff --git a/engines/twine/resources/resources.h b/engines/twine/resources/resources.h
index d0bc368787..b8eabe1317 100644
--- a/engines/twine/resources/resources.h
+++ b/engines/twine/resources/resources.h
@@ -25,10 +25,10 @@
#include "common/hashmap.h"
#include "common/scummsys.h"
-#include "twine/parser/sprite.h"
#include "twine/parser/holomap.h"
-#include "twine/scene/gamestate.h"
+#include "twine/parser/sprite.h"
#include "twine/resources/hqr.h"
+#include "twine/scene/gamestate.h"
#include "twine/scene/scene.h"
namespace TwinE {
@@ -60,8 +60,8 @@ namespace TwinE {
#define RESSHQR_ALARMREDPAL 22
#define RESSHQR_FLAINFO 23
#define RESSHQR_DARKPAL 24
-#define RESSHQR_TWINSEN_ZOE_SENDELLIMG 25
-#define RESSHQR_TWINSEN_ZOE_SENDELLPAL 26
+#define RESSHQR_TWINSEN_ZOE_SENDELLIMG 25
+#define RESSHQR_TWINSEN_ZOE_SENDELLPAL 26
#define RESSHQR_ADELINEIMG 27
#define RESSHQR_ADELINEPAL 28
@@ -148,7 +148,7 @@ private:
void preloadSamples();
void loadFlaInfo();
- using MovieInfoMap = Common::HashMap<Common::String, Common::Array<int32>>;
+ using MovieInfoMap = Common::HashMap<Common::String, Common::Array<int32> >;
MovieInfoMap _flaMovieFrames;
TrajectoryData _trajectories;
@@ -157,15 +157,15 @@ public:
Resources(TwinEEngine *engine) : _engine(engine) {}
~Resources();
- const Common::Array<int32>& getFlaMovieInfo(const Common::String &name) const;
+ const Common::Array<int32> &getFlaMovieInfo(const Common::String &name) const;
/** Table with all loaded samples */
BodyData inventoryTable[NUM_INVENTORY_ITEMS];
/** Table with all loaded sprites */
- uint8 *spriteTable[NUM_SPRITES] {nullptr};
+ uint8 *spriteTable[NUM_SPRITES]{nullptr};
/** Table with all loaded sprite sizes */
- uint32 spriteSizeTable[NUM_SPRITES] {0};
+ uint32 spriteSizeTable[NUM_SPRITES]{0};
SpriteData spriteData[NUM_SPRITES];
AnimData animData[NUM_ANIMS];
@@ -199,7 +199,7 @@ public:
/** Initialize resource pointers */
void initResources();
- const Trajectory* getTrajectory(int index) const;
+ const Trajectory *getTrajectory(int index) const;
// main palette
static constexpr const char *HQR_RESS_FILE = "ress.hqr";
Commit: e9b72e2d7e4984cfa52493b79cbb364cfe4a2e1e
https://github.com/scummvm/scummvm/commit/e9b72e2d7e4984cfa52493b79cbb364cfe4a2e1e
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-28T18:56:32+02:00
Commit Message:
TWINE: debug output for text handling
Changed paths:
engines/twine/text.cpp
diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index 6dde524a8d..081db8880c 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -722,6 +722,7 @@ bool Text::getText(int32 index) {
// RECHECK: this was added for vox playback
currDialTextEntry = currIdx;
+ debug(3, "text for bank %i with index %i (currIndex: %i): %s", _currentBankIdx, index, currIdx, _currDialTextPtr);
return true;
}
Commit: 772368b6dcb30f8213869106d792782d07cee4de
https://github.com/scummvm/scummvm/commit/772368b6dcb30f8213869106d792782d07cee4de
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-28T18:56:32+02:00
Commit Message:
TWINE: use TextData parser
Changed paths:
engines/twine/resources/resources.cpp
engines/twine/resources/resources.h
engines/twine/text.cpp
engines/twine/text.h
diff --git a/engines/twine/resources/resources.cpp b/engines/twine/resources/resources.cpp
index bff15c20f2..6a05ac6b1c 100644
--- a/engines/twine/resources/resources.cpp
+++ b/engines/twine/resources/resources.cpp
@@ -203,6 +203,18 @@ void Resources::initResources() {
}
loadFlaInfo();
+
+ const int32 textEntryCount = _engine->isLBA1() ? 28 : 30;
+ for (int32 i = 0; i < textEntryCount / 2; ++i) {
+ if (!_textData.loadFromHQR(Resources::HQR_TEXT_FILE, i, _engine->cfgfile.LanguageId, textEntryCount)) {
+ error("HQR ERROR: Parsing textbank %i failed", i);
+ }
+ }
+ debug("Loaded %i text banks", textEntryCount / 2);
+}
+
+const TextEntry *Resources::getText(int textBankId, int index) const {
+ return _textData.getText(textBankId, index);
}
const Trajectory *Resources::getTrajectory(int index) const {
diff --git a/engines/twine/resources/resources.h b/engines/twine/resources/resources.h
index b8eabe1317..61852b6637 100644
--- a/engines/twine/resources/resources.h
+++ b/engines/twine/resources/resources.h
@@ -27,6 +27,7 @@
#include "common/scummsys.h"
#include "twine/parser/holomap.h"
#include "twine/parser/sprite.h"
+#include "twine/parser/text.h"
#include "twine/resources/hqr.h"
#include "twine/scene/gamestate.h"
#include "twine/scene/scene.h"
@@ -153,6 +154,8 @@ private:
TrajectoryData _trajectories;
+ TextData _textData;
+
public:
Resources(TwinEEngine *engine) : _engine(engine) {}
~Resources();
@@ -201,6 +204,8 @@ public:
const Trajectory *getTrajectory(int index) const;
+ const TextEntry *getText(int textBankId, int index) const;
+
// main palette
static constexpr const char *HQR_RESS_FILE = "ress.hqr";
// dialoges
diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index 081db8880c..fe417d0810 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -32,6 +32,7 @@
#include "twine/input.h"
#include "twine/menu/interface.h"
#include "twine/menu/menu.h"
+#include "twine/parser/text.h"
#include "twine/renderer/renderer.h"
#include "twine/renderer/screens.h"
#include "twine/resources/hqr.h"
@@ -44,9 +45,6 @@ namespace TwinE {
/** FLA movie extension */
#define VOX_EXT ".vox"
-#define INDEXOFFSET 0
-#define DIALOGSOFFSET 1
-
static const int32 PADDING = 8;
Text::Text(TwinEEngine *engine) : _engine(engine) {
@@ -54,8 +52,6 @@ Text::Text(TwinEEngine *engine) : _engine(engine) {
}
Text::~Text() {
- free(_dialTextPtr);
- free(_dialOrderPtr);
}
void Text::initVoxBank(int32 bankIdx) {
@@ -95,16 +91,8 @@ bool Text::initVoxToPlay(int32 index) { // setVoxFileAtDigit
return false;
}
- Common::MemoryReadStream stream((const byte *)_dialOrderPtr, _dialOrderSize);
- // choose right text from order index
- for (int32 i = 0; i < _numDialTextEntries; i++) {
- const int32 orderIdx = stream.readSint16LE();
- if (orderIdx == index) {
- currDialTextEntry = i;
- break;
- }
- }
-
+ const TextEntry *textEntry = _engine->_resources->getText(_currentBankIdx, index);
+ currDialTextEntry = textEntry ? textEntry->index : 0;
_engine->_sound->playVoxSample(currDialTextEntry);
return true;
@@ -145,24 +133,6 @@ void Text::initTextBank(int32 bankIdx) {
}
_currentBankIdx = bankIdx;
-
- // get index according with language
- const int32 size = _engine->isLBA1() ? 28 : 30;
- // the text banks indices are split into index and dialogs - each entry thus consists of two entries in the hqr
- // every 28 entries starts a new language
- const int32 languageIndex = _engine->cfgfile.LanguageId * size + (int)bankIdx * 2;
- _dialOrderSize = HQR::getAllocEntry((uint8 **)&_dialOrderPtr, Resources::HQR_TEXT_FILE, languageIndex + INDEXOFFSET);
- if (_dialOrderSize == 0) {
- warning("Failed to initialize text bank %i from file %s", languageIndex, Resources::HQR_TEXT_FILE);
- return;
- }
-
- _numDialTextEntries = _dialOrderSize / 2;
-
- if (HQR::getAllocEntry((uint8 **)&_dialTextPtr, Resources::HQR_TEXT_FILE, languageIndex + DIALOGSOFFSET) == 0) {
- warning("Failed to initialize additional text bank %i from file %s", languageIndex + 1, Resources::HQR_TEXT_FILE);
- return;
- }
initVoxBank(bankIdx);
}
@@ -694,35 +664,17 @@ void Text::setTextCrossColor(int32 stopColor, int32 startColor, int32 stepSize)
}
bool Text::getText(int32 index) {
- const int16 *localTextBuf = (const int16 *)_dialTextPtr;
- const int16 *localOrderBuf = (const int16 *)_dialOrderPtr;
-
- const int32 numEntries = _numDialTextEntries;
- int32 currIdx = 0;
- // choose right text from order index
- do {
- const int16 orderIdx = READ_LE_UINT16(localOrderBuf);
- if (orderIdx == index) {
- break;
- }
- currIdx++;
- localOrderBuf++;
- } while (currIdx < numEntries);
-
- if (currIdx >= numEntries) {
+ const TextEntry *textEntry = _engine->_resources->getText(_currentBankIdx, index);
+ if (textEntry == nullptr) {
return false;
}
-
- const int32 ptrCurrentEntry = READ_LE_INT16(&localTextBuf[currIdx]);
- const int32 ptrNextEntry = READ_LE_INT16(&localTextBuf[currIdx + 1]);
-
- _currDialTextPtr = _dialTextPtr + ptrCurrentEntry;
- _currDialTextSize = ptrNextEntry - ptrCurrentEntry;
+ _currDialTextPtr = textEntry->string.c_str();
+ _currDialTextSize = textEntry->string.size();
// RECHECK: this was added for vox playback
- currDialTextEntry = currIdx;
+ currDialTextEntry = textEntry->index;
- debug(3, "text for bank %i with index %i (currIndex: %i): %s", _currentBankIdx, index, currIdx, _currDialTextPtr);
+ debug(3, "text for bank %i with index %i (currIndex: %i): %s", _currentBankIdx, textEntry->index, textEntry->textIndex, _currDialTextPtr);
return true;
}
diff --git a/engines/twine/text.h b/engines/twine/text.h
index c7f6bcfe8e..605013ca3f 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -172,14 +172,6 @@ private:
// RECHECK THIS LATER
int32 _currentBankIdx = TextBankId::None; // textVar1
- /** Dialogue text pointer */
- char *_dialTextPtr = nullptr; // bufText
- /** Dialogue entry order pointer */
- int32 _dialOrderSize = 0;
- char *_dialOrderPtr = nullptr; // bufOrder
- /** Number of dialogues text entries */
- int16 _numDialTextEntries = 0;
-
// TODO: refactor all this variables and related functions
char _progressiveTextBuffer[256] {'\0'};
const char *_currentTextPosition = nullptr;
@@ -200,7 +192,7 @@ private:
int32 _fadeInCharactersPos = 0;
/** Current dialogue text pointer */
- char *_currDialTextPtr = nullptr;
+ const char *_currDialTextPtr = nullptr;
/** Current dialogue text size */
int32 _currDialTextSize = 0;
Commit: df11ff82b907a6663a20f7e6c3c08557b1bc63e3
https://github.com/scummvm/scummvm/commit/df11ff82b907a6663a20f7e6c3c08557b1bc63e3
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-28T18:56:32+02:00
Commit Message:
TWINE: access to the current text bank id
Changed paths:
engines/twine/text.h
diff --git a/engines/twine/text.h b/engines/twine/text.h
index 605013ca3f..64b8cbf3c1 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -252,6 +252,9 @@ public:
*/
void initTextBank(int32 bankIdx);
void initSceneTextBank();
+ inline int textBank() const {
+ return _currentBankIdx;
+ }
/**
* Display a certain dialogue text in the screen
Commit: a144b88b5c57e5b13b1fc0e7d5582c8d45a84fa0
https://github.com/scummvm/scummvm/commit/a144b88b5c57e5b13b1fc0e7d5582c8d45a84fa0
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-28T18:56:32+02:00
Commit Message:
TWINE: added text-to-speech for the floppy disc version
this version doesn't include any vox files for speech
Changed paths:
engines/twine/audio/sound.cpp
engines/twine/metaengine.cpp
diff --git a/engines/twine/audio/sound.cpp b/engines/twine/audio/sound.cpp
index 16c0ba9a94..f779470fba 100644
--- a/engines/twine/audio/sound.cpp
+++ b/engines/twine/audio/sound.cpp
@@ -25,6 +25,7 @@
#include "audio/decoders/voc.h"
#include "common/memstream.h"
#include "common/system.h"
+#include "common/text-to-speech.h"
#include "common/types.h"
#include "common/util.h"
#include "twine/scene/collision.h"
@@ -122,6 +123,19 @@ void Sound::playVoxSample(int32 index) {
uint8 *sampPtr = nullptr;
int32 sampSize = HQR::getAllocVoxEntry(&sampPtr, _engine->_text->currentVoxBankFile.c_str(), index, _engine->_text->voxHiddenIndex);
if (sampSize == 0) {
+#ifdef USE_TTS
+ if (ConfMan.getBool("tts_narrator")) {
+ Common::TextToSpeechManager *ttsMan = g_system->getTextToSpeechManager();
+ if (ttsMan != nullptr) {
+ ttsMan->stop();
+ const TextEntry *text = _engine->_resources->getText(_engine->_text->textBank(), index);
+ if (text) {
+ ttsMan->say(text->string);
+ }
+ return;
+ }
+ }
+#endif
warning("Failed to get vox sample for index: %i", index);
return;
}
diff --git a/engines/twine/metaengine.cpp b/engines/twine/metaengine.cpp
index 14b6fdac52..dbca13ffb8 100644
--- a/engines/twine/metaengine.cpp
+++ b/engines/twine/metaengine.cpp
@@ -152,6 +152,15 @@ static const ExtraGuiOption OptHighRes = {
false
};
+#ifdef USE_TTS
+static const ExtraGuiOption OptTextToSpeech = {
+ _s("TTS Narrator"),
+ _s("Use TTS to read the descriptions (if TTS is available)"),
+ "tts_narrator",
+ false
+};
+#endif
+
const ExtraGuiOptions TwinEMetaEngine::getExtraGuiOptions(const Common::String &target) const {
ExtraGuiOptions options;
options.push_back(OptWallCollision);
@@ -167,6 +176,9 @@ const ExtraGuiOptions TwinEMetaEngine::getExtraGuiOptions(const Common::String &
options.push_back(OptVoices);
options.push_back(OptText);
options.push_back(OptDebug);
+#ifdef USE_TTS
+ options.push_back(OptTextToSpeech);
+#endif
return options;
}
Commit: 612c55f53fdc3c8e5509bbb88bdbc92a4646db70
https://github.com/scummvm/scummvm/commit/612c55f53fdc3c8e5509bbb88bdbc92a4646db70
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-28T18:56:33+02:00
Commit Message:
TWINE: reduced warnings output to debug
Changed paths:
engines/twine/parser/text.cpp
diff --git a/engines/twine/parser/text.cpp b/engines/twine/parser/text.cpp
index 3c5ac31b12..f4e360ea0d 100644
--- a/engines/twine/parser/text.cpp
+++ b/engines/twine/parser/text.cpp
@@ -74,7 +74,7 @@ const TextEntry *TextData::getText(int textBankId, int textIndex) const {
return &entries[i];
}
}
- warning("Failed to find text entry for bank id %i with text index %i", textBankId, textIndex);
+ debug(1, "Failed to find text entry for bank id %i with text index %i", textBankId, textIndex);
return nullptr;
}
More information about the Scummvm-git-logs
mailing list