added 3dsx support

This adds 3dsx support
Can you rework the variable names in the remaining function to be more descriptive? It's *really* confusing in the current state, and I can't point this out for every single variable...