aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/sprite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/saga/sprite.cpp')
-rw-r--r--engines/saga/sprite.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/engines/saga/sprite.cpp b/engines/saga/sprite.cpp
index 607e7d0a0b..ac911e5a9c 100644
--- a/engines/saga/sprite.cpp
+++ b/engines/saga/sprite.cpp
@@ -24,6 +24,7 @@
*/
// Sprite management module
+
#include "saga/saga.h"
#include "saga/gfx.h"
@@ -57,8 +58,13 @@ Sprite::Sprite(SagaEngine *vm) : _vm(vm) {
loadList(_vm->getResourceDescription()->mainSpritesResourceId, _mainSprites);
_arrowSprites = _saveReminderSprites = _inventorySprites = _mainSprites;
} else {
- loadList(RID_IHNM_ARROW_SPRITES, _arrowSprites);
- loadList(RID_IHNM_SAVEREMINDER_SPRITES, _saveReminderSprites);
+ if (_vm->getGameId() == GID_IHNM_DEMO) {
+ loadList(RID_IHNMDEMO_ARROW_SPRITES, _arrowSprites);
+ loadList(RID_IHNMDEMO_SAVEREMINDER_SPRITES, _saveReminderSprites);
+ } else {
+ loadList(RID_IHNM_ARROW_SPRITES, _arrowSprites);
+ loadList(RID_IHNM_SAVEREMINDER_SPRITES, _saveReminderSprites);
+ }
}
}
@@ -113,7 +119,9 @@ void Sprite::loadList(int resourceId, SpriteList &spriteList) {
offset = readS.readUint16();
if (offset >= spriteListLength) {
- error("Sprite::loadList offset exceed");
+ // ITE Mac demos throw this warning
+ warning("Sprite::loadList offset exceeded");
+ return;
}
spritePointer = spriteListData;