added 3dsx support

This adds 3dsx support
Are these the only valid choices? Should probably add a `default` case asserting false or at least logging. Otherwise, add empty `default` case to make it explicit.