1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-03-31 14:36:39 +00:00

Rationalise the use of ColumnIds

This commit is contained in:
cc9cii 2015-09-12 09:33:11 +10:00
parent 258b2ba29a
commit c4a900ca2c
7 changed files with 24 additions and 41 deletions

View file

@ -199,8 +199,6 @@ namespace CSMWorld
{ ColumnId_RotY, "Rotation Y"}, { ColumnId_RotY, "Rotation Y"},
{ ColumnId_RotZ, "Rotation Z"}, { ColumnId_RotZ, "Rotation Z"},
{ ColumnId_Skill, "Skill" },
{ ColumnId_OwnerGlobal, "Owner Global" }, { ColumnId_OwnerGlobal, "Owner Global" },
{ ColumnId_DefaultProfile, "Default Profile" }, { ColumnId_DefaultProfile, "Default Profile" },
{ ColumnId_BypassNewGame, "Bypass New Game" }, { ColumnId_BypassNewGame, "Bypass New Game" },
@ -271,7 +269,7 @@ namespace CSMWorld
{ ColumnId_LevelledItemChanceNone, "Chance None" }, { ColumnId_LevelledItemChanceNone, "Chance None" },
{ ColumnId_PowerList, "Powers" }, { ColumnId_PowerList, "Powers" },
{ ColumnId_SkillImpact, "Skills" }, { ColumnId_SkillImpact, "Skill" },
{ ColumnId_InfoList, "Info List" }, { ColumnId_InfoList, "Info List" },
{ ColumnId_InfoCondition, "Info Conditions" }, { ColumnId_InfoCondition, "Info Conditions" },
@ -285,22 +283,20 @@ namespace CSMWorld
{ ColumnId_NpcSkills, "NPC Skill" }, { ColumnId_NpcSkills, "NPC Skill" },
{ ColumnId_UChar, "Value [0..255]" }, { ColumnId_UChar, "Value [0..255]" },
{ ColumnId_NpcMisc, "NPC Misc" }, { ColumnId_NpcMisc, "NPC Misc" },
{ ColumnId_NpcLevel, "Level" }, { ColumnId_Level, "Level" },
{ ColumnId_NpcFactionID, "Faction ID" }, { ColumnId_NpcFactionID, "Faction ID" },
{ ColumnId_NpcHealth, "NPC Health" }, { ColumnId_Mana, "Mana" },
{ ColumnId_NpcMana, "Mana" }, { ColumnId_Fatigue, "Fatigue" },
{ ColumnId_NpcFatigue, "Fatigue" },
{ ColumnId_NpcDisposition, "NPC Disposition" }, { ColumnId_NpcDisposition, "NPC Disposition" },
{ ColumnId_NpcReputation, "Reputation" }, { ColumnId_NpcReputation, "Reputation" },
{ ColumnId_NpcRank, "NPC Rank" }, { ColumnId_NpcRank, "NPC Rank" },
{ ColumnId_NpcGold, "Gold" }, { ColumnId_Gold, "Gold" },
{ ColumnId_NpcPersistence, "Persistent" }, { ColumnId_NpcPersistence, "Persistent" },
{ ColumnId_RaceAttributes, "Race Attributes" }, { ColumnId_RaceAttributes, "Race Attributes" },
{ ColumnId_RaceMaleValue, "Male Attrib" }, { ColumnId_RaceMaleValue, "Male Attrib" },
{ ColumnId_RaceFemaleValue, "Female Attrib" }, { ColumnId_RaceFemaleValue, "Female Attrib" },
{ ColumnId_RaceSkillBonus, "Skill Bonus" }, { ColumnId_RaceSkillBonus, "Skill Bonus" },
{ ColumnId_RaceSkill, "Race Skill" },
{ ColumnId_RaceBonus, "Bonus" }, { ColumnId_RaceBonus, "Bonus" },
{ ColumnId_Interior, "Interior" }, { ColumnId_Interior, "Interior" },
@ -579,7 +575,6 @@ namespace
// FIXME: don't have dynamic value enum delegate, use Display_String for now // FIXME: don't have dynamic value enum delegate, use Display_String for now
//case CSMWorld::Columns::ColumnId_InfoCond: return sInfoCond; //case CSMWorld::Columns::ColumnId_InfoCond: return sInfoCond;
case CSMWorld::Columns::ColumnId_InfoCondComp: return sInfoCondComp; case CSMWorld::Columns::ColumnId_InfoCondComp: return sInfoCondComp;
case CSMWorld::Columns::ColumnId_RaceSkill: return sSkills;
default: return 0; default: return 0;
} }

