mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-03-28 20:36:42 +00:00
added race table weight/height columns
This commit is contained in:
parent
076831c9cc
commit
35fe828108
2 changed files with 43 additions and 1 deletions
|
@ -453,7 +453,7 @@ namespace CSMWorld
|
||||||
{
|
{
|
||||||
ESXRecordT record2 = record.get();
|
ESXRecordT record2 = record.get();
|
||||||
|
|
||||||
int flags = record.get().mData.mFlags & ~mMask;
|
int flags = record2.mData.mFlags & ~mMask;
|
||||||
|
|
||||||
if (data.toInt())
|
if (data.toInt())
|
||||||
flags |= mMask;
|
flags |= mMask;
|
||||||
|
@ -468,6 +468,44 @@ namespace CSMWorld
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename ESXRecordT>
|
||||||
|
struct WeightHeightColumn : public Column<ESXRecordT>
|
||||||
|
{
|
||||||
|
bool mMale;
|
||||||
|
bool mWeight;
|
||||||
|
|
||||||
|
WeightHeightColumn (bool male, bool weight)
|
||||||
|
: Column<ESXRecordT> (male ? (weight ? "Male Weight" : "Male Height") :
|
||||||
|
(weight ? "Female Weight" : "Female Height"), ColumnBase::Display_Float),
|
||||||
|
mMale (male), mWeight (weight)
|
||||||
|
{}
|
||||||
|
|
||||||
|
virtual QVariant get (const Record<ESXRecordT>& record) const
|
||||||
|
{
|
||||||
|
const ESM::Race::MaleFemaleF& value =
|
||||||
|
mWeight ? record.get().mData.mWeight : record.get().mData.mHeight;
|
||||||
|
|
||||||
|
return mMale ? value.mMale : value.mFemale;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void set (Record<ESXRecordT>& record, const QVariant& data)
|
||||||
|
{
|
||||||
|
ESXRecordT record2 = record.get();
|
||||||
|
|
||||||
|
ESM::Race::MaleFemaleF& value =
|
||||||
|
mWeight ? record2.mData.mWeight : record2.mData.mHeight;
|
||||||
|
|
||||||
|
(mMale ? value.mMale : value.mFemale) = data.toFloat();
|
||||||
|
|
||||||
|
record.setModified (record2);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool isEditable() const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -72,6 +72,10 @@ CSMWorld::Data::Data()
|
||||||
mRaces.addColumn (new DescriptionColumn<ESM::Race>);
|
mRaces.addColumn (new DescriptionColumn<ESM::Race>);
|
||||||
mRaces.addColumn (new FlagColumn<ESM::Race> ("Playable", 0x1));
|
mRaces.addColumn (new FlagColumn<ESM::Race> ("Playable", 0x1));
|
||||||
mRaces.addColumn (new FlagColumn<ESM::Race> ("Beast Race", 0x2));
|
mRaces.addColumn (new FlagColumn<ESM::Race> ("Beast Race", 0x2));
|
||||||
|
mRaces.addColumn (new WeightHeightColumn<ESM::Race> (true, true));
|
||||||
|
mRaces.addColumn (new WeightHeightColumn<ESM::Race> (true, false));
|
||||||
|
mRaces.addColumn (new WeightHeightColumn<ESM::Race> (false, true));
|
||||||
|
mRaces.addColumn (new WeightHeightColumn<ESM::Race> (false, false));
|
||||||
|
|
||||||
addModel (new IdTable (&mGlobals), UniversalId::Type_Globals, UniversalId::Type_Global);
|
addModel (new IdTable (&mGlobals), UniversalId::Type_Globals, UniversalId::Type_Global);
|
||||||
addModel (new IdTable (&mGmsts), UniversalId::Type_Gmsts, UniversalId::Type_Gmst);
|
addModel (new IdTable (&mGmsts), UniversalId::Type_Gmsts, UniversalId::Type_Gmst);
|
||||||
|
|
Loading…
Reference in a new issue