mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-16 16:49:55 +00:00
Resolve merge issues and change the getSpells() interface.
This commit is contained in:
parent
66877cbfe7
commit
b1f07ba4fb
7 changed files with 21 additions and 29 deletions
|
@ -33,7 +33,6 @@ namespace
|
|||
const CSMWorld::IdCollection<ESM::Skill>& mSkillTable;
|
||||
const CSMWorld::IdCollection<ESM::MagicEffect>& mMagicEffectTable;
|
||||
const CSMWorld::NestedIdCollection<ESM::Spell>& mSpells;
|
||||
std::vector<ESM::Spell *> mLocal;
|
||||
|
||||
public:
|
||||
|
||||
|
@ -42,14 +41,8 @@ namespace
|
|||
const CSMWorld::IdCollection<ESM::MagicEffect>& magicEffects,
|
||||
const CSMWorld::NestedIdCollection<ESM::Spell>& spells)
|
||||
: mGmstTable(gmst), mSkillTable(skills), mMagicEffectTable(magicEffects), mSpells(spells)
|
||||
{
|
||||
// prepare data in a format used by OpenMW store
|
||||
for (int index = 0; index < mSpells.getSize(); ++index)
|
||||
{
|
||||
ESM::Spell *spell = const_cast<ESM::Spell *>(&mSpells.getRecord(index).get());
|
||||
mLocal.push_back(spell);
|
||||
}
|
||||
}
|
||||
{ }
|
||||
|
||||
~CSStore() {}
|
||||
|
||||
virtual int findGmstInt(const std::string& name) const
|
||||
|
@ -74,9 +67,11 @@ namespace
|
|||
return &mMagicEffectTable.getRecord(ESM::MagicEffect::indexToId((short)id)).get();
|
||||
}
|
||||
|
||||
virtual const std::vector<ESM::Spell*>& getSpells() const
|
||||
virtual void getSpells(std::vector<ESM::Spell*>& spells)
|
||||
{
|
||||
return mLocal;
|
||||
// prepare data in a format used by OpenMW store
|
||||
for (int index = 0; index < mSpells.getSize(); ++index)
|
||||
spells.push_back(const_cast<ESM::Spell *>(&mSpells.getRecord(index).get()));
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -16,6 +16,8 @@ CSVWorld::NestedTable::NestedTable(CSMDoc::Document& document,
|
|||
QWidget* parent,
|
||||
bool editable)
|
||||
: DragRecordTable(document, parent),
|
||||
mAddNewRowAction(0),
|
||||
mRemoveRowAction(0),
|
||||
mModel(model)
|
||||
{
|
||||
setSelectionBehavior (QAbstractItemView::SelectRows);
|
||||
|
@ -50,8 +52,6 @@ CSVWorld::NestedTable::NestedTable(CSMDoc::Document& document,
|
|||
setItemDelegateForColumn(i, delegate);
|
||||
}
|
||||
|
||||
setModel(model);
|
||||
|
||||
mAddNewRowAction = new QAction (tr ("Add new row"), this);
|
||||
|
||||
connect(mAddNewRowAction, SIGNAL(triggered()),
|
||||
|
@ -90,15 +90,15 @@ void CSVWorld::NestedTable::contextMenuEvent (QContextMenuEvent *event)
|
|||
void CSVWorld::NestedTable::removeRowActionTriggered()
|
||||
{
|
||||
mDocument.getUndoStack().push(new CSMWorld::DeleteNestedCommand(*(mModel->model()),
|
||||
mModel->getParentId(),
|
||||
selectionModel()->selectedRows().begin()->row(),
|
||||
mModel->getParentColumn()));
|
||||
mModel->getParentId(),
|
||||
selectionModel()->selectedRows().begin()->row(),
|
||||
mModel->getParentColumn()));
|
||||
}
|
||||
|
||||
void CSVWorld::NestedTable::addNewRowActionTriggered()
|
||||
{
|
||||
mDocument.getUndoStack().push(new CSMWorld::AddNestedCommand(*(mModel->model()),
|
||||
mModel->getParentId(),
|
||||
selectionModel()->selectedRows().size(),
|
||||
mModel->getParentColumn()));
|
||||
mModel->getParentId(),
|
||||
selectionModel()->selectedRows().size(),
|
||||
mModel->getParentColumn()));
|
||||
}
|
||||
|
|
|
@ -29,8 +29,9 @@ namespace MWWorld
|
|||
return MWBase::Environment::get().getWorld()->getStore().get<ESM::MagicEffect>().find(id);
|
||||
}
|
||||
|
||||
const std::vector<ESM::Spell*>& MWStore::getSpells() const
|
||||
void MWStore::getSpells(std::vector<ESM::Spell*>& spells)
|
||||
{
|
||||
return MWBase::Environment::get().getWorld()->getStore().get<ESM::Spell>().getShared();
|
||||
for (Store<ESM::Spell>::iterator iter = mSpells.begin(); iter != mSpells.end(); ++iter)
|
||||
spells.push_back(const_cast<ESM::Spell*>(&*iter));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace MWWorld
|
|||
|
||||
virtual const ESM::MagicEffect* findMagicEffect(int id) const;
|
||||
|
||||
virtual const std::vector<ESM::Spell*>& getSpells() const;
|
||||
virtual void MWStore::getSpells(std::vector<ESM::Spell*>& spells);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -234,10 +234,6 @@ namespace MWWorld
|
|||
return mShared.size();
|
||||
}
|
||||
|
||||
const std::vector<T *>& getShared() const {
|
||||
return mShared;
|
||||
}
|
||||
|
||||
int getDynamicSize() const
|
||||
{
|
||||
return static_cast<int> (mDynamic.size()); // truncated from unsigned __int64 if _MSC_VER && _WIN64
|
||||
|
|
|
@ -60,8 +60,8 @@ namespace AutoCalc
|
|||
}
|
||||
|
||||
std::vector<std::string> selectedSpells;
|
||||
|
||||
const std::vector<ESM::Spell*>& spells = store->getSpells();
|
||||
std::vector<ESM::Spell*> spells;
|
||||
store->getSpells(spells);
|
||||
|
||||
// Note: the algorithm heavily depends on the traversal order of the spells. For vanilla-compatible results the
|
||||
// Store must preserve the record ordering as it was in the content files.
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace AutoCalc
|
|||
|
||||
virtual const ESM::MagicEffect* findMagicEffect(int id) const = 0;
|
||||
|
||||
virtual const std::vector<ESM::Spell*>& getSpells() const = 0;
|
||||
virtual void getSpells(std::vector<ESM::Spell*>& spells) = 0;
|
||||
};
|
||||
}
|
||||
#endif // COMPONENTS_AUTOCALC_STORE_H
|
||||
|
|
Loading…
Reference in a new issue