More Preprocessor Cleanup

I cleaned up the preprocessor options a bit more. These changes allow the options to be defined somewhere else, such as a precompiled header (avoiding changes to the local SDK source).