diff --git a/premake5.lua b/premake5.lua index 638c8583..7980e462 100644 --- a/premake5.lua +++ b/premake5.lua @@ -57,6 +57,10 @@ workspace "OpenAssetTools" "__STDC_WANT_LIB_EXT1__=1", "_CRT_SECURE_NO_WARNINGS" } + + filter "options:debug-structureddatadef" + defines { "STRUCTUREDDATADEF_DEBUG" } + filter {} -- ======================== -- ThirdParty diff --git a/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.cpp b/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.cpp index 5739c0c6..1256375a 100644 --- a/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.cpp +++ b/src/ObjWriting/StructuredDataDef/StructuredDataDefDumper.cpp @@ -46,6 +46,13 @@ void StructuredDataDefDumperNew::DumpEnum(const CommonStructuredDataEnum& _enum) void StructuredDataDefDumperNew::DumpStruct(const CommonStructuredDataStruct& _struct) { +#ifdef STRUCTUREDDATADEF_DEBUG + Indent(); + m_stream << "// BitOffset: " << _struct.m_bit_offset << "\n"; + Indent(); + m_stream << "// Size (Byte): " << _struct.m_size_in_byte << "\n"; +#endif + Indent(); m_stream << "struct " << _struct.m_name << "\n"; @@ -78,6 +85,11 @@ void StructuredDataDefDumperNew::DumpDef(const CommonStructuredDataDef& def) m_stream << "// ====================\n"; +#ifdef STRUCTUREDDATADEF_DEBUG + m_stream << "// Size (Byte): " << def.m_size_in_byte << "\n"; + m_stream << "// Checksum: " << def.m_checksum << "\n"; +#endif + m_stream << "version " << def.m_version << "\n{\n"; IncIndent(); diff --git a/tools/scripts/options.lua b/tools/scripts/options.lua index e69de29b..c9db5d53 100644 --- a/tools/scripts/options.lua +++ b/tools/scripts/options.lua @@ -0,0 +1,4 @@ +newoption { + trigger = "debug-structureddatadef", + description = "Activate additional debugging logic for StructuredDataDef assets" +} \ No newline at end of file