[Scummvm-git-logs] scummvm master -> 266c17ab8c70e5a47fb1ee9110a7afac776b8c8f

dreammaster dreammaster at scummvm.org
Wed Jan 24 14:03:43 CET 2018


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
266c17ab8c XEEN: Fix map loading for Shangri-la


Commit: 266c17ab8c70e5a47fb1ee9110a7afac776b8c8f
    https://github.com/scummvm/scummvm/commit/266c17ab8c70e5a47fb1ee9110a7afac776b8c8f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-01-24T08:03:32-05:00

Commit Message:
XEEN: Fix map loading for Shangri-la

Changed paths:
    engines/xeen/map.cpp


diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp
index b7f573c..ec58a0f 100644
--- a/engines/xeen/map.cpp
+++ b/engines/xeen/map.cpp
@@ -799,8 +799,13 @@ void MonsterObjectData::synchronize(XeenSerializer &s, MonsterData &monsterData)
 			obj._id = mobStruct._id;
 			obj._direction = mobStruct._direction;
 			obj._frame = 100;
-			obj._spriteId = _objectSprites[obj._id]._spriteId;
-			obj._sprites = &_objectSprites[obj._id]._sprites;
+
+			if (obj._id < (int)_objectSprites.size()) {
+				obj._spriteId = _objectSprites[obj._id]._spriteId;
+				obj._sprites = &_objectSprites[obj._id]._sprites;
+			} else {
+				assert(!obj._id);
+			}
 
 			_objects.push_back(obj);
 			mobStruct.synchronize(s);
@@ -812,12 +817,17 @@ void MonsterObjectData::synchronize(XeenSerializer &s, MonsterData &monsterData)
 			MazeMonster mon;
 			mon._position = mobStruct._pos;
 			mon._id = mobStruct._id;
-			mon._spriteId = _monsterSprites[mon._id]._spriteId;
-			mon._sprites = &_monsterSprites[mon._id]._sprites;
-			mon._attackSprites = &_monsterSprites[mon._id]._attackSprites;
 			mon._monsterData = &monsterData[mon._spriteId];
 			mon._frame = _vm->getRandomNumber(7);
 
+			if (mon._id < (int)_monsterSprites.size()) {
+				mon._spriteId = _monsterSprites[mon._id]._spriteId;
+				mon._sprites = &_monsterSprites[mon._id]._sprites;
+				mon._attackSprites = &_monsterSprites[mon._id]._attackSprites;
+			} else {
+				assert(!mon._id);
+			}
+
 			MonsterStruct &md = *mon._monsterData;
 			mon._hp = md._hp;
 			mon._effect1 = mon._effect2 = md._animationEffect;





More information about the Scummvm-git-logs mailing list