aboutsummaryrefslogtreecommitdiff
path: root/sky
diff options
context:
space:
mode:
authorJoost Peters2004-05-06 00:25:18 +0000
committerJoost Peters2004-05-06 00:25:18 +0000
commitbd19811d19023f172152e4ef59b49e9358f9a5d0 (patch)
tree1381a193036a8fce7ceb7bdd2628ec6aa9a1d6c4 /sky
parent83cd0002076f1c45eb2b6e8c1c484961eb7eadcb (diff)
downloadscummvm-rg350-bd19811d19023f172152e4ef59b49e9358f9a5d0.tar.gz
scummvm-rg350-bd19811d19023f172152e4ef59b49e9358f9a5d0.tar.bz2
scummvm-rg350-bd19811d19023f172152e4ef59b49e9358f9a5d0.zip
Get rid of mouse transparancy hack
svn-id: r13795
Diffstat (limited to 'sky')
-rw-r--r--sky/mouse.cpp24
-rw-r--r--sky/mouse.h1
2 files changed, 1 insertions, 24 deletions
diff --git a/sky/mouse.cpp b/sky/mouse.cpp
index 71271cf61e..aae5c3f2f6 100644
--- a/sky/mouse.cpp
+++ b/sky/mouse.cpp
@@ -93,11 +93,9 @@ Mouse::Mouse(OSystem *system, Disk *skyDisk) {
_currentCursor = 6;
_miceData = _skyDisk->loadFile(MICE_FILE, NULL);
- fixMouseTransparency(_miceData, _skyDisk->_lastLoadedFileSize);
//load in the object mouse file
_objectMouseData = _skyDisk->loadFile(MICE_FILE + 1, NULL);
- fixMouseTransparency(_objectMouseData, _skyDisk->_lastLoadedFileSize);
}
Mouse::~Mouse( ){
@@ -107,7 +105,6 @@ Mouse::~Mouse( ){
void Mouse::replaceMouseCursors(uint16 fileNo) {
_skyDisk->loadFile(fileNo, _objectMouseData);
- fixMouseTransparency(_objectMouseData, _skyDisk->_lastLoadedFileSize);
}
bool Mouse::fnAddHuman(void) {
@@ -177,25 +174,6 @@ void Mouse::waitMouseNotPressed(void) {
}
}
-//original sky uses different colors for transparency than our backends do,
-//so we simply swap our "transparent"-white with another one.
-void Mouse::fixMouseTransparency(byte *mouseData, uint32 size) {
- uint32 curPos = sizeof(struct dataFileHeader);
- uint32 cursorSize = ((struct dataFileHeader *)mouseData)->s_sp_size;
-
- while (curPos < size) {
- byte *cursor = mouseData + curPos;
- for (uint32 i = 0; i < cursorSize; i++) {
- if (cursor[i] == 255)
- cursor[i] = 242;
- else
- if (cursor[i] == 0)
- cursor[i] = 255;
- }
- curPos += cursorSize;
- }
-}
-
void Mouse::spriteMouse(uint16 frameNum, uint8 mouseX, uint8 mouseY) {
_currentCursor = frameNum;
@@ -207,7 +185,7 @@ void Mouse::spriteMouse(uint16 frameNum, uint8 mouseX, uint8 mouseY) {
uint16 mouseWidth = ((struct dataFileHeader *)_miceData)->s_width;
uint16 mouseHeight = ((struct dataFileHeader *)_miceData)->s_height;
- _system->setMouseCursor(newCursor, mouseWidth, mouseHeight, mouseX, mouseY);
+ _system->setMouseCursor(newCursor, mouseWidth, mouseHeight, mouseX, mouseY, 0);
if (frameNum == MOUSE_BLANK) _system->showMouse(false);
else _system->showMouse(true);
}
diff --git a/sky/mouse.h b/sky/mouse.h
index bc69f7b407..db9698ce31 100644
--- a/sky/mouse.h
+++ b/sky/mouse.h
@@ -63,7 +63,6 @@ protected:
void pointerEngine(uint16 xPos, uint16 yPos);
void buttonEngine1(void);
- void fixMouseTransparency(byte *mouseData, uint32 size);
bool _logicClick;