View file

@ -189,7 +189,7 @@ namespace CSMWorld
ColumnId_RotX = 174, ColumnId_RotX = 174,
ColumnId_RotY = 175, ColumnId_RotY = 175,
ColumnId_RotZ = 176, ColumnId_RotZ = 176,
ColumnId_Skill = 177, // unused
ColumnId_OwnerGlobal = 178, ColumnId_OwnerGlobal = 178,
ColumnId_DefaultProfile = 179, ColumnId_DefaultProfile = 179,
ColumnId_BypassNewGame = 180, ColumnId_BypassNewGame = 180,
@ -276,22 +276,22 @@ namespace CSMWorld
ColumnId_NpcSkills = 249, ColumnId_NpcSkills = 249,
ColumnId_UChar = 250, ColumnId_UChar = 250,
ColumnId_NpcMisc = 251, ColumnId_NpcMisc = 251,
ColumnId_NpcLevel = 252, ColumnId_Level = 252,
ColumnId_NpcFactionID = 253, ColumnId_NpcFactionID = 253,
ColumnId_NpcHealth = 254, // unused
ColumnId_NpcMana = 255, ColumnId_Mana = 255,
ColumnId_NpcFatigue = 256, ColumnId_Fatigue = 256,
ColumnId_NpcDisposition = 257, ColumnId_NpcDisposition = 257,
ColumnId_NpcReputation = 258, ColumnId_NpcReputation = 258,
ColumnId_NpcRank = 259, ColumnId_NpcRank = 259,
ColumnId_NpcGold = 260, ColumnId_Gold = 260,
ColumnId_NpcPersistence = 261, ColumnId_NpcPersistence = 261,
ColumnId_RaceAttributes = 262, ColumnId_RaceAttributes = 262,
ColumnId_RaceMaleValue = 263, ColumnId_RaceMaleValue = 263,
ColumnId_RaceFemaleValue = 264, ColumnId_RaceFemaleValue = 264,
ColumnId_RaceSkillBonus = 265, ColumnId_RaceSkillBonus = 265,
ColumnId_RaceSkill = 266, // unused
ColumnId_RaceBonus = 267, ColumnId_RaceBonus = 267,
ColumnId_Interior = 268, ColumnId_Interior = 268,

View file

