[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