mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2024-12-28 00:15:06 +00:00
20da0892ef
Slowly moving through the open-cs errors Good progress in openCS Very good progress on openCS Getting closer with openCS OpenCS compiles and runs! Didn't have time to test it all though ix openMW everything compiles on windows?? Fix gcc Fix Clang
32 lines
1.2 KiB
C++
32 lines
1.2 KiB
C++
#include "convertinventory.hpp"
|
|
|
|
#include <components/misc/strings/lower.hpp>
|
|
|
|
#include <cstdlib>
|
|
|
|
namespace ESSImport
|
|
{
|
|
|
|
void convertInventory(const Inventory& inventory, ESM::InventoryState& state)
|
|
{
|
|
int index = 0;
|
|
for (const auto& item : inventory.mItems)
|
|
{
|
|
ESM::ObjectState objstate;
|
|
objstate.blank();
|
|
objstate.mRef = item;
|
|
objstate.mRef.mRefID = ESM::RefId::stringRefId(item.mId);
|
|
objstate.mCount = std::abs(item.mCount); // restocking items have negative count in the savefile
|
|
// openmw handles them differently, so no need to set any flags
|
|
state.mItems.push_back(objstate);
|
|
if (item.mRelativeEquipmentSlot != -1)
|
|
// Note we should really write the absolute slot here, which we do not know about
|
|
// Not a big deal, OpenMW will auto-correct to a valid slot, the only problem is when
|
|
// an item could be equipped in two different slots (e.g. equipped two rings)
|
|
state.mEquipmentSlots[index] = item.mRelativeEquipmentSlot;
|
|
++index;
|
|
}
|
|
}
|
|
|
|
}
|