Merge pull request #1226 from MiroslavR/scdt_size

Downgrade SCDT size mismatch error to a warning
pull/187/head
scrawl 8 years ago committed by GitHub
commit 4a1406c638

@ -83,10 +83,24 @@ namespace ESM
loadSCVR(esm); loadSCVR(esm);
break; break;
case ESM::FourCC<'S','C','D','T'>::value: case ESM::FourCC<'S','C','D','T'>::value:
{
// compiled script // compiled script
mScriptData.resize(mData.mScriptDataSize); esm.getSubHeader();
esm.getHExact(&mScriptData[0], mScriptData.size()); uint32_t subSize = esm.getSubSize();
if (subSize != static_cast<uint32_t>(mData.mScriptDataSize))
{
std::stringstream ss;
ss << "ESM Warning: Script data size defined in SCHD subrecord does not match size of SCDT subrecord";
ss << "\n File: " << esm.getName();
ss << "\n Offset: 0x" << std::hex << esm.getFileOffset();
std::cerr << ss.str() << std::endl;
}
mScriptData.resize(subSize);
esm.getExact(&mScriptData[0], mScriptData.size());
break; break;
}
case ESM::FourCC<'S','C','T','X'>::value: case ESM::FourCC<'S','C','T','X'>::value:
mScriptText = esm.getHString(); mScriptText = esm.getHString();
break; break;

Loading…
Cancel
Save