Explorar o código

resource: remove duplicated file loading

Daniele Bartolini %!s(int64=2) %!d(string=hai) anos
pai
achega
c942544133

+ 1 - 1
src/device/device.cpp

@@ -333,7 +333,7 @@ void Device::run()
 	_resource_manager->register_type(RESOURCE_TYPE_CONFIG,           RESOURCE_VERSION_CONFIG,           cor::load, cor::unload, NULL,        NULL);
 	_resource_manager->register_type(RESOURCE_TYPE_CONFIG,           RESOURCE_VERSION_CONFIG,           cor::load, cor::unload, NULL,        NULL);
 	_resource_manager->register_type(RESOURCE_TYPE_FONT,             RESOURCE_VERSION_FONT,             NULL,      NULL,        NULL,        NULL);
 	_resource_manager->register_type(RESOURCE_TYPE_FONT,             RESOURCE_VERSION_FONT,             NULL,      NULL,        NULL,        NULL);
 	_resource_manager->register_type(RESOURCE_TYPE_LEVEL,            RESOURCE_VERSION_LEVEL,            NULL,      NULL,        NULL,        NULL);
 	_resource_manager->register_type(RESOURCE_TYPE_LEVEL,            RESOURCE_VERSION_LEVEL,            NULL,      NULL,        NULL,        NULL);
-	_resource_manager->register_type(RESOURCE_TYPE_MATERIAL,         RESOURCE_VERSION_MATERIAL,         mtr::load, mtr::unload, mtr::online, mtr::offline);
+	_resource_manager->register_type(RESOURCE_TYPE_MATERIAL,         RESOURCE_VERSION_MATERIAL,         NULL,      NULL,        mtr::online, mtr::offline);
 	_resource_manager->register_type(RESOURCE_TYPE_MESH,             RESOURCE_VERSION_MESH,             mhr::load, mhr::unload, mhr::online, mhr::offline);
 	_resource_manager->register_type(RESOURCE_TYPE_MESH,             RESOURCE_VERSION_MESH,             mhr::load, mhr::unload, mhr::online, mhr::offline);
 	_resource_manager->register_type(RESOURCE_TYPE_PACKAGE,          RESOURCE_VERSION_PACKAGE,          NULL,      NULL,        NULL,        NULL);
 	_resource_manager->register_type(RESOURCE_TYPE_PACKAGE,          RESOURCE_VERSION_PACKAGE,          NULL,      NULL,        NULL,        NULL);
 	_resource_manager->register_type(RESOURCE_TYPE_PHYSICS_CONFIG,   RESOURCE_VERSION_PHYSICS_CONFIG,   NULL,      NULL,        NULL,        NULL);
 	_resource_manager->register_type(RESOURCE_TYPE_PHYSICS_CONFIG,   RESOURCE_VERSION_PHYSICS_CONFIG,   NULL,      NULL,        NULL,        NULL);

+ 0 - 10
src/resource/material_resource.cpp

@@ -80,11 +80,6 @@ namespace material_resource
 
 
 namespace material_resource_internal
 namespace material_resource_internal
 {
 {
-	void *load(File &file, Allocator &a)
-	{
-		return device()->_material_manager->load(file, a);
-	}
-
 	void online(StringId64 id, ResourceManager &rm)
 	void online(StringId64 id, ResourceManager &rm)
 	{
 	{
 		device()->_material_manager->online(id, rm);
 		device()->_material_manager->online(id, rm);
@@ -95,11 +90,6 @@ namespace material_resource_internal
 		device()->_material_manager->offline(id, rm);
 		device()->_material_manager->offline(id, rm);
 	}
 	}
 
 
-	void unload(Allocator &a, void *res)
-	{
-		device()->_material_manager->unload(a, res);
-	}
-
 } // namespace material_resource_internal
 } // namespace material_resource_internal
 
 
 #if CROWN_CAN_COMPILE
 #if CROWN_CAN_COMPILE

+ 5 - 2
src/resource/material_resource.h

@@ -70,11 +70,14 @@ struct UniformHandle
 
 
 namespace material_resource_internal
 namespace material_resource_internal
 {
 {
+	///
 	s32 compile(CompileOptions &opts);
 	s32 compile(CompileOptions &opts);
-	void *load(File &file, Allocator &a);
+
+	///
 	void online(StringId64 id, ResourceManager &rm);
 	void online(StringId64 id, ResourceManager &rm);
+
+	///
 	void offline(StringId64 id, ResourceManager &rm);
 	void offline(StringId64 id, ResourceManager &rm);
-	void unload(Allocator &a, void *res);
 
 
 } // namespace material_resource_internal
 } // namespace material_resource_internal
 
 

+ 0 - 14
src/world/material_manager.cpp

@@ -41,15 +41,6 @@ MaterialManager::~MaterialManager()
 	}
 	}
 }
 }
 
 
-void *MaterialManager::load(File &file, Allocator &a)
-{
-	const u32 file_size = file.size();
-	void *res = a.allocate(file_size);
-	file.read(res, file_size);
-	CE_ASSERT(*(u32 *)res == RESOURCE_HEADER(RESOURCE_VERSION_MATERIAL), "Wrong version");
-	return res;
-}
-
 void MaterialManager::online(StringId64 id, ResourceManager &rm)
 void MaterialManager::online(StringId64 id, ResourceManager &rm)
 {
 {
 	using namespace material_resource;
 	using namespace material_resource;
@@ -98,11 +89,6 @@ void MaterialManager::offline(StringId64 id, ResourceManager &rm)
 	}
 	}
 }
 }
 
 
-void MaterialManager::unload(Allocator &a, void *res)
-{
-	a.deallocate(res);
-}
-
 Material *MaterialManager::create_material(const MaterialResource *resource)
 Material *MaterialManager::create_material(const MaterialResource *resource)
 {
 {
 	Material *mat = hash_map::get(_materials, resource, (Material *)NULL);
 	Material *mat = hash_map::get(_materials, resource, (Material *)NULL);

+ 0 - 6
src/world/material_manager.h

@@ -25,18 +25,12 @@ struct MaterialManager
 	///
 	///
 	~MaterialManager();
 	~MaterialManager();
 
 
-	///
-	void *load(File &file, Allocator &a);
-
 	///
 	///
 	void online(StringId64 id, ResourceManager &rm);
 	void online(StringId64 id, ResourceManager &rm);
 
 
 	///
 	///
 	void offline(StringId64 id, ResourceManager &rm);
 	void offline(StringId64 id, ResourceManager &rm);
 
 
-	///
-	void unload(Allocator &a, void *res);
-
 	/// Instantiates the material @a resource.
 	/// Instantiates the material @a resource.
 	Material *create_material(const MaterialResource *resource);
 	Material *create_material(const MaterialResource *resource);