Просмотр исходного кода

resource: add optional transform name

Will become useful when introducing animation skeletons in later commits.

Part-of: #276
Daniele Bartolini 1 год назад
Родитель
Сommit
eda782ecdc
3 измененных файлов с 5 добавлено и 1 удалено
  1. 1 1
      src/resource/types.h
  2. 3 0
      src/resource/unit_compiler.cpp
  3. 1 0
      src/world/types.h

+ 1 - 1
src/resource/types.h

@@ -77,7 +77,7 @@ struct Platform
 #define RESOURCE_VERSION_STATE_MACHINE    RESOURCE_VERSION(6)
 #define RESOURCE_VERSION_CONFIG           RESOURCE_VERSION(1)
 #define RESOURCE_VERSION_FONT             RESOURCE_VERSION(1)
-#define RESOURCE_VERSION_UNIT             RESOURCE_VERSION(11)
+#define RESOURCE_VERSION_UNIT             RESOURCE_VERSION(12)
 #define RESOURCE_VERSION_LEVEL            (RESOURCE_VERSION_UNIT + 4) //!< Level embeds UnitResource
 #define RESOURCE_VERSION_MATERIAL         RESOURCE_VERSION(6)
 #define RESOURCE_VERSION_MESH             RESOURCE_VERSION(6)

+ 3 - 0
src/resource/unit_compiler.cpp

@@ -83,12 +83,15 @@ static s32 compile_transform(Buffer &output, const char *json, CompileOptions &o
 	td.position = RETURN_IF_ERROR(sjson::parse_vector3   (obj["position"]), opts);
 	td.rotation = RETURN_IF_ERROR(sjson::parse_quaternion(obj["rotation"]), opts);
 	td.scale    = RETURN_IF_ERROR(sjson::parse_vector3   (obj["scale"]), opts);
+	if (json_object::has(obj, "name"))
+		td.name = RETURN_IF_ERROR(sjson::parse_string_id(obj["name"]), opts);
 
 	FileBuffer fb(output);
 	BinaryWriter bw(fb);
 	bw.write(td.position);
 	bw.write(td.rotation);
 	bw.write(td.scale);
+	bw.write(td.name);
 	return 0;
 }
 

+ 1 - 0
src/world/types.h

@@ -341,6 +341,7 @@ struct TransformDesc
 	Vector3 position;
 	Quaternion rotation;
 	Vector3 scale;
+	StringId32 name;
 };
 
 /// Camera description.