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); |