|
|
@ -40,45 +40,45 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
BaseColumns baseColumns;
|
|
|
|
BaseColumns baseColumns;
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Id, ColumnBase::Display_Id,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Id, ColumnBase::Display_Id,
|
|
|
|
ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue, false, false));
|
|
|
|
ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue, false, false);
|
|
|
|
baseColumns.mId = &mColumns.back();
|
|
|
|
baseColumns.mId = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Modification, ColumnBase::Display_RecordState,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Modification, ColumnBase::Display_RecordState,
|
|
|
|
ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue, true, false));
|
|
|
|
ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue, true, false);
|
|
|
|
baseColumns.mModified = &mColumns.back();
|
|
|
|
baseColumns.mModified = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_RecordType, ColumnBase::Display_RefRecordType,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_RecordType, ColumnBase::Display_RefRecordType,
|
|
|
|
ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue, false, false));
|
|
|
|
ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue, false, false);
|
|
|
|
baseColumns.mType = &mColumns.back();
|
|
|
|
baseColumns.mType = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
ModelColumns modelColumns (baseColumns);
|
|
|
|
ModelColumns modelColumns (baseColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Model, ColumnBase::Display_Mesh));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Model, ColumnBase::Display_Mesh);
|
|
|
|
modelColumns.mModel = &mColumns.back();
|
|
|
|
modelColumns.mModel = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
NameColumns nameColumns (modelColumns);
|
|
|
|
NameColumns nameColumns (modelColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Name, ColumnBase::Display_String));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Name, ColumnBase::Display_String);
|
|
|
|
nameColumns.mName = &mColumns.back();
|
|
|
|
nameColumns.mName = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Script, ColumnBase::Display_Script));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Script, ColumnBase::Display_Script);
|
|
|
|
nameColumns.mScript = &mColumns.back();
|
|
|
|
nameColumns.mScript = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
InventoryColumns inventoryColumns (nameColumns);
|
|
|
|
InventoryColumns inventoryColumns (nameColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Icon, ColumnBase::Display_Icon));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Icon, ColumnBase::Display_Icon);
|
|
|
|
inventoryColumns.mIcon = &mColumns.back();
|
|
|
|
inventoryColumns.mIcon = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Weight, ColumnBase::Display_Float));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Weight, ColumnBase::Display_Float);
|
|
|
|
inventoryColumns.mWeight = &mColumns.back();
|
|
|
|
inventoryColumns.mWeight = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_CoinValue, ColumnBase::Display_Integer));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_CoinValue, ColumnBase::Display_Integer);
|
|
|
|
inventoryColumns.mValue = &mColumns.back();
|
|
|
|
inventoryColumns.mValue = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
IngredientColumns ingredientColumns (inventoryColumns);
|
|
|
|
IngredientColumns ingredientColumns (inventoryColumns);
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_EffectList,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_EffectList,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
ingredientColumns.mEffects = &mColumns.back();
|
|
|
|
ingredientColumns.mEffects = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> ingredientEffectsMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> ingredientEffectsMap;
|
|
|
|
ingredientEffectsMap.insert(std::make_pair(UniversalId::Type_Ingredient,
|
|
|
|
ingredientEffectsMap.insert(std::make_pair(UniversalId::Type_Ingredient,
|
|
|
|
new IngredEffectRefIdAdapter ()));
|
|
|
|
new IngredEffectRefIdAdapter ()));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), ingredientEffectsMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), ingredientEffectsMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new NestedChildColumn (Columns::ColumnId_EffectId, ColumnBase::Display_IngredEffectId));
|
|
|
|
new NestedChildColumn (Columns::ColumnId_EffectId, ColumnBase::Display_IngredEffectId));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
@ -88,13 +88,13 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
|
|
|
|
|
|
|
|
// nested table
|
|
|
|
// nested table
|
|
|
|
PotionColumns potionColumns (inventoryColumns);
|
|
|
|
PotionColumns potionColumns (inventoryColumns);
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_EffectList,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_EffectList,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
potionColumns.mEffects = &mColumns.back(); // see refidadapterimp.hpp
|
|
|
|
potionColumns.mEffects = &mColumns.back(); // see refidadapterimp.hpp
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> effectsMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> effectsMap;
|
|
|
|
effectsMap.insert(std::make_pair(UniversalId::Type_Potion,
|
|
|
|
effectsMap.insert(std::make_pair(UniversalId::Type_Potion,
|
|
|
|
new EffectsRefIdAdapter<ESM::Potion> (UniversalId::Type_Potion)));
|
|
|
|
new EffectsRefIdAdapter<ESM::Potion> (UniversalId::Type_Potion)));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), effectsMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), effectsMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new NestedChildColumn (Columns::ColumnId_EffectId, ColumnBase::Display_EffectId));
|
|
|
|
new NestedChildColumn (Columns::ColumnId_EffectId, ColumnBase::Display_EffectId));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
@ -114,67 +114,67 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
|
|
|
|
|
|
|
|
EnchantableColumns enchantableColumns (inventoryColumns);
|
|
|
|
EnchantableColumns enchantableColumns (inventoryColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Enchantment, ColumnBase::Display_Enchantment));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Enchantment, ColumnBase::Display_Enchantment);
|
|
|
|
enchantableColumns.mEnchantment = &mColumns.back();
|
|
|
|
enchantableColumns.mEnchantment = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_EnchantmentPoints, ColumnBase::Display_Integer));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_EnchantmentPoints, ColumnBase::Display_Integer);
|
|
|
|
enchantableColumns.mEnchantmentPoints = &mColumns.back();
|
|
|
|
enchantableColumns.mEnchantmentPoints = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
ToolColumns toolsColumns (inventoryColumns);
|
|
|
|
ToolColumns toolsColumns (inventoryColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Quality, ColumnBase::Display_Float));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Quality, ColumnBase::Display_Float);
|
|
|
|
toolsColumns.mQuality = &mColumns.back();
|
|
|
|
toolsColumns.mQuality = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Charges, ColumnBase::Display_Integer));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Charges, ColumnBase::Display_Integer);
|
|
|
|
toolsColumns.mUses = &mColumns.back();
|
|
|
|
toolsColumns.mUses = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
ActorColumns actorsColumns (nameColumns);
|
|
|
|
ActorColumns actorsColumns (nameColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_AiHello, ColumnBase::Display_UnsignedInteger16));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_AiHello, ColumnBase::Display_UnsignedInteger16);
|
|
|
|
actorsColumns.mHello = &mColumns.back();
|
|
|
|
actorsColumns.mHello = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_AiFlee, ColumnBase::Display_UnsignedInteger8));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_AiFlee, ColumnBase::Display_UnsignedInteger8);
|
|
|
|
actorsColumns.mFlee = &mColumns.back();
|
|
|
|
actorsColumns.mFlee = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_AiFight, ColumnBase::Display_UnsignedInteger8));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_AiFight, ColumnBase::Display_UnsignedInteger8);
|
|
|
|
actorsColumns.mFight = &mColumns.back();
|
|
|
|
actorsColumns.mFight = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_AiAlarm, ColumnBase::Display_UnsignedInteger8));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_AiAlarm, ColumnBase::Display_UnsignedInteger8);
|
|
|
|
actorsColumns.mAlarm = &mColumns.back();
|
|
|
|
actorsColumns.mAlarm = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_ActorInventory,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_ActorInventory,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
actorsColumns.mInventory = &mColumns.back();
|
|
|
|
actorsColumns.mInventory = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> inventoryMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> inventoryMap;
|
|
|
|
inventoryMap.insert(std::make_pair(UniversalId::Type_Npc,
|
|
|
|
inventoryMap.insert(std::make_pair(UniversalId::Type_Npc,
|
|
|
|
new NestedInventoryRefIdAdapter<ESM::NPC> (UniversalId::Type_Npc)));
|
|
|
|
new NestedInventoryRefIdAdapter<ESM::NPC> (UniversalId::Type_Npc)));
|
|
|
|
inventoryMap.insert(std::make_pair(UniversalId::Type_Creature,
|
|
|
|
inventoryMap.insert(std::make_pair(UniversalId::Type_Creature,
|
|
|
|
new NestedInventoryRefIdAdapter<ESM::Creature> (UniversalId::Type_Creature)));
|
|
|
|
new NestedInventoryRefIdAdapter<ESM::Creature> (UniversalId::Type_Creature)));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), inventoryMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), inventoryMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_InventoryItemId, CSMWorld::ColumnBase::Display_Referenceable));
|
|
|
|
new RefIdColumn (Columns::ColumnId_InventoryItemId, CSMWorld::ColumnBase::Display_Referenceable));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_ItemCount, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
new RefIdColumn (Columns::ColumnId_ItemCount, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_SpellList,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_SpellList,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
actorsColumns.mSpells = &mColumns.back();
|
|
|
|
actorsColumns.mSpells = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> spellsMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> spellsMap;
|
|
|
|
spellsMap.insert(std::make_pair(UniversalId::Type_Npc,
|
|
|
|
spellsMap.insert(std::make_pair(UniversalId::Type_Npc,
|
|
|
|
new NestedSpellRefIdAdapter<ESM::NPC> (UniversalId::Type_Npc)));
|
|
|
|
new NestedSpellRefIdAdapter<ESM::NPC> (UniversalId::Type_Npc)));
|
|
|
|
spellsMap.insert(std::make_pair(UniversalId::Type_Creature,
|
|
|
|
spellsMap.insert(std::make_pair(UniversalId::Type_Creature,
|
|
|
|
new NestedSpellRefIdAdapter<ESM::Creature> (UniversalId::Type_Creature)));
|
|
|
|
new NestedSpellRefIdAdapter<ESM::Creature> (UniversalId::Type_Creature)));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), spellsMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), spellsMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_SpellId, CSMWorld::ColumnBase::Display_Spell));
|
|
|
|
new RefIdColumn (Columns::ColumnId_SpellId, CSMWorld::ColumnBase::Display_Spell));
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_NpcDestinations,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_NpcDestinations,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
actorsColumns.mDestinations = &mColumns.back();
|
|
|
|
actorsColumns.mDestinations = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> destMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> destMap;
|
|
|
|
destMap.insert(std::make_pair(UniversalId::Type_Npc,
|
|
|
|
destMap.insert(std::make_pair(UniversalId::Type_Npc,
|
|
|
|
new NestedTravelRefIdAdapter<ESM::NPC> (UniversalId::Type_Npc)));
|
|
|
|
new NestedTravelRefIdAdapter<ESM::NPC> (UniversalId::Type_Npc)));
|
|
|
|
destMap.insert(std::make_pair(UniversalId::Type_Creature,
|
|
|
|
destMap.insert(std::make_pair(UniversalId::Type_Creature,
|
|
|
|
new NestedTravelRefIdAdapter<ESM::Creature> (UniversalId::Type_Creature)));
|
|
|
|
new NestedTravelRefIdAdapter<ESM::Creature> (UniversalId::Type_Creature)));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), destMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), destMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_DestinationCell, CSMWorld::ColumnBase::Display_Cell));
|
|
|
|
new RefIdColumn (Columns::ColumnId_DestinationCell, CSMWorld::ColumnBase::Display_Cell));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
@ -191,15 +191,15 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
new RefIdColumn (Columns::ColumnId_RotZ, CSMWorld::ColumnBase::Display_Double));
|
|
|
|
new RefIdColumn (Columns::ColumnId_RotZ, CSMWorld::ColumnBase::Display_Double));
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_AiPackageList,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_AiPackageList,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
actorsColumns.mAiPackages = &mColumns.back();
|
|
|
|
actorsColumns.mAiPackages = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> aiMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> aiMap;
|
|
|
|
aiMap.insert(std::make_pair(UniversalId::Type_Npc,
|
|
|
|
aiMap.insert(std::make_pair(UniversalId::Type_Npc,
|
|
|
|
new ActorAiRefIdAdapter<ESM::NPC> (UniversalId::Type_Npc)));
|
|
|
|
new ActorAiRefIdAdapter<ESM::NPC> (UniversalId::Type_Npc)));
|
|
|
|
aiMap.insert(std::make_pair(UniversalId::Type_Creature,
|
|
|
|
aiMap.insert(std::make_pair(UniversalId::Type_Creature,
|
|
|
|
new ActorAiRefIdAdapter<ESM::Creature> (UniversalId::Type_Creature)));
|
|
|
|
new ActorAiRefIdAdapter<ESM::Creature> (UniversalId::Type_Creature)));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), aiMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), aiMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_AiPackageType, CSMWorld::ColumnBase::Display_AiPackageType));
|
|
|
|
new RefIdColumn (Columns::ColumnId_AiPackageType, CSMWorld::ColumnBase::Display_AiPackageType));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
@ -270,56 +270,56 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
|
|
|
|
|
|
|
|
for (int i=0; sServiceTable[i].mName!=-1; ++i)
|
|
|
|
for (int i=0; sServiceTable[i].mName!=-1; ++i)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
mColumns.push_back (RefIdColumn (sServiceTable[i].mName, ColumnBase::Display_Boolean));
|
|
|
|
mColumns.emplace_back(sServiceTable[i].mName, ColumnBase::Display_Boolean);
|
|
|
|
actorsColumns.mServices.insert (std::make_pair (&mColumns.back(), sServiceTable[i].mFlag));
|
|
|
|
actorsColumns.mServices.insert (std::make_pair (&mColumns.back(), sServiceTable[i].mFlag));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_AutoCalc, ColumnBase::Display_Boolean,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_AutoCalc, ColumnBase::Display_Boolean,
|
|
|
|
ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_Refresh));
|
|
|
|
ColumnBase::Flag_Table | ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_Refresh);
|
|
|
|
const RefIdColumn *autoCalc = &mColumns.back();
|
|
|
|
const RefIdColumn *autoCalc = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_ApparatusType,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_ApparatusType,
|
|
|
|
ColumnBase::Display_ApparatusType));
|
|
|
|
ColumnBase::Display_ApparatusType);
|
|
|
|
const RefIdColumn *apparatusType = &mColumns.back();
|
|
|
|
const RefIdColumn *apparatusType = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_ArmorType, ColumnBase::Display_ArmorType));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_ArmorType, ColumnBase::Display_ArmorType);
|
|
|
|
const RefIdColumn *armorType = &mColumns.back();
|
|
|
|
const RefIdColumn *armorType = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Health, ColumnBase::Display_Integer));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Health, ColumnBase::Display_Integer);
|
|
|
|
const RefIdColumn *health = &mColumns.back();
|
|
|
|
const RefIdColumn *health = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_ArmorValue, ColumnBase::Display_Integer));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_ArmorValue, ColumnBase::Display_Integer);
|
|
|
|
const RefIdColumn *armor = &mColumns.back();
|
|
|
|
const RefIdColumn *armor = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_BookType, ColumnBase::Display_BookType));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_BookType, ColumnBase::Display_BookType);
|
|
|
|
const RefIdColumn *bookType = &mColumns.back();
|
|
|
|
const RefIdColumn *bookType = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Skill, ColumnBase::Display_SkillId));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Skill, ColumnBase::Display_SkillId);
|
|
|
|
const RefIdColumn *skill = &mColumns.back();
|
|
|
|
const RefIdColumn *skill = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Text, ColumnBase::Display_LongString));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Text, ColumnBase::Display_LongString);
|
|
|
|
const RefIdColumn *text = &mColumns.back();
|
|
|
|
const RefIdColumn *text = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_ClothingType, ColumnBase::Display_ClothingType));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_ClothingType, ColumnBase::Display_ClothingType);
|
|
|
|
const RefIdColumn *clothingType = &mColumns.back();
|
|
|
|
const RefIdColumn *clothingType = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_WeightCapacity, ColumnBase::Display_Float));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_WeightCapacity, ColumnBase::Display_Float);
|
|
|
|
const RefIdColumn *weightCapacity = &mColumns.back();
|
|
|
|
const RefIdColumn *weightCapacity = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_OrganicContainer, ColumnBase::Display_Boolean));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_OrganicContainer, ColumnBase::Display_Boolean);
|
|
|
|
const RefIdColumn *organic = &mColumns.back();
|
|
|
|
const RefIdColumn *organic = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Respawn, ColumnBase::Display_Boolean));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Respawn, ColumnBase::Display_Boolean);
|
|
|
|
const RefIdColumn *respawn = &mColumns.back();
|
|
|
|
const RefIdColumn *respawn = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_ContainerContent,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_ContainerContent,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
const RefIdColumn *content = &mColumns.back();
|
|
|
|
const RefIdColumn *content = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> contMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> contMap;
|
|
|
|
contMap.insert(std::make_pair(UniversalId::Type_Container,
|
|
|
|
contMap.insert(std::make_pair(UniversalId::Type_Container,
|
|
|
|
new NestedInventoryRefIdAdapter<ESM::Container> (UniversalId::Type_Container)));
|
|
|
|
new NestedInventoryRefIdAdapter<ESM::Container> (UniversalId::Type_Container)));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), contMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), contMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_InventoryItemId, CSMWorld::ColumnBase::Display_Referenceable));
|
|
|
|
new RefIdColumn (Columns::ColumnId_InventoryItemId, CSMWorld::ColumnBase::Display_Referenceable));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
@ -327,11 +327,11 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
|
|
|
|
|
|
|
|
CreatureColumns creatureColumns (actorsColumns);
|
|
|
|
CreatureColumns creatureColumns (actorsColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_CreatureType, ColumnBase::Display_CreatureType));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_CreatureType, ColumnBase::Display_CreatureType);
|
|
|
|
creatureColumns.mType = &mColumns.back();
|
|
|
|
creatureColumns.mType = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Scale, ColumnBase::Display_Float));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Scale, ColumnBase::Display_Float);
|
|
|
|
creatureColumns.mScale = &mColumns.back();
|
|
|
|
creatureColumns.mScale = &mColumns.back();
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_ParentCreature, ColumnBase::Display_Creature));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_ParentCreature, ColumnBase::Display_Creature);
|
|
|
|
creatureColumns.mOriginal = &mColumns.back();
|
|
|
|
creatureColumns.mOriginal = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
static const struct
|
|
|
|
static const struct
|
|
|
@ -354,7 +354,7 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
|
|
|
|
|
|
|
|
for (int i=0; sCreatureFlagTable[i].mName!=-1; ++i)
|
|
|
|
for (int i=0; sCreatureFlagTable[i].mName!=-1; ++i)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
mColumns.push_back (RefIdColumn (sCreatureFlagTable[i].mName, ColumnBase::Display_Boolean));
|
|
|
|
mColumns.emplace_back(sCreatureFlagTable[i].mName, ColumnBase::Display_Boolean);
|
|
|
|
creatureColumns.mFlags.insert (std::make_pair (&mColumns.back(), sCreatureFlagTable[i].mFlag));
|
|
|
|
creatureColumns.mFlags.insert (std::make_pair (&mColumns.back(), sCreatureFlagTable[i].mFlag));
|
|
|
|
|
|
|
|
|
|
|
|
switch (sCreatureFlagTable[i].mFlag)
|
|
|
|
switch (sCreatureFlagTable[i].mFlag)
|
|
|
@ -363,7 +363,7 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back(RefIdColumn(Columns::ColumnId_BloodType, ColumnBase::Display_BloodType));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_BloodType, ColumnBase::Display_BloodType);
|
|
|
|
// For re-use in NPC records.
|
|
|
|
// For re-use in NPC records.
|
|
|
|
const RefIdColumn *bloodType = &mColumns.back();
|
|
|
|
const RefIdColumn *bloodType = &mColumns.back();
|
|
|
|
creatureColumns.mBloodType = bloodType;
|
|
|
|
creatureColumns.mBloodType = bloodType;
|
|
|
@ -371,24 +371,24 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
creatureColumns.mFlags.insert (std::make_pair (respawn, ESM::Creature::Respawn));
|
|
|
|
creatureColumns.mFlags.insert (std::make_pair (respawn, ESM::Creature::Respawn));
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_CreatureAttributes,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_CreatureAttributes,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
creatureColumns.mAttributes = &mColumns.back();
|
|
|
|
creatureColumns.mAttributes = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> creaAttrMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> creaAttrMap;
|
|
|
|
creaAttrMap.insert(std::make_pair(UniversalId::Type_Creature, new CreatureAttributesRefIdAdapter()));
|
|
|
|
creaAttrMap.insert(std::make_pair(UniversalId::Type_Creature, new CreatureAttributesRefIdAdapter()));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), creaAttrMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), creaAttrMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_Attribute, CSMWorld::ColumnBase::Display_Attribute, false, false));
|
|
|
|
new RefIdColumn (Columns::ColumnId_Attribute, CSMWorld::ColumnBase::Display_Attribute, false, false));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_AttributeValue, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
new RefIdColumn (Columns::ColumnId_AttributeValue, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_CreatureAttack,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_CreatureAttack,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
creatureColumns.mAttacks = &mColumns.back();
|
|
|
|
creatureColumns.mAttacks = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> attackMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> attackMap;
|
|
|
|
attackMap.insert(std::make_pair(UniversalId::Type_Creature, new CreatureAttackRefIdAdapter()));
|
|
|
|
attackMap.insert(std::make_pair(UniversalId::Type_Creature, new CreatureAttackRefIdAdapter()));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), attackMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), attackMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_CreatureAttack, CSMWorld::ColumnBase::Display_Integer, false, false));
|
|
|
|
new RefIdColumn (Columns::ColumnId_CreatureAttack, CSMWorld::ColumnBase::Display_Integer, false, false));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
@ -397,12 +397,12 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
new RefIdColumn (Columns::ColumnId_MaxAttack, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
new RefIdColumn (Columns::ColumnId_MaxAttack, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
|
|
|
|
|
|
|
|
// Nested list
|
|
|
|
// Nested list
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_CreatureMisc,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_CreatureMisc,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_List));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_List);
|
|
|
|
creatureColumns.mMisc = &mColumns.back();
|
|
|
|
creatureColumns.mMisc = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> creaMiscMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> creaMiscMap;
|
|
|
|
creaMiscMap.insert(std::make_pair(UniversalId::Type_Creature, new CreatureMiscRefIdAdapter()));
|
|
|
|
creaMiscMap.insert(std::make_pair(UniversalId::Type_Creature, new CreatureMiscRefIdAdapter()));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), creaMiscMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), creaMiscMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_Level, CSMWorld::ColumnBase::Display_Integer,
|
|
|
|
new RefIdColumn (Columns::ColumnId_Level, CSMWorld::ColumnBase::Display_Integer,
|
|
|
|
ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_Refresh));
|
|
|
|
ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_Refresh));
|
|
|
@ -423,27 +423,27 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_Gold, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
new RefIdColumn (Columns::ColumnId_Gold, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_OpenSound, ColumnBase::Display_Sound));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_OpenSound, ColumnBase::Display_Sound);
|
|
|
|
const RefIdColumn *openSound = &mColumns.back();
|
|
|
|
const RefIdColumn *openSound = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_CloseSound, ColumnBase::Display_Sound));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_CloseSound, ColumnBase::Display_Sound);
|
|
|
|
const RefIdColumn *closeSound = &mColumns.back();
|
|
|
|
const RefIdColumn *closeSound = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
LightColumns lightColumns (inventoryColumns);
|
|
|
|
LightColumns lightColumns (inventoryColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Duration, ColumnBase::Display_Integer));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Duration, ColumnBase::Display_Integer);
|
|
|
|
lightColumns.mTime = &mColumns.back();
|
|
|
|
lightColumns.mTime = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Radius, ColumnBase::Display_Integer));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Radius, ColumnBase::Display_Integer);
|
|
|
|
lightColumns.mRadius = &mColumns.back();
|
|
|
|
lightColumns.mRadius = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Colour, ColumnBase::Display_Colour));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Colour, ColumnBase::Display_Colour);
|
|
|
|
lightColumns.mColor = &mColumns.back();
|
|
|
|
lightColumns.mColor = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Sound, ColumnBase::Display_Sound));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Sound, ColumnBase::Display_Sound);
|
|
|
|
lightColumns.mSound = &mColumns.back();
|
|
|
|
lightColumns.mSound = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back(RefIdColumn(Columns::ColumnId_EmitterType, ColumnBase::Display_EmitterType));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_EmitterType, ColumnBase::Display_EmitterType);
|
|
|
|
lightColumns.mEmitterType = &mColumns.back();
|
|
|
|
lightColumns.mEmitterType = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
static const struct
|
|
|
|
static const struct
|
|
|
@ -462,31 +462,31 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
|
|
|
|
|
|
|
|
for (int i=0; sLightFlagTable[i].mName!=-1; ++i)
|
|
|
|
for (int i=0; sLightFlagTable[i].mName!=-1; ++i)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
mColumns.push_back (RefIdColumn (sLightFlagTable[i].mName, ColumnBase::Display_Boolean));
|
|
|
|
mColumns.emplace_back(sLightFlagTable[i].mName, ColumnBase::Display_Boolean);
|
|
|
|
lightColumns.mFlags.insert (std::make_pair (&mColumns.back(), sLightFlagTable[i].mFlag));
|
|
|
|
lightColumns.mFlags.insert (std::make_pair (&mColumns.back(), sLightFlagTable[i].mFlag));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_IsKey, ColumnBase::Display_Boolean));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_IsKey, ColumnBase::Display_Boolean);
|
|
|
|
const RefIdColumn *key = &mColumns.back();
|
|
|
|
const RefIdColumn *key = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
NpcColumns npcColumns (actorsColumns);
|
|
|
|
NpcColumns npcColumns (actorsColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Race, ColumnBase::Display_Race));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Race, ColumnBase::Display_Race);
|
|
|
|
npcColumns.mRace = &mColumns.back();
|
|
|
|
npcColumns.mRace = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Class, ColumnBase::Display_Class));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Class, ColumnBase::Display_Class);
|
|
|
|
npcColumns.mClass = &mColumns.back();
|
|
|
|
npcColumns.mClass = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Faction, ColumnBase::Display_Faction));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Faction, ColumnBase::Display_Faction);
|
|
|
|
npcColumns.mFaction = &mColumns.back();
|
|
|
|
npcColumns.mFaction = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::Columnid_Hair, ColumnBase::Display_BodyPart));
|
|
|
|
mColumns.emplace_back(Columns::Columnid_Hair, ColumnBase::Display_BodyPart);
|
|
|
|
npcColumns.mHair = &mColumns.back();
|
|
|
|
npcColumns.mHair = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Head, ColumnBase::Display_BodyPart));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Head, ColumnBase::Display_BodyPart);
|
|
|
|
npcColumns.mHead = &mColumns.back();
|
|
|
|
npcColumns.mHead = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_Gender, ColumnBase::Display_GenderNpc));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_Gender, ColumnBase::Display_GenderNpc);
|
|
|
|
npcColumns.mGender = &mColumns.back();
|
|
|
|
npcColumns.mGender = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
npcColumns.mFlags.insert (std::make_pair (essential, ESM::NPC::Essential));
|
|
|
|
npcColumns.mFlags.insert (std::make_pair (essential, ESM::NPC::Essential));
|
|
|
@ -503,36 +503,36 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
// These needs to be driven from the autocalculated setting.
|
|
|
|
// These needs to be driven from the autocalculated setting.
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_NpcAttributes,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_NpcAttributes,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
npcColumns.mAttributes = &mColumns.back();
|
|
|
|
npcColumns.mAttributes = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> attrMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> attrMap;
|
|
|
|
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.emplace_back(&mColumns.back(), attrMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_Attribute, CSMWorld::ColumnBase::Display_Attribute, 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_UnsignedInteger8));
|
|
|
|
new RefIdColumn (Columns::ColumnId_UChar, CSMWorld::ColumnBase::Display_UnsignedInteger8));
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_NpcSkills,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_NpcSkills,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
npcColumns.mSkills = &mColumns.back();
|
|
|
|
npcColumns.mSkills = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> skillsMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> skillsMap;
|
|
|
|
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.emplace_back(&mColumns.back(), skillsMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_Skill, CSMWorld::ColumnBase::Display_SkillId, false, false));
|
|
|
|
new RefIdColumn (Columns::ColumnId_Skill, CSMWorld::ColumnBase::Display_SkillId, false, false));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_UChar, CSMWorld::ColumnBase::Display_UnsignedInteger8));
|
|
|
|
new RefIdColumn (Columns::ColumnId_UChar, CSMWorld::ColumnBase::Display_UnsignedInteger8));
|
|
|
|
|
|
|
|
|
|
|
|
// Nested list
|
|
|
|
// Nested list
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_NpcMisc,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_NpcMisc,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_List));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_List);
|
|
|
|
npcColumns.mMisc = &mColumns.back();
|
|
|
|
npcColumns.mMisc = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> miscMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> miscMap;
|
|
|
|
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.emplace_back(&mColumns.back(), miscMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_Level, CSMWorld::ColumnBase::Display_SignedInteger16));
|
|
|
|
new RefIdColumn (Columns::ColumnId_Level, CSMWorld::ColumnBase::Display_SignedInteger16));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
@ -554,15 +554,15 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
|
|
|
|
|
|
|
|
WeaponColumns weaponColumns (enchantableColumns);
|
|
|
|
WeaponColumns weaponColumns (enchantableColumns);
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_WeaponType, ColumnBase::Display_WeaponType));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_WeaponType, ColumnBase::Display_WeaponType);
|
|
|
|
weaponColumns.mType = &mColumns.back();
|
|
|
|
weaponColumns.mType = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
weaponColumns.mHealth = health;
|
|
|
|
weaponColumns.mHealth = health;
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_WeaponSpeed, ColumnBase::Display_Float));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_WeaponSpeed, ColumnBase::Display_Float);
|
|
|
|
weaponColumns.mSpeed = &mColumns.back();
|
|
|
|
weaponColumns.mSpeed = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
mColumns.push_back (RefIdColumn (Columns::ColumnId_WeaponReach, ColumnBase::Display_Float));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_WeaponReach, ColumnBase::Display_Float);
|
|
|
|
weaponColumns.mReach = &mColumns.back();
|
|
|
|
weaponColumns.mReach = &mColumns.back();
|
|
|
|
|
|
|
|
|
|
|
|
for (int i=0; i<3; ++i)
|
|
|
|
for (int i=0; i<3; ++i)
|
|
|
@ -572,8 +572,7 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
|
|
|
|
|
|
|
|
for (int j=0; j<2; ++j)
|
|
|
|
for (int j=0; j<2; ++j)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
mColumns.push_back (
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_MinChop+i*2+j, ColumnBase::Display_Integer);
|
|
|
|
RefIdColumn (Columns::ColumnId_MinChop+i*2+j, ColumnBase::Display_Integer));
|
|
|
|
|
|
|
|
column[j] = &mColumns.back();
|
|
|
|
column[j] = &mColumns.back();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -591,19 +590,19 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
|
|
|
|
|
|
|
|
for (int i=0; sWeaponFlagTable[i].mName!=-1; ++i)
|
|
|
|
for (int i=0; sWeaponFlagTable[i].mName!=-1; ++i)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
mColumns.push_back (RefIdColumn (sWeaponFlagTable[i].mName, ColumnBase::Display_Boolean));
|
|
|
|
mColumns.emplace_back(sWeaponFlagTable[i].mName, ColumnBase::Display_Boolean);
|
|
|
|
weaponColumns.mFlags.insert (std::make_pair (&mColumns.back(), sWeaponFlagTable[i].mFlag));
|
|
|
|
weaponColumns.mFlags.insert (std::make_pair (&mColumns.back(), sWeaponFlagTable[i].mFlag));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_PartRefList, ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_PartRefList, ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
const RefIdColumn *partRef = &mColumns.back();
|
|
|
|
const RefIdColumn *partRef = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> partMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> partMap;
|
|
|
|
partMap.insert(std::make_pair(UniversalId::Type_Armor,
|
|
|
|
partMap.insert(std::make_pair(UniversalId::Type_Armor,
|
|
|
|
new BodyPartRefIdAdapter<ESM::Armor> (UniversalId::Type_Armor)));
|
|
|
|
new BodyPartRefIdAdapter<ESM::Armor> (UniversalId::Type_Armor)));
|
|
|
|
partMap.insert(std::make_pair(UniversalId::Type_Clothing,
|
|
|
|
partMap.insert(std::make_pair(UniversalId::Type_Clothing,
|
|
|
|
new BodyPartRefIdAdapter<ESM::Clothing> (UniversalId::Type_Clothing)));
|
|
|
|
new BodyPartRefIdAdapter<ESM::Clothing> (UniversalId::Type_Clothing)));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), partMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), partMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_PartRefType, CSMWorld::ColumnBase::Display_PartRefType));
|
|
|
|
new RefIdColumn (Columns::ColumnId_PartRefType, CSMWorld::ColumnBase::Display_PartRefType));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
@ -614,30 +613,30 @@ CSMWorld::RefIdCollection::RefIdCollection()
|
|
|
|
LevListColumns levListColumns (baseColumns);
|
|
|
|
LevListColumns levListColumns (baseColumns);
|
|
|
|
|
|
|
|
|
|
|
|
// Nested table
|
|
|
|
// Nested table
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_LevelledList,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_LevelledList,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue);
|
|
|
|
levListColumns.mLevList = &mColumns.back();
|
|
|
|
levListColumns.mLevList = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> levListMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> levListMap;
|
|
|
|
levListMap.insert(std::make_pair(UniversalId::Type_CreatureLevelledList,
|
|
|
|
levListMap.insert(std::make_pair(UniversalId::Type_CreatureLevelledList,
|
|
|
|
new NestedLevListRefIdAdapter<ESM::CreatureLevList> (UniversalId::Type_CreatureLevelledList)));
|
|
|
|
new NestedLevListRefIdAdapter<ESM::CreatureLevList> (UniversalId::Type_CreatureLevelledList)));
|
|
|
|
levListMap.insert(std::make_pair(UniversalId::Type_ItemLevelledList,
|
|
|
|
levListMap.insert(std::make_pair(UniversalId::Type_ItemLevelledList,
|
|
|
|
new NestedLevListRefIdAdapter<ESM::ItemLevList> (UniversalId::Type_ItemLevelledList)));
|
|
|
|
new NestedLevListRefIdAdapter<ESM::ItemLevList> (UniversalId::Type_ItemLevelledList)));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), levListMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), levListMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_LevelledItemId, CSMWorld::ColumnBase::Display_Referenceable));
|
|
|
|
new RefIdColumn (Columns::ColumnId_LevelledItemId, CSMWorld::ColumnBase::Display_Referenceable));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_LevelledItemLevel, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
new RefIdColumn (Columns::ColumnId_LevelledItemLevel, CSMWorld::ColumnBase::Display_Integer));
|
|
|
|
|
|
|
|
|
|
|
|
// Nested list
|
|
|
|
// Nested list
|
|
|
|
mColumns.push_back(RefIdColumn (Columns::ColumnId_LevelledList,
|
|
|
|
mColumns.emplace_back(Columns::ColumnId_LevelledList,
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_List));
|
|
|
|
ColumnBase::Display_NestedHeader, ColumnBase::Flag_Dialogue | ColumnBase::Flag_Dialogue_List);
|
|
|
|
levListColumns.mNestedListLevList = &mColumns.back();
|
|
|
|
levListColumns.mNestedListLevList = &mColumns.back();
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> nestedListLevListMap;
|
|
|
|
std::map<UniversalId::Type, NestedRefIdAdapterBase*> nestedListLevListMap;
|
|
|
|
nestedListLevListMap.insert(std::make_pair(UniversalId::Type_CreatureLevelledList,
|
|
|
|
nestedListLevListMap.insert(std::make_pair(UniversalId::Type_CreatureLevelledList,
|
|
|
|
new NestedListLevListRefIdAdapter<ESM::CreatureLevList> (UniversalId::Type_CreatureLevelledList)));
|
|
|
|
new NestedListLevListRefIdAdapter<ESM::CreatureLevList> (UniversalId::Type_CreatureLevelledList)));
|
|
|
|
nestedListLevListMap.insert(std::make_pair(UniversalId::Type_ItemLevelledList,
|
|
|
|
nestedListLevListMap.insert(std::make_pair(UniversalId::Type_ItemLevelledList,
|
|
|
|
new NestedListLevListRefIdAdapter<ESM::ItemLevList> (UniversalId::Type_ItemLevelledList)));
|
|
|
|
new NestedListLevListRefIdAdapter<ESM::ItemLevList> (UniversalId::Type_ItemLevelledList)));
|
|
|
|
mNestedAdapters.push_back (std::make_pair(&mColumns.back(), nestedListLevListMap));
|
|
|
|
mNestedAdapters.emplace_back(&mColumns.back(), nestedListLevListMap);
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
new RefIdColumn (Columns::ColumnId_LevelledItemTypeEach, CSMWorld::ColumnBase::Display_Boolean));
|
|
|
|
new RefIdColumn (Columns::ColumnId_LevelledItemTypeEach, CSMWorld::ColumnBase::Display_Boolean));
|
|
|
|
mColumns.back().addColumn(
|
|
|
|
mColumns.back().addColumn(
|
|
|
|