mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-15 16:39:40 +00:00
Remove AI flag from the UI and instead auto-detect whether to save AIDT records. Should resolve bug #2879.
(cherry picked from commit 45aee1b508
)
Conflicts:
apps/opencs/model/world/refidadapterimp.hpp
This commit is contained in:
parent
f7eb502493
commit
2f76a1510e
7 changed files with 14 additions and 16 deletions
|
@ -71,7 +71,6 @@ namespace CSMWorld
|
|||
{ ColumnId_Weight, "Weight" },
|
||||
{ ColumnId_EnchantmentPoints, "Enchantment Points" },
|
||||
{ ColumnId_Quality, "Quality" },
|
||||
{ ColumnId_Ai, "AI" },
|
||||
{ ColumnId_AiHello, "AI Hello" },
|
||||
{ ColumnId_AiFlee, "AI Flee" },
|
||||
{ ColumnId_AiFight, "AI Fight" },
|
||||
|
|
|
@ -65,7 +65,7 @@ namespace CSMWorld
|
|||
ColumnId_Weight = 50,
|
||||
ColumnId_EnchantmentPoints = 51,
|
||||
ColumnId_Quality = 52,
|
||||
ColumnId_Ai = 53,
|
||||
// unused
|
||||
ColumnId_AiHello = 54,
|
||||
ColumnId_AiFlee = 55,
|
||||
ColumnId_AiFight = 56,
|
||||
|
|
|
@ -1447,9 +1447,6 @@ QVariant ActorRefIdAdapter<ESM::NPC>::getData (const RefIdColumn *column, const
|
|||
const Record<ESM::NPC>& record = static_cast<const Record<ESM::NPC>&> (
|
||||
data.getRecord (RefIdData::LocalIndex (index, BaseRefIdAdapter<ESM::NPC>::getType())));
|
||||
|
||||
if (column==mActors.mHasAi)
|
||||
return record.get().mHasAI!=0;
|
||||
|
||||
if (column==mActors.mHello)
|
||||
return record.get().mAiData.mHello;
|
||||
|
||||
|
@ -1631,9 +1628,6 @@ QVariant ActorRefIdAdapter<ESM::Creature>::getData (const RefIdColumn *column, c
|
|||
const Record<ESM::Creature>& record = static_cast<const Record<ESM::Creature>&> (
|
||||
data.getRecord (RefIdData::LocalIndex (index, BaseRefIdAdapter<ESM::Creature>::getType())));
|
||||
|
||||
if (column==mActors.mHasAi)
|
||||
return record.get().mHasAI!=0;
|
||||
|
||||
if (column==mActors.mHello)
|
||||
return record.get().mAiData.mHello;
|
||||
|
||||
|
|
|
@ -485,7 +485,6 @@ namespace CSMWorld
|
|||
|
||||
struct ActorColumns : public NameColumns
|
||||
{
|
||||
const RefIdColumn *mHasAi;
|
||||
const RefIdColumn *mHello;
|
||||
const RefIdColumn *mFlee;
|
||||
const RefIdColumn *mFight;
|
||||
|
@ -531,9 +530,7 @@ namespace CSMWorld
|
|||
data.getRecord (RefIdData::LocalIndex (index, BaseRefIdAdapter<RecordT>::getType())));
|
||||
|
||||
RecordT record2 = record.get();
|
||||
if (column==mActors.mHasAi)
|
||||
record2.mHasAI = value.toInt();
|
||||
else if (column==mActors.mHello)
|
||||
if (column==mActors.mHello)
|
||||
record2.mAiData.mHello = value.toInt();
|
||||
else if (column==mActors.mFlee)
|
||||
record2.mAiData.mFlee = value.toInt();
|
||||
|
|
|
@ -114,8 +114,6 @@ CSMWorld::RefIdCollection::RefIdCollection(const CSMWorld::Data& data)
|
|||
|
||||
ActorColumns actorsColumns (nameColumns);
|
||||
|
||||
mColumns.push_back (RefIdColumn (Columns::ColumnId_Ai, ColumnBase::Display_Boolean));
|
||||
actorsColumns.mHasAi = &mColumns.back();
|
||||
mColumns.push_back (RefIdColumn (Columns::ColumnId_AiHello, ColumnBase::Display_Integer));
|
||||
actorsColumns.mHello = &mColumns.back();
|
||||
mColumns.push_back (RefIdColumn (Columns::ColumnId_AiFlee, ColumnBase::Display_Integer));
|
||||
|
|
|
@ -96,7 +96,12 @@ namespace ESM {
|
|||
|
||||
mInventory.save(esm);
|
||||
mSpells.save(esm);
|
||||
if (mHasAI) {
|
||||
if (mAiData.mHello != 0
|
||||
|| mAiData.mFight != 0
|
||||
|| mAiData.mFlee != 0
|
||||
|| mAiData.mAlarm != 0
|
||||
|| mAiData.mServices != 0)
|
||||
{
|
||||
esm.writeHNT("AIDT", mAiData, sizeof(mAiData));
|
||||
}
|
||||
mTransport.save(esm);
|
||||
|
|
|
@ -121,7 +121,12 @@ namespace ESM
|
|||
|
||||
mInventory.save(esm);
|
||||
mSpells.save(esm);
|
||||
if (mHasAI) {
|
||||
if (mAiData.mHello != 0
|
||||
|| mAiData.mFight != 0
|
||||
|| mAiData.mFlee != 0
|
||||
|| mAiData.mAlarm != 0
|
||||
|| mAiData.mServices != 0)
|
||||
{
|
||||
esm.writeHNT("AIDT", mAiData, sizeof(mAiData));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue