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
|
||||
{
|
||||
friend SpriteLibrary;
|
||||
friend class Graphics;
|
||||
|
||||
public:
|
||||
inline Sprite();
|
||||
inline Sprite(MaterialRef material);
|
||||
|
|
@ -57,6 +60,9 @@ namespace Nz
|
|||
void MakeBoundingVolume() const override;
|
||||
void UpdateData(InstanceData* instanceData) const override;
|
||||
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
Color m_color;
|
||||
MaterialRef m_material;
|
||||
Rectf m_textureCoords;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
#include <Nazara/Graphics/RenderTechniques.hpp>
|
||||
#include <Nazara/Graphics/SkinningManager.hpp>
|
||||
#include <Nazara/Graphics/SkyboxBackground.hpp>
|
||||
#include <Nazara/Graphics/Sprite.hpp>
|
||||
#include <Nazara/Graphics/Formats/MeshLoader.hpp>
|
||||
#include <Nazara/Graphics/Formats/OBJLoader.hpp>
|
||||
#include <Nazara/Graphics/Formats/TextureLoader.hpp>
|
||||
|
|
@ -89,6 +90,12 @@ namespace Nz
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!Sprite::Initialize())
|
||||
{
|
||||
NazaraError("Failed to initialize sprites");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Loaders
|
||||
Loaders::RegisterOBJ();
|
||||
|
||||
|
|
@ -181,6 +188,7 @@ namespace Nz
|
|||
ParticleController::Uninitialize();
|
||||
Material::Uninitialize();
|
||||
SkyboxBackground::Uninitialize();
|
||||
Sprite::Uninitialize();
|
||||
|
||||
NazaraNotice("Uninitialized: Graphics module");
|
||||
|
||||
|
|
|
|||
|
|
@ -51,5 +51,21 @@ namespace Nz
|
|||
*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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue