forked from mirror/openmw-tes3mp
added missing type columns to body part table
This commit is contained in:
parent
d96ed38d49
commit
37a2b48fa2
6 changed files with 76 additions and 3 deletions
|
@ -90,6 +90,8 @@ namespace CSMWorld
|
||||||
Display_DialogueType,
|
Display_DialogueType,
|
||||||
Display_QuestStatusType,
|
Display_QuestStatusType,
|
||||||
Display_EnchantmentType,
|
Display_EnchantmentType,
|
||||||
|
Display_BodyPartType,
|
||||||
|
Display_MeshType,
|
||||||
Display_Gender
|
Display_Gender
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1817,6 +1817,59 @@ namespace CSMWorld
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename ESXRecordT>
|
||||||
|
struct BodyPartTypeColumn : public Column<ESXRecordT>
|
||||||
|
{
|
||||||
|
BodyPartTypeColumn()
|
||||||
|
: Column<ESXRecordT> (Columns::ColumnId_BodyPartType, ColumnBase::Display_BodyPartType)
|
||||||
|
{}
|
||||||
|
|
||||||
|
virtual QVariant get (const Record<ESXRecordT>& record) const
|
||||||
|
{
|
||||||
|
return static_cast<int> (record.get().mData.mPart);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void set (Record<ESXRecordT>& record, const QVariant& data)
|
||||||
|
{
|
||||||
|
ESXRecordT record2 = record.get();
|
||||||
|
|
||||||
|
record2.mData.mPart = data.toInt();
|
||||||
|
|
||||||
|
record.setModified (record2);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool isEditable() const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<typename ESXRecordT>
|
||||||
|
struct MeshTypeColumn : public Column<ESXRecordT>
|
||||||
|
{
|
||||||
|
MeshTypeColumn()
|
||||||
|
: Column<ESXRecordT> (Columns::ColumnId_MeshType, ColumnBase::Display_MeshType)
|
||||||
|
{}
|
||||||
|
|
||||||
|
virtual QVariant get (const Record<ESXRecordT>& record) const
|
||||||
|
{
|
||||||
|
return static_cast<int> (record.get().mData.mType);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void set (Record<ESXRecordT>& record, const QVariant& data)
|
||||||
|
{
|
||||||
|
ESXRecordT record2 = record.get();
|
||||||
|
|
||||||
|
record2.mData.mType = data.toInt();
|
||||||
|
|
||||||
|
record.setModified (record2);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual bool isEditable() const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -179,6 +179,8 @@ namespace CSMWorld
|
||||||
{ ColumnId_StealthState, "Stealth" },
|
{ ColumnId_StealthState, "Stealth" },
|
||||||
{ ColumnId_EnchantmentType, "Enchantment Type" },
|
{ ColumnId_EnchantmentType, "Enchantment Type" },
|
||||||
{ ColumnId_Vampire, "Vampire" },
|
{ ColumnId_Vampire, "Vampire" },
|
||||||
|
{ ColumnId_BodyPartType, "Bodypart Type" },
|
||||||
|
{ ColumnId_MeshType, "Mesh Type" },
|
||||||
|
|
||||||
{ ColumnId_UseValue1, "Use value 1" },
|
{ ColumnId_UseValue1, "Use value 1" },
|
||||||
{ ColumnId_UseValue2, "Use value 2" },
|
{ ColumnId_UseValue2, "Use value 2" },
|
||||||
|
@ -309,6 +311,17 @@ namespace
|
||||||
"Cast Once", "When Strikes", "When Used", "Constant Effect", 0
|
"Cast Once", "When Strikes", "When Used", "Constant Effect", 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const char *sBodyPartTypes[] =
|
||||||
|
{
|
||||||
|
"Head", "Hair", "Neck", "Chest", "Groin", "Hand", "Wrist", "Forearm", "Upper Arm",
|
||||||
|
"Foot", "Ankle", "Knee", "Upper Leg", "Clavicle", "Tail", 0
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char *sMeshTypes[] =
|
||||||
|
{
|
||||||
|
"Skin", "Clothing", "Armour", 0
|
||||||
|
};
|
||||||
|
|
||||||
const char **getEnumNames (CSMWorld::Columns::ColumnId column)
|
const char **getEnumNames (CSMWorld::Columns::ColumnId column)
|
||||||
{
|
{
|
||||||
switch (column)
|
switch (column)
|
||||||
|
@ -327,6 +340,8 @@ namespace
|
||||||
case CSMWorld::Columns::ColumnId_QuestStatusType: return sQuestStatusTypes;
|
case CSMWorld::Columns::ColumnId_QuestStatusType: return sQuestStatusTypes;
|
||||||
case CSMWorld::Columns::ColumnId_Gender: return sGenderEnums;
|
case CSMWorld::Columns::ColumnId_Gender: return sGenderEnums;
|
||||||
case CSMWorld::Columns::ColumnId_EnchantmentType: return sEnchantmentTypes;
|
case CSMWorld::Columns::ColumnId_EnchantmentType: return sEnchantmentTypes;
|
||||||
|
case CSMWorld::Columns::ColumnId_BodyPartType: return sBodyPartTypes;
|
||||||
|
case CSMWorld::Columns::ColumnId_MeshType: return sMeshTypes;
|
||||||
|
|
||||||
default: return 0;
|
default: return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,6 +172,8 @@ namespace CSMWorld
|
||||||
ColumnId_StealthState = 159,
|
ColumnId_StealthState = 159,
|
||||||
ColumnId_EnchantmentType = 160,
|
ColumnId_EnchantmentType = 160,
|
||||||
ColumnId_Vampire = 161,
|
ColumnId_Vampire = 161,
|
||||||
|
ColumnId_BodyPartType = 162,
|
||||||
|
ColumnId_MeshType = 163,
|
||||||
|
|
||||||
// Allocated to a separate value range, so we don't get a collision should we ever need
|
// Allocated to a separate value range, so we don't get a collision should we ever need
|
||||||
// to extend the number of use values.
|
// to extend the number of use values.
|
||||||
|
|
|
@ -209,15 +209,14 @@ CSMWorld::Data::Data (ToUTF8::FromType encoding)
|
||||||
mBodyParts.addColumn (new StringIdColumn<ESM::BodyPart>);
|
mBodyParts.addColumn (new StringIdColumn<ESM::BodyPart>);
|
||||||
mBodyParts.addColumn (new RecordStateColumn<ESM::BodyPart>);
|
mBodyParts.addColumn (new RecordStateColumn<ESM::BodyPart>);
|
||||||
mBodyParts.addColumn (new FixedRecordTypeColumn<ESM::BodyPart> (UniversalId::Type_BodyPart));
|
mBodyParts.addColumn (new FixedRecordTypeColumn<ESM::BodyPart> (UniversalId::Type_BodyPart));
|
||||||
|
mBodyParts.addColumn (new BodyPartTypeColumn<ESM::BodyPart>);
|
||||||
mBodyParts.addColumn (new VampireColumn<ESM::BodyPart>);
|
mBodyParts.addColumn (new VampireColumn<ESM::BodyPart>);
|
||||||
mBodyParts.addColumn (new FlagColumn<ESM::BodyPart> (Columns::ColumnId_Female, ESM::BodyPart::BPF_Female));
|
mBodyParts.addColumn (new FlagColumn<ESM::BodyPart> (Columns::ColumnId_Female, ESM::BodyPart::BPF_Female));
|
||||||
mBodyParts.addColumn (new FlagColumn<ESM::BodyPart> (Columns::ColumnId_Playable, ESM::BodyPart::BPF_NotPlayable, true));
|
mBodyParts.addColumn (new FlagColumn<ESM::BodyPart> (Columns::ColumnId_Playable, ESM::BodyPart::BPF_NotPlayable, true));
|
||||||
|
mBodyParts.addColumn (new MeshTypeColumn<ESM::BodyPart>);
|
||||||
mBodyParts.addColumn (new ModelColumn<ESM::BodyPart>);
|
mBodyParts.addColumn (new ModelColumn<ESM::BodyPart>);
|
||||||
mBodyParts.addColumn (new RaceColumn<ESM::BodyPart>);
|
mBodyParts.addColumn (new RaceColumn<ESM::BodyPart>);
|
||||||
|
|
||||||
|
|
||||||
mRefs.addColumn (new StringIdColumn<CellRef> (true));
|
mRefs.addColumn (new StringIdColumn<CellRef> (true));
|
||||||
mRefs.addColumn (new RecordStateColumn<CellRef>);
|
mRefs.addColumn (new RecordStateColumn<CellRef>);
|
||||||
mRefs.addColumn (new FixedRecordTypeColumn<CellRef> (UniversalId::Type_Reference));
|
mRefs.addColumn (new FixedRecordTypeColumn<CellRef> (UniversalId::Type_Reference));
|
||||||
|
|
|
@ -79,6 +79,8 @@ CSVDoc::ViewManager::ViewManager (CSMDoc::DocumentManager& documentManager)
|
||||||
{ CSMWorld::ColumnBase::Display_DialogueType, CSMWorld::Columns::ColumnId_DialogueType, false },
|
{ CSMWorld::ColumnBase::Display_DialogueType, CSMWorld::Columns::ColumnId_DialogueType, false },
|
||||||
{ CSMWorld::ColumnBase::Display_QuestStatusType, CSMWorld::Columns::ColumnId_QuestStatusType, false },
|
{ CSMWorld::ColumnBase::Display_QuestStatusType, CSMWorld::Columns::ColumnId_QuestStatusType, false },
|
||||||
{ CSMWorld::ColumnBase::Display_EnchantmentType, CSMWorld::Columns::ColumnId_EnchantmentType, false },
|
{ CSMWorld::ColumnBase::Display_EnchantmentType, CSMWorld::Columns::ColumnId_EnchantmentType, false },
|
||||||
|
{ CSMWorld::ColumnBase::Display_BodyPartType, CSMWorld::Columns::ColumnId_BodyPartType, false },
|
||||||
|
{ CSMWorld::ColumnBase::Display_MeshType, CSMWorld::Columns::ColumnId_MeshType, false },
|
||||||
{ CSMWorld::ColumnBase::Display_Gender, CSMWorld::Columns::ColumnId_Gender, true }
|
{ CSMWorld::ColumnBase::Display_Gender, CSMWorld::Columns::ColumnId_Gender, true }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue