1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-01 11:15:36 +00:00

Merge remote-tracking branch 'zini/master' into nifogre

This commit is contained in:
Chris Robinson 2013-04-22 18:44:28 -07:00
commit 507d72ede5
4 changed files with 16 additions and 9 deletions

View file

@ -73,6 +73,11 @@ bool MWDialogue::Filter::testActor (const ESM::DialInfo& info) const
if (iter->second < info.mData.mRank) if (iter->second < info.mData.mRank)
return false; return false;
} }
else if (info.mData.mRank != -1)
{
// if there is a rank condition, but the NPC is not in a faction, always fail
return false;
}
// Gender // Gender
if (!isCreature) if (!isCreature)

View file

@ -18,17 +18,17 @@ namespace MWGui
void ReferenceInterface::checkReferenceAvailable() void ReferenceInterface::checkReferenceAvailable()
{ {
if (mPtr.isEmpty())
return;
MWWorld::Ptr::CellStore* playerCell = MWBase::Environment::get().getWorld()->getPlayer().getPlayer().getCell(); MWWorld::Ptr::CellStore* playerCell = MWBase::Environment::get().getWorld()->getPlayer().getPlayer().getCell();
// check if player has changed cell, or count of the reference has become 0 // check if player has changed cell, or count of the reference has become 0
if ((playerCell != mCurrentPlayerCell && mCurrentPlayerCell != NULL) if ((playerCell != mCurrentPlayerCell && mCurrentPlayerCell != NULL)
|| mPtr.getRefData().getCount() == 0) || (!mPtr.isEmpty() && mPtr.getRefData().getCount() == 0))
{ {
mPtr = MWWorld::Ptr(); if (!mPtr.isEmpty())
onReferenceUnavailable(); {
mPtr = MWWorld::Ptr();
onReferenceUnavailable();
}
} }
mCurrentPlayerCell = playerCell; mCurrentPlayerCell = playerCell;

View file

@ -475,7 +475,7 @@ namespace MWWorld
cell.mData.mX = x, cell.mData.mY = y; cell.mData.mX = x, cell.mData.mY = y;
std::pair<int, int> key(x, y); std::pair<int, int> key(x, y);
std::map<std::pair<int, int>, ESM::Cell>::const_iterator it = mExt.find(key); DynamicExt::const_iterator it = mExt.find(key);
if (it != mExt.end()) { if (it != mExt.end()) {
return &(it->second); return &(it->second);
} }
@ -493,7 +493,7 @@ namespace MWWorld
cell.mData.mX = x, cell.mData.mY = y; cell.mData.mX = x, cell.mData.mY = y;
std::pair<int, int> key(x, y); std::pair<int, int> key(x, y);
std::map<std::pair<int, int>, ESM::Cell>::const_iterator it = mExt.find(key); DynamicExt::const_iterator it = mExt.find(key);
if (it != mExt.end()) { if (it != mExt.end()) {
return &(it->second); return &(it->second);
} }
@ -534,7 +534,7 @@ namespace MWWorld
void setUp() { void setUp() {
//typedef std::vector<ESM::Cell>::iterator Iterator; //typedef std::vector<ESM::Cell>::iterator Iterator;
typedef std::map<std::pair<int, int>, ESM::Cell>::iterator ExtIterator; typedef DynamicExt::iterator ExtIterator;
typedef std::map<std::string, ESM::Cell>::iterator IntIterator; typedef std::map<std::string, ESM::Cell>::iterator IntIterator;
//std::sort(mInt.begin(), mInt.end(), RecordCmp()); //std::sort(mInt.begin(), mInt.end(), RecordCmp());

View file

@ -137,6 +137,8 @@ Bug #702: Some race mods don't work
Bug #711: Crash during character creation Bug #711: Crash during character creation
Bug #715: Growing Tauryon Bug #715: Growing Tauryon
Bug #725: Auto calculate stats Bug #725: Auto calculate stats
Bug #728: Failure to open container and talk dialogue
Bug #731: Crash with Mush-Mere's "background" topic
Feature #55/657: Item Repairing Feature #55/657: Item Repairing
Feature #62/87: Enchanting Feature #62/87: Enchanting
Feature #99: Pathfinding Feature #99: Pathfinding