mirror of
https://github.com/OpenMW/openmw.git
synced 2026-05-06 07:56:40 -04:00
Merge branch 'invalideffects' into 'master'
Allow loading invalid effects again (#9069) Closes #9069 See merge request OpenMW/openmw!5284
This commit is contained in:
@@ -156,9 +156,8 @@ namespace
|
||||
int effectIdx = ESM::MagicEffect::refIdToIndex(effect.mData.mEffectID);
|
||||
int skillIdx = ESM::Skill::refIdToIndex(effect.mData.mSkill);
|
||||
int attributeIdx = ESM::Attribute::refIdToIndex(effect.mData.mAttribute);
|
||||
if (effectIdx != -1)
|
||||
std::cout << " Effect[" << i << "]: " << magicEffectLabel(effectIdx) << " (" << effectIdx << ")"
|
||||
<< std::endl;
|
||||
std::cout << " Effect[" << i << "]: " << magicEffectLabel(effectIdx) << " (" << effectIdx << ")"
|
||||
<< std::endl;
|
||||
if (skillIdx != -1)
|
||||
std::cout << " Skill: " << skillLabel(skillIdx) << " (" << skillIdx << ")" << std::endl;
|
||||
if (attributeIdx != -1)
|
||||
|
||||
@@ -175,7 +175,7 @@ namespace
|
||||
if (!mgef)
|
||||
{
|
||||
Log(Debug::Verbose) << RecordType::getRecordType() << " " << spell.mId
|
||||
<< ": dropping invalid effect (index " << iter->mData.mEffectID << ")";
|
||||
<< ": dropping invalid effect (" << iter->mData.mEffectID << ")";
|
||||
iter = spell.mEffects.mList.erase(iter);
|
||||
changed = true;
|
||||
continue;
|
||||
|
||||
@@ -45,10 +45,7 @@ namespace ESM
|
||||
|
||||
void fromBinary(const EsmENAMstruct& src, ENAMstruct& dst)
|
||||
{
|
||||
int16_t index = src.mEffectID;
|
||||
if (index < 0 || index >= ESM::MagicEffect::Length)
|
||||
throw std::runtime_error(std::format("Cannot deserialize effect into ENAM with index {}.", index));
|
||||
dst.mEffectID = ESM::MagicEffect::indexToRefId(index);
|
||||
dst.mEffectID = ESM::MagicEffect::indexToRefId(src.mEffectID);
|
||||
dst.mSkill = ESM::Skill::indexToRefId(src.mSkill);
|
||||
dst.mAttribute = ESM::Attribute::indexToRefId(src.mAttribute);
|
||||
dst.mRange = src.mRange;
|
||||
|
||||
Reference in New Issue
Block a user