`asset.version` is a required field so write "2.0" when `asset.version` is empty. Fixes #308
diff --git a/tests/tester.cc b/tests/tester.cc
index e0a174b..0b617b2 100644
--- a/tests/tester.cc
+++ b/tests/tester.cc
@@ -432,7 +432,6 @@
nlohmann::json j = nlohmann::json::parse(os.str());
REQUIRE(1 == j["materials"].size());
- REQUIRE(j["asset"].is_null());
REQUIRE(j["materials"][0].is_object());
}
diff --git a/tiny_gltf.h b/tiny_gltf.h
index a6115d4..2fd3e90 100644
--- a/tiny_gltf.h
+++ b/tiny_gltf.h
@@ -4,7 +4,7 @@
//
// The MIT License (MIT)
//
-// Copyright (c) 2015 - 2020 Syoyo Fujita, Aurélien Chatelain and many
+// Copyright (c) 2015 - Present Syoyo Fujita, Aurélien Chatelain and many
// contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -1071,7 +1071,7 @@
};
struct Asset {
- std::string version; // required
+ std::string version = "2.0"; // required
std::string generator;
std::string minVersion;
std::string copyright;
@@ -6760,10 +6760,15 @@
SerializeStringProperty("copyright", asset.copyright, o);
}
- if (!asset.version.empty()) {
- SerializeStringProperty("version", asset.version, o);
+ if (asset.version.empty()) {
+ // Just in case
+ // `version` must be defined
+ asset.version = "2.0";
}
+ // TODO(syoyo): Do we need to check if `version` is greater or equal to 2.0?
+ SerializeStringProperty("version", asset.version, o);
+
if (asset.extras.Keys().size()) {
SerializeValue("extras", asset.extras, o);
}