[Scummvm-git-logs] scummvm master -> 0f1722ebce2105485f48f6903c7b02a56ff63a06

dreammaster paulfgilbert at gmail.com
Sat Aug 31 06:04:16 CEST 2019


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:
0f1722ebce XEEN: Fix to use correct drawer for shades, drawer cleanup


Commit: 0f1722ebce2105485f48f6903c7b02a56ff63a06
    https://github.com/scummvm/scummvm/commit/0f1722ebce2105485f48f6903c7b02a56ff63a06
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2019-08-30T21:04:07-07:00

Commit Message:
XEEN: Fix to use correct drawer for shades, drawer cleanup

Changed paths:
    engines/xeen/interface_scene.cpp
    engines/xeen/sprites.cpp
    engines/xeen/sprites.h


diff --git a/engines/xeen/interface_scene.cpp b/engines/xeen/interface_scene.cpp
index 01f03fe..5e24403 100644
--- a/engines/xeen/interface_scene.cpp
+++ b/engines/xeen/interface_scene.cpp
@@ -2668,7 +2668,7 @@ void InterfaceScene::setMonsterSprite(DrawStruct &drawStruct, MazeMonster &monst
 
 	drawStruct._flags &= ~0xFFF;
 	if (monster._effect2)
-		drawStruct._flags = Res.MONSTER_EFFECT_FLAGS[monster._effect2][monster._effect3];
+		drawStruct._flags = Res.MONSTER_EFFECT_FLAGS[monster._effect2 - 1][monster._effect3];
 }
 
 void InterfaceScene::setIndoorsObjects() {
diff --git a/engines/xeen/sprites.cpp b/engines/xeen/sprites.cpp
index fc2159b..25b6a04 100644
--- a/engines/xeen/sprites.cpp
+++ b/engines/xeen/sprites.cpp
@@ -475,10 +475,10 @@ void SpriteDrawer4::drawPixel(byte *dest, byte pixel) {
 
 /*------------------------------------------------------------------------*/
 
-const uint16 DRAWER5_MASK[4] = { 0x3333, 0x6666, 0x999A, 0xCCCD };
+const uint16 DRAWER5_THRESHOLD[4] = { 0x3333, 0x6666, 0x999A, 0xCCCD };
 
 SpriteDrawer5::SpriteDrawer5(byte *data, size_t filesize, int index) : SpriteDrawer(data, filesize) {
-	_mask = DRAWER5_MASK[index];		
+	_threshold = DRAWER5_THRESHOLD[index];
 	_random1 = g_vm->getRandomNumber(0xffff);
 	_random2 = g_vm->getRandomNumber(0xffff);
 }
@@ -491,7 +491,7 @@ void SpriteDrawer5::drawPixel(byte *dest, byte pixel) {
 	rcr(_random2, flag);
 	_random2 ^= _random1;
 
-	if (_random2 > _mask)
+	if (_random2 > _threshold)
 		*dest = pixel;
 }
 
diff --git a/engines/xeen/sprites.h b/engines/xeen/sprites.h
index e8d83e1..f2619c8 100644
--- a/engines/xeen/sprites.h
+++ b/engines/xeen/sprites.h
@@ -218,6 +218,9 @@ public:
 	SpriteDrawer1(byte *data, size_t filesize, int index);
 };
 
+/**
+ * Draws the sprite as faint ghostly, see-through.
+ */
 class SpriteDrawer3 : public SpriteDrawer {
 private:
 	uint16 _offset, _mask;
@@ -248,9 +251,12 @@ public:
 	SpriteDrawer4(byte *data, size_t filesize, int index);
 };
 
+/**
+ * Draws a sprite with a fuzziness effect where only some pixels of the sprite are randomly drawn
+ */
 class SpriteDrawer5 : public SpriteDrawer {
 private:
-	uint16 _mask, _random1, _random2;
+	uint16 _threshold, _random1, _random2;
 private:
 	/**
 	 * Roll carry right opcode emulation





More information about the Scummvm-git-logs mailing list