added 3dsx support

This adds 3dsx support
This needs to be done _after_ the struct definitions which require accurate byte alignment. That includes most of the below ones, if I'm not mistaken...