diff options
author | Travis Howell | 2007-04-28 07:00:33 +0000 |
---|---|---|
committer | Travis Howell | 2007-04-28 07:00:33 +0000 |
commit | da2d6b64af58f5c5595146acd467ddf61b879582 (patch) | |
tree | e72ad3fb085e91147a750b9b5da6b09fa54b0758 /engines | |
parent | 39238a9472c64f6416bf855966460bd06585a833 (diff) | |
download | scummvm-rg350-da2d6b64af58f5c5595146acd467ddf61b879582.tar.gz scummvm-rg350-da2d6b64af58f5c5595146acd467ddf61b879582.tar.bz2 scummvm-rg350-da2d6b64af58f5c5595146acd467ddf61b879582.zip |
Add code difference for inventory arrows in Amiga versions of Simon the Sorcerer 1.
svn-id: r26641
Diffstat (limited to 'engines')
-rw-r--r-- | engines/agos/gfx.cpp | 12 | ||||
-rw-r--r-- | engines/agos/icons.cpp | 15 |
2 files changed, 14 insertions, 13 deletions
diff --git a/engines/agos/gfx.cpp b/engines/agos/gfx.cpp index a370e42046..2a6b5e2cab 100644 --- a/engines/agos/gfx.cpp +++ b/engines/agos/gfx.cpp @@ -959,10 +959,7 @@ void AGOSEngine::animate(uint windowNum, uint zoneNum, uint vgaSpriteId, uint x, p += sizeof(AnimationHeader_Simon); } - if (READ_BE_UINT16(&((AnimationHeader_Simon *) p)->id) != vgaSpriteId) { - debug(0, "setImage: Animation %d not found.", vgaSpriteId); - return; - } + assert(READ_BE_UINT16(&((AnimationHeader_Simon *) p)->id) == vgaSpriteId); } else { p = pp + READ_BE_UINT16(pp + 10); p += 20; @@ -1072,12 +1069,7 @@ void AGOSEngine::setImage(uint16 vga_res_id, bool vgaScript) { break; b += sizeof(ImageHeader_Simon); } - - - if (READ_BE_UINT16(&((ImageHeader_Simon *) b)->id) != vga_res_id) { - debug(0, "setImage: Image %d not found.", vga_res_id); - return; - } + assert(READ_BE_UINT16(&((ImageHeader_Simon *) b)->id) == vga_res_id); } else { b = bb + READ_BE_UINT16(bb + 10); b += 20; diff --git a/engines/agos/icons.cpp b/engines/agos/icons.cpp index f2273c815b..172d5374fd 100644 --- a/engines/agos/icons.cpp +++ b/engines/agos/icons.cpp @@ -625,8 +625,13 @@ void AGOSEngine::addArrows(WindowBlock *window) { ha->window = window; ha->verb = 1; - stopAnimate(128); - animate(0, 1, 128, 0, 0, 14); + if (getFeatures() & GF_32COLOR) { + // TODO: Manually draws arrows + } else { + stopAnimate(128); + uint8 palette = (getGameId() == GID_SIMON1CD32) ? 15: 14; + animate(0, 1, 128, 0, 0, palette); + } } else if (getGameType() == GType_WW) { ha->x = 255; ha->y = 170; @@ -664,7 +669,11 @@ void AGOSEngine::addArrows(WindowBlock *window) { void AGOSEngine::removeArrows(WindowBlock *window, uint num) { if (getGameType() == GType_SIMON1) { - stopAnimate(128); + if (getFeatures() & GF_32COLOR) { + // TODO: Manually removes arrows + } else { + stopAnimate(128); + } } else if (getGameType() == GType_WW) { setBitFlag(22, false); setWindowImageEx(6, 103); |