summaryrefslogtreecommitdiff
path: root/src/project.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-03-31 12:02:44 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-03-31 12:02:44 -0400
commit89614d1dee1049a08e64aead95de6fb28fa7b150 (patch)
tree77e59a92c370154d7b7d859506e570a1fffd66c3 /src/project.cpp
parent119c83096a81c5aef45a0dbef029bd2e49d2e977 (diff)
pke: parse uuid from scene and project files
Diffstat (limited to 'src/project.cpp')
-rw-r--r--src/project.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/project.cpp b/src/project.cpp
index d371f68..c94451f 100644
--- a/src/project.cpp
+++ b/src/project.cpp
@@ -175,7 +175,7 @@ void Proj_DeserializeEntityType(std::istream &stream) {
// TODO leaks et.EntityTypeCode
continue;
}
- EntityType *etPtr = EntityType_Create();
+ EntityType *etPtr = EntityType_Create(et.uuid);
strncpy(etPtr->modelAssetKey, et.modelAssetKey, AssetKeyLength);
etPtr->entityTypeCode = et.entityTypeCode;
if (createInstanceSig[0] == '\0') {
@@ -224,6 +224,11 @@ void Proj_DeserializeEntityType(std::istream &stream) {
assert(result2 == STR2NUM_ERROR::SUCCESS);
continue;
}
+ if (strstr(projReadLine, PKE_PROJ_FILE_ENTITY_TYPE_UUID)) {
+ uint64_t prefixLen = strlen(PKE_PROJ_FILE_ENTITY_TYPE_UUID);
+ (projReadLine + prefixLen) >> et.uuid;
+ continue;
+ }
if (strstr(projReadLine, PKE_PROJ_FILE_ENTITY_TYPE_CREATE_INSTANCE_CALLBACK_SIGNATURE)) {
uint64_t prefixLen = strlen(PKE_PROJ_FILE_ENTITY_TYPE_CREATE_INSTANCE_CALLBACK_SIGNATURE);
strncpy(createInstanceSig, projReadLine + prefixLen, CallbackSignatureLength + 1);