mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-16 20:29:57 +00:00
ESSImport: fix loading item stacks in containers
This commit is contained in:
parent
5104a5a023
commit
6d5bb57e00
1 changed files with 25 additions and 18 deletions
|
@ -18,7 +18,12 @@ namespace ESSImport
|
||||||
item.mId = contItem.mItem.toString();
|
item.mId = contItem.mItem.toString();
|
||||||
item.mCount = contItem.mCount;
|
item.mCount = contItem.mCount;
|
||||||
|
|
||||||
if (esm.isNextSub("XIDX"))
|
// seems that a stack of items can have a set of subrecords for each item? rings0000.ess
|
||||||
|
// doesn't make any sense to me, if the values were different then the items shouldn't stack in the first place?
|
||||||
|
// I guess we should double check the stacking logic in OpenMW
|
||||||
|
for (int i=0;i<std::abs(item.mCount);++i)
|
||||||
|
{
|
||||||
|
if (esm.isNextSub("XIDX")) // index in the stack?
|
||||||
esm.skipHSub();
|
esm.skipHSub();
|
||||||
|
|
||||||
std::string script = esm.getHNOString("SCRI");
|
std::string script = esm.getHNOString("SCRI");
|
||||||
|
@ -40,6 +45,8 @@ namespace ESSImport
|
||||||
item.mCondition = -1;
|
item.mCondition = -1;
|
||||||
// FIXME: for Lights, this is actually a float
|
// FIXME: for Lights, this is actually a float
|
||||||
esm.getHNOT(item.mCondition, "XHLT");
|
esm.getHNOT(item.mCondition, "XHLT");
|
||||||
|
}
|
||||||
|
|
||||||
mItems.push_back(item);
|
mItems.push_back(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue