~ 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

@ -84,6 +84,9 @@ CObject* CObject::fromJSON (json data)
); );
} }
else if (particle_it != data.end ()) else if (particle_it != data.end ())
{
/// TODO: XXXHACK -- TO REMOVE WHEN PARTICLE SUPPORT IS PROPERLY IMPLEMENTED
try
{ {
object = Objects::CParticle::fromFile ( object = Objects::CParticle::fromFile (
(*particle_it).get <std::string> ().c_str (), (*particle_it).get <std::string> ().c_str (),
@ -93,6 +96,11 @@ CObject* CObject::fromJSON (json data)
WallpaperEngine::Core::ato3vf (*scale_it) WallpaperEngine::Core::ato3vf (*scale_it)
); );
} }
catch (std::runtime_error ex)
{
return nullptr;
}
}
else else
{ {
throw std::runtime_error ("Unkonwn object type detected"); throw std::runtime_error ("Unkonwn object type detected");

View File

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

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;