diff --git a/include/Nazara/Core/Resource.hpp b/include/Nazara/Core/Resource.hpp index d29ce38cb..f1ac2f761 100644 --- a/include/Nazara/Core/Resource.hpp +++ b/include/Nazara/Core/Resource.hpp @@ -52,7 +52,7 @@ class NAZARA_API NzResource bool RemoveResourceListener(NzResourceListener* listener) const; bool RemoveResourceReference() const; - void SetPersistent(bool persistent = true, bool checkReferenceCount = true); + void SetPersistent(bool persistent = true, bool checkReferenceCount = false); protected: void NotifyCreated(); diff --git a/src/Nazara/3D/Loaders/Mesh/Loader.cpp b/src/Nazara/3D/Loaders/Mesh/Loader.cpp index 57095c37f..0e9458205 100644 --- a/src/Nazara/3D/Loaders/Mesh/Loader.cpp +++ b/src/Nazara/3D/Loaders/Mesh/Loader.cpp @@ -24,7 +24,7 @@ namespace NazaraUnused(parameters); std::unique_ptr mesh(new NzMesh); - mesh->SetPersistent(false, false); + mesh->SetPersistent(false); if (!mesh->LoadFromStream(stream)) { NazaraError("Failed to load model mesh"); @@ -44,7 +44,7 @@ namespace if (!animationPath.IsEmpty()) { std::unique_ptr animation(new NzAnimation); - animation->SetPersistent(false, false); + animation->SetPersistent(false); if (animation->LoadFromFile(animationPath, parameters.animation) && model->SetAnimation(animation.get())) animation.release(); else @@ -62,7 +62,7 @@ namespace if (!mat.IsEmpty()) { std::unique_ptr material(new NzMaterial); - material->SetPersistent(false, false); + material->SetPersistent(false); if (material->LoadFromFile(mat, parameters.material)) { model->SetMaterial(i, material.get()); diff --git a/src/Nazara/Renderer/Loaders/Texture/Loader.cpp b/src/Nazara/Renderer/Loaders/Texture/Loader.cpp index 54d334571..1e32af5a3 100644 --- a/src/Nazara/Renderer/Loaders/Texture/Loader.cpp +++ b/src/Nazara/Renderer/Loaders/Texture/Loader.cpp @@ -23,7 +23,7 @@ namespace NazaraUnused(parameters); std::unique_ptr texture(new NzTexture); - texture->SetPersistent(false, false); + texture->SetPersistent(false); if (!texture->LoadFromStream(stream)) { diff --git a/src/Nazara/Renderer/Renderer.cpp b/src/Nazara/Renderer/Renderer.cpp index 62de34dc6..861594e6b 100644 --- a/src/Nazara/Renderer/Renderer.cpp +++ b/src/Nazara/Renderer/Renderer.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -746,7 +747,7 @@ bool NzRenderer::Initialize(bool initializeDebugDrawer) elements[1].type = nzElementType_Float2; elements[1].usage = nzElementUsage_TexCoord; - NzVertexDeclaration* declaration = new NzVertexDeclaration; + std::unique_ptr declaration(new NzVertexDeclaration); if (!declaration->Create(elements, 2)) { NazaraError("Failed to create quad declaration"); @@ -755,9 +756,10 @@ bool NzRenderer::Initialize(bool initializeDebugDrawer) return false; } - declaration->SetPersistent(false, false); + declaration->SetPersistent(false); - s_quadBuffer = new NzVertexBuffer(declaration, 4, nzBufferStorage_Hardware, nzBufferUsage_Dynamic); + s_quadBuffer = new NzVertexBuffer(declaration.get(), 4, nzBufferStorage_Hardware, nzBufferUsage_Dynamic); + declaration.release(); if (initializeDebugDrawer && !NzDebugDrawer::Initialize()) NazaraWarning("Failed to initialize debug drawer"); // Non-critique diff --git a/src/Nazara/Renderer/ShaderBuilder.cpp b/src/Nazara/Renderer/ShaderBuilder.cpp index 7a4e218d6..fa3e86c36 100644 --- a/src/Nazara/Renderer/ShaderBuilder.cpp +++ b/src/Nazara/Renderer/ShaderBuilder.cpp @@ -452,7 +452,7 @@ namespace } shader->SetFlags(flags); - shader->SetPersistent(false, false); + shader->SetPersistent(false); return shader.release(); }