Browse Source

Add resource version check

Daniele Bartolini 10 years ago
parent
commit
931aeadd29

+ 2 - 1
src/renderers/shader.cpp

@@ -125,7 +125,7 @@ namespace shader_resource
 		Buffer tmpvs = opts.read(tmpvs_path.c_str());
 		Buffer tmpfs = opts.read(tmpfs_path.c_str());
 
-		opts.write(uint32_t(1)); // version
+		opts.write(uint32_t(SHADER_VERSION));
 		opts.write(uint32_t(array::size(tmpvs)));
 		opts.write(array::begin(tmpvs), array::size(tmpvs));
 		opts.write(uint32_t(array::size(tmpfs)));
@@ -143,6 +143,7 @@ namespace shader_resource
 		BinaryReader br(file);
 		uint32_t version;
 		br.read(version);
+		CE_ASSERT(version == SHADER_VERSION, "Wrong version");
 
 		uint32_t vs_code_size;
 		br.read(vs_code_size);

+ 1 - 0
src/resource/font_resource.cpp

@@ -76,6 +76,7 @@ namespace font_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == FONT_VERSION, "Wrong version");
 		return res;
 	}
 

+ 1 - 0
src/resource/level_resource.cpp

@@ -231,6 +231,7 @@ namespace level_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == LEVEL_VERSION, "Wrong version");
 		return res;
 	}
 

+ 1 - 0
src/resource/lua_resource.cpp

@@ -63,6 +63,7 @@ namespace lua_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == SCRIPT_VERSION, "Wrong version");
 		return res;
 	}
 

+ 1 - 0
src/resource/material_resource.cpp

@@ -205,6 +205,7 @@ namespace material_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == MATERIAL_VERSION, "Wrong version");
 		return res;
 	}
 

+ 1 - 0
src/resource/mesh_resource.cpp

@@ -173,6 +173,7 @@ namespace mesh_resource
 
 		uint32_t version;
 		br.read(version);
+		CE_ASSERT(version == MESH_VERSION, "Wrong version");
 
 		bgfx::VertexDecl decl;
 		br.read(decl);

+ 1 - 0
src/resource/package_resource.cpp

@@ -149,6 +149,7 @@ namespace package_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == PACKAGE_VERSION, "Wrong version");
 		return res;
 	}
 

+ 2 - 0
src/resource/physics_resource.cpp

@@ -342,6 +342,7 @@ namespace physics_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == PHYSICS_VERSION, "Wrong version");
 		return res;
 	}
 
@@ -716,6 +717,7 @@ namespace physics_config_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == PHYSICS_CONFIG_VERSION, "Wrong version");
 		return res;
 	}
 

+ 1 - 0
src/resource/sound_resource.cpp

@@ -73,6 +73,7 @@ namespace sound_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == SOUND_VERSION, "Wrong version");
 		return res;
 	}
 

+ 1 - 0
src/resource/sprite_resource.cpp

@@ -242,6 +242,7 @@ namespace sprite_animation_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == SPRITE_VERSION, "Wrong version");
 		return res;
 	}
 

+ 1 - 0
src/resource/unit_resource.cpp

@@ -359,6 +359,7 @@ namespace unit_resource
 		const uint32_t file_size = file.size();
 		void* res = a.allocate(file_size);
 		file.read(res, file_size);
+		CE_ASSERT(*(uint32_t*)res == UNIT_VERSION, "Wrong version");
 		return res;
 	}