瀏覽代碼

Handle MatrixF default values

Lukas Aldershaab 5 年之前
父節點
當前提交
a7f3724dd1
共有 1 個文件被更改,包括 11 次插入6 次删除
  1. 11 6
      Engine/source/console/engineXMLExport.cpp

+ 11 - 6
Engine/source/console/engineXMLExport.cpp

@@ -255,12 +255,16 @@ static String getValueForType(const EngineTypeInfo* type, void* addr)
       {
       {
          const EngineTypeInfo* fieldType = (*fieldTable)[i].getType();
          const EngineTypeInfo* fieldType = (*fieldTable)[i].getType();
          U32 fieldOffset = (*fieldTable)[i].getOffset();
          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;
          break;
 
 
       default:
       default:
+         AssertFatal(true, "Unknown EngineExportKind: " + exportInfo->getExportKind());
          break;
          break;
       }
       }
    }
    }