Thanks for the info. But if we add a lib it's not good to do it that way. Especiallly not when it comes with another license (even if it's very similar to zlib - it's still having differences). Basically libs should go in an own subdirectly and it has to be possible to disable them with a define and switch to system libraries (distributions want that).
But you can always add loaders without modifying Irrlicht itself. The code in irrExt (
https://sourceforge.net/projects/irrext/) does that generally. And it has the advantage that we don't have to maintain it in core. Right now I would prefer to get rid of a few loaders because it's really hard to unify them as it's all code written by different people which are no longer available and for some formats I don't even have any test-models. It was a nice idea to have the engine support everything out of the box.. but it's not so nice anymore if you have to maintain it a decade later and want to improve anything. I learned that when trying to unify texture-loading - I managed to do it for 13 loader and 2 more didn't need it - for the other 6 loaders the new features are still not available because rewriting those is more tricky and I don't get to it. Over 20 loaders in the engine mean - every little change where you spend maybe an hour with coding&testing per loader - you need 2 1/2 full days to get it done already.
So that's why assimp looks so promising to me and I'm not that keen on adding more loaders directly to Irrlicht.
I might make an exception if someone produces a good fbx loader - simply because that format is so popular in games that it would be worth it. But for custom formats used by just one more engine I'd prefer if it goes into irrExt (I can ask the maintainers there to add you there if you have code to contribute).