added 3dsx support

This adds 3dsx support
It does, but it's a bit awkward to use with arrays, so I recommend `std::vector`.