diff options
Diffstat (limited to 'engines/sci')
-rw-r--r-- | engines/sci/scicore/resource.cpp | 5 | ||||
-rw-r--r-- | engines/sci/scicore/vocab_debug.cpp | 7 |
2 files changed, 7 insertions, 5 deletions
diff --git a/engines/sci/scicore/resource.cpp b/engines/sci/scicore/resource.cpp index 14a430c383..392ea3b560 100644 --- a/engines/sci/scicore/resource.cpp +++ b/engines/sci/scicore/resource.cpp @@ -901,10 +901,7 @@ void ResourceManager::readResourcePatches(ResourceSource *source) { // SCI1 scheme if (isdigit(name[0])) { number = atoi(name.c_str()); - // vocab.999/999.voc is notoriously unreliable in SCI1 games, and should not be used - // Also check vocabulary_get_knames1() - if (number != VOCAB_RESOURCE_KNAMES) - bAdd = true; + bAdd = true; } else { // SCI0 scheme int resname_len = strlen(szResType); diff --git a/engines/sci/scicore/vocab_debug.cpp b/engines/sci/scicore/vocab_debug.cpp index deb2c2b2cf..f3ed5d8793 100644 --- a/engines/sci/scicore/vocab_debug.cpp +++ b/engines/sci/scicore/vocab_debug.cpp @@ -562,9 +562,14 @@ char **vocabulary_get_knames(ResourceManager *resmgr, int *count) { switch (resmgr->_sciVersion) { case SCI_VERSION_0: case SCI_VERSION_01: + return vocabulary_get_knames0(resmgr, count); case SCI_VERSION_01_VGA: case SCI_VERSION_01_VGA_ODD: - return vocabulary_get_knames0(resmgr, count); + // HACK: KQ5 needs the SCI1 default vocabulary names to work correctly. + // Having more vocabulary names (like in SCI1) doesn't seem to have any + // ill effects, other than resulting in unmapped functions towards the + // end, which are never used by the game interpteter anyway + // return vocabulary_get_knames0(resmgr, count); case SCI_VERSION_1_EARLY: case SCI_VERSION_1_LATE: return vocabulary_get_knames1(resmgr, count); |