Merge remote-tracking branch 'matahualpa/openmw-cs_booktype'

pull/151/head
Marc Zinnschlag 8 years ago
commit e46fb1770c

@ -131,6 +131,7 @@ namespace CSMWorld
Display_InfoCondComp, Display_InfoCondComp,
Display_String32, Display_String32,
Display_LongString256, Display_LongString256,
Display_BookType,
Display_EffectSkill, // must display at least one, unlike Display_Skill Display_EffectSkill, // must display at least one, unlike Display_Skill
Display_EffectAttribute, // must display at least one, unlike Display_Attribute Display_EffectAttribute, // must display at least one, unlike Display_Attribute

@ -98,7 +98,7 @@ namespace CSMWorld
{ ColumnId_ArmorType, "Armor Type" }, { ColumnId_ArmorType, "Armor Type" },
{ ColumnId_Health, "Health" }, { ColumnId_Health, "Health" },
{ ColumnId_ArmorValue, "Armor Value" }, { ColumnId_ArmorValue, "Armor Value" },
{ ColumnId_Scroll, "Scroll" }, { ColumnId_BookType, "Book Type" },
{ ColumnId_ClothingType, "Clothing Type" }, { ColumnId_ClothingType, "Clothing Type" },
{ ColumnId_WeightCapacity, "Weight Capacity" }, { ColumnId_WeightCapacity, "Weight Capacity" },
{ ColumnId_OrganicContainer, "Organic Container" }, { ColumnId_OrganicContainer, "Organic Container" },
@ -553,6 +553,11 @@ namespace
"AI Wander", "AI Travel", "AI Follow", "AI Escort", "AI Activate", 0 "AI Wander", "AI Travel", "AI Follow", "AI Escort", "AI Activate", 0
}; };
static const char *sBookType[] =
{
"Book", "Scroll", 0
};
const char **getEnumNames (CSMWorld::Columns::ColumnId column) const char **getEnumNames (CSMWorld::Columns::ColumnId column)
{ {
switch (column) switch (column)
@ -582,6 +587,7 @@ namespace
case CSMWorld::Columns::ColumnId_AiPackageType: return sAiPackageType; case CSMWorld::Columns::ColumnId_AiPackageType: return sAiPackageType;
case CSMWorld::Columns::ColumnId_InfoCondFunc: return CSMWorld::ConstInfoSelectWrapper::FunctionEnumStrings; case CSMWorld::Columns::ColumnId_InfoCondFunc: return CSMWorld::ConstInfoSelectWrapper::FunctionEnumStrings;
case CSMWorld::Columns::ColumnId_InfoCondComp: return CSMWorld::ConstInfoSelectWrapper::RelationEnumStrings; case CSMWorld::Columns::ColumnId_InfoCondComp: return CSMWorld::ConstInfoSelectWrapper::RelationEnumStrings;
case CSMWorld::Columns::ColumnId_BookType: return sBookType;
default: return 0; default: return 0;
} }

@ -92,7 +92,7 @@ namespace CSMWorld
ColumnId_ArmorType = 77, ColumnId_ArmorType = 77,
ColumnId_Health = 78, ColumnId_Health = 78,
ColumnId_ArmorValue = 79, ColumnId_ArmorValue = 79,
ColumnId_Scroll = 80, ColumnId_BookType = 80,
ColumnId_ClothingType = 81, ColumnId_ClothingType = 81,
ColumnId_WeightCapacity = 82, ColumnId_WeightCapacity = 82,
ColumnId_OrganicContainer = 83, ColumnId_OrganicContainer = 83,

