00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00045 #ifndef _orxMODULE_H_
00046 #define _orxMODULE_H_
00047
00048
00049 #include "base/orxType.h"
00050
00051
00053 typedef enum __orxMODULE_ID_t
00054 {
00055 orxMODULE_ID_ANIM = 0,
00056 orxMODULE_ID_ANIMPOINTER,
00057 orxMODULE_ID_ANIMSET,
00058 orxMODULE_ID_BANK,
00059 orxMODULE_ID_BODY,
00060 orxMODULE_ID_CAMERA,
00061 orxMODULE_ID_CLOCK,
00062 orxMODULE_ID_CONFIG,
00063 orxMODULE_ID_DISPLAY,
00064 orxMODULE_ID_EVENT,
00065 orxMODULE_ID_FILE,
00066 orxMODULE_ID_FONT,
00067 orxMODULE_ID_FPS,
00068 orxMODULE_ID_FRAME,
00069 orxMODULE_ID_FX,
00070 orxMODULE_ID_FXPOINTER,
00071 orxMODULE_ID_GRAPHIC,
00072 orxMODULE_ID_INPUT,
00073 orxMODULE_ID_JOYSTICK,
00074 orxMODULE_ID_KEYBOARD,
00075 orxMODULE_ID_LOCALE,
00076 orxMODULE_ID_MAIN,
00077 orxMODULE_ID_MEMORY,
00078 orxMODULE_ID_MOUSE,
00079 orxMODULE_ID_OBJECT,
00080 orxMODULE_ID_PARAM,
00081 orxMODULE_ID_PHYSICS,
00082 orxMODULE_ID_PLUGIN,
00083 orxMODULE_ID_PROFILER,
00084 orxMODULE_ID_RENDER,
00085 orxMODULE_ID_SCREENSHOT,
00086 orxMODULE_ID_SHADER,
00087 orxMODULE_ID_SHADERPOINTER,
00088 orxMODULE_ID_SOUND,
00089 orxMODULE_ID_SOUNDPOINTER,
00090 orxMODULE_ID_SOUNDSYSTEM,
00091 orxMODULE_ID_SPAWNER,
00092 orxMODULE_ID_STRUCTURE,
00093 orxMODULE_ID_SYSTEM,
00094 orxMODULE_ID_TEXT,
00095 orxMODULE_ID_TEXTURE,
00096 orxMODULE_ID_VIEWPORT,
00097
00098 orxMODULE_ID_NUMBER,
00099
00100 orxMODULE_ID_MAX_NUMBER = 64,
00101
00102 orxMODULE_ID_NONE = orxENUM_NONE
00103
00104 } orxMODULE_ID;
00105
00106
00107
00108 typedef orxSTATUS (orxFASTCALL *orxMODULE_INIT_FUNCTION) ();
00109 typedef void (orxFASTCALL *orxMODULE_EXIT_FUNCTION) ();
00110 typedef orxSTATUS (orxFASTCALL *orxMODULE_RUN_FUNCTION) ();
00111 typedef void (orxFASTCALL *orxMODULE_SETUP_FUNCTION) ();
00112
00113
00121 extern orxDLLAPI void orxFASTCALL orxModule_Register(orxMODULE_ID _eModuleID, const orxMODULE_SETUP_FUNCTION _pfnSetup, const orxMODULE_INIT_FUNCTION _pfnInit, const orxMODULE_EXIT_FUNCTION _pfnExit);
00122
00124 extern orxDLLAPI void orxFASTCALL orxModule_RegisterAll();
00125
00130 extern orxDLLAPI void orxFASTCALL orxModule_AddDependency(orxMODULE_ID _eModuleID, orxMODULE_ID _eDependID);
00131
00136 extern orxDLLAPI void orxFASTCALL orxModule_AddOptionalDependency(orxMODULE_ID _eModuleID, orxMODULE_ID _eDependID);
00137
00139 extern orxDLLAPI void orxFASTCALL orxModule_UpdateDependencies();
00140
00144 extern orxDLLAPI void orxFASTCALL orxModule_Setup(orxMODULE_ID _eModuleID);
00145
00147 extern orxDLLAPI void orxFASTCALL orxModule_SetupAll();
00148
00153 extern orxDLLAPI orxSTATUS orxFASTCALL orxModule_Init(orxMODULE_ID _eModuleID);
00154
00158 extern orxDLLAPI orxSTATUS orxFASTCALL orxModule_InitAll();
00159
00163 extern orxDLLAPI void orxFASTCALL orxModule_Exit(orxMODULE_ID _eModuleID);
00164
00166 extern orxDLLAPI void orxFASTCALL orxModule_ExitAll();
00167
00172 extern orxDLLAPI orxBOOL orxFASTCALL orxModule_IsInitialized(orxMODULE_ID _eModuleID);
00173
00174 #endif
00175