Merge remote branch 'scrawl/refid_case'

This commit is contained in:
Marc Zinnschlag 2012-05-19 15:07:12 +02:00
commit 0dc412d44c
2 changed files with 16 additions and 3 deletions

View file

@ -363,7 +363,7 @@ namespace MWDialogue
int sum = 0; int sum = 0;
for (MWWorld::ContainerStoreIterator iter (store.begin()); iter!=store.end(); ++iter) for (MWWorld::ContainerStoreIterator iter (store.begin()); iter!=store.end(); ++iter)
if (iter->getCellRef().refID==name) if (toLower(iter->getCellRef().refID) == toLower(name))
sum += iter->getRefData().getCount(); sum += iter->getRefData().getCount();
if(!selectCompare<int,int>(comp,sum,select.i)) return false; if(!selectCompare<int,int>(comp,sum,select.i)) return false;
} }

View file

@ -18,6 +18,19 @@
#include "interpretercontext.hpp" #include "interpretercontext.hpp"
#include "ref.hpp" #include "ref.hpp"
namespace
{
std::string toLower (const std::string& name)
{
std::string lowerCase;
std::transform (name.begin(), name.end(), std::back_inserter (lowerCase),
(int(*)(int)) std::tolower);
return lowerCase;
}
}
namespace MWScript namespace MWScript
{ {
namespace Container namespace Container
@ -65,7 +78,7 @@ namespace MWScript
Interpreter::Type_Integer sum = 0; Interpreter::Type_Integer sum = 0;
for (MWWorld::ContainerStoreIterator iter (store.begin()); iter!=store.end(); ++iter) for (MWWorld::ContainerStoreIterator iter (store.begin()); iter!=store.end(); ++iter)
if (iter->getCellRef().refID==item) if (toLower(iter->getCellRef().refID) == toLower(item))
sum += iter->getRefData().getCount(); sum += iter->getRefData().getCount();
runtime.push (sum); runtime.push (sum);
@ -95,7 +108,7 @@ namespace MWScript
for (MWWorld::ContainerStoreIterator iter (store.begin()); iter!=store.end() && count; for (MWWorld::ContainerStoreIterator iter (store.begin()); iter!=store.end() && count;
++iter) ++iter)
{ {
if (iter->getCellRef().refID==item) if (toLower(iter->getCellRef().refID) == toLower(item))
{ {
if (iter->getRefData().getCount()<=count) if (iter->getRefData().getCount()<=count)
{ {