| 1272 | | _subImages[i].rect.top = 0; |
| 1273 | | _subImages[i].rect.right = 0; |
| 1274 | | _subImages[i].rect.bottom = 0; |
| | 1272 | // Use the hotspot rect as the source rect since the subimage is fullscreen |
| | 1273 | // Convert to bitmap coordinates (upside down) |
| | 1274 | _subImages[i].rect.left = _rect.left; |
| | 1275 | _subImages[i].rect.top = 333 - _rect.bottom; |
| | 1276 | _subImages[i].rect.right = _rect.right; |
| | 1277 | _subImages[i].rect.bottom = 333 - _rect.top; |
| 1335 | | if (_subImages[subImageId].rect.left == -1) |
| 1336 | | _vm->_gfx->copyImageSectionToScreen(imageToDraw, _rect, _rect); |
| 1337 | | //vm->_gfx->copyImageToScreen(imageToDraw, Common::Rect(0, 0, 544, 333)); |
| 1338 | | // TODO: Think this is the case when the image is full screen.. need to modify graphics to add functions for returning size of image. |
| 1339 | | // This is not right either... |
| 1340 | | //else if (_rect.width() != _subImages[draw_subimage_id].rect.width() || _rect.height() != _subImages[draw_subimage_id].rect.height()) |
| 1341 | | // HACK: Hardcode cases of this until general rule can be ascertained |
| 1342 | | // These cases seem to have the source rect in the wdib with an vertical i.e. top+X, bottom+X where X is a constant, but could |
| 1343 | | // be negative, translations, when in fact both the source and dest should be equal... |
| 1344 | | //else if ((vm->getCurStack() == kSeleniticStack && vm->getCurCard() == 1155 && tmp == 1) || // X= |
| 1345 | | // (vm->getCurStack() == kSeleniticStack && vm->getCurCard() == 1225 && tmp == 1) || // X= |
| 1346 | | // (vm->getCurStack() == kMystStack && vm->getCurCard() == 4247 && tmp == 0) || // X= |
| 1347 | | // (vm->getCurStack() == kChannelwoodStack && vm->getCurCard() == 3161 && tmp == 0)) // X= |
| 1348 | | // vm->_gfx->copyImageSectionToScreen(imageToDraw, _rect, _rect); |
| 1349 | | // // TODO: Small vertical movement remains on change. Suspect off by one error from these to real |
| 1350 | | // // solution. |
| 1351 | | else |
| 1352 | | _vm->_gfx->copyImageSectionToScreen(imageToDraw, _subImages[subImageId].rect, _rect); |
| | 1338 | _vm->_gfx->copyImageSectionToScreen(imageToDraw, _subImages[subImageId].rect, _rect); |