aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/res_struct.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2008-02-16 05:12:32 +0000
committerPaul Gilbert2008-02-16 05:12:32 +0000
commit9ac46607fc794a4a3514664cd587ccecfc12ad3b (patch)
tree7b0b49525ae0b13e7d755e0e91f87cd63b8c4b02 /engines/lure/res_struct.cpp
parenta184d81d9957d03a7700e7471aec264093da32b3 (diff)
downloadscummvm-rg350-9ac46607fc794a4a3514664cd587ccecfc12ad3b.tar.gz
scummvm-rg350-9ac46607fc794a4a3514664cd587ccecfc12ad3b.tar.bz2
scummvm-rg350-9ac46607fc794a4a3514664cd587ccecfc12ad3b.zip
Bugfix for loading older savegame versions
svn-id: r30879
Diffstat (limited to 'engines/lure/res_struct.cpp')
-rw-r--r--engines/lure/res_struct.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/engines/lure/res_struct.cpp b/engines/lure/res_struct.cpp
index 8ce8a14f69..0903586c98 100644
--- a/engines/lure/res_struct.cpp
+++ b/engines/lure/res_struct.cpp
@@ -1220,9 +1220,11 @@ void BarmanLists::loadFromStream(Common::ReadStream *stream) {
uint8 saveVersion = LureEngine::getReference().saveVersion();
int numEntries = (saveVersion >= 30) ? 3 : 2;
+ reset();
for (int index = 0; index < numEntries; ++index) {
int16 value = stream->readUint16LE();
- _barList[index].currentCustomer = (value == 0) ? NULL : &_barList[index].customers[value - 1];
+ _barList[index].currentCustomer = ((value < 1) || (value > NUM_SERVE_CUSTOMERS)) ? NULL :
+ &_barList[index].customers[value - 1];
for (int ctr = 0; ctr < NUM_SERVE_CUSTOMERS; ++ctr) {
_barList[index].customers[ctr].hotspotId = stream->readUint16LE();