aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/icons.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agos/icons.cpp')
-rw-r--r--engines/agos/icons.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/engines/agos/icons.cpp b/engines/agos/icons.cpp
index fdd041d6a7..a25f968b7b 100644
--- a/engines/agos/icons.cpp
+++ b/engines/agos/icons.cpp
@@ -164,15 +164,26 @@ static void decompressIcon(byte *dst, byte *src, uint w, uint h_org, byte base,
}
void AGOSEngine::draw_icon_c(WindowBlock *window, uint icon, uint x, uint y) {
- return;
-
byte *dst;
byte *src;
_lockWord |= 0x8000;
dst = getFrontBuf();
- if (getGameType() == GType_SIMON1) {
+ if (getGameType() == GType_SIMON2) {
+ // Simon 2
+ dst += 110;
+ dst += x;
+ dst += (y + window->y) * _dxSurfacePitch;
+
+ src = _iconFilePtr;
+ src += READ_LE_UINT16(&((uint16 *)src)[icon * 2 + 0]);
+ decompressIcon(dst, src, 20, 10, 224, _dxSurfacePitch);
+
+ src = _iconFilePtr;
+ src += READ_LE_UINT16(&((uint16 *)src)[icon * 2 + 1]);
+ decompressIcon(dst, src, 20, 10, 208, _dxSurfacePitch);
+ } else if (getGameType() == GType_SIMON1) {
// Simon 1
dst += (x + window->x) * 8;
dst += (y * 25 + window->y) * _dxSurfacePitch;
@@ -187,18 +198,7 @@ void AGOSEngine::draw_icon_c(WindowBlock *window, uint icon, uint x, uint y) {
decompressIcon(dst, src, 24, 12, 224, _dxSurfacePitch);
}
} else {
- // Simon 2
- dst += 110;
- dst += x;
- dst += (y + window->y) * _dxSurfacePitch;
-
- src = _iconFilePtr;
- src += READ_LE_UINT16(&((uint16 *)src)[icon * 2 + 0]);
- decompressIcon(dst, src, 20, 10, 224, _dxSurfacePitch);
-
- src = _iconFilePtr;
- src += READ_LE_UINT16(&((uint16 *)src)[icon * 2 + 1]);
- decompressIcon(dst, src, 20, 10, 208, _dxSurfacePitch);
+ // TODO
}
_lockWord &= ~0x8000;