diff options
author | Travis Howell | 2009-08-09 01:20:08 +0000 |
---|---|---|
committer | Travis Howell | 2009-08-09 01:20:08 +0000 |
commit | 82692b117c5c18a32c7f2eb402340adee3ac3f7a (patch) | |
tree | 578da5efcd5b68ea5ebfdd8bd6140d188faf113a /engines/agos | |
parent | 5dbd11abad7c5e1f069a67a63b9be66cbfafc255 (diff) | |
download | scummvm-rg350-82692b117c5c18a32c7f2eb402340adee3ac3f7a.tar.gz scummvm-rg350-82692b117c5c18a32c7f2eb402340adee3ac3f7a.tar.bz2 scummvm-rg350-82692b117c5c18a32c7f2eb402340adee3ac3f7a.zip |
Fix bug #2834254 - ELVIRA: Buggy scroll arrows when mixing spells.
svn-id: r43152
Diffstat (limited to 'engines/agos')
-rw-r--r-- | engines/agos/icons.cpp | 19 | ||||
-rw-r--r-- | engines/agos/saveload.cpp | 1 |
2 files changed, 11 insertions, 9 deletions
diff --git a/engines/agos/icons.cpp b/engines/agos/icons.cpp index 2fd93e64f2..f25aa967fc 100644 --- a/engines/agos/icons.cpp +++ b/engines/agos/icons.cpp @@ -860,16 +860,16 @@ void AGOSEngine::addArrows(WindowBlock *window, uint8 num) { x = 30; y = 151; if (num != 2) { - y = window->height * 4 + window->y - 19; - x = window->width + window->x; + y = window->y + window->height * 4 - 19; + x = window->x + window->width; } drawArrow(x, y, 16); ha = findEmptyHitArea(); _scrollUpHitArea = ha - _hitAreas; - ha->x = 30 * 8; - ha->y = 151; + ha->x = x * 8; + ha->y = y; ha->width = 16; ha->height = 19; ha->flags = kBFBoxInUse; @@ -881,16 +881,16 @@ void AGOSEngine::addArrows(WindowBlock *window, uint8 num) { x = 30; y = 170; if (num != 2) { - y = window->height * 4; - x = window->width + window->x; + y = window->y + window->height * 4; + x = window->x + window->width; } drawArrow(x, y, -16); ha = findEmptyHitArea(); _scrollDownHitArea = ha - _hitAreas; - ha->x = 30 * 8; - ha->y = 170; + ha->x = x * 8; + ha->y = y; ha->width = 16; ha->height = 19; ha->flags = kBFBoxInUse; @@ -956,7 +956,8 @@ void AGOSEngine::drawArrow(uint16 x, uint16 y, int8 dir) { for (h = 0; h < 19; h++) { for (w = 0; w < 16; w++) { - dst[w] = src[w] + 16; + if (src[w]) + dst[w] = src[w] + 16; } src += dir; diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp index 3787617be7..53a323212d 100644 --- a/engines/agos/saveload.cpp +++ b/engines/agos/saveload.cpp @@ -269,6 +269,7 @@ int16 AGOSEngine::matchSaveGame(const char *name, uint16 max) { in->read(dst, 8); delete in; + printf("Find: name %s file %s\n", name, (const char *)dst); if (!scumm_stricmp(name, dst)) { return slot; } |