diff options
author | David Eriksson | 2003-10-02 14:55:28 +0000 |
---|---|---|
committer | David Eriksson | 2003-10-02 14:55:28 +0000 |
commit | ab990be6669c3440b38385760cbc8d58034f6dae (patch) | |
tree | bd6d683be43e2a1eeb8d1a6688c534e57c4e1f3f /queen | |
parent | f94b9999388f7a7cd6ac7c6f631c07c122ef2d44 (diff) | |
download | scummvm-rg350-ab990be6669c3440b38385760cbc8d58034f6dae.tar.gz scummvm-rg350-ab990be6669c3440b38385760cbc8d58034f6dae.tar.bz2 scummvm-rg350-ab990be6669c3440b38385760cbc8d58034f6dae.zip |
Handle _sfxName table properly
svn-id: r10539
Diffstat (limited to 'queen')
-rw-r--r-- | queen/logic.cpp | 17 | ||||
-rw-r--r-- | queen/resource.cpp | 4 | ||||
-rw-r--r-- | queen/resource.h | 1 |
3 files changed, 16 insertions, 6 deletions
diff --git a/queen/logic.cpp b/queen/logic.cpp index d55a335a33..24390c32d6 100644 --- a/queen/logic.cpp +++ b/queen/logic.cpp @@ -102,13 +102,18 @@ void QueenLogic::initialise() { _roomData[_numRooms + 1] = _numObjects; //SFX Name - // FIXME: the following table isn't available in demo version - _sfxName = new uint16[_numRooms + 1]; + // the following table isn't available in demo version + if (_resource->isDemo()) { + _sfxName = NULL; + } + else { + _sfxName = new uint16[_numRooms + 1]; - for (i = 0; i < (_numRooms + 1); i++) { - _sfxName[i] = READ_BE_UINT16(ptr); - ptr += 2; - } + for (i = 0; i < (_numRooms + 1); i++) { + _sfxName[i] = READ_BE_UINT16(ptr); + ptr += 2; + } + } //Item information _numItems = READ_BE_UINT16(ptr); diff --git a/queen/resource.cpp b/queen/resource.cpp index 1a0e7345f9..32dc9dd375 100644 --- a/queen/resource.cpp +++ b/queen/resource.cpp @@ -138,3 +138,7 @@ const char *QueenResource::JASVersion() { return versionStr; } +bool QueenResource::isDemo() { + return _gameVersion->isDemo; +} + diff --git a/queen/resource.h b/queen/resource.h index ae083adaba..40139a215d 100644 --- a/queen/resource.h +++ b/queen/resource.h @@ -47,6 +47,7 @@ public: ~QueenResource(void); uint8 *loadFile(const char *filename, uint32 skipBytes = 0); bool exists(const char *filename); + bool isDemo(); protected: File *_resourceFile; |