mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-18 13:12:50 +00:00
save MVRF subrecords
This commit is contained in:
parent
a97f599e65
commit
89998a6a03
@ -314,10 +314,7 @@ void CSMDoc::WriteCellCollectionStage::perform (int stage, Messages& messages)
|
||||
char ignore;
|
||||
stream >> ignore >> moved.mTarget[0] >> moved.mTarget[1];
|
||||
|
||||
mState.getWriter().startSubRecord ("MVRF");
|
||||
|
||||
mState.getWriter().endRecord ("MVRF");
|
||||
mState.getWriter().writeHNT ("FRMR", moved.mRefNum.mIndex, 4);
|
||||
ref.get().mRefNum.save (mState.getWriter(), false, "MVRF");
|
||||
mState.getWriter().writeHNT ("CNDT", moved.mTarget, 8);
|
||||
}
|
||||
|
||||
|
@ -12,15 +12,15 @@ void ESM::RefNum::load (ESMReader& esm, bool wide)
|
||||
esm.getHNT (mIndex, "FRMR");
|
||||
}
|
||||
|
||||
void ESM::RefNum::save (ESMWriter &esm, bool wide) const
|
||||
void ESM::RefNum::save (ESMWriter &esm, bool wide, const std::string& tag) const
|
||||
{
|
||||
if (wide)
|
||||
esm.writeHNT ("FRMR", *this, 8);
|
||||
esm.writeHNT (tag, *this, 8);
|
||||
else
|
||||
{
|
||||
int refNum = (mIndex & 0xffffff) | ((mContentFile==-1 ? 0xff : mContentFile)<<24);
|
||||
|
||||
esm.writeHNT ("FRMR", refNum, 4);
|
||||
esm.writeHNT (tag, refNum, 4);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace ESM
|
||||
|
||||
void load (ESMReader& esm, bool wide = false);
|
||||
|
||||
void save (ESMWriter &esm, bool wide = false) const;
|
||||
void save (ESMWriter &esm, bool wide = false, const std::string& tag = "FRMR") const;
|
||||
};
|
||||
|
||||
/* Cell reference. This represents ONE object (of many) inside the
|
||||
|
Loading…
x
Reference in New Issue
Block a user