From a7f3724dd14d9e51f08c239ed179d02479813c94 Mon Sep 17 00:00:00 2001 From: Lukas Aldershaab Date: Sun, 4 Oct 2020 02:28:15 +0200 Subject: [PATCH] Handle MatrixF default values --- Engine/source/console/engineXMLExport.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Engine/source/console/engineXMLExport.cpp b/Engine/source/console/engineXMLExport.cpp index 2da81ff50..8e6b0b1d2 100644 --- a/Engine/source/console/engineXMLExport.cpp +++ b/Engine/source/console/engineXMLExport.cpp @@ -255,12 +255,16 @@ static String getValueForType(const EngineTypeInfo* type, void* addr) { const EngineTypeInfo* fieldType = (*fieldTable)[i].getType(); U32 fieldOffset = (*fieldTable)[i].getOffset(); - AssertFatal((*fieldTable)[i].getNumElements() == 1, "engineXMLExport - numElements != 1 not supported currently."); - if (i == 0) { - value = getValueForType(fieldType, (void*)((size_t)addr + fieldOffset)); - } - else { - value += " " + getValueForType(fieldType, (void*)((size_t)addr + fieldOffset)); + U32 numElements = (*fieldTable)[i].getNumElements(); + + for (int j = 0; j < numElements; ++j) + { + if (i == 0 && j == 0) { + value = getValueForType(fieldType, (void*)((size_t)addr + fieldOffset)); + } + else { + value += " " + getValueForType(fieldType, (void*)((size_t)addr + (size_t)fieldOffset * ((size_t)j * fieldType->getInstanceSize()))); + } } } @@ -572,6 +576,7 @@ static void exportScope(const EngineExportScope* scope, SimXMLDocument* xml, boo break; default: + AssertFatal(true, "Unknown EngineExportKind: " + exportInfo->getExportKind()); break; } }