Graphics/SpriteLibrary: Fix missing initialization/uninitialization (fixes crash at exit)
Former-commit-id: c7bbd781d163a8456f1fadd0f71451adc5a1bd1a
This commit is contained in:
parent
9ae27d990c
commit
c359c6925e
|
|
@ -23,6 +23,9 @@ namespace Nz
|
||||||
|
|
||||||
class NAZARA_GRAPHICS_API Sprite : public InstancedRenderable
|
class NAZARA_GRAPHICS_API Sprite : public InstancedRenderable
|
||||||
{
|
{
|
||||||
|
friend SpriteLibrary;
|
||||||
|
friend class Graphics;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
inline Sprite();
|
inline Sprite();
|
||||||
inline Sprite(MaterialRef material);
|
inline Sprite(MaterialRef material);
|
||||||
|
|
@ -57,6 +60,9 @@ namespace Nz
|
||||||
void MakeBoundingVolume() const override;
|
void MakeBoundingVolume() const override;
|
||||||
void UpdateData(InstanceData* instanceData) const override;
|
void UpdateData(InstanceData* instanceData) const override;
|
||||||
|
|
||||||
|
static bool Initialize();
|
||||||
|
static void Uninitialize();
|
||||||
|
|
||||||
Color m_color;
|
Color m_color;
|
||||||
MaterialRef m_material;
|
MaterialRef m_material;
|
||||||
Rectf m_textureCoords;
|
Rectf m_textureCoords;
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
#include <Nazara/Graphics/RenderTechniques.hpp>
|
#include <Nazara/Graphics/RenderTechniques.hpp>
|
||||||
#include <Nazara/Graphics/SkinningManager.hpp>
|
#include <Nazara/Graphics/SkinningManager.hpp>
|
||||||
#include <Nazara/Graphics/SkyboxBackground.hpp>
|
#include <Nazara/Graphics/SkyboxBackground.hpp>
|
||||||
|
#include <Nazara/Graphics/Sprite.hpp>
|
||||||
#include <Nazara/Graphics/Formats/MeshLoader.hpp>
|
#include <Nazara/Graphics/Formats/MeshLoader.hpp>
|
||||||
#include <Nazara/Graphics/Formats/OBJLoader.hpp>
|
#include <Nazara/Graphics/Formats/OBJLoader.hpp>
|
||||||
#include <Nazara/Graphics/Formats/TextureLoader.hpp>
|
#include <Nazara/Graphics/Formats/TextureLoader.hpp>
|
||||||
|
|
@ -89,6 +90,12 @@ namespace Nz
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Sprite::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialize sprites");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Loaders
|
// Loaders
|
||||||
Loaders::RegisterOBJ();
|
Loaders::RegisterOBJ();
|
||||||
|
|
||||||
|
|
@ -181,6 +188,7 @@ namespace Nz
|
||||||
ParticleController::Uninitialize();
|
ParticleController::Uninitialize();
|
||||||
Material::Uninitialize();
|
Material::Uninitialize();
|
||||||
SkyboxBackground::Uninitialize();
|
SkyboxBackground::Uninitialize();
|
||||||
|
Sprite::Uninitialize();
|
||||||
|
|
||||||
NazaraNotice("Uninitialized: Graphics module");
|
NazaraNotice("Uninitialized: Graphics module");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,5 +51,21 @@ namespace Nz
|
||||||
*texCoordPtr++ = m_textureCoords.GetCorner(RectCorner_RightBottom);
|
*texCoordPtr++ = m_textureCoords.GetCorner(RectCorner_RightBottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Sprite::Initialize()
|
||||||
|
{
|
||||||
|
if (!SpriteLibrary::Initialize())
|
||||||
|
{
|
||||||
|
NazaraError("Failed to initialise library");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Sprite::Uninitialize()
|
||||||
|
{
|
||||||
|
SpriteLibrary::Uninitialize();
|
||||||
|
}
|
||||||
|
|
||||||
SpriteLibrary::LibraryMap Sprite::s_library;
|
SpriteLibrary::LibraryMap Sprite::s_library;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue