int Inventory2::selectItem(int itemId) { if (getInventoryItemIndexById(itemId) < 0) return -1; unselectItem(0); _selectedId = itemId; if (_scene) { int idx = getInventoryPoolItemIndexById(itemId); Picture *pic = _scene->getPictureObjectById(_itemsPool[idx]->pictureObjectId1, 0)->_picture; g_fullpipe->getGameLoaderInputController()->setCursorItemPicture(pic); } return _selectedId; }
void Inventory2::removeItem2(Scene *sceneObj, int itemId, int x, int y, int priority) { int idx = getInventoryItemIndexById(itemId); debugC(2, kDebugInventory, "removeItem2(*, %d, %d, %d, %d)", itemId, x, y, priority); if (idx >= 0) { if (_inventoryItems[idx]->count) { removeItem(itemId, 1); Scene *sc = g_fp->accessScene(_sceneId); if (sc) { StaticANIObject *ani = new StaticANIObject(sc->getStaticANIObject1ById(itemId, -1)); sceneObj->addStaticANIObject(ani, 1); ani->_statics = (Statics *)ani->_staticsList[0]; ani->setOXY(x, y); ani->_priority = priority; } } } }