Header that regroups all core plugin defines.
Header that defines all the plugin IDs
Header that defines all IDs of the display plugin
Header that defines all IDs of the joystick plugin
Header that defines all IDs of the keyboard plugin
Header that defines all IDs of the mouse plugin
Header that defines all IDs of the physics plugin
Header that defines all IDs of the render plugin
Header that defines all IDs of the sound system plugin
Plugin module This module provides functions for loading dynamic code into the core engine and finding symbols within the dynamic modules
Plugin core header This header is used to define structures & functions for core plugins info.
Plugin type header This header is used to define types for plugin module.
Plugin user header This header is used to define structures & functions for plugin registration.
| #define _orxPLUGIN_USER_FUNCTION_ADD_LOW_LEVEL | ( | FUNCTION, | |
| FUNCTION_ID, | |||
| NAME, | |||
| ARGS | |||
| ) |
if(u32UserPluginFunctionCounter < u32UserPluginFunctionMaxNumber) \ { \ pstUserPluginFunctionInfo[u32UserPluginFunctionCounter].pfnFunction = (orxPLUGIN_FUNCTION) FUNCTION; \ pstUserPluginFunctionInfo[u32UserPluginFunctionCounter].eFunctionID = FUNCTION_ID; \ pstUserPluginFunctionInfo[u32UserPluginFunctionCounter].zFunctionName = #NAME; \ orxString_NCopy(pstUserPluginFunctionInfo[u32UserPluginFunctionCounter].zFunctionArgs, ARGS, orxPLUGIN_KU32_FUNCTION_ARG_SIZE - 1); \ pstUserPluginFunctionInfo[u32UserPluginFunctionCounter].zFunctionArgs[orxPLUGIN_KU32_FUNCTION_ARG_SIZE - 1] = orxCHAR_NULL; \ u32UserPluginFunctionCounter++; \ } \ else \ { \ /* Logs message */ \ orxDEBUG_PRINT(orxDEBUG_LEVEL_SYSTEM, "Maximum number of plugin functions reached."); \ }
Definition at line 83 of file orxPluginUser.h.
| #define orxPLUGIN_ADD_CORE_FUNCTION_ARRAY | ( | PLUGIN_SUFFIX, | |
| FUNCTION_SUFFIX, | |||
| FUNCTION_NAME | |||
| ) | {(orxPLUGIN_FUNCTION_ID)orxPLUGIN_FUNCTION_BASE_ID_##PLUGIN_SUFFIX##_##FUNCTION_SUFFIX, (orxPLUGIN_FUNCTION *)&orxPLUGIN_CORE_FUNCTION_POINTER_NAME(FUNCTION_NAME), (orxPLUGIN_FUNCTION)&orxPLUGIN_DEFAULT_CORE_FUNCTION_NAME(FUNCTION_NAME)}, |
Definition at line 169 of file orxPluginCore.h.
| #define orxPLUGIN_BEGIN_CORE_FUNCTION_ARRAY | ( | PLUGIN_SUFFIX ) |
static const orxPLUGIN_CORE_FUNCTION sastPluginFunctionInfo_##PLUGIN_SUFFIX[orxPLUGIN_FUNCTION_BASE_ID_##PLUGIN_SUFFIX##_NUMBER] = \ {
Definition at line 164 of file orxPluginCore.h.
| #define orxPLUGIN_CORE_FUNCTION_POINTER_NAME | ( | FUNCTION_NAME ) | _orxCoreFunctionPointer_##FUNCTION_NAME |
Definition at line 127 of file orxPluginCore.h.
| #define orxPLUGIN_CORE_REGISTER_FUNCTION_NAME | ( | PLUGIN_SUFFIX ) | _registerFunction_##PLUGIN_SUFFIX |
Definition at line 48 of file orxPlugin_CoreDefine.h.
| #define orxPLUGIN_DECLARE_CORE_REGISTER_FUNCTION | ( | PLUGIN_SUFFIX ) | extern orxDLLAPI void orxPLUGIN_CORE_REGISTER_FUNCTION_NAME(PLUGIN_SUFFIX)() |
Definition at line 50 of file orxPlugin_CoreDefine.h.
| #define orxPLUGIN_DECLARE_ENTRY_POINT | ( | ENTRY_FUNCTION ) |
extern orxIMPORT orxDLLEXPORT orxSTATUS orxPLUGIN_K_INIT_FUNCTION_NAME(orxS32 *_ps32Number, orxPLUGIN_USER_FUNCTION_INFO **_ppstInfo) \ { \ orxSTATUS eResult; \ \ /* Calls entry point function */ \ eResult = ENTRY_FUNCTION(); \ \ /* Updates parameters */ \ *_ps32Number = 0; \ *_ppstInfo = orxNULL; \ \ /* Done! */ \ return eResult; \ }
Definition at line 61 of file orxPluginUser.h.
| #define orxPLUGIN_DEFAULT_CORE_FUNCTION_DEFINE | ( | FUNCTION_NAME ) |
extern orxDLLAPI void *orxFASTCALL orxPLUGIN_DEFAULT_CORE_FUNCTION_NAME(FUNCTION_NAME)() \ { \ return(orxPlugin_DefaultCoreFunction(#FUNCTION_NAME, __FILE__, __LINE__)); \ }
Definition at line 133 of file orxPluginCore.h.
| #define orxPLUGIN_DEFAULT_CORE_FUNCTION_NAME | ( | FUNCTION_NAME ) | _orxDefaultCoreFunction_##FUNCTION_NAME |
Definition at line 130 of file orxPluginCore.h.
| #define orxPLUGIN_DEFINE_CORE_FUNCTION | ( | FUNCTION_NAME, | |
| RETURN, | |||
| ... | |||
| ) |
orxPLUGIN_DEFAULT_CORE_FUNCTION_DEFINE(FUNCTION_NAME) \ \ RETURN (orxFASTCALL *orxPLUGIN_CORE_FUNCTION_POINTER_NAME(FUNCTION_NAME))(__VA_ARGS__) = (RETURN(orxFASTCALL *)(__VA_ARGS__)) (&orxPLUGIN_DEFAULT_CORE_FUNCTION_NAME(FUNCTION_NAME))
Definition at line 151 of file orxPluginCore.h.
| #define orxPLUGIN_END_CORE_FUNCTION_ARRAY | ( | PLUGIN_SUFFIX ) |
}; \ extern orxIMPORT orxSTATUS orxPLUGIN_K_CORE_INIT_FUNCTION_NAME(PLUGIN_SUFFIX)(orxU32 *, orxPLUGIN_USER_FUNCTION_INFO **); \ extern orxDLLAPI void orxPLUGIN_CORE_REGISTER_FUNCTION_NAME(PLUGIN_SUFFIX)() \ { \ orxPLUGIN_REGISTER_CORE_INFO(PLUGIN_SUFFIX); \ return; \ }
Definition at line 173 of file orxPluginCore.h.
| #define orxPLUGIN_K_CORE_INIT_FUNCTION_NAME | ( | SUFFIX ) | orxPlugin_MainInit |
Plugin core init function name
Definition at line 83 of file orxPluginType.h.
| #define orxPLUGIN_K_INIT_FUNCTION_NAME orxPlugin_MainInit |
Plugin init function name
Definition at line 73 of file orxPluginType.h.
| #define orxPLUGIN_KU32_FLAG_CORE_ID 0x10000000 |
Plugin core ID flag
Definition at line 53 of file orxPluginType.h.
| #define orxPLUGIN_KU32_FUNCTION_ARG_SIZE 128 |
Definition at line 61 of file orxPluginType.h.
| #define orxPLUGIN_KU32_MASK_FUNCTION_ID 0x000000FF |
Plugin function mask
Definition at line 58 of file orxPluginType.h.
| #define orxPLUGIN_KU32_MASK_PLUGIN_ID 0x0000FF00 |
Plugin ID mask
Definition at line 55 of file orxPluginType.h.
| #define orxPLUGIN_KU32_SHIFT_PLUGIN_ID 8 |
Plugin ID bits shift
Definition at line 56 of file orxPluginType.h.
| #define orxPLUGIN_MAKE_CORE_FUNCTION_ID | ( | PLUGIN_CORE_ID, | |
| FUNCTION_BASE_ID | |||
| ) | (orxPLUGIN_FUNCTION_ID)(orxPLUGIN_KU32_FLAG_CORE_ID | orxPLUGIN_MAKE_FUNCTION_ID(PLUGIN_CORE_ID, FUNCTION_BASE_ID)) |
Definition at line 69 of file orxPluginType.h.
| #define orxPLUGIN_MAKE_FUNCTION_ID | ( | PLUGIN_ID, | |
| FUNCTION_BASE_ID | |||
| ) | (orxPLUGIN_FUNCTION_ID)(((PLUGIN_ID << orxPLUGIN_KU32_SHIFT_PLUGIN_ID) & orxPLUGIN_KU32_MASK_PLUGIN_ID) | (FUNCTION_BASE_ID & orxPLUGIN_KU32_MASK_FUNCTION_ID)) |
Definition at line 65 of file orxPluginType.h.
| #define orxPLUGIN_REGISTER_CORE_INFO | ( | PLUGIN_SUFFIX ) | orxPlugin_AddCoreInfo(orxPLUGIN_CORE_ID_##PLUGIN_SUFFIX, orxMODULE_ID_##PLUGIN_SUFFIX, sastPluginFunctionInfo_##PLUGIN_SUFFIX, sizeof(sastPluginFunctionInfo_##PLUGIN_SUFFIX) / sizeof(orxPLUGIN_CORE_FUNCTION)); |
Definition at line 199 of file orxPluginCore.h.
| #define orxPLUGIN_USER_CORE_FUNCTION_ADD | ( | FUNCTION, | |
| PLUGIN_SUFFIX, | |||
| NAME_SUFFIX | |||
| ) |
_orxPLUGIN_USER_FUNCTION_ADD_LOW_LEVEL(&FUNCTION, \ orxPLUGIN_MAKE_CORE_FUNCTION_ID(orxPLUGIN_CORE_ID_##PLUGIN_SUFFIX, orxPLUGIN_FUNCTION_BASE_ID_##PLUGIN_SUFFIX##_##NAME_SUFFIX), \ PLUGIN_SUFFIX##_##NAME_SUFFIX, \ orxSTRING_EMPTY)
Definition at line 124 of file orxPluginUser.h.
| #define orxPLUGIN_USER_CORE_FUNCTION_END | ( | ) |
orxPLUGIN_USER_FUNCTION_END(_ps32Number, _ppstInfo); \ return eResult; \ }
Definition at line 130 of file orxPluginUser.h.
| #define orxPLUGIN_USER_CORE_FUNCTION_START | ( | PLUGIN_SUFFIX ) |
static orxPLUGIN_USER_FUNCTION_INFO sau32##PLUGIN_SUFFIX##_Function[orxPLUGIN_FUNCTION_BASE_ID_##PLUGIN_SUFFIX##_NUMBER]; \ extern orxIMPORT orxDLLEXPORT orxSTATUS orxPLUGIN_K_CORE_INIT_FUNCTION_NAME(PLUGIN_SUFFIX)(orxS32 *_ps32Number, orxPLUGIN_USER_FUNCTION_INFO **_ppstInfo) \ { \ orxSTATUS eResult = orxSTATUS_SUCCESS; \ orxPLUGIN_USER_FUNCTION_START(sau32##PLUGIN_SUFFIX##_Function);
Definition at line 117 of file orxPluginUser.h.
| #define orxPLUGIN_USER_FUNCTION_ADD | ( | FUNCTION, | |
| ARGS, | |||
| PLUGIN_ID, | |||
| FUNCTION_BASE_ID, | |||
| NAME | |||
| ) |
_orxPLUGIN_USER_FUNCTION_ADD_LOW_LEVEL(&FUNCTION, \ orxPLUGIN_MAKE_FUNCTION_ID(PLUGIN_ID, FUNCTION_BASE_ID), \ NAME, \ ARGS)
Definition at line 106 of file orxPluginUser.h.
| #define orxPLUGIN_USER_FUNCTION_END | ( | NUMBER_ADDRESS, | |
| STRUCTURE_ADDRESS | |||
| ) |
*NUMBER_ADDRESS = u32UserPluginFunctionCounter; \ *STRUCTURE_ADDRESS = pstUserPluginFunctionInfo; \ }
Definition at line 112 of file orxPluginUser.h.
| #define orxPLUGIN_USER_FUNCTION_START | ( | STRUCTURE ) |
{ \
orxU32 u32UserPluginFunctionCounter = 0; \
orxU32 u32UserPluginFunctionMaxNumber = sizeof(STRUCTURE) / sizeof(orxPLUGIN_USER_FUNCTION_INFO); \
orxPLUGIN_USER_FUNCTION_INFO *pstUserPluginFunctionInfo = STRUCTURE; \
orxMemory_Zero(pstUserPluginFunctionInfo, u32UserPluginFunctionMaxNumber * sizeof(orxPLUGIN_USER_FUNCTION_INFO));
Definition at line 99 of file orxPluginUser.h.
| typedef orxSTATUS(orxFASTCALL * orxPLUGIN_FUNCTION)() |
Definition at line 98 of file orxPluginType.h.
| typedef orxSTATUS(* orxPLUGIN_INIT_FUNCTION)(orxU32 *_peUserFunctionNumber, orxPLUGIN_USER_FUNCTION_INFO **_pastUserFunctionInfo) |
Plugin init function prototype
Definition at line 85 of file orxPluginCore.h.
| enum orxPLUGIN_CORE_ID |
Definition at line 47 of file orxPlugin_CoreID.h.
Definition at line 48 of file orxPlugin_Display.h.
Definition at line 48 of file orxPlugin_Joystick.h.
Definition at line 48 of file orxPlugin_Keyboard.h.
Definition at line 48 of file orxPlugin_Mouse.h.
Definition at line 48 of file orxPlugin_Physics.h.
Definition at line 48 of file orxPlugin_Render.h.
Definition at line 49 of file orxPlugin_SoundSystem.h.
Definition at line 92 of file orxPluginType.h.
| orxDLLAPI void orxFASTCALL orxPlugin_AddCoreInfo | ( | orxPLUGIN_CORE_ID | _ePluginCoreID, |
| orxMODULE_ID | _eModuleID, | ||
| const orxPLUGIN_CORE_FUNCTION * | _astCoreFunction, | ||
| orxU32 | _u32CoreFunctionNumber | ||
| ) |
Adds an info structure for the given core module Has to be called during a core module init
| [in] | _ePluginCoreID | The numeric id of the core plugin |
| [in] | _eModuleID | Corresponding module ID |
| [in] | _astCoreFunction | The pointer on the core functions info array |
| [in] | _u32CoreFunctionNumber | Number of functions in the array |
| orxPLUGIN_DECLARE_CORE_REGISTER_FUNCTION | ( | DISPLAY | ) |
| orxPLUGIN_DECLARE_CORE_REGISTER_FUNCTION | ( | JOYSTICK | ) |
| orxPLUGIN_DECLARE_CORE_REGISTER_FUNCTION | ( | MOUSE | ) |
| orxPLUGIN_DECLARE_CORE_REGISTER_FUNCTION | ( | PHYSICS | ) |
| orxPLUGIN_DECLARE_CORE_REGISTER_FUNCTION | ( | KEYBOARD | ) |
| orxPLUGIN_DECLARE_CORE_REGISTER_FUNCTION | ( | RENDER | ) |
| orxPLUGIN_DECLARE_CORE_REGISTER_FUNCTION | ( | SOUNDSYSTEM | ) |
| orxDLLAPI void* orxFASTCALL orxPlugin_DefaultCoreFunction | ( | const orxSTRING | _zFunctionName, |
| const orxSTRING | _zFileName, | ||
| orxU32 | _u32Line | ||
| ) |
Default core plugin function Needs to be referenced by all core functions at module init.
| orxDLLAPI void orxFASTCALL orxPlugin_Exit | ( | ) |
Exits from the plugin module
| orxDLLAPI orxPLUGIN_FUNCTION orxFASTCALL orxPlugin_GetFunction | ( | orxHANDLE | _hPluginHandle, |
| const orxSTRING | _zFunctionName | ||
| ) |
Gets a function from a plugin
| [in] | _hPluginHandle | The plugin handle |
| [in] | _zFunctionName | The name of the function to find |
| orxDLLAPI orxHANDLE orxFASTCALL orxPlugin_GetHandle | ( | const orxSTRING | _zPluginName ) |
Gets the handle of a plugin given its name
| [in] | _zPluginName | The plugin name |
| orxDLLAPI const orxSTRING orxFASTCALL orxPlugin_GetName | ( | orxHANDLE | _hPluginHandle ) |
Gets the name of a plugin given its handle
| [in] | _hPluginHandle | The plugin handle |
| orxDLLAPI orxSTATUS orxFASTCALL orxPlugin_Init | ( | ) |
Inits the plugin module
| orxDLLAPI orxHANDLE orxFASTCALL orxPlugin_Load | ( | const orxSTRING | _zPluginFileName, |
| const orxSTRING | _zPluginName | ||
| ) |
Loads a plugin (using its exact complete)
| [in] | _zPluginFileName | The complete path of the plugin file, including its extension |
| [in] | _zPluginName | The name that the plugin will be given in the plugin list |
| orxDLLAPI orxHANDLE orxFASTCALL orxPlugin_LoadUsingExt | ( | const orxSTRING | _zPluginFileName, |
| const orxSTRING | _zPluginName | ||
| ) |
Loads a plugin using OS common library extension + release/debug suffixes
| [in] | _zPluginFileName | The complete path of the plugin file, without its library extension |
| [in] | _zPluginName | The name that the plugin will be given in the plugin list |
| static orxINLINE void orxPlugin_RegisterCorePlugins | ( | ) | [static] |
Definition at line 79 of file orxPlugin_CoreDefine.h.
| orxDLLAPI void orxFASTCALL orxPlugin_Setup | ( | ) |
Plugin module setup
| orxDLLAPI orxSTATUS orxFASTCALL orxPlugin_Unload | ( | orxHANDLE | _hPluginHandle ) |
Unloads a plugin
| [in] | _hPluginHandle | The handle of the plugin to unload |
1.5.6