[Scummvm-git-logs] scummvm master -> 253498ae229b797cb746083179cee903e9a200ef

dreammaster noreply at scummvm.org
Thu Jan 19 03:51:30 UTC 2023


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:
253498ae22 XEEN: Fix for GateMaster monster in map 78


Commit: 253498ae229b797cb746083179cee903e9a200ef
    https://github.com/scummvm/scummvm/commit/253498ae229b797cb746083179cee903e9a200ef
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2023-01-18T19:49:33-08:00

Commit Message:
XEEN: Fix for GateMaster monster in map 78

I've done a fix in code rather than regenerating xeen.ccs
with the missing monster entry, since in the near term
the combined Might & Magic engine will be merged. Which
replaces xeen.ccs. So this temporary fix avoids redundancy

Changed paths:
    devtools/create_xeen/swords.cpp
    engines/xeen/map.cpp


diff --git a/devtools/create_xeen/swords.cpp b/devtools/create_xeen/swords.cpp
index 00098fb48d4..f679880a4de 100644
--- a/devtools/create_xeen/swords.cpp
+++ b/devtools/create_xeen/swords.cpp
@@ -30,7 +30,7 @@
 void writeSwordsData(CCArchive &cc, const char *swordsDatName) {
 	Common::File f;
 	Common::MemFile monsters;
-	const int size = MONSTERS_COUNT * 60;
+	const int size = MONSTERS_COUNT * 61;
 	const int32 offset = 0x44200;
 	byte buffer[size];
 
diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp
index 2f520ad2bbb..0e536165253 100644
--- a/engines/xeen/map.cpp
+++ b/engines/xeen/map.cpp
@@ -694,6 +694,42 @@ void Map::load(int mapId) {
 		_animationInfo.load("dark.dat");
 		_monsterData.load((_vm->getGameID() == GType_Swords) ? "monsters.swd" : "dark.mon");
 		_wallPicSprites.load("darkpic.dat");
+
+		// FIXME: Temporary fix for last monster in code to avoid regenerating xeen.ccs
+		if (_vm->getGameID() == GType_Swords) {
+			MonsterStruct &m = _monsterData[150];
+			m._name = "GateMaster";
+			m._experience = 200000;
+			m._hp = 1900;
+			m._armorClass = 0x32;
+			m._speed = 0x42;
+			m._numberOfAttacks = 1;
+			m._hatesClass = (CharacterClass)0xf;
+			m._strikes = 15;
+			m._dmgPerStrike = 0x82;
+			m._attackType = (DamageType)4;
+			m._specialAttack = (SpecialAttack)0x14;
+			m._hitChance = 0;
+			m._rangeAttack = 1;
+			m._monsterType = (MonsterType)0;
+			m._fireResistence = 100;
+			m._electricityResistence = 40;
+			m._coldResistence = 40;
+			m._poisonResistence = 40;
+			m._energyResistence = 40;
+			m._magicResistence = 40;
+			m._phsyicalResistence = 30;
+			m._field29 = 0;
+			m._gold = 0;
+			m._gems = 0;
+			m._itemDrop = 0;
+			m._flying = 1;
+			m._imageNumber = 31;
+			m._loopAnimation = 0;
+			m._animationEffect = 0;
+			m._fx = 100;
+		}
+
 	} else if (_vm->getGameID() == GType_Clouds) {
 		_animationInfo.load("animinfo.cld");
 		_monsterData.load("monsters.cld");




More information about the Scummvm-git-logs mailing list