Here is a quick patch to allow the 1.9 COBJMeshFileLoader.cpp to cope with bigger meshes. All it does is replace the SMeshBuffer with a 32 bit CDynamicMeshBuffer as used in some of the other asset loaders. There will be a small performance hit in this simple implementation because it doesn't check the number of vertices and use the appropriate index size. I doubt it will make much difference in practice since if you are in a situation where you have large meshes to deal with you obviously have the hardware to cope! The OBJ loader is fairly slow anyway but it's not a high performance asset format (a binary format that tells you how many items there are before you try and read them would be much quicker). That's the cost of flexibility and simplicity.
@AReichl: Hm, we didn't apply that yet I guess. Do you have the link to that? Or was it just a private thing? Btw - several of NASA recently release free models are STL!
@mongoose7: Generally aggreed. But won't hurt if Irrlicht can load larger meshes, just 16-bit should stay default.
I also have a version of the stl loader which allows 32 bit indices, I can post it here if you need it.
But it's actually quite simple, because the stl format doesn't use indices at all, so they can be generated afterwards.
32-bit meshbuffer reading for .obj and .stl now both added. Since [r6343] it's even the new default. I modified both patches a bit. Especially .obj file now copies back to 16-bit when it doesn't need 32-bit buffers (cost for that was rather neglectable even with lots of meshbuffers).
Other loaders not yet updated - feed me more patches! (and I'll try to take less than half a decade next time...)