aboutsummaryrefslogtreecommitdiff
path: root/queen
diff options
context:
space:
mode:
authorDavid Eriksson2003-10-02 14:55:28 +0000
committerDavid Eriksson2003-10-02 14:55:28 +0000
commitab990be6669c3440b38385760cbc8d58034f6dae (patch)
treebd6d683be43e2a1eeb8d1a6688c534e57c4e1f3f /queen
parentf94b9999388f7a7cd6ac7c6f631c07c122ef2d44 (diff)
downloadscummvm-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.cpp17
-rw-r--r--queen/resource.cpp4
-rw-r--r--queen/resource.h1
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;