1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-05-04 06:11:26 +00:00

Merge branch 'esm4_cleanup' into 'master'

Clean up components/esm4

See merge request OpenMW/openmw!3086
This commit is contained in:
psi29a 2023-06-02 07:30:52 +00:00
commit 4335667d32
87 changed files with 69 additions and 517 deletions

View file

@ -27,7 +27,6 @@
#include "loadachr.hpp"
#include <stdexcept>
//#include <iostream>
#include "reader.hpp"
//#include "writer.hpp"
@ -63,18 +62,11 @@ void ESM4::ActorCharacter::load(ESM4::Reader& reader)
reader.getFormId(mOwner);
break;
case ESM4::SUB_XESP:
{
reader.getFormId(mEsp.parent);
reader.get(mEsp.flags);
break;
}
case ESM4::SUB_XRGD: // ragdoll
case ESM4::SUB_XRGB: // ragdoll biped
{
// std::cout << "ACHR " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
case ESM4::SUB_XHRS: // horse formId
case ESM4::SUB_XMRC: // merchant container formId
// TES5
@ -102,11 +94,8 @@ void ESM4::ActorCharacter::load(ESM4::Reader& reader)
case ESM4::SUB_SCHR: // FO3
case ESM4::SUB_TNAM: // FO3
case ESM4::SUB_XATO: // FONV
{
// std::cout << "ACHR " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::ACHR::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadacre.hpp"
#include <stdexcept>
//#include <iostream>
#include "reader.hpp"
//#include "writer.hpp"
@ -56,11 +55,9 @@ void ESM4::ActorCreature::load(ESM4::Reader& reader)
reader.get(mScale);
break;
case ESM4::SUB_XESP:
{
reader.getFormId(mEsp.parent);
reader.get(mEsp.flags);
break;
}
case ESM4::SUB_XOWN:
reader.getFormId(mOwner);
break;
@ -70,14 +67,6 @@ void ESM4::ActorCreature::load(ESM4::Reader& reader)
case ESM4::SUB_XRNK:
reader.get(mFactionRank);
break;
case ESM4::SUB_XRGD: // ragdoll
case ESM4::SUB_XRGB: // ragdoll biped
{
// seems to occur only for dead bodies, e.g. DeadMuffy, DeadDogVicious
// std::cout << "ACRE " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
case ESM4::SUB_XLKR: // FO3
case ESM4::SUB_XLCM: // FO3
case ESM4::SUB_XEZN: // FO3
@ -87,11 +76,11 @@ void ESM4::ActorCreature::load(ESM4::Reader& reader)
case ESM4::SUB_XRDS: // FO3
case ESM4::SUB_XPRD: // FO3
case ESM4::SUB_XATO: // FONV
{
// std::cout << "ACRE " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
// seems to occur only for dead bodies, e.g. DeadMuffy, DeadDogVicious
case ESM4::SUB_XRGD: // ragdoll
case ESM4::SUB_XRGB: // ragdoll biped
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::ACRE::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,7 +26,6 @@
*/
#include "loadacti.hpp"
#include <iostream> // FIXME
#include <stdexcept>
#include "reader.hpp"
@ -88,11 +87,8 @@ void ESM4::Activator::load(ESM4::Reader& reader)
case ESM4::SUB_PNAM:
case ESM4::SUB_VMAD:
case ESM4::SUB_WNAM:
{
// std::cout << "ACTI " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::ACTI::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -28,7 +28,6 @@
#include <cstring>
#include <stdexcept>
//#include <iostream> // FIXME
#include "reader.hpp"
//#include "writer.hpp"
@ -68,13 +67,10 @@ void ESM4::Potion::load(ESM4::Reader& reader)
reader.get(mBoundRadius);
break;
case ESM4::SUB_SCIT:
{
reader.get(mEffect);
reader.adjustFormId(mEffect.formId);
break;
}
case ESM4::SUB_ENIT:
{
if (subHdr.dataSize == 8) // TES4
{
reader.get(&mItem, 8);
@ -82,12 +78,10 @@ void ESM4::Potion::load(ESM4::Reader& reader)
mItem.sound = 0;
break;
}
reader.get(mItem);
reader.adjustFormId(mItem.withdrawl);
reader.adjustFormId(mItem.sound);
break;
}
case ESM4::SUB_YNAM:
reader.getFormId(mPickUpSound);
break;
@ -103,11 +97,8 @@ void ESM4::Potion::load(ESM4::Reader& reader)
case ESM4::SUB_MODS:
case ESM4::SUB_OBND:
case ESM4::SUB_ETYP: // FO3
{
// std::cout << "ALCH " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::ALCH::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -28,8 +28,6 @@
#include <cstring>
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
//#include <iomanip> // FIXME: for debugging only
//#include "formid.hpp" // FIXME:
@ -147,16 +145,11 @@ void ESM4::MediaLocationController::load(ESM4::Reader& reader)
}
std::cout << ss.str() << std::endl;
#else
// std::cout << "ALOC " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
#endif
break;
}
default:
// std::cout << "ALOC " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
// reader.skipSubRecordData();
throw std::runtime_error("ESM4::ALOC::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}

View file

@ -48,7 +48,6 @@ void ESM4::Ammunition::load(ESM4::Reader& reader)
reader.getLocalizedString(mFullName);
break;
case ESM4::SUB_DATA:
{
// FO3/FNV or TES4
if (subHdr.dataSize == 13 || subHdr.dataSize == 18)
{
@ -81,9 +80,7 @@ void ESM4::Ammunition::load(ESM4::Reader& reader)
reader.skipSubRecordData();
}
break;
}
case ESM4::SUB_DAT2:
{
if (subHdr.dataSize == 20)
{
reader.get(mData.mProjPerShot);
@ -97,7 +94,6 @@ void ESM4::Ammunition::load(ESM4::Reader& reader)
reader.skipSubRecordData();
}
break;
}
case ESM4::SUB_ICON:
reader.getZString(mIcon);
break;
@ -139,19 +135,14 @@ void ESM4::Ammunition::load(ESM4::Reader& reader)
break;
}
case ESM4::SUB_SCRI:
{
reader.getFormId(mScript);
break;
}
case ESM4::SUB_MODT:
case ESM4::SUB_OBND:
case ESM4::SUB_KSIZ:
case ESM4::SUB_KWDA:
{
// std::cout << "AMMO " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::AMMO::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -59,11 +59,8 @@ void ESM4::AnimObject::load(ESM4::Reader& reader)
break;
case ESM4::SUB_MODT: // TES5 only
case ESM4::SUB_MODS: // TES5 only
{
// std::cout << "ANIO " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::ANIO::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -49,7 +49,6 @@ void ESM4::Apparatus::load(ESM4::Reader& reader)
reader.getLocalizedString(mFullName);
break;
case ESM4::SUB_DATA:
{
if (reader.esmVersion() == ESM::VER_094 || reader.esmVersion() == ESM::VER_170)
{
reader.get(mData.value);
@ -63,7 +62,6 @@ void ESM4::Apparatus::load(ESM4::Reader& reader)
reader.get(mData.quality);
}
break;
}
case ESM4::SUB_ICON:
reader.getZString(mIcon);
break;
@ -82,11 +80,8 @@ void ESM4::Apparatus::load(ESM4::Reader& reader)
case ESM4::SUB_MODT:
case ESM4::SUB_OBND:
case ESM4::SUB_QUAL:
{
// std::cout << "APPA " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::APPA::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadarma.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: testing only
#include "reader.hpp"
//#include "writer.hpp"
@ -59,9 +58,6 @@ void ESM4::ArmorAddon::load(ESM4::Reader& reader)
{
std::string model;
reader.getZString(model);
// std::cout << mEditorId << " " << ESM::printName(subHdr.typeId) << " " << model << std::endl;
break;
}
case ESM4::SUB_NAM0:
@ -74,7 +70,6 @@ void ESM4::ArmorAddon::load(ESM4::Reader& reader)
reader.getFormId(mRacePrimary);
break;
case ESM4::SUB_MODL:
{
if ((esmVer == ESM::VER_094 || esmVer == ESM::VER_170) && subHdr.dataSize == 4) // TES5
{
FormId formId;
@ -85,20 +80,15 @@ void ESM4::ArmorAddon::load(ESM4::Reader& reader)
reader.skipSubRecordData(); // FIXME: this should be mModelMale for FO3/FONV
break;
}
case ESM4::SUB_BODT: // body template
{
reader.get(mBodyTemplate.bodyPart);
reader.get(mBodyTemplate.flags);
reader.get(mBodyTemplate.unknown1); // probably padding
reader.get(mBodyTemplate.unknown2); // probably padding
reader.get(mBodyTemplate.unknown3); // probably padding
reader.get(mBodyTemplate.type);
break;
}
case ESM4::SUB_BOD2: // TES5
{
reader.get(mBodyTemplate.bodyPart);
mBodyTemplate.flags = 0;
mBodyTemplate.unknown1 = 0; // probably padding
@ -107,7 +97,6 @@ void ESM4::ArmorAddon::load(ESM4::Reader& reader)
reader.get(mBodyTemplate.type);
break;
}
case ESM4::SUB_DNAM:
case ESM4::SUB_MO2T: // FIXME: should group with MOD2
case ESM4::SUB_MO2S: // FIXME: should group with MOD2
@ -130,11 +119,8 @@ void ESM4::ArmorAddon::load(ESM4::Reader& reader)
case ESM4::SUB_MODS: // FO3 // FIXME: should group with MODL
case ESM4::SUB_MODD: // FO3 // FIXME: should group with MODL
case ESM4::SUB_OBND: // FO3
{
// std::cout << "ARMA " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::ARMA::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadarmo.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: testing only
#include "reader.hpp"
//#include "writer.hpp"
@ -113,7 +112,6 @@ void ESM4::Armor::load(ESM4::Reader& reader)
reader.getZString(mMiniIconFemale);
break;
case ESM4::SUB_BMDT:
{
if (subHdr.dataSize == 8) // FO3
{
reader.get(mArmorFlags);
@ -128,7 +126,6 @@ void ESM4::Armor::load(ESM4::Reader& reader)
mGeneralFlags |= TYPE_TES4;
}
break;
}
case ESM4::SUB_BODT:
{
reader.get(mArmorFlags);
@ -143,13 +140,11 @@ void ESM4::Armor::load(ESM4::Reader& reader)
break;
}
case ESM4::SUB_BOD2:
{
reader.get(mArmorFlags);
reader.get(mGeneralFlags);
mGeneralFlags &= 0x0000000f; // 0 (light), 1 (heavy) or 2 (none)
mGeneralFlags |= TYPE_TES5;
break;
}
case ESM4::SUB_SCRI:
reader.getFormId(mScriptId);
break;
@ -201,11 +196,8 @@ void ESM4::Armor::load(ESM4::Reader& reader)
case ESM4::SUB_MO3S: // FO3
case ESM4::SUB_BNAM: // FONV
case ESM4::SUB_SNAM: // FONV
{
// std::cout << "ARMO " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::ARMO::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadaspc.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
#include "reader.hpp"
//#include "writer.hpp"
@ -66,17 +65,12 @@ void ESM4::AcousticSpace::load(ESM4::Reader& reader)
{
std::uint32_t dummy;
reader.get(dummy);
// std::cout << "WNAM " << mEditorId << " " << dummy << std::endl;
break;
}
case ESM4::SUB_BNAM: // TES5 reverb formid
case ESM4::SUB_OBND:
{
// std::cout << "ASPC " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::ASPC::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -102,11 +102,8 @@ void ESM4::Book::load(ESM4::Reader& reader)
case ESM4::SUB_CNAM:
case ESM4::SUB_INAM:
case ESM4::SUB_VMAD:
{
// std::cout << "BOOK " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::BOOK::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadbptd.hpp"
#include <cstring>
#include <iostream> // FIXME: testing only
#include <stdexcept>
#include "reader.hpp"
@ -86,23 +85,16 @@ void ESM4::BodyPartData::load(ESM4::Reader& reader)
reader.getZString(bodyPart.mLimbReplacementModel);
break;
case ESM4::SUB_NAM4: // FIXME: assumed occurs last
{
reader.getZString(bodyPart.mGoreEffectsTarget); // target bone
mBodyParts.push_back(bodyPart); // FIXME: possible without copying?
bodyPart.clear();
break;
}
case ESM4::SUB_NAM5:
case ESM4::SUB_RAGA: // ragdoll
case ESM4::SUB_MODS:
case ESM4::SUB_MODT:
{
// std::cout << "BPTD " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::BPTD::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,6 +27,8 @@
#ifndef ESM4_BPTD_H
#define ESM4_BPTD_H
#include <cstdint>
#include <string>
#include <vector>
#include "formid.hpp"

View file

@ -26,12 +26,7 @@
*/
#include "loadcell.hpp"
#ifdef NDEBUG // FIXME: debuggigng only
#undef NDEBUG
#endif
#include <cfloat> // FLT_MAX for gcc
#include <iostream> // FIXME: debug only
#include <limits>
#include <stdexcept>
@ -232,11 +227,8 @@ void ESM4::Cell::load(ESM4::Reader& reader)
case ESM4::SUB_XRNK: // Oblivion only?
case ESM4::SUB_XCET: // FO3
case ESM4::SUB_IMPF: // FO3 Zeta
{
// std::cout << "CELL " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::CELL::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,10 +26,6 @@
*/
#include "loadclas.hpp"
//#ifdef NDEBUG // FIXME: debugging only
//#undef NDEBUG
//#endif
#include <stdexcept>
#include "reader.hpp"
@ -59,11 +55,8 @@ void ESM4::Class::load(ESM4::Reader& reader)
reader.getZString(mIcon);
break;
case ESM4::SUB_DATA:
{
// std::cout << "CLAS " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::CLAS::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,7 +26,6 @@
*/
#include "loadclfm.hpp"
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "reader.hpp"
@ -50,24 +49,15 @@ void ESM4::Colour::load(ESM4::Reader& reader)
reader.getLocalizedString(mFullName);
break;
case ESM4::SUB_CNAM:
{
reader.get(mColour.red);
reader.get(mColour.green);
reader.get(mColour.blue);
reader.get(mColour.custom);
break;
}
case ESM4::SUB_FNAM:
{
reader.get(mPlayable);
break;
}
default:
// std::cout << "CLFM " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
// reader.skipSubRecordData();
throw std::runtime_error("ESM4::CLFM::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}

View file

@ -27,7 +27,6 @@
#include "loadclot.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
#include "reader.hpp"
//#include "writer.hpp"
@ -91,11 +90,8 @@ void ESM4::Clothing::load(ESM4::Reader& reader)
case ESM4::SUB_MO2T:
case ESM4::SUB_MO3T:
case ESM4::SUB_MO4T:
{
// std::cout << "CLOT " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::CLOT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -48,11 +48,9 @@ void ESM4::Container::load(ESM4::Reader& reader)
reader.getLocalizedString(mFullName);
break;
case ESM4::SUB_DATA:
{
reader.get(mDataFlags);
reader.get(mWeight);
break;
}
case ESM4::SUB_CNTO:
{
static InventoryItem inv; // FIXME: use unique_ptr here?
@ -88,11 +86,8 @@ void ESM4::Container::load(ESM4::Reader& reader)
case ESM4::SUB_DMDL: // FONV
case ESM4::SUB_DMDT: // FONV
case ESM4::SUB_RNAM: // FONV
{
// std::cout << "CONT " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::CONT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,16 +26,12 @@
*/
#include "loadcrea.hpp"
#ifdef NDEBUG // FIXME: debuggigng only
#undef NDEBUG
#endif
#include <cstring>
#include <iostream> // FIXME
#include <sstream>
#include <stdexcept>
#include <string>
#include <components/debug/debuglog.hpp>
#include "reader.hpp"
//#include "writer.hpp"
@ -82,11 +78,9 @@ void ESM4::Creature::load(ESM4::Reader& reader)
break;
}
case ESM4::SUB_SNAM:
{
reader.get(mFaction);
reader.adjustFormId(mFaction.faction);
break;
}
case ESM4::SUB_INAM:
reader.getFormId(mDeathItem);
break;
@ -94,30 +88,24 @@ void ESM4::Creature::load(ESM4::Reader& reader)
reader.getFormId(mScriptId);
break;
case ESM4::SUB_AIDT:
{
if (subHdr.dataSize == 20) // FO3
reader.skipSubRecordData();
else
reader.get(mAIData); // 12 bytes
break;
}
case ESM4::SUB_ACBS:
{
// if (esmVer == ESM::VER_094 || esmVer == ESM::VER_170 || mIsFONV)
if (subHdr.dataSize == 24)
reader.get(mBaseConfig);
else
reader.get(&mBaseConfig, 16); // TES4
break;
}
case ESM4::SUB_DATA:
{
if (subHdr.dataSize == 17) // FO3
reader.skipSubRecordData();
else
reader.get(mData);
break;
}
case ESM4::SUB_ZNAM:
reader.getFormId(mCombatStyle);
break;
@ -149,11 +137,9 @@ void ESM4::Creature::load(ESM4::Reader& reader)
reader.getZString(mBloodDecal);
break;
case ESM4::SUB_NIFZ:
{
if (!reader.getZeroTerminatedStringArray(mNif))
throw std::runtime_error("CREA NIFZ data read error");
break;
}
case ESM4::SUB_NIFT:
{
if (subHdr.dataSize != 4) // FIXME: FO3
@ -167,15 +153,13 @@ void ESM4::Creature::load(ESM4::Reader& reader)
std::uint32_t nift;
reader.get(nift);
if (nift)
std::cout << "CREA NIFT " << mFormId << ", non-zero " << nift << std::endl;
Log(Debug::Verbose) << "CREA NIFT " << mFormId << ", non-zero " << nift;
break;
}
case ESM4::SUB_KFFZ:
{
if (!reader.getZeroTerminatedStringArray(mKf))
throw std::runtime_error("CREA KFFZ data read error");
break;
}
case ESM4::SUB_TPLT:
reader.getFormId(mBaseTemplate);
break; // FO3
@ -184,7 +168,6 @@ void ESM4::Creature::load(ESM4::Reader& reader)
FormId bodyPart;
reader.getFormId(bodyPart);
mBodyParts.push_back(bodyPart);
break;
}
case ESM4::SUB_MODT:
@ -204,11 +187,8 @@ void ESM4::Creature::load(ESM4::Reader& reader)
case ESM4::SUB_DMDL: // FO3
case ESM4::SUB_DMDT: // FO3
case ESM4::SUB_COED: // FO3
{
// std::cout << "CREA " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::CREA::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loaddial.hpp"
#include <cstring>
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "reader.hpp"
@ -55,7 +54,6 @@ void ESM4::Dialogue::load(ESM4::Reader& reader)
FormId questId;
reader.getFormId(questId);
mQuests.push_back(questId);
break;
}
case ESM4::SUB_QSTR: // Seems never used in TES4
@ -63,7 +61,6 @@ void ESM4::Dialogue::load(ESM4::Reader& reader)
FormId questRem;
reader.getFormId(questRem);
mQuestsRemoved.push_back(questRem);
break;
}
case ESM4::SUB_DATA:
@ -99,12 +96,8 @@ void ESM4::Dialogue::load(ESM4::Reader& reader)
case ESM4::SUB_BNAM: // TES5
case ESM4::SUB_SNAM: // TES5
case ESM4::SUB_TIFC: // TES5
{
// std::cout << "DIAL " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::DIAL::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -30,9 +30,6 @@
#include <cstring>
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
//#include "formid.hpp"
#include "reader.hpp"
//#include "writer.hpp"
@ -52,7 +49,6 @@ void ESM4::DefaultObj::load(ESM4::Reader& reader)
reader.getZString(mEditorId);
break; // "DefaultObjectManager"
case ESM4::SUB_DATA:
{
reader.getFormId(mData.stimpack);
reader.getFormId(mData.superStimpack);
reader.getFormId(mData.radX);
@ -91,20 +87,11 @@ void ESM4::DefaultObj::load(ESM4::Reader& reader)
reader.getFormId(mData.itemDetectedEfect);
reader.getFormId(mData.cateyeMobileEffectNYI);
}
break;
}
case ESM4::SUB_DNAM:
{
// std::cout << "DOBJ " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
// std::cout << "DOBJ " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
// reader.skipSubRecordData();
throw std::runtime_error("ESM4::DOBJ::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}

View file

@ -80,11 +80,8 @@ void ESM4::Door::load(ESM4::Reader& reader)
case ESM4::SUB_DSTF: // FO3
case ESM4::SUB_DMDL: // FO3
case ESM4::SUB_DMDT: // FO3
{
// std::cout << "DOOR " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::DOOR::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -73,11 +73,8 @@ void ESM4::Flora::load(ESM4::Reader& reader)
case ESM4::SUB_PNAM:
case ESM4::SUB_RNAM:
case ESM4::SUB_VMAD:
{
// std::cout << "FLOR " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::FLOR::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadflst.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
#include "reader.hpp"
//#include "writer.hpp"
@ -50,19 +49,13 @@ void ESM4::FormIdList::load(ESM4::Reader& reader)
{
FormId formId;
reader.getFormId(formId);
mObjects.push_back(formId);
break;
}
default:
// std::cout << "FLST " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
// reader.skipSubRecordData();
throw std::runtime_error("ESM4::FLST::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}
// std::cout << "flst " << mEditorId << " " << mObjects.size() << std::endl; // FIXME
}
// void ESM4::FormIdList::save(ESM4::Writer& writer) const

View file

@ -77,11 +77,8 @@ void ESM4::Furniture::load(ESM4::Reader& reader)
case ESM4::SUB_VMAD:
case ESM4::SUB_WBDT:
case ESM4::SUB_XMRK:
{
// std::cout << "FURN " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::FURN::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,7 +26,6 @@
*/
#include "loadglob.hpp"
#include <iostream> // FIXME
#include <stdexcept>
#include "reader.hpp"
@ -59,11 +58,8 @@ void ESM4::GlobalVariable::load(ESM4::Reader& reader)
case ESM4::SUB_DATA:
case ESM4::SUB_OBND: // TES5
case ESM4::SUB_VMAD: // TES5
{
// std::cout << "GLOB " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::GLOB::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -1,6 +1,8 @@
#include "loadgmst.hpp"
#include <cstdint>
#include <stdexcept>
#include <string>
#include "reader.hpp"

View file

@ -56,11 +56,8 @@ void ESM4::Grass::load(ESM4::Reader& reader)
break;
case ESM4::SUB_MODT:
case ESM4::SUB_OBND:
{
// std::cout << "GRAS " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::GRAS::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadhair.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
#include "reader.hpp"
//#include "writer.hpp"
@ -62,11 +61,8 @@ void ESM4::Hair::load(ESM4::Reader& reader)
reader.get(mBoundRadius);
break;
case ESM4::SUB_MODT:
{
// std::cout << "HAIR " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::HAIR::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,9 +26,9 @@
*/
#include "loadhdpt.hpp"
#include <cstdint>
#include <optional>
#include <stdexcept>
//#include <iostream> // FIXME: testing only
#include "reader.hpp"
//#include "writer.hpp"
@ -66,7 +66,6 @@ void ESM4::HeadPart::load(ESM4::Reader& reader)
std::uint32_t value;
reader.get(value);
type = value;
break;
}
case ESM4::SUB_NAM1: // TES5
@ -84,7 +83,6 @@ void ESM4::HeadPart::load(ESM4::Reader& reader)
"Failed to read ESM4 HDPT record: invalid file type: " + std::to_string(*type));
mTriFile[*type] = std::move(file);
break;
}
case ESM4::SUB_TNAM:
@ -95,11 +93,8 @@ void ESM4::HeadPart::load(ESM4::Reader& reader)
case ESM4::SUB_MODT:
case ESM4::SUB_RNAM:
case ESM4::SUB_CNAM:
{
// std::cout << "HDPT " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::HDPT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -29,6 +29,7 @@
#include <array>
#include <cstdint>
#include <string>
#include "formid.hpp"

View file

@ -52,24 +52,19 @@ void ESM4::IdleAnimation::load(ESM4::Reader& reader)
reader.getZString(mEvent);
break;
case ESM4::SUB_ANAM:
{
reader.getFormId(mParent);
reader.getFormId(mPrevious);
break;
}
case ESM4::SUB_CTDA: // formId
case ESM4::SUB_DATA: // formId
{
// std::cout << "IDLE " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
case ESM4::SUB_MODL:
reader.getZString(mModel);
break;
case ESM4::SUB_MODB:
reader.get(mBoundRadius);
break;
case ESM4::SUB_CTDA: // formId
case ESM4::SUB_DATA: // formId
reader.skipSubRecordData();
break;
default:
throw std::runtime_error("ESM4::IDLE::load - Unknown subrecord " + std::to_string(subHdr.typeId) + " "
+ ESM::printName(subHdr.typeId));

View file

@ -27,7 +27,6 @@
#include "loadidlm.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: testing only
#include "reader.hpp"
//#include "writer.hpp"
@ -52,7 +51,6 @@ void ESM4::IdleMarker::load(ESM4::Reader& reader)
reader.get(mIdleFlags);
break;
case ESM4::SUB_IDLC:
{
if (subHdr.dataSize != 1) // FO3 can have 4?
{
reader.skipSubRecordData();
@ -61,7 +59,6 @@ void ESM4::IdleMarker::load(ESM4::Reader& reader)
reader.get(mIdleCount);
break;
}
case ESM4::SUB_IDLT:
reader.get(mIdleTimer);
break;
@ -80,11 +77,8 @@ void ESM4::IdleMarker::load(ESM4::Reader& reader)
break;
}
case ESM4::SUB_OBND: // object bounds
{
// std::cout << "IDLM " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::IDLM::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -28,6 +28,7 @@
#define ESM4_IDLM_H
#include <cstdint>
#include <string>
#include <vector>
#include "formid.hpp"

View file

@ -28,7 +28,6 @@
*/
#include "loadimod.hpp"
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "reader.hpp"
@ -58,16 +57,10 @@ void ESM4::ItemMod::load(ESM4::Reader& reader)
case ESM4::SUB_YNAM:
case ESM4::SUB_ZNAM:
case ESM4::SUB_DATA:
{
// std::cout << "IMOD " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
std::cout << "IMOD " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize << std::endl;
reader.skipSubRecordData();
// throw std::runtime_error("ESM4::IMOD::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
throw std::runtime_error("ESM4::IMOD::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}
}

View file

@ -27,7 +27,6 @@
#include "loadinfo.hpp"
#include <cstring>
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "reader.hpp"
@ -195,16 +194,10 @@ void ESM4::DialogInfo::load(ESM4::Reader& reader)
case ESM4::SUB_ONAM: // TES5
case ESM4::SUB_QNAM: // TES5 for mScript
case ESM4::SUB_RNAM: // TES5
{
// std::cout << "INFO " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
std::cout << "INFO " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize << std::endl;
reader.skipSubRecordData();
// throw std::runtime_error("ESM4::INFO::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
throw std::runtime_error("ESM4::INFO::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}
}

View file

@ -107,7 +107,6 @@ void ESM4::Ingredient::load(ESM4::Reader& reader)
case ESM4::SUB_ZNAM:
case ESM4::SUB_ETYP: // FO3
{
// std::cout << "INGR " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}

View file

@ -77,11 +77,8 @@ void ESM4::Key::load(ESM4::Reader& reader)
case ESM4::SUB_KWDA:
case ESM4::SUB_OBND:
case ESM4::SUB_VMAD:
{
// std::cout << "KEYM " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::KEYM::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,14 +26,9 @@
*/
#include "loadland.hpp"
#ifdef NDEBUG // FIXME: debuggigng only
#undef NDEBUG
#endif
#include <cstdint>
#include <stdexcept>
#include <iostream> // FIXME: debug only
#include <components/debug/debuglog.hpp>
#include "reader.hpp"

View file

@ -28,7 +28,6 @@
#define ESM4_LAND_H
#include <cstdint>
#include <string>
#include <vector>
#include "formid.hpp"

View file

@ -30,7 +30,6 @@
#include <cfloat> // FLT_MAX for gcc
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
#include "reader.hpp"
//#include "writer.hpp"
@ -50,7 +49,6 @@ void ESM4::LightingTemplate::load(ESM4::Reader& reader)
reader.getZString(mEditorId);
break;
case ESM4::SUB_DATA:
{
if (subHdr.dataSize == 36) // TES4
reader.get(&mLighting, 36);
if (subHdr.dataSize == 40) // FO3/FONV
@ -62,16 +60,10 @@ void ESM4::LightingTemplate::load(ESM4::Reader& reader)
}
else
reader.skipSubRecordData(); // throw?
break;
}
case ESM4::SUB_DALC: // TES5
{
// std::cout << "LGTM " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::LGTM::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -102,11 +102,8 @@ void ESM4::Light::load(ESM4::Reader& reader)
case ESM4::SUB_MODT:
case ESM4::SUB_OBND:
case ESM4::SUB_VMAD: // Dragonborn only?
{
// std::cout << "LIGH " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::LIGH::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,12 +26,7 @@
*/
#include "loadltex.hpp"
#ifdef NDEBUG // FIXME: debuggigng only
#undef NDEBUG
#endif
#include <stdexcept>
//#include <iostream> // FIXME: debugging only
#include "reader.hpp"
//#include "writer.hpp"

View file

@ -27,7 +27,6 @@
#include "loadlvlc.hpp"
#include <stdexcept>
//#include <iostream> // FIXME
#include "reader.hpp"
//#include "writer.hpp"
@ -69,7 +68,7 @@ void ESM4::LevelledCreature::load(ESM4::Reader& reader)
reader.get(lvlo.item);
reader.get(lvlo.count);
// std::cout << "LVLC " << mEditorId << " LVLO lev " << lvlo.level << ", item " << lvlo.item
//<< ", count " << lvlo.count << std::endl;
// << /g", count " << lvlo.count << std::endl;
// FIXME: seems to happen only once, don't add to mLvlObject
// LVLC TesKvatchCreature LVLO lev 1, item 1393819648, count 2
// 0x0001, 0x5314 0000, 0x0002
@ -86,11 +85,8 @@ void ESM4::LevelledCreature::load(ESM4::Reader& reader)
break;
}
case ESM4::SUB_OBND: // FO3
{
// std::cout << "LVLC " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::LVLC::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,7 +26,6 @@
*/
#include "loadlvli.hpp"
#include <iostream> // FIXME: for debugging
#include <stdexcept>
#include "reader.hpp"
@ -66,9 +65,6 @@ void ESM4::LevelledItem::load(ESM4::Reader& reader)
reader.get(lvlo.level);
reader.get(lvlo.item);
reader.get(lvlo.count);
// std::cout << "LVLI " << mEditorId << " LVLO lev " << lvlo.level << ",
// item " << lvlo.item
// << ", count " << lvlo.count << std::endl;
break;
}
else
@ -85,13 +81,8 @@ void ESM4::LevelledItem::load(ESM4::Reader& reader)
case ESM4::SUB_OBND: // FO3/FONV
case ESM4::SUB_COED: // FO3/FONV
case ESM4::SUB_LVLG: // FO3/FONV
{
// std::cout << "LVLI " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize <<
// std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::LVLI::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -28,6 +28,7 @@
#define ESM4_LVLI_H
#include <cstdint>
#include <string>
#include <vector>
#include "formid.hpp"

View file

@ -27,7 +27,6 @@
#include "loadlvln.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: testing only
#include "reader.hpp"
//#include "writer.hpp"
@ -94,11 +93,8 @@ void ESM4::LevelledNpc::load(ESM4::Reader& reader)
case ESM4::SUB_COED: // owner
case ESM4::SUB_OBND: // object bounds
case ESM4::SUB_MODT: // model texture data
{
// std::cout << "LVLN " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::LVLN::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -28,6 +28,7 @@
#define ESM4_LVLN_H
#include <cstdint>
#include <string>
#include <vector>
#include "formid.hpp"

View file

@ -50,11 +50,8 @@ void ESM4::Material::load(ESM4::Reader& reader)
break;
case ESM4::SUB_DNAM:
case ESM4::SUB_DATA:
{
// std::cout << "MATO " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::MATO::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -78,11 +78,8 @@ void ESM4::MiscItem::load(ESM4::Reader& reader)
case ESM4::SUB_OBND:
case ESM4::SUB_VMAD:
case ESM4::SUB_RNAM: // FONV
{
// std::cout << "MISC " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::MISC::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,7 +26,6 @@
*/
#include "loadmset.hpp"
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "reader.hpp"
@ -128,12 +127,8 @@ void ESM4::MediaSet::load(ESM4::Reader& reader)
reader.get(mTime4);
break;
case ESM4::SUB_DATA:
{
// std::cout << "MSET " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::MSET::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadmstt.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: testing only
#include "reader.hpp"
//#include "writer.hpp"
@ -65,11 +64,8 @@ void ESM4::MovableStatic::load(ESM4::Reader& reader)
case ESM4::SUB_MODS:
case ESM4::SUB_FULL:
case ESM4::SUB_MODB:
{
// std::cout << "MSTT " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::MSTT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -29,7 +29,6 @@
#include "loadmusc.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
//#include "formid.hpp"
@ -52,18 +51,13 @@ void ESM4::Music::load(ESM4::Reader& reader)
break;
case ESM4::SUB_FNAM:
reader.getZString(mMusicFile);
// std::cout << "music: " << /*formIdToString(mFormId)*/mEditorId << " " << mMusicFile << std::endl;
break;
case ESM4::SUB_ANAM: // FONV float (attenuation in db? loop if positive?)
case ESM4::SUB_WNAM: // TES5
case ESM4::SUB_PNAM: // TES5
case ESM4::SUB_TNAM: // TES5
{
// std::cout << "MUSC " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::MUSC::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,14 +26,8 @@
*/
#include "loadnavi.hpp"
#ifdef NDEBUG // FIXME: debuggigng only
#undef NDEBUG
#endif
#include <stdexcept>
#include <iostream> // FIXME: debugging only
#include "reader.hpp"
//#include "writer.hpp"
@ -138,8 +132,8 @@ void ESM4::Navigation::NavMeshInfo::load(ESM4::Reader& reader)
island2.load(reader);
islandInfo.push_back(island2); // Maybe don't use a vector for just one entry?
}
else if (flags == FLG_Island) // FIXME: debug only
std::cerr << "nvmi no island but has 0x20 flag" << std::endl;
// else if (flags == FLG_Island) // FIXME: debug only
// std::cerr << "nvmi no island but has 0x20 flag" << std::endl;
reader.get(locationMarker);

View file

@ -29,7 +29,7 @@
#include <cstring>
#include <stdexcept>
#include <iostream> // FIXME: debugging only
#include <components/debug/debuglog.hpp>
#include "reader.hpp"
//#include "writer.hpp"
@ -225,17 +225,16 @@ void ESM4::NavMesh::load(ESM4::Reader& reader)
subSize = 0;
}
else
// const ESM4::SubRecordHeader& subHdr = reader.subRecordHeader();
// std::cout << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
{
const ESM4::SubRecordHeader& subHdr = reader.subRecordHeader();
Log(Debug::Verbose) << ESM::printName(subHdr.typeId) << " skipping...";
reader.skipSubRecordData(); // FIXME: process the subrecord rather than skip
}
break;
}
case ESM4::SUB_XXXX:
{
reader.get(subSize);
break;
}
case ESM4::SUB_NVER: // FO3
case ESM4::SUB_DATA: // FO3
case ESM4::SUB_NVVX: // FO3
@ -245,10 +244,8 @@ void ESM4::NavMesh::load(ESM4::Reader& reader)
case ESM4::SUB_NVGD: // FO3
case ESM4::SUB_NVEX: // FO3
case ESM4::SUB_EDID: // FO3
{
reader.skipSubRecordData(); // FIXME:
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error(
"ESM4::NAVM::load - Unknown subrecord " + ESM::printName(reader.subRecordHeader().typeId));

View file

@ -27,7 +27,6 @@
#include "loadnote.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: testing only
#include "reader.hpp"
//#include "writer.hpp"
@ -62,11 +61,8 @@ void ESM4::Note::load(ESM4::Reader& reader)
case ESM4::SUB_TNAM:
case ESM4::SUB_XNAM:
case ESM4::SUB_OBND:
{
// std::cout << "NOTE " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::NOTE::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,16 +27,10 @@
#include "loadnpc.hpp"
#include <cstring>
#include <iomanip> // NOTE: for testing only
#include <iostream> // NOTE: for testing only
#include <sstream> // NOTE: for testing only
#include <stdexcept>
#include <string> // getline
//#include <boost/iostreams/filtering_streambuf.hpp>
//#include <boost/iostreams/copy.hpp>
#include "formid.hpp" // NOTE: for testing only
#include "formid.hpp"
#include "reader.hpp"
//#include "writer.hpp"
@ -259,7 +253,7 @@ void ESM4::Npc::load(ESM4::Reader& reader)
case ESM4::SUB_DSTD:
case ESM4::SUB_DSTF:
{
#if 1
#if 0
std::vector<unsigned char> dataBuf(subHdr.dataSize);
reader.get(dataBuf.data(), subHdr.dataSize);
@ -278,8 +272,6 @@ void ESM4::Npc::load(ESM4::Reader& reader)
}
std::cout << ss.str() << std::endl;
#else
// std::cout << "NPC_ " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
#endif
break;
@ -318,11 +310,8 @@ void ESM4::Npc::load(ESM4::Reader& reader)
case ESM4::SUB_EAMT: // FO3
case ESM4::SUB_NAM4: // FO3
case ESM4::SUB_COED: // FO3
{
// std::cout << "NPC_ " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::NPC_::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadotft.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
#include "reader.hpp"
//#include "writer.hpp"
@ -53,16 +52,11 @@ void ESM4::Outfit::load(ESM4::Reader& reader)
{
FormId formId;
reader.getFormId(formId);
mInventory.push_back(formId);
}
break;
}
default:
// std::cout << "OTFT " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
// reader.skipSubRecordData();
throw std::runtime_error("ESM4::OTFT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}

View file

@ -28,7 +28,6 @@
#include <cstring>
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
#include "reader.hpp"
//#include "writer.hpp"
@ -163,12 +162,8 @@ void ESM4::AIPackage::load(ESM4::Reader& reader)
case ESM4::SUB_CIS2: // TES5
case ESM4::SUB_VMAD: // TES5
case ESM4::SUB_TPIC: // TES5
{
// std::cout << "PACK " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::PACK::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,8 +27,6 @@
#include "loadpgrd.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
//#include <iomanip> // FIXME: for debugging only
#include "formid.hpp" // FIXME: for mEditorId workaround
#include "reader.hpp"
@ -142,8 +140,6 @@ void ESM4::Pathgrid::load(ESM4::Reader& reader)
}
std::cout << ss.str() << std::endl;
#else
// std::cout << "PGRD " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
#endif
break;

View file

@ -28,7 +28,6 @@
*/
#include "loadpgre.hpp"
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "reader.hpp"
@ -74,16 +73,10 @@ void ESM4::PlacedGrenade::load(ESM4::Reader& reader)
case ESM4::SUB_XIBS:
case ESM4::SUB_XSCL:
case ESM4::SUB_DATA:
{
// std::cout << "PGRE " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
std::cout << "PGRE " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize << std::endl;
reader.skipSubRecordData();
// throw std::runtime_error("ESM4::PGRE::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
throw std::runtime_error("ESM4::PGRE::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}
}

View file

@ -28,7 +28,6 @@
*/
#include "loadpwat.hpp"
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "reader.hpp"
@ -51,16 +50,10 @@ void ESM4::PlaceableWater::load(ESM4::Reader& reader)
case ESM4::SUB_OBND:
case ESM4::SUB_MODL:
case ESM4::SUB_DNAM:
{
// std::cout << "PWAT " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
std::cout << "PWAT " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize << std::endl;
reader.skipSubRecordData();
// throw std::runtime_error("ESM4::PWAT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
throw std::runtime_error("ESM4::PWAT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}
}

View file

@ -27,7 +27,6 @@
#include "loadqust.hpp"
#include <cstring>
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "reader.hpp"
@ -157,12 +156,8 @@ void ESM4::Quest::load(ESM4::Reader& reader)
case ESM4::SUB_SPOR: // TES5
case ESM4::SUB_VMAD: // TES5
case ESM4::SUB_VTCK: // TES5
{
// std::cout << "QUST " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::QUST::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -28,6 +28,8 @@
#define ESM4_QUST_H
#include <cstdint>
#include <string>
#include <vector>
#include "formid.hpp"
#include "script.hpp" // TargetCondition, ScriptDefinition

View file

@ -27,8 +27,6 @@
#include "loadrace.hpp"
#include <cstring>
#include <iomanip> // FIXME: for debugging only
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "formid.hpp"
@ -215,8 +213,8 @@ void ESM4::Race::load(ESM4::Reader& reader)
else
{
reader.skipSubRecordData();
std::cout << "RACE " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize
<< std::endl;
// std::cout << "RACE " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize <<
// std::endl;
}
#endif
break;
@ -518,8 +516,8 @@ void ESM4::Race::load(ESM4::Reader& reader)
else
{
reader.skipSubRecordData();
std::cout << "RACE " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize
<< std::endl;
// std::cout << "RACE " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize <<
// std::endl;
}
break;
@ -584,7 +582,7 @@ void ESM4::Race::load(ESM4::Reader& reader)
mHeadPartIdsFemale[currentIndex] = formId;
// std::cout << mEditorId << (isMale ? " male head " : " female head ")
//<< formIdToString(formId) << " " << currentIndex << std::endl; // FIXME
// << formIdToString(formId) << " " << currentIndex << std::endl; // FIXME
break;
}
@ -686,13 +684,8 @@ void ESM4::Race::load(ESM4::Reader& reader)
case ESM4::SUB_MODT: // FO3
case ESM4::SUB_MODD: // FO3
case ESM4::SUB_ONAM: // FO3
{
// std::cout << "RACE " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize <<
// std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::RACE::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,7 +26,6 @@
*/
#include "loadrefr.hpp"
#include <iostream> // FIXME: debug only
#include <stdexcept>
#include "reader.hpp"
@ -95,7 +94,7 @@ void ESM4::Reference::load(ESM4::Reader& reader)
reader.getFormId(mEsp.parent);
reader.get(mEsp.flags);
// std::cout << "REFR parent: " << formIdToString(mEsp.parent) << " ref " << formIdToString(mFormId)
//<< ", 0x" << std::hex << (mEsp.flags & 0xff) << std::endl;// FIXME
// << ", 0x" << std::hex << (mEsp.flags & 0xff) << std::endl;// FIXME
break;
}
case ESM4::SUB_XTEL:
@ -197,7 +196,7 @@ void ESM4::Reference::load(ESM4::Reader& reader)
case ESM4::SUB_FNAM:
{
// std::cout << "REFR " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
// << subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
@ -322,13 +321,10 @@ void ESM4::Reference::load(ESM4::Reader& reader)
case ESM4::SUB_XSRD: // FONV
case ESM4::SUB_WMI1: // FONV
case ESM4::SUB_XLRL: // Unofficial Skyrim Patch
{
// if (mFormId == 0x0007e90f) // XPRM XPOD
// if (mBaseObj == 0x17) //XPRM XOCP occlusion plane data XMBO bound half extents
// std::cout << "REFR " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::REFR::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,15 +26,8 @@
*/
#include "loadregn.hpp"
#ifdef NDEBUG // FIXME: debuggigng only
#undef NDEBUG
#endif
#include <stdexcept>
//#include <iostream> // FIXME: debug only
//#include "formid.hpp"
#include "reader.hpp"
//#include "writer.hpp"
@ -105,7 +98,7 @@ void ESM4::Region::load(ESM4::Reader& reader)
case ESM4::SUB_RDMO: // not seen in FO3/FONV?
{
// std::cout << "REGN " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
// << subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
@ -130,7 +123,6 @@ void ESM4::Region::load(ESM4::Reader& reader)
case ESM4::SUB_RDSB: // FONV
case ESM4::SUB_RDSI: // FONV
case ESM4::SUB_NVMI: // TES5
{
// RDAT skipping... following is a map
// RDMP skipping... map name
//
@ -145,11 +137,8 @@ void ESM4::Region::load(ESM4::Reader& reader)
// RDAT skipping... following is grass
// RDGS skipping... unknown, maybe grass
// std::cout << "REGN " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData(); // FIXME: process the subrecord rather than skip
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::REGN::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadroad.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
#include "formid.hpp" // FIXME: for workaround
#include "reader.hpp"

View file

@ -28,7 +28,6 @@
*/
#include "loadscol.hpp"
#include <iostream> // FIXME: for debugging only
#include <stdexcept>
#include "reader.hpp"
@ -53,16 +52,10 @@ void ESM4::StaticCollection::load(ESM4::Reader& reader)
case ESM4::SUB_MODT:
case ESM4::SUB_ONAM:
case ESM4::SUB_DATA:
{
// std::cout << "SCOL " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
std::cout << "SCOL " << ESM::printName(subHdr.typeId) << " skipping..." << subHdr.dataSize << std::endl;
reader.skipSubRecordData();
// throw std::runtime_error("ESM4::SCOL::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
throw std::runtime_error("ESM4::SCOL::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}
}

View file

@ -26,8 +26,6 @@
*/
#include "loadscpt.hpp"
#include <iomanip>
#include <iostream> // FIXME: debugging only
#include <stdexcept>
#include "reader.hpp"
@ -132,27 +130,17 @@ void ESM4::Script::load(ESM4::Reader& reader)
break;
}
case ESM4::SUB_SCVR: // assumed always pair with SLSD
{
reader.getZString(localVar.variableName);
mScript.localVarData.push_back(localVar);
break;
}
case ESM4::SUB_SCRV:
{
std::uint32_t index;
reader.get(index);
mScript.localRefVarIndex.push_back(index);
break;
}
default:
// std::cout << "SCPT " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
// reader.skipSubRecordData();
// break;
throw std::runtime_error("ESM4::SCPT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}
}

View file

@ -28,6 +28,7 @@
#define ESM4_SCPT_H
#include <cstdint>
#include <string>
#include "formid.hpp"
#include "script.hpp"

View file

@ -27,7 +27,6 @@
#include "loadscrl.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: testing only
#include "reader.hpp"
//#include "writer.hpp"
@ -53,11 +52,9 @@ void ESM4::Scroll::load(ESM4::Reader& reader)
reader.getLocalizedString(mText);
break;
case ESM4::SUB_DATA:
{
reader.get(mData.value);
reader.get(mData.weight);
break;
}
case ESM4::SUB_MODL:
reader.getZString(mModel);
break;
@ -73,11 +70,8 @@ void ESM4::Scroll::load(ESM4::Reader& reader)
case ESM4::SUB_MODT:
case ESM4::SUB_SPIT:
case ESM4::SUB_CIS2:
{
// std::cout << "SCRL " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::SCRL::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -28,6 +28,7 @@
#define ESM4_SGST_H
#include <cstdint>
#include <string>
#include <vector>
#include "effect.hpp"

View file

@ -74,11 +74,8 @@ void ESM4::SoulGem::load(ESM4::Reader& reader)
case ESM4::SUB_KWDA:
case ESM4::SUB_NAM0:
case ESM4::SUB_OBND:
{
// std::cout << "SLGM " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::SLGM::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadsndr.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: for debugging only
#include "reader.hpp"
//#include "writer.hpp"
@ -47,16 +46,13 @@ void ESM4::SoundReference::load(ESM4::Reader& reader)
reader.getZString(mEditorId);
break;
case ESM4::SUB_CTDA:
{
reader.get(&mTargetCondition, 20);
reader.get(mTargetCondition.runOn);
reader.get(mTargetCondition.reference);
if (mTargetCondition.reference)
reader.adjustFormId(mTargetCondition.reference);
reader.skipSubRecordData(4); // unknown
break;
}
case ESM4::SUB_GNAM:
reader.getFormId(mSoundCategory);
break;
@ -77,12 +73,8 @@ void ESM4::SoundReference::load(ESM4::Reader& reader)
break;
case ESM4::SUB_CNAM: // CRC32 hash
case ESM4::SUB_FNAM: // unknown
{
// std::cout << "SNDR " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::SNDR::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadsoun.hpp"
#include <stdexcept>
//#include <iostream> // FIXME
#include "reader.hpp"
//#include "writer.hpp"
@ -53,7 +52,6 @@ void ESM4::Sound::load(ESM4::Reader& reader)
reader.get(mData);
break;
case ESM4::SUB_SNDD:
{
if (subHdr.dataSize == 8)
reader.get(&mData, 8);
else
@ -61,21 +59,15 @@ void ESM4::Sound::load(ESM4::Reader& reader)
reader.get(mData);
reader.get(mExtra);
}
break;
}
case ESM4::SUB_OBND: // TES5 only
case ESM4::SUB_SDSC: // TES5 only
case ESM4::SUB_ANAM: // FO3
case ESM4::SUB_GNAM: // FO3
case ESM4::SUB_HNAM: // FO3
case ESM4::SUB_RNAM: // FONV
{
// std::cout << "SOUN " << ESM::printName(subHdr.typeId) << " skipping..."
//<< subHdr.dataSize << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::SOUN::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,7 +26,6 @@
*/
#include "loadstat.hpp"
#include <iostream> // FIXME: debug only
#include <stdexcept>
#include "reader.hpp"
@ -76,11 +75,8 @@ void ESM4::Static::load(ESM4::Reader& reader)
case ESM4::SUB_MNAM:
case ESM4::SUB_BRUS: // FONV
case ESM4::SUB_RNAM: // FONV
{
// std::cout << "STAT " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::STAT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,7 +26,6 @@
*/
#include "loadtact.hpp"
#include <iostream> // FIXME: testing only
#include <stdexcept>
#include "reader.hpp"
@ -71,11 +70,8 @@ void ESM4::TalkingActivator::load(ESM4::Reader& reader)
case ESM4::SUB_PNAM:
case ESM4::SUB_MODT: // texture file hash?
case ESM4::SUB_OBND:
{
// std::cout << "TACT " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::TACT::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadterm.hpp"
#include <stdexcept>
//#include <iostream> // FIXME: testing only
#include "reader.hpp"
//#include "writer.hpp"
@ -83,11 +82,8 @@ void ESM4::Terminal::load(ESM4::Reader& reader)
case ESM4::SUB_TNAM:
case ESM4::SUB_OBND:
case ESM4::SUB_MODS: // FONV
{
// std::cout << "TERM " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::TERM::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,14 +26,8 @@
*/
#include "loadtes4.hpp"
#ifdef NDEBUG // FIXME: debuggigng only
#undef NDEBUG
#endif
#include <stdexcept>
#include <iostream> // FIXME: debugging only
#include "common.hpp"
#include "formid.hpp"
#include "reader.hpp"
@ -106,11 +100,8 @@ void ESM4::Header::load(ESM4::Reader& reader)
case ESM4::SUB_INCC:
case ESM4::SUB_OFST: // Oblivion only?
case ESM4::SUB_DELE: // Oblivion only?
{
// std::cout << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::Header::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,6 +27,8 @@
#ifndef ESM4_TES4_H
#define ESM4_TES4_H
#include <cstdint>
#include <string>
#include <vector>
#include "../esm/common.hpp" // ESMVersion, MasterData

View file

@ -61,11 +61,8 @@ void ESM4::Tree::load(ESM4::Reader& reader)
case ESM4::SUB_OBND:
case ESM4::SUB_PFIG:
case ESM4::SUB_PFPC:
{
// std::cout << "TREE " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::TREE::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -26,7 +26,6 @@
*/
#include "loadtxst.hpp"
#include <iostream> // FIXME: testing only
#include <stdexcept>
#include "reader.hpp"
@ -73,11 +72,8 @@ void ESM4::TextureSet::load(ESM4::Reader& reader)
case ESM4::SUB_DNAM:
case ESM4::SUB_DODT:
case ESM4::SUB_OBND: // object bounds
{
// std::cout << "TXST " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::TXST::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -176,11 +176,8 @@ void ESM4::Weapon::load(ESM4::Reader& reader)
case ESM4::SUB_WNM6: // FONV
case ESM4::SUB_WNM7: // FONV
case ESM4::SUB_EFSD: // FONV DeadMoney
{
// std::cout << "WEAP " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData();
break;
}
default:
throw std::runtime_error("ESM4::WEAP::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -27,7 +27,6 @@
#include "loadwrld.hpp"
#include <stdexcept>
// #include <iostream> // FIXME: debug only
#include "reader.hpp"
// #include "writer.hpp"
@ -146,6 +145,20 @@ void ESM4::World::load(ESM4::Reader& reader)
case ESM4::SUB_PNAM:
reader.get(mParentUseFlags);
break;
case ESM4::SUB_OFST:
if (subSize)
{
reader.skipSubRecordData(subSize); // special post XXXX
reader.updateRecordRead(subSize); // WARNING: manually update
subSize = 0;
}
else
reader.skipSubRecordData(); // FIXME: process the subrecord rather than skip
break;
case ESM4::SUB_XXXX:
reader.get(subSize);
break;
case ESM4::SUB_RNAM: // multiple
case ESM4::SUB_MHDT:
case ESM4::SUB_LTMP:
@ -165,29 +178,8 @@ void ESM4::World::load(ESM4::Reader& reader)
case ESM4::SUB_XNAM: // FO3
case ESM4::SUB_IMPS: // FO3 Anchorage
case ESM4::SUB_IMPF: // FO3 Anchorage
{
// std::cout << "WRLD " << ESM::printName(subHdr.typeId) << " skipping..." << std::endl;
reader.skipSubRecordData(); // FIXME: process the subrecord rather than skip
reader.skipSubRecordData();
break;
}
case ESM4::SUB_OFST:
{
if (subSize)
{
reader.skipSubRecordData(subSize); // special post XXXX
reader.updateRecordRead(subSize); // WARNING: manually update
subSize = 0;
}
else
reader.skipSubRecordData(); // FIXME: process the subrecord rather than skip
break;
}
case ESM4::SUB_XXXX:
{
reader.get(subSize);
break;
}
default:
throw std::runtime_error("ESM4::WRLD::load - Unknown subrecord " + ESM::printName(subHdr.typeId));
}

View file

@ -22,17 +22,12 @@
*/
#include "reader.hpp"
#ifdef NDEBUG // FIXME: debugging only
#undef NDEBUG
#endif
#undef DEBUG_GROUPSTACK
#include <iomanip> // for debugging
#include <iostream> // for debugging
#include <sstream> // for debugging
#include <iomanip>
#include <iostream>
#include <sstream>
#include <stdexcept>
#include <unordered_map>
#if defined(_MSC_VER)
#pragma warning(push)