added 3dsx support

This adds 3dsx support
What's the deal with calling 3dsx simply dsx all over the place? I know you can't have a `3` as the first character in a variable name, but then please make it "dot3dsx" or "threedsx" or something instead.