mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-22 18:02:05 +00:00
TSAGE: Bugfixes for inventory dialog display with a large number of items
This commit is contained in:
parent
4ac0e73907
commit
de592e07f3
@ -412,10 +412,11 @@ InventoryDialog::InventoryDialog() {
|
||||
imgHeight = MAX(imgHeight, (int)itemSurface.getBounds().height());
|
||||
|
||||
// Add the item to the display list
|
||||
_images.push_back(GfxInvImage());
|
||||
_images[_images.size() - 1].setDetails(invObject->_displayResNum, invObject->_rlbNum, invObject->_cursorNum);
|
||||
_images[_images.size() - 1]._invObject = invObject;
|
||||
add(&_images[_images.size() - 1]);
|
||||
GfxInvImage *img = new GfxInvImage();
|
||||
_images.push_back(img);
|
||||
img->setDetails(invObject->_displayResNum, invObject->_rlbNum, invObject->_cursorNum);
|
||||
img->_invObject = invObject;
|
||||
add(img);
|
||||
}
|
||||
}
|
||||
assert(_images.size() > 0);
|
||||
@ -437,7 +438,7 @@ InventoryDialog::InventoryDialog() {
|
||||
cellX = 0;
|
||||
}
|
||||
|
||||
_images[idx]._bounds.moveTo(pt.x, pt.y);
|
||||
_images[idx]->_bounds.moveTo(pt.x, pt.y);
|
||||
|
||||
pt.x += imgWidth + 2;
|
||||
++cellX;
|
||||
@ -455,6 +456,11 @@ InventoryDialog::InventoryDialog() {
|
||||
setCenter(SCREEN_CENTER_X, SCREEN_CENTER_Y);
|
||||
}
|
||||
|
||||
InventoryDialog::~InventoryDialog() {
|
||||
for (uint idx = 0; idx < _images.size(); ++idx)
|
||||
delete _images[idx];
|
||||
}
|
||||
|
||||
void InventoryDialog::execute() {
|
||||
if ((RING_INVENTORY._selectedItem) && RING_INVENTORY._selectedItem->inInventory())
|
||||
RING_INVENTORY._selectedItem->setCursor();
|
||||
|
@ -105,11 +105,11 @@ public:
|
||||
|
||||
class InventoryDialog : public ModalDialog {
|
||||
private:
|
||||
Common::Array<GfxInvImage> _images;
|
||||
Common::Array<GfxInvImage *> _images;
|
||||
GfxButton _btnOk, _btnLook;
|
||||
public:
|
||||
InventoryDialog();
|
||||
virtual ~InventoryDialog() {}
|
||||
virtual ~InventoryDialog();
|
||||
void execute();
|
||||
|
||||
static void show();
|
||||
|
Loading…
Reference in New Issue
Block a user