mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-13 19:54:17 +02:00
Fixes for Altar of Sacrifice (got broken after artifact rewrite)
This commit is contained in:
@@ -2059,6 +2059,7 @@ void CPlayerInterface::stopMovement()
|
|||||||
|
|
||||||
void CPlayerInterface::showMarketWindow(const IMarket *market, const CGHeroInstance *visitor)
|
void CPlayerInterface::showMarketWindow(const IMarket *market, const CGHeroInstance *visitor)
|
||||||
{
|
{
|
||||||
|
boost::unique_lock<boost::recursive_mutex> un(*pim);
|
||||||
if(market->o->ID == 2) //Altar
|
if(market->o->ID == 2) //Altar
|
||||||
{
|
{
|
||||||
EMarketMode mode = market->availableModes().front();
|
EMarketMode mode = market->availableModes().front();
|
||||||
@@ -2073,24 +2074,28 @@ void CPlayerInterface::showMarketWindow(const IMarket *market, const CGHeroInsta
|
|||||||
|
|
||||||
void CPlayerInterface::showUniversityWindow(const IMarket *market, const CGHeroInstance *visitor)
|
void CPlayerInterface::showUniversityWindow(const IMarket *market, const CGHeroInstance *visitor)
|
||||||
{
|
{
|
||||||
|
boost::unique_lock<boost::recursive_mutex> un(*pim);
|
||||||
CUniversityWindow *cuw = new CUniversityWindow(visitor, market);
|
CUniversityWindow *cuw = new CUniversityWindow(visitor, market);
|
||||||
GH.pushInt(cuw);
|
GH.pushInt(cuw);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerInterface::showHillFortWindow(const CGObjectInstance *object, const CGHeroInstance *visitor)
|
void CPlayerInterface::showHillFortWindow(const CGObjectInstance *object, const CGHeroInstance *visitor)
|
||||||
{
|
{
|
||||||
|
boost::unique_lock<boost::recursive_mutex> un(*pim);
|
||||||
CHillFortWindow *chfw = new CHillFortWindow(visitor, object);
|
CHillFortWindow *chfw = new CHillFortWindow(visitor, object);
|
||||||
GH.pushInt(chfw);
|
GH.pushInt(chfw);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerInterface::availableArtifactsChanged(const CGBlackMarket *bm /*= NULL*/)
|
void CPlayerInterface::availableArtifactsChanged(const CGBlackMarket *bm /*= NULL*/)
|
||||||
{
|
{
|
||||||
|
boost::unique_lock<boost::recursive_mutex> un(*pim);
|
||||||
if(CMarketplaceWindow *cmw = dynamic_cast<CMarketplaceWindow*>(GH.topInt()))
|
if(CMarketplaceWindow *cmw = dynamic_cast<CMarketplaceWindow*>(GH.topInt()))
|
||||||
cmw->artifactsChanged(false);
|
cmw->artifactsChanged(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayerInterface::showTavernWindow(const CGObjectInstance *townOrTavern)
|
void CPlayerInterface::showTavernWindow(const CGObjectInstance *townOrTavern)
|
||||||
{
|
{
|
||||||
|
boost::unique_lock<boost::recursive_mutex> un(*pim);
|
||||||
CTavernWindow *tv = new CTavernWindow(townOrTavern);
|
CTavernWindow *tv = new CTavernWindow(townOrTavern);
|
||||||
GH.pushInt(tv);
|
GH.pushInt(tv);
|
||||||
}
|
}
|
||||||
|
@@ -2530,6 +2530,7 @@ CTradeWindow::CTradeableItem::CTradeableItem( EType Type, int ID, bool Left, int
|
|||||||
id = ID;
|
id = ID;
|
||||||
used = LCLICK | HOVER | RCLICK;
|
used = LCLICK | HOVER | RCLICK;
|
||||||
downSelection = false;
|
downSelection = false;
|
||||||
|
hlp = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CTradeWindow::CTradeableItem::showAll(SDL_Surface * to)
|
void CTradeWindow::CTradeableItem::showAll(SDL_Surface * to)
|
||||||
@@ -3835,6 +3836,8 @@ void CAltarWindow::moveFromSlotToAltar(int slotID, CTradeableItem* altarSlot, co
|
|||||||
{
|
{
|
||||||
arts->commonInfo->src.clear();
|
arts->commonInfo->src.clear();
|
||||||
arts->commonInfo->dst.clear();
|
arts->commonInfo->dst.clear();
|
||||||
|
CCS->curh->dragAndDropCursor(NULL);
|
||||||
|
arts->unmarkSlots(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user