00001 #ifndef SDL_ARCH_H 00002 #define SDL_ARCH_H 00003 00004 /* All driver types should have a default, portable implementation, provided 00005 * here. */ 00006 /* None of these SDL implementations run on Xbox, so I've commented 00007 * out use of this header and added the #includes to each arch_*.h */ 00008 /* 00009 * The basic design principle of arch is that a new platform can be up and running 00010 * quickly using only arch_default, with OpenGL graphics and SDL input, and things can 00011 * be overloaded later. That way, people don't have to learn how arch works 00012 * until after they have the basic stuff running. 00013 * 00014 * For Xbox, let's leave this file alone, and special case stuff in arch_xbox.h. 00015 * 00016 * For LowLevelWindow, just undefine SUPPORT_OPENGL and don't link any LLW at 00017 * all. 00018 00019 * For InputHandler, undef SUPPORT_SDL_INPUT and we won't create the SDL input 00020 * handler. (We'll still include the header here, but it'll never be used.) 00021 */ 00022 00023 /* We can have any number of input drivers. By default, use SDL for keyboards 00024 * and joysticks. If you write your own handler for these devices types, or if 00025 * SDL input doesn't work on your platform, undef SUPPORT_SDL_INPUT in your platform 00026 * header. */ 00027 #define SUPPORT_SDL_INPUT 00028 #include "InputHandler/InputHandler_SDL.h" 00029 #include "InputHandler/InputHandler_MonkeyKeyboard.h" 00030 00031 /* Load default fallback drivers; some of these may be overridden by arch-specific 00032 * drivers. These are all singleton drivers--we never use more than one. */ 00033 #include "LoadingWindow/LoadingWindow_Null.h" 00034 #include "Sound/RageSoundDriver_Null.h" 00035 #include "Lights/LightsDriver_Null.h" 00036 #include "Lights/LightsDriver_SystemMessage.h" 00037 #include "MemoryCard/MemoryCardDriver_Null.h" 00038 00039 #if defined(SUPPORT_OPENGL) 00040 #include "LowLevelWindow/LowLevelWindow_SDL.h" 00041 #endif 00042 00043 #endif 00044 00045 /* 00046 * (c) 2002-2004 Glenn Maynard 00047 * All rights reserved. 00048 * 00049 * Permission is hereby granted, free of charge, to any person obtaining a 00050 * copy of this software and associated documentation files (the 00051 * "Software"), to deal in the Software without restriction, including 00052 * without limitation the rights to use, copy, modify, merge, publish, 00053 * distribute, and/or sell copies of the Software, and to permit persons to 00054 * whom the Software is furnished to do so, provided that the above 00055 * copyright notice(s) and this permission notice appear in all copies of 00056 * the Software and that both the above copyright notice(s) and this 00057 * permission notice appear in supporting documentation. 00058 * 00059 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00060 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00061 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF 00062 * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS 00063 * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT 00064 * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 00065 * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 00066 * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 00067 * PERFORMANCE OF THIS SOFTWARE. 00068 */