aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/sequence.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2014-03-08 15:42:07 -0500
committerPaul Gilbert2014-03-08 15:42:07 -0500
commit5536b8a933f792f45d08ab5126e826a9a20fa476 (patch)
tree30ad251d2dd4b09449214bb71590605636838519 /engines/mads/sequence.cpp
parentc2587af8f29b2b79beae7fda5a9b983614840b17 (diff)
downloadscummvm-rg350-5536b8a933f792f45d08ab5126e826a9a20fa476.tar.gz
scummvm-rg350-5536b8a933f792f45d08ab5126e826a9a20fa476.tar.bz2
scummvm-rg350-5536b8a933f792f45d08ab5126e826a9a20fa476.zip
MADS: Fixes for sprite list initialisation
Diffstat (limited to 'engines/mads/sequence.cpp')
-rw-r--r--engines/mads/sequence.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/mads/sequence.cpp b/engines/mads/sequence.cpp
index e8c5a37298..f703ce3b3a 100644
--- a/engines/mads/sequence.cpp
+++ b/engines/mads/sequence.cpp
@@ -50,10 +50,12 @@ namespace MADS {
/*------------------------------------------------------------------------*/
-#define TIMER_LIST_SIZE 30
+#define SEQUENCE_LIST_SIZE 30
SequenceList::SequenceList(MADSEngine *vm) : _vm(vm) {
- for (int i = 0; i < TIMER_LIST_SIZE; ++i) {
+ // IMPORTANT: Preallocate timer slots. Note that sprite slots refer to entries
+ // in this list by index, so we can't just add or delete entries later
+ for (int i = 0; i < SEQUENCE_LIST_SIZE; ++i) {
SequenceEntry rec;
rec._active = false;
rec._dynamicHotspotIndex = -1;
@@ -239,7 +241,7 @@ bool SequenceList::loadSprites(int seqIndex) {
if (seqEntry._frameIndex > seqEntry._numSprites) {
result = true;
if (seqEntry._animType == ANIMTYPE_CYCLED) {
- // Reset back to the starting frame (cyclic)
+ // back to the starting frame (cyclic)
seqEntry._frameIndex = seqEntry._frameStart;
}
else {