@ -140,7 +140,7 @@ CSMWorld::Data::Data (ToUTF8::FromType encoding, const ResourcesManager& resourc
index = mRaces.getColumns()-1; index = mRaces.getColumns()-1;
mRaces.addAdapter (std::make_pair(&mRaces.getColumn(index), new RaceAttributeAdapter())); mRaces.addAdapter (std::make_pair(&mRaces.getColumn(index), new RaceAttributeAdapter()));
mRaces.getNestableColumn(index)->addColumn( mRaces.getNestableColumn(index)->addColumn(
new NestedChildColumn (Columns::ColumnId_RaceAttributes, ColumnBase::Display_String, new NestedChildColumn (Columns::ColumnId_Attribute, ColumnBase::Display_Attribute,
ColumnBase::Flag_Dialogue, false)); ColumnBase::Flag_Dialogue, false));
mRaces.getNestableColumn(index)->addColumn( mRaces.getNestableColumn(index)->addColumn(
new NestedChildColumn (Columns::ColumnId_RaceMaleValue, ColumnBase::Display_Integer)); new NestedChildColumn (Columns::ColumnId_RaceMaleValue, ColumnBase::Display_Integer));
@ -151,7 +151,7 @@ CSMWorld::Data::Data (ToUTF8::FromType encoding, const ResourcesManager& resourc
index = mRaces.getColumns()-1; index = mRaces.getColumns()-1;
mRaces.addAdapter (std::make_pair(&mRaces.getColumn(index), new RaceSkillsBonusAdapter())); mRaces.addAdapter (std::make_pair(&mRaces.getColumn(index), new RaceSkillsBonusAdapter()));
mRaces.getNestableColumn(index)->addColumn( mRaces.getNestableColumn(index)->addColumn(
new NestedChildColumn (Columns::ColumnId_RaceSkill, ColumnBase::Display_RaceSkill)); new NestedChildColumn (Columns::ColumnId_SkillImpact, ColumnBase::Display_SkillImpact));
mRaces.getNestableColumn(index)->addColumn( mRaces.getNestableColumn(index)->addColumn(
new NestedChildColumn (Columns::ColumnId_RaceBonus, ColumnBase::Display_Integer)); new NestedChildColumn (Columns::ColumnId_RaceBonus, ColumnBase::Display_Integer));

View file

@ -922,7 +922,7 @@ namespace CSMWorld
switch (subColIndex) switch (subColIndex)
{ {
case 0: return QString(ESM::Attribute::sAttributeNames[subRowIndex].c_str()); case 0: return subRowIndex;
case 1: return race.mData.mAttributeValues[subRowIndex].mMale; case 1: return race.mData.mAttributeValues[subRowIndex].mMale;
case 2: return race.mData.mAttributeValues[subRowIndex].mFemale; case 2: return race.mData.mAttributeValues[subRowIndex].mFemale;
default: throw std::runtime_error("Race Attribute subcolumn index out of range"); default: throw std::runtime_error("Race Attribute subcolumn index out of range");

View file

@ -694,18 +694,7 @@ QVariant CSMWorld::NpcAttributesRefIdAdapter::getNestedData (const RefIdColumn *
const ESM::NPC::NPDTstruct52& npcStruct = record.get().mNpdt52; const ESM::NPC::NPDTstruct52& npcStruct = record.get().mNpdt52;
if (subColIndex == 0) if (subColIndex == 0)
switch (subRowIndex) return subRowIndex;
{
case 0: return QString("Strength");
case 1: return QString("Intelligence");
case 2: return QString("Willpower");
case 3: return QString("Agility");
case 4: return QString("Speed");
case 5: return QString("Endurance");
case 6: return QString("Personality");
case 7: return QString("Luck");
default: return QVariant(); // throw an exception here?
}
else if (subColIndex == 1) else if (subColIndex == 1)
switch (subRowIndex) switch (subRowIndex)
{ {
@ -815,7 +804,7 @@ QVariant CSMWorld::NpcSkillsRefIdAdapter::getNestedData (const RefIdColumn *colu
throw std::runtime_error ("index out of range"); throw std::runtime_error ("index out of range");
if (subColIndex == 0) if (subColIndex == 0)
return QString(ESM::Skill::sSkillNames[subRowIndex].c_str()); return subRowIndex;
else if (subColIndex == 1) else if (subColIndex == 1)
return static_cast<int>(npcStruct.mSkills[subRowIndex]); return static_cast<int>(npcStruct.mSkills[subRowIndex]);
else else

View file

@ -439,7 +439,7 @@ CSMWorld::RefIdCollection::RefIdCollection()
attrMap.insert(std::make_pair(UniversalId::Type_Npc, new NpcAttributesRefIdAdapter())); attrMap.insert(std::make_pair(UniversalId::Type_Npc, new NpcAttributesRefIdAdapter()));
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), attrMap)); mNestedAdapters.push_back (std::make_pair(&mColumns.back(), attrMap));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcAttributes, CSMWorld::ColumnBase::Display_String, false, false)); new RefIdColumn (Columns::ColumnId_Attribute, CSMWorld::ColumnBase::Display_Attribute, false, false));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_UChar, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_UChar, CSMWorld::ColumnBase::Display_Integer));
@ -451,7 +451,7 @@ CSMWorld::RefIdCollection::RefIdCollection()
skillsMap.insert(std::make_pair(UniversalId::Type_Npc, new NpcSkillsRefIdAdapter())); skillsMap.insert(std::make_pair(UniversalId::Type_Npc, new NpcSkillsRefIdAdapter()));
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), skillsMap)); mNestedAdapters.push_back (std::make_pair(&mColumns.back(), skillsMap));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcSkills, CSMWorld::ColumnBase::Display_String, false, false)); new RefIdColumn (Columns::ColumnId_SkillImpact, CSMWorld::ColumnBase::Display_SkillImpact, false, false));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_UChar, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_UChar, CSMWorld::ColumnBase::Display_Integer));
@ -463,15 +463,15 @@ CSMWorld::RefIdCollection::RefIdCollection()
miscMap.insert(std::make_pair(UniversalId::Type_Npc, new NpcMiscRefIdAdapter())); miscMap.insert(std::make_pair(UniversalId::Type_Npc, new NpcMiscRefIdAdapter()));
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), miscMap)); mNestedAdapters.push_back (std::make_pair(&mColumns.back(), miscMap));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcLevel, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_Level, CSMWorld::ColumnBase::Display_Integer));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcFactionID, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_NpcFactionID, CSMWorld::ColumnBase::Display_Integer));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcHealth, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_Health, CSMWorld::ColumnBase::Display_Integer));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcMana, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_Mana, CSMWorld::ColumnBase::Display_Integer));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcFatigue, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_Fatigue, CSMWorld::ColumnBase::Display_Integer));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcDisposition, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_NpcDisposition, CSMWorld::ColumnBase::Display_Integer));
mColumns.back().addColumn( mColumns.back().addColumn(
@ -479,7 +479,7 @@ CSMWorld::RefIdCollection::RefIdCollection()
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcRank, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_NpcRank, CSMWorld::ColumnBase::Display_Integer));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcGold, CSMWorld::ColumnBase::Display_Integer)); new RefIdColumn (Columns::ColumnId_Gold, CSMWorld::ColumnBase::Display_Integer));
mColumns.back().addColumn( mColumns.back().addColumn(
new RefIdColumn (Columns::ColumnId_NpcPersistence, CSMWorld::ColumnBase::Display_Boolean)); new RefIdColumn (Columns::ColumnId_NpcPersistence, CSMWorld::ColumnBase::Display_Boolean));

View file

@ -104,7 +104,6 @@ CSVDoc::ViewManager::ViewManager (CSMDoc::DocumentManager& documentManager)
{ CSMWorld::ColumnBase::Display_AiPackageType, CSMWorld::Columns::ColumnId_AiPackageType, false }, { CSMWorld::ColumnBase::Display_AiPackageType, CSMWorld::Columns::ColumnId_AiPackageType, false },
{ CSMWorld::ColumnBase::Display_InfoCondFunc, CSMWorld::Columns::ColumnId_InfoCondFunc, false }, { CSMWorld::ColumnBase::Display_InfoCondFunc, CSMWorld::Columns::ColumnId_InfoCondFunc, false },
{ CSMWorld::ColumnBase::Display_InfoCondComp, CSMWorld::Columns::ColumnId_InfoCondComp, false }, { CSMWorld::ColumnBase::Display_InfoCondComp, CSMWorld::Columns::ColumnId_InfoCondComp, false },
{ CSMWorld::ColumnBase::Display_RaceSkill, CSMWorld::Columns::ColumnId_RaceSkill, true },
}; };
for (std::size_t i=0; i<sizeof (sMapping)/sizeof (Mapping); ++i) for (std::size_t i=0; i<sizeof (sMapping)/sizeof (Mapping); ++i)