Improved declarations

Former-commit-id: 567f98b44eada10ffb797cc19cfcdbca584a2461 [formerly 01826c3bfd8385abd6a47f770c7eba7980ae9199] [formerly 6c54c8e8e6a8515387fc61f665bfa5d2cc2d8cdf [formerly f507b9604c2395a4d1eec0f12a07e3cd8b47e4f6]]
Former-commit-id: 1723f76155d68f5aac2006f5ebf5bd96b4ac81e7 [formerly 04f3ed2688c3519923edbb0693e259ee3653256b]
Former-commit-id: e37a8744e6756f5eb331881b422d491171adb362
This commit is contained in:
Lynix
2016-08-02 13:31:09 +02:00
parent 5fa5186480
commit ca1b9c1988
6 changed files with 36 additions and 26 deletions

View File

@@ -38,9 +38,9 @@ namespace Nz
ParticleDeclaration::ParticleDeclaration(const ParticleDeclaration& declaration) :
RefCounted(),
m_components(declaration.m_components),
m_stride(declaration.m_stride)
{
std::memcpy(m_components, declaration.m_components, sizeof(Component) * (ParticleComponent_Max + 1));
}
/*!
@@ -205,7 +205,7 @@ namespace Nz
ParticleDeclaration& ParticleDeclaration::operator=(const ParticleDeclaration& declaration)
{
std::memcpy(m_components, declaration.m_components, sizeof(Component) * (ParticleComponent_Max + 1));
m_components = declaration.m_components;
m_stride = declaration.m_stride;
return *this;
@@ -222,13 +222,7 @@ namespace Nz
ParticleDeclaration* ParticleDeclaration::Get(ParticleLayout layout)
{
#ifdef NAZARA_DEBUG
if (layout > ParticleLayout_Max)
{
NazaraError("Particle layout out of enum");
return nullptr;
}
#endif
NazaraAssert(layout <= ParticleLayout_Max, "Particle layout out of enum");
return &s_declarations[layout];
}
@@ -338,6 +332,6 @@ namespace Nz
ParticleDeclarationLibrary::Uninitialize();
}
ParticleDeclaration ParticleDeclaration::s_declarations[ParticleLayout_Max + 1];
std::array<ParticleDeclaration, ParticleLayout_Max + 1> ParticleDeclaration::s_declarations;
ParticleDeclarationLibrary::LibraryMap ParticleDeclaration::s_library;
}