aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/string.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/scumm/string.cpp b/scumm/string.cpp
index 2b87523ce6..9784536f1c 100644
--- a/scumm/string.cpp
+++ b/scumm/string.cpp
@@ -144,7 +144,7 @@ void Scumm::CHARSET_1() {
_charset->_right = _string[0].right;
_charset->_color = _charsetColor;
- if (!(_features & GF_AFTER_V3)) // FIXME
+ if (!(_features & GF_OLD256)) // FIXME
for (i = 0; i < 4; i++)
_charsetColorMap[i] = _charsetData[_charset->getCurID()][i];
@@ -187,7 +187,7 @@ void Scumm::CHARSET_1() {
_talkDelay = _defaultTalkDelay;
if (!_keepText) {
- if (_features & GF_AFTER_V3) {
+ if (_features & GF_OLD256) {
gdi._mask_left = _string[0].xpos;
gdi._mask_top = _string[0].ypos;
gdi._mask_bottom = _string[0].ypos + 8;
@@ -227,7 +227,7 @@ void Scumm::CHARSET_1() {
}
if (c == 13) {
newLine:;
- if (_features & GF_AFTER_V3) {
+ if (_features & GF_OLD256) {
_charset->_nextTop = 8;
_charset->_nextLeft = 0;
continue;
@@ -248,7 +248,7 @@ void Scumm::CHARSET_1() {
if (c != 0xFF) {
_charset->_left = _charset->_nextLeft;
_charset->_top = _charset->_nextTop;
- if (_features & GF_AFTER_V3) {
+ if (_features & GF_OLD256) {
_charset->printChar(c);
} else if (_features & GF_AFTER_V6) {
if (!_noSubtitles || (_haveMsg != 0xFE && _haveMsg != 0xFF))
@@ -410,7 +410,7 @@ void Scumm::drawString(int a) {
_charset->_disableOffsX = _charset->_firstChar = true;
_charset->setCurID(_string[a].charset);
- if (!(_features & GF_AFTER_V3)) {
+ if (!(_features & GF_OLD256)) {
for (i = 0; i < 4; i++)
_charsetColorMap[i] = _charsetData[_charset->getCurID()][i];
@@ -749,6 +749,11 @@ void Scumm::addStringToStack(int var) {
void Scumm::initCharset(int charsetno) {
int i;
+ if (_gameId == GID_ZAK256) {
+ debug(0, "initCharset: FIXME using incorrect charset");
+ charsetno = !charsetno;
+ }
+
if (_features & GF_SMALL_HEADER)
loadCharset(charsetno);
else if (!getResourceAddress(rtCharset, charsetno))