@ -301,9 +301,9 @@ void CSMWorld::ArmorRefIdAdapter::setData (const RefIdColumn *column, RefIdData&
} }
CSMWorld::BookRefIdAdapter::BookRefIdAdapter (const EnchantableColumns& columns, CSMWorld::BookRefIdAdapter::BookRefIdAdapter (const EnchantableColumns& columns,
const RefIdColumn *scroll, const RefIdColumn *skill, const RefIdColumn *text) const RefIdColumn *bookType, const RefIdColumn *skill, const RefIdColumn *text)
: EnchantableRefIdAdapter<ESM::Book> (UniversalId::Type_Book, columns), : EnchantableRefIdAdapter<ESM::Book> (UniversalId::Type_Book, columns),
mScroll (scroll), mSkill (skill), mText (text) mBookType (bookType), mSkill (skill), mText (text)
{} {}
QVariant CSMWorld::BookRefIdAdapter::getData (const RefIdColumn *column, QVariant CSMWorld::BookRefIdAdapter::getData (const RefIdColumn *column,
@ -312,8 +312,8 @@ QVariant CSMWorld::BookRefIdAdapter::getData (const RefIdColumn *column,
const Record<ESM::Book>& record = static_cast<const Record<ESM::Book>&> ( const Record<ESM::Book>& record = static_cast<const Record<ESM::Book>&> (
data.getRecord (RefIdData::LocalIndex (index, UniversalId::Type_Book))); data.getRecord (RefIdData::LocalIndex (index, UniversalId::Type_Book)));
if (column==mScroll) if (column==mBookType)
return record.get().mData.mIsScroll!=0; return record.get().mData.mIsScroll;
if (column==mSkill) if (column==mSkill)
return record.get().mData.mSkillId; return record.get().mData.mSkillId;
@ -332,7 +332,7 @@ void CSMWorld::BookRefIdAdapter::setData (const RefIdColumn *column, RefIdData&
ESM::Book book = record.get(); ESM::Book book = record.get();
if (column==mScroll) if (column==mBookType)
book.mData.mIsScroll = value.toInt(); book.mData.mIsScroll = value.toInt();
else if (column==mSkill) else if (column==mSkill)
book.mData.mSkillId = value.toInt(); book.mData.mSkillId = value.toInt();

@ -694,13 +694,13 @@ namespace CSMWorld
class BookRefIdAdapter : public EnchantableRefIdAdapter<ESM::Book> class BookRefIdAdapter : public EnchantableRefIdAdapter<ESM::Book>
{ {
const RefIdColumn *mScroll; const RefIdColumn *mBookType;
const RefIdColumn *mSkill; const RefIdColumn *mSkill;
const RefIdColumn *mText; const RefIdColumn *mText;
public: public:
BookRefIdAdapter (const EnchantableColumns& columns, const RefIdColumn *scroll, BookRefIdAdapter (const EnchantableColumns& columns, const RefIdColumn *bookType,
const RefIdColumn *skill, const RefIdColumn *text); const RefIdColumn *skill, const RefIdColumn *text);
virtual QVariant getData (const RefIdColumn *column, const RefIdData& data, int index) virtual QVariant getData (const RefIdColumn *column, const RefIdData& data, int index)

@ -291,8 +291,8 @@ CSMWorld::RefIdCollection::RefIdCollection()
mColumns.push_back (RefIdColumn (Columns::ColumnId_ArmorValue, ColumnBase::Display_Integer)); mColumns.push_back (RefIdColumn (Columns::ColumnId_ArmorValue, ColumnBase::Display_Integer));
const RefIdColumn *armor = &mColumns.back(); const RefIdColumn *armor = &mColumns.back();
mColumns.push_back (RefIdColumn (Columns::ColumnId_Scroll, ColumnBase::Display_Boolean)); mColumns.push_back (RefIdColumn (Columns::ColumnId_BookType, ColumnBase::Display_BookType));
const RefIdColumn *scroll = &mColumns.back(); const RefIdColumn *bookType = &mColumns.back();
mColumns.push_back (RefIdColumn (Columns::ColumnId_Skill, ColumnBase::Display_SkillId)); mColumns.push_back (RefIdColumn (Columns::ColumnId_Skill, ColumnBase::Display_SkillId));
const RefIdColumn *skill = &mColumns.back(); const RefIdColumn *skill = &mColumns.back();
@ -659,7 +659,7 @@ CSMWorld::RefIdCollection::RefIdCollection()
mAdapters.insert (std::make_pair (UniversalId::Type_Armor, mAdapters.insert (std::make_pair (UniversalId::Type_Armor,
new ArmorRefIdAdapter (enchantableColumns, armorType, health, armor, partRef))); new ArmorRefIdAdapter (enchantableColumns, armorType, health, armor, partRef)));
mAdapters.insert (std::make_pair (UniversalId::Type_Book, mAdapters.insert (std::make_pair (UniversalId::Type_Book,
new BookRefIdAdapter (enchantableColumns, scroll, skill, text))); new BookRefIdAdapter (enchantableColumns, bookType, skill, text)));
mAdapters.insert (std::make_pair (UniversalId::Type_Clothing, mAdapters.insert (std::make_pair (UniversalId::Type_Clothing,
new ClothingRefIdAdapter (enchantableColumns, clothingType, partRef))); new ClothingRefIdAdapter (enchantableColumns, clothingType, partRef)));
mAdapters.insert (std::make_pair (UniversalId::Type_Container, mAdapters.insert (std::make_pair (UniversalId::Type_Container,

@ -107,6 +107,7 @@ CSVDoc::ViewManager::ViewManager (CSMDoc::DocumentManager& documentManager)
{ CSMWorld::ColumnBase::Display_IngredEffectId, CSMWorld::Columns::ColumnId_EffectId, true }, { CSMWorld::ColumnBase::Display_IngredEffectId, CSMWorld::Columns::ColumnId_EffectId, true },
{ CSMWorld::ColumnBase::Display_EffectSkill, CSMWorld::Columns::ColumnId_Skill, false }, { CSMWorld::ColumnBase::Display_EffectSkill, CSMWorld::Columns::ColumnId_Skill, false },
{ CSMWorld::ColumnBase::Display_EffectAttribute, CSMWorld::Columns::ColumnId_Attribute, false }, { CSMWorld::ColumnBase::Display_EffectAttribute, CSMWorld::Columns::ColumnId_Attribute, false },
{ CSMWorld::ColumnBase::Display_BookType, CSMWorld::Columns::ColumnId_BookType, false},
}; };
for (std::size_t i=0; i<sizeof (sMapping)/sizeof (Mapping); ++i) for (std::size_t i=0; i<sizeof (sMapping)/sizeof (Mapping); ++i)

Loading…
Cancel
Save