~ ignore particle loading errors as the required data is not yet 100% clear

+ added support for PKGV0009 packages (should fix #24 for @UltraBlackLinux)

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
This commit is contained in:
Alexis Maiquez 2020-08-24 17:51:24 +02:00
parent cf70484188
commit d5ee71540d
3 changed files with 22 additions and 10 deletions

View File

@ -85,13 +85,21 @@ CObject* CObject::fromJSON (json data)
} }
else if (particle_it != data.end ()) else if (particle_it != data.end ())
{ {
object = Objects::CParticle::fromFile ( /// TODO: XXXHACK -- TO REMOVE WHEN PARTICLE SUPPORT IS PROPERLY IMPLEMENTED
(*particle_it).get <std::string> ().c_str (), try
*id_it, {
*name_it, object = Objects::CParticle::fromFile (
WallpaperEngine::Core::ato3vf (*origin_it), (*particle_it).get <std::string> ().c_str (),
WallpaperEngine::Core::ato3vf (*scale_it) *id_it,
); *name_it,
WallpaperEngine::Core::ato3vf (*origin_it),
WallpaperEngine::Core::ato3vf (*scale_it)
);
}
catch (std::runtime_error ex)
{
return nullptr;
}
} }
else else
{ {

View File

@ -113,7 +113,9 @@ const std::vector<CObject*>& CScene::getObjects () const
void CScene::insertObject (CObject* object) void CScene::insertObject (CObject* object)
{ {
this->m_objects.push_back (object); /// TODO: XXXHACK -- TO REMOVE WHEN PARTICLE SUPPORT IS PROPERLY IMPLEMENTED
if (object != nullptr)
this->m_objects.push_back (object);
} }
const Scenes::CCamera* CScene::getCamera () const const Scenes::CCamera* CScene::getCamera () const

View File

@ -63,7 +63,8 @@ namespace WallpaperEngine::Irrlicht
strcmp ("PKGV0007", pointer) != 0 && strcmp ("PKGV0007", pointer) != 0 &&
strcmp ("PKGV0002", pointer) != 0 && strcmp ("PKGV0002", pointer) != 0 &&
strcmp ("PKGV0001", pointer) != 0 && strcmp ("PKGV0001", pointer) != 0 &&
strcmp ("PKGV0008", pointer) != 0) strcmp ("PKGV0008", pointer) != 0 &&
strcmp ("PKGV0009", pointer) != 0)
{ {
delete [] pointer; delete [] pointer;
return false; return false;
@ -115,7 +116,8 @@ namespace WallpaperEngine::Irrlicht
strcmp ("PKGV0007", headerVersion) != 0 && strcmp ("PKGV0007", headerVersion) != 0 &&
strcmp ("PKGV0002", headerVersion) != 0 && strcmp ("PKGV0002", headerVersion) != 0 &&
strcmp ("PKGV0001", headerVersion) != 0 && strcmp ("PKGV0001", headerVersion) != 0 &&
strcmp ("PKGV0008", headerVersion) != 0) strcmp ("PKGV0008", headerVersion) != 0 &&
strcmp ("PKGV0009", headerVersion) != 0)
{ {
delete [] headerVersion; delete [] headerVersion;