diff options
author | Travis Howell | 2005-05-01 12:25:30 +0000 |
---|---|---|
committer | Travis Howell | 2005-05-01 12:25:30 +0000 |
commit | ae14f7049e11684381503945690121a60d90e5dc (patch) | |
tree | 137ed12867800aafbe0d600845c98259267651eb | |
parent | e3b906b56967584a6dbb07c138f4dc52d1529b32 (diff) | |
download | scummvm-rg350-ae14f7049e11684381503945690121a60d90e5dc.tar.gz scummvm-rg350-ae14f7049e11684381503945690121a60d90e5dc.tar.bz2 scummvm-rg350-ae14f7049e11684381503945690121a60d90e5dc.zip |
HE80+ games store current charset numberin VAR80.
Fixes crash in bb2demo.
svn-id: r17885
-rw-r--r-- | scumm/scumm.cpp | 1 | ||||
-rw-r--r-- | scumm/scumm.h | 1 | ||||
-rw-r--r-- | scumm/string.cpp | 4 | ||||
-rw-r--r-- | scumm/vars.cpp | 1 |
4 files changed, 7 insertions, 0 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 577b63b5b1..8fdf4f481e 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -1049,6 +1049,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS VAR_MUSIC_BUNDLE_LOADED = 0xFF; VAR_VOICE_BUNDLE_LOADED = 0xFF; + VAR_CURRENT_CHARSET = 0xFF; VAR_SKIP_RESET_TALK_ACTOR = 0xFF; VAR_MUSIC_CHANNEL = 0xFF; VAR_SOUND_CHANNEL = 0xFF; diff --git a/scumm/scumm.h b/scumm/scumm.h index 5afc978229..f626d6ee1c 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -1293,6 +1293,7 @@ public: byte VAR_CLICK_AREA; // HE specific variables + byte VAR_CURRENT_CHARSET; byte VAR_SKIP_RESET_TALK_ACTOR; byte VAR_MUSIC_CHANNEL; byte VAR_SOUND_CHANNEL; diff --git a/scumm/string.cpp b/scumm/string.cpp index 84a406fb90..a10ea9ef0a 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -757,6 +757,10 @@ void ScummEngine::initCharset(int charsetno) { for (i = 0; i < 16; i++) _charsetColorMap[i] = _charsetData[charsetno][i]; + + if (_heversion >= 80) { + VAR(VAR_CURRENT_CHARSET) = charsetno; + } } void ScummEngine_v6::enqueueText(const byte *text, int x, int y, byte color, byte charset, bool center) { diff --git a/scumm/vars.cpp b/scumm/vars.cpp index 0875b744e7..55d5920ff0 100644 --- a/scumm/vars.cpp +++ b/scumm/vars.cpp @@ -272,6 +272,7 @@ void ScummEngine_v72he::setupScummVars() { if (_heversion >= 80) VAR_PLATFORM = 78; // 1 is PC, 2 is Macintosh VAR_WINDOWS_VERSION = 79; // 31 is Windows 3.1, 40 is Windows 95+ + VAR_CURRENT_CHARSET = 80; VAR_KEY_STATE = 86; VAR_NUM_SOUND_CHANNELS = 88; if (_heversion >= 90) { |