/*************************************************************** CKLib Includes... When CKEngine is compiled as a library , every behaviors readers and managers are also compiled as library to be linked statically : This header file contains the definition of all functions that we have to access from CK2 in these plugins + the functions needed to register plugins... ***************************************************************/ #pragma once #ifdef WIN32 #define CDECL_CALL __cdecl #else #define CDECL_CALL #endif //----- Registration functions inline void RegisterAllStaticPlugins(CKPluginManager* pm); inline void RegisterAllBehaviors(CKPluginManager* pm); inline void RegisterAllManagers(CKPluginManager* pm); inline void RegisterAllReaders(CKPluginManager* pm); inline void RegisterRenderEngine(CKPluginManager* pm); //----- Behaviors inline void Register3DTransfoBehaviors(CKPluginManager* pm); inline void RegisterBBInProgressBehaviors(CKPluginManager* pm); inline void RegisterBBAddonsBehaviors(CKPluginManager* pm); inline void RegisterBBAddons2Behaviors(CKPluginManager* pm); inline void RegisterBBAddons3Behaviors(CKPluginManager* pm); inline void RegisterEvaluatorBehaviors(CKPluginManager* pm); inline void RegisterCamerasBehaviors(CKPluginManager* pm); inline void RegisterControllersBehaviors(CKPluginManager* pm); inline void RegisterCharactersBehaviors(CKPluginManager* pm); inline void RegisterCollisionsBehaviors(CKPluginManager* pm); inline void RegisterGridsBehaviors(CKPluginManager* pm); inline void RegisterInterfaceBehaviors(CKPluginManager* pm); inline void RegisterLightsBehaviors(CKPluginManager* pm); inline void RegisterLogicsBehaviors(CKPluginManager* pm); inline void RegisterMaterialsBehaviors(CKPluginManager* pm); inline void RegisterMeshesBehaviors(CKPluginManager* pm); inline void RegisterMidiBehaviors(CKPluginManager* pm); inline void RegisterNarrativesBehaviors(CKPluginManager* pm); inline void RegisterParticleSystemsBehaviors(CKPluginManager* pm); inline void RegisterPhysicsBehaviors(CKPluginManager* pm); inline void RegisterSoundsBehaviors(CKPluginManager* pm); inline void RegisterVideoBehaviors(CKPluginManager* pm); inline void RegisterShaderBehaviors(CKPluginManager* pm); inline void RegisterVisualsBehaviors(CKPluginManager* pm); inline void RegisterWorldEnvBehaviors(CKPluginManager* pm); inline void RegisterNetworkBehaviors(CKPluginManager* pm); inline void RegisterNetworkServerBehaviors(CKPluginManager* pm); inline void RegisterMultiPlayerBehaviors(CKPluginManager* pm); inline void RegisterDownloadBehaviors(CKPluginManager* pm); inline void RegisterDatabaseBehaviors(CKPluginManager* pm); inline void RegisterDirectorBehaviors(CKPluginManager* pm); inline void RegisterVSLBehaviors(CKPluginManager* pm); //----- Managers inline void RegisterParamOpManager(CKPluginManager* pm); inline void RegisterInputManager(CKPluginManager* pm); inline void RegisterSoundManager(CKPluginManager* pm); inline void RegisterVideoManager(CKPluginManager* pm); #if defined(WIN32) inline void RegisterDx8VideoManager(CKPluginManager* pm); inline void RegisterDx9VideoManager(CKPluginManager* pm); #endif #if defined(WIN32) || defined(macintosh) inline void RegisterXMLManager(CKPluginManager* pm); #endif //----- Readers inline void RegisterVirtoolsReader(CKPluginManager* pm); inline void RegisterImageReader(CKPluginManager* pm); inline void RegisterAVIReader(CKPluginManager* pm); inline void RegisterPNGReader(CKPluginManager* pm); inline void RegisterJPGReader(CKPluginManager* pm); inline void RegisterDDSReader(CKPluginManager* pm); inline void RegisterTIFFReader(CKPluginManager* pm); inline void RegisterWAVReader(CKPluginManager* pm); #ifdef macintosh inline void RegisterQTReader(CKPluginManager* pm); inline void RegisterQTVideoManager(CKPluginManager* pm); #endif #ifdef _XBOX inline void RegisterD3DXReader(CKPluginManager* pm); inline void RegisterXBOXBehaviors(CKPluginManager* pm); // XACT inline void RegisterXACTSoundManager(CKPluginManager* pm); CKPluginInfo* CKGet_XACTSoundManager_PluginInfo(int Index); //XAUDIO2 inline void RegisterXAudio2SoundManager(CKPluginManager* pm); CKPluginInfo* CKGet_XAudio2SoundManager_PluginInfo(int Index); //---- XInput Behaviors CKPluginInfo* CKGet_XInputController_PluginInfo(int index); void Register_XInputController_BehaviorDeclarations(XObjectDeclarationArray *reg); void Register_XAudio2_BehaviorDeclarations(XObjectDeclarationArray *reg); //---- XBox Behaviors CKPluginInfo* CKGet_XBOXBBS_PluginInfo(int index); void Register_XBOXBBS_BehaviorDeclarations(XObjectDeclarationArray *reg); #endif #ifdef PSP inline void RegisterPSPBehaviors(CKPluginManager* pm); //---- Psp Behaviors CKPluginInfo* CDECL_CALL CKGet_PSPBBS_PluginInfo(int index); void CDECL_CALL Register_PSPBBS_BehaviorDeclarations(XObjectDeclarationArray *reg); #endif //----------------------------------------------------------- // When behaviors and plugins are compiled in a static library : // List of declaration functions for every possible plugins... struct CKRasterizerInfo; struct CKPluginInfo; class CKDataReader; /******************************************* + There is only one function a rasterizer Dll is supposed to export :"CKRasterizerGetInfo", it will be used by the render engine to retrieve information about the plugin : - Description ******************************************/ typedef void (*CKRST_GETINFO)(CKRasterizerInfo*); /***************************************************/ /**** RENDER ENGINE ********************************/ CKPluginInfo* CDECL_CALL CK2_3DGetPluginInfo(int Index); /***************************************************/ /***** RASTERIZERS *********************************/ void CDECL_CALL CKDX9RasterizerGetInfo(CKRasterizerInfo* Info); void CDECL_CALL CKDX8RasterizerGetInfo(CKRasterizerInfo* Info); void CDECL_CALL CKDX7RasterizerGetInfo(CKRasterizerInfo* Info); void CDECL_CALL CKGL15RasterizerGetInfo(CKRasterizerInfo* Info); void CDECL_CALL CKAlchemyRasterizerGetInfo(CKRasterizerInfo* Info); /***************************************************/ /**** READERS **************************************/ //---- Virtools Reader (4) CKPluginInfo* CDECL_CALL CKGetVirtoolsPluginInfo(int index); CKDataReader* CDECL_CALL CKGetVirtoolsReader(int index); //---- Image Reader (3) CKPluginInfo* CDECL_CALL CKGet_ImageReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_ImageReader_Reader(int pos); //---- Avi Reader (1) CKPluginInfo* CDECL_CALL CKGet_AviReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_AviReader_Reader(int pos); //---- PNG Reader (1) CKPluginInfo* CDECL_CALL CKGet_PngReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_PngReader_Reader(int pos); //---- JPG Reader (1) CKPluginInfo* CDECL_CALL CKGet_JpgReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_JpgReader_Reader(int pos); //---- JPG Reader (1) CKPluginInfo* CDECL_CALL CKGet_DDSReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_DDSReader_Static(int pos); //---- Tif Reader (1) CKPluginInfo* CDECL_CALL CKGet_TifReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_TifReader_Reader(int pos); //---- Wav Reader (3) CKPluginInfo* CDECL_CALL CKGet_WavReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_WavReader_Reader(int pos); //---- D3DX Reader CKPluginInfo* CDECL_CALL CKGet_D3DXReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_D3DXReader_Reader(int pos); #ifdef PSX2 extern "C" { //---- Alchemy Reader (1) CKPluginInfo* CDECL_CALL CKGet_AlchemyReader_PluginInfo(int index); int CDECL_CALL CKGet_AlchemyReader_PluginInfoCount(); CKDataReader* CDECL_CALL CKGet_AlchemyReader_Reader(int pos); } //---- IPU Reader (1) CKPluginInfo* CDECL_CALL CKGet_IPUReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_IPUReader_Reader(int pos); CKPluginInfo* CDECL_CALL CKGet_VRLEReader_PluginInfo(int index); CKDataReader* CDECL_CALL CKGet_VRLEReader_Reader(int pos); #endif /***************************************************/ /**** EXTENSIONS ***********************************/ CKPluginInfo* CDECL_CALL CKGet_ParamOp_PluginInfo(int Index); /***************************************************/ /**** MANAGERS ***********************************/ CKPluginInfo* CDECL_CALL CKGet_InputManager_PluginInfo(int Index); CKPluginInfo* CDECL_CALL CKGet_SoundManager_PluginInfo(int Index); CKPluginInfo* CDECL_CALL CKGet_VideoManager_PluginInfo(int Index); #if !defined(PSX2) //-- WebServerManager (0:beh) CKPluginInfo* CDECL_CALL CKGet_SelectionSetManager_PluginInfo(int Index); void CDECL_CALL Register_SelectionSetManager_BehaviorDeclarations(XObjectDeclarationArray *reg); #endif #if defined(WIN32) CKPluginInfo* CDECL_CALL CKGet_Dx8VideoManager_PluginInfo(int Index); CKPluginInfo* CDECL_CALL CKGet_Dx9VideoManager_PluginInfo(int Index); #endif #if defined(macintosh) CKPluginInfo* CDECL_CALL CKGet_QTVideoManager_PluginInfo(int Index); #endif #if defined(WIN32) || defined(macintosh) CKPluginInfo* CDECL_CALL CKGet_XMLManager_PluginInfo(int Index); void CDECL_CALL Register_XMLManager_BehaviorDeclarations(XObjectDeclarationArray *reg); CKPluginInfo* CDECL_CALL CKGet_VideoManager_PluginInfo(int Index); CKPluginInfo* CDECL_CALL CKGet_CKFEMgr_PluginInfo(int Index); void CDECL_CALL Register_CKFEMgr_BehaviorDeclarations(XObjectDeclarationArray *reg); #endif /***************************************************/ /**** BEHAVIORS ***********************************/ //--- 3D Transfo (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_3DTransfo_PluginInfo(int index); void CDECL_CALL Register_3DTransfo_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Behavior In Progress (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_BBInProgress_PluginInfo(int index); void CDECL_CALL Register_BBInProgress_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ BuildingBlock Addons (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_BBAddons_PluginInfo(int Index); void CDECL_CALL Register_BBAddons_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ BuildingBlock Addons2 (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_BBAddons2_PluginInfo(int Index); void CDECL_CALL Register_BBAddons2_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ BuildingBlock Addons2 (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_BBAddons3_PluginInfo(int Index); void CDECL_CALL Register_BBAddons3_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ Cameras (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_Cameras_PluginInfo(int Index); void CDECL_CALL Register_Cameras_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ Controllers (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_Controllers_PluginInfo(int Index); void CDECL_CALL Register_Controllers_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ Characters (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_Characters_PluginInfo(int Index); void CDECL_CALL Register_Characters_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ Collisions (1: Coll Manager, 2 : Floor Manager , 3 : Beh) CKPluginInfo* CDECL_CALL CKGet_Collisions_PluginInfo(int Index); void CDECL_CALL Register_Collisions_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Grids (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_Grids_PluginInfo(int index); void CDECL_CALL Register_Grids_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Evaluator (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_Evaluator_PluginInfo(int index); void CDECL_CALL Register_Evaluator_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Interface (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_Interface_PluginInfo(int index); void CDECL_CALL Register_Interface_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ Lights (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_Lights_PluginInfo(int Index); void CDECL_CALL Register_Lights_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ Logics (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_Logics_PluginInfo(int Index); void CDECL_CALL Register_Logics_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ Materials (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_Materials_PluginInfo(int Index); void CDECL_CALL Register_Materials_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Meshes (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_MeshModifiers_PluginInfo(int Index); void CDECL_CALL Register_MeshModifiers_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Midi (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_MidiBehaviors_PluginInfo(int Index); void CDECL_CALL Register_MidiBehaviors_BehaviorDeclarations(XObjectDeclarationArray *reg); //------ Narratives (1 : Beh) CKPluginInfo* CDECL_CALL CKGet_Narratives_PluginInfo(int Index); void CDECL_CALL Register_Narratives_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Particles (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_Particles_PluginInfo(int Index); void CDECL_CALL Register_Particles_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Physics (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_Physics_PluginInfo(int Index); void CDECL_CALL Register_Physics_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Sounds (1: Beh) CKPluginInfo* CDECL_CALL CKGet_Sounds_PluginInfo(int Index); void CDECL_CALL Register_Sounds_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Video (1: Beh) CKPluginInfo* CDECL_CALL CKGet_Video_PluginInfo(int Index); void CDECL_CALL Register_Video_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Visuals (1: Beh) CKPluginInfo* CDECL_CALL CKGet_Visuals_PluginInfo(int Index); void CDECL_CALL Register_Visuals_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- World Env (1: Beh) CKPluginInfo* CDECL_CALL CKGet_WorldEnvironment_PluginInfo(int Index); void CDECL_CALL Register_WorldEnvironment_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- VSManager (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_VSManager_PluginInfo(int Index); void CDECL_CALL Register_VSManager_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- VSServerManager (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_VSServerManager_PluginInfo(int Index); void CDECL_CALL Register_VSServerManager_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- MultiPlayer (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_MP_PluginInfo(int Index); void CDECL_CALL Register_MP_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- DownloadMedia (1: Beh) CKPluginInfo* CDECL_CALL CKGet_DLM_PluginInfo(int Index); void CDECL_CALL Register_DLM_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- DownloadMedia (1: Beh) CKPluginInfo* CDECL_CALL CKGet_DBC_PluginInfo(int Index); void CDECL_CALL Register_DBC_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- DownloadMedia (1: Beh) CKPluginInfo* CDECL_CALL CKGet_CryptedLoader_PluginInfo(int Index); void CDECL_CALL Register_CryptedLoader_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- Director (1: Beh) CKPluginInfo* CDECL_CALL CKGet_Director_PluginInfo(int Index); void CDECL_CALL Register_Director_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- VSLManager (1: Beh, 2 : Manager) CKPluginInfo* CDECL_CALL CKGet_VSLManager_PluginInfo(int Index); void CDECL_CALL Register_VSLManager_BehaviorDeclarations(XObjectDeclarationArray *reg); //--- ShaderManager ( 1 : Manager, 2 : Beh) CKPluginInfo* CDECL_CALL CKGet_Shaders_PluginInfo(int Index); void CDECL_CALL Register_Shaders_BehaviorDeclarations(XObjectDeclarationArray *reg); #if !defined(PSX2) //-- WebManager (0:beh) CKPluginInfo* CDECL_CALL CKGet_WebManager_PluginInfo(int Index); void CDECL_CALL Register_WebManager_BehaviorDeclarations(XObjectDeclarationArray *reg); #endif #if !defined(PSX2) //-- WebServerManager (0:beh) CKPluginInfo* CDECL_CALL CKGet_WebServerManager_PluginInfo(int Index); void CDECL_CALL Register_WebServerManager_BehaviorDeclarations(XObjectDeclarationArray *reg); #endif //--------------------- Implementation -------------------------------------// //--------------------- of -------------------------------------// //--------------------- registration functions -----------------------------// /**************************************************************************** BEHAVIORS *******************************************************************************/ inline void Register3DTransfoBehaviors(CKPluginManager* pm) { //--- 3D Tranfo pm->RegisterPluginInfo(0,CKGet_3DTransfo_PluginInfo(0),Register_3DTransfo_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_3DTransfo_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("3DTransfo",2); } inline void RegisterBBInProgressBehaviors(CKPluginManager* pm) { //--- Behavior In Progress (1: Beh, 2 : Manager) pm->RegisterPluginInfo(0,CKGet_BBInProgress_PluginInfo(0),Register_BBInProgress_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_BBInProgress_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("BBInProgress",2); } inline void RegisterBBAddonsBehaviors(CKPluginManager* pm) { //--- BuildingBlock Addons (1 : Beh) pm->RegisterPluginInfo(0,CKGet_BBAddons_PluginInfo(0),Register_BBAddons_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("BBAddons",1); } inline void RegisterBBAddons2Behaviors(CKPluginManager* pm) { //--- BuildingBlock Addons 2 (1 : Beh) pm->RegisterPluginInfo(0,CKGet_BBAddons2_PluginInfo(0),Register_BBAddons2_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("BBAddons2",1); } inline void RegisterBBAddons3Behaviors(CKPluginManager* pm) { //--- BuildingBlock Addons 3 (1 : Beh) pm->RegisterPluginInfo(0,CKGet_BBAddons3_PluginInfo(0),Register_BBAddons3_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("BBAddons3",1); } inline void RegisterCamerasBehaviors(CKPluginManager* pm) { //-- Cameras pm->RegisterPluginInfo(0,CKGet_Cameras_PluginInfo(0),Register_Cameras_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Cameras",1); } inline void RegisterControllersBehaviors(CKPluginManager* pm) { //-- Controllers pm->RegisterPluginInfo(0,CKGet_Controllers_PluginInfo(0),Register_Controllers_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Controllers",1); } inline void RegisterCharactersBehaviors(CKPluginManager* pm) { //-- Characters pm->RegisterPluginInfo(0,CKGet_Characters_PluginInfo(0),Register_Characters_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Character",1); } inline void RegisterCollisionsBehaviors(CKPluginManager* pm) { //-- Collisions pm->RegisterPluginInfo(0,CKGet_Collisions_PluginInfo(0),NULL,NULL); pm->RegisterPluginInfo(1,CKGet_Collisions_PluginInfo(1),NULL,NULL); pm->RegisterPluginInfo(2,CKGet_Collisions_PluginInfo(2),Register_Collisions_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Collision",3); } inline void RegisterGridsBehaviors(CKPluginManager* pm) { //--- Grids pm->RegisterPluginInfo(0,CKGet_Grids_PluginInfo(0),Register_Grids_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_Grids_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("Grids",2); } inline void RegisterEvaluatorBehaviors(CKPluginManager* pm) { //--- Evaluator pm->RegisterPluginInfo(0,CKGet_Evaluator_PluginInfo(0),Register_Evaluator_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_Evaluator_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("Evaluator",2); } inline void RegisterInterfaceBehaviors(CKPluginManager* pm) { //--- Interface pm->RegisterPluginInfo(0,CKGet_Interface_PluginInfo(0),Register_Interface_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_Interface_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("Interface",2); } inline void RegisterLightsBehaviors(CKPluginManager* pm) { //-- Lights pm->RegisterPluginInfo(0,CKGet_Lights_PluginInfo(0),Register_Lights_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Lights",1); } inline void RegisterLogicsBehaviors(CKPluginManager* pm) { //-- Logics pm->RegisterPluginInfo(0,CKGet_Logics_PluginInfo(0),Register_Logics_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Logics",1); } inline void RegisterMaterialsBehaviors(CKPluginManager* pm) { //-- Materials pm->RegisterPluginInfo(0,CKGet_Materials_PluginInfo(0),Register_Materials_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Materials",1); } inline void RegisterMeshesBehaviors(CKPluginManager* pm) { //--- Meshes pm->RegisterPluginInfo(0,CKGet_MeshModifiers_PluginInfo(0),Register_MeshModifiers_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_MeshModifiers_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("Meshes",2); } inline void RegisterMidiBehaviors(CKPluginManager* pm) { //--- Midi pm->RegisterPluginInfo(0,CKGet_MidiBehaviors_PluginInfo(0),Register_MidiBehaviors_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_MidiBehaviors_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("Midi",2); } inline void RegisterNarrativesBehaviors(CKPluginManager* pm) { //-- Narratives pm->RegisterPluginInfo(0,CKGet_Narratives_PluginInfo(0),Register_Narratives_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Narratives",1); } inline void RegisterParticleSystemsBehaviors(CKPluginManager* pm) { //-- Particle systems pm->RegisterPluginInfo(0,CKGet_Particles_PluginInfo(0),Register_Particles_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_Particles_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("ParticleSystems",2); } inline void RegisterPhysicsBehaviors(CKPluginManager* pm) { //-- Physics pm->RegisterPluginInfo(0,CKGet_Physics_PluginInfo(0),Register_Physics_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_Physics_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("Physics",2); } inline void RegisterSoundsBehaviors(CKPluginManager* pm) { //-- Sounds pm->RegisterPluginInfo(0,CKGet_Sounds_PluginInfo(0),Register_Sounds_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Sounds",1); } inline void RegisterVideoBehaviors(CKPluginManager* pm) { //-- Video pm->RegisterPluginInfo(0,CKGet_Video_PluginInfo(0),Register_Video_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Videos",1); } inline void RegisterShaderBehaviors(CKPluginManager* pm) { //-- Shader Behaviors pm->RegisterPluginInfo(0,CKGet_Shaders_PluginInfo(0),NULL,NULL); pm->RegisterPluginInfo(1,CKGet_Shaders_PluginInfo(1),Register_Shaders_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Shaders",2); } inline void RegisterVisualsBehaviors(CKPluginManager* pm) { //-- Visuals pm->RegisterPluginInfo(0,CKGet_Visuals_PluginInfo(0),Register_Visuals_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Visuals",1); } inline void RegisterWorldEnvBehaviors(CKPluginManager* pm) { //-- World Env pm->RegisterPluginInfo(0,CKGet_WorldEnvironment_PluginInfo(0),Register_WorldEnvironment_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("WorldEnv",1); } inline void RegisterNetworkBehaviors(CKPluginManager* pm) { //-- Network Manager pm->RegisterPluginInfo(0,CKGet_VSManager_PluginInfo(0),Register_VSManager_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_VSManager_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("Network",2); #ifndef _XBOX pm->RegisterPluginInfo(0,CKGet_DLM_PluginInfo(0),Register_DLM_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Network_Download",1); pm->RegisterPluginInfo(0,CKGet_DBC_PluginInfo(0),Register_DBC_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Network_Database",1); pm->RegisterPluginInfo(0,CKGet_CryptedLoader_PluginInfo(0),Register_CryptedLoader_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("CryptedLoader",1); #endif } inline void RegisterNetworkServerBehaviors(CKPluginManager* pm) { //-- Network Server Manager pm->RegisterPluginInfo(0,CKGet_VSServerManager_PluginInfo(0),Register_VSServerManager_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_VSServerManager_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("NetworkServer",2); } inline void RegisterMultiPlayerBehaviors(CKPluginManager* pm) { //-- MultiPlayer pm->RegisterPluginInfo(0,CKGet_MP_PluginInfo(0),Register_MP_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_MP_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("MultiPlayer",2); } inline void RegisterDownloadBehaviors(CKPluginManager* pm) { //-- DownloadMedia pm->RegisterPluginInfo(0,CKGet_DLM_PluginInfo(0),Register_DLM_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("DownloadMedia",1); } inline void RegisterDatabaseBehaviors(CKPluginManager* pm) { //-- Database pm->RegisterPluginInfo(0,CKGet_DBC_PluginInfo(0),Register_DBC_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Database",1); } inline void RegisterDirectorBehaviors(CKPluginManager* pm) { //-- Director pm->RegisterPluginInfo(0,CKGet_Director_PluginInfo(0),Register_Director_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("Director",1); } inline void RegisterVSLBehaviors(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_VSLManager_PluginInfo(0),Register_VSLManager_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_VSLManager_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("VSL",2); } //--- inline void RegisterAllBehaviors(CKPluginManager* pm) { Register3DTransfoBehaviors(pm); RegisterBBInProgressBehaviors(pm); RegisterBBAddonsBehaviors(pm); RegisterBBAddons2Behaviors(pm); RegisterBBAddons3Behaviors(pm); RegisterCamerasBehaviors(pm); RegisterCamerasBehaviors(pm); RegisterControllersBehaviors(pm); RegisterCharactersBehaviors(pm); RegisterCollisionsBehaviors(pm); RegisterGridsBehaviors(pm); RegisterInterfaceBehaviors(pm); RegisterLightsBehaviors(pm); RegisterLogicsBehaviors(pm); RegisterMaterialsBehaviors(pm); RegisterMeshesBehaviors(pm); RegisterMidiBehaviors(pm); RegisterNarrativesBehaviors(pm); RegisterParticleSystemsBehaviors(pm); RegisterPhysicsBehaviors(pm); RegisterSoundsBehaviors(pm); RegisterVideoBehaviors(pm); RegisterShaderBehaviors(pm); RegisterVisualsBehaviors(pm); RegisterWorldEnvBehaviors(pm); RegisterNetworkBehaviors(pm); RegisterNetworkServerBehaviors(pm); RegisterMultiPlayerBehaviors(pm); RegisterVSLBehaviors(pm); } /**************************************************************************** MANAGERS *******************************************************************************/ inline void RegisterParamOpManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_ParamOp_PluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("CKParamOp",1); } inline void RegisterInputManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_InputManager_PluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("InputManager",1); } inline void RegisterSoundManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_SoundManager_PluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("SoundManager",1); } inline void RegisterVideoManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_VideoManager_PluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("VideoManager",1); } #if defined(WIN32) inline void RegisterDx9VideoManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_Dx9VideoManager_PluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("Dx9VideoManager",1); } inline void RegisterDx8VideoManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_Dx8VideoManager_PluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("Dx8VideoManager",1); } #endif #if defined(macintosh) inline void RegisterQTVideoManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_QTVideoManager_PluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("QtVideoManager",1); } #endif #if defined(WIN32) || defined(macintosh) inline void RegisterWebManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_WebManager_PluginInfo(0),Register_WebManager_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_WebManager_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("WebManager",2); } inline void RegisterWebServerManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_WebServerManager_PluginInfo(0),Register_WebServerManager_BehaviorDeclarations,NULL); pm->RegisterPluginInfo(1,CKGet_WebServerManager_PluginInfo(1),NULL,NULL); pm->RegisterNewStaticLibAsDll("WebServerManager",2); } inline void RegisterSelectionSetManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_SelectionSetManager_PluginInfo(0),NULL,NULL); pm->RegisterPluginInfo(1,CKGet_SelectionSetManager_PluginInfo(1),Register_SelectionSetManager_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("SelectionSetManager",2); } inline void RegisterFEManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_CKFEMgr_PluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("CKFEMrg",1); } inline void RegisterXMLManager(CKPluginManager* pm) { pm->RegisterPluginInfo(1,CKGet_XMLManager_PluginInfo(1),NULL,NULL); pm->RegisterPluginInfo(0,CKGet_XMLManager_PluginInfo(0),Register_XMLManager_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("XMLManager",2); } #endif inline void RegisterAllManagers(CKPluginManager* pm) { RegisterParamOpManager(pm); RegisterInputManager(pm); RegisterSoundManager(pm); RegisterVideoManager(pm); #if defined(WIN32) || defined(macintosh) RegisterWebManager(pm); RegisterWebServerManager(pm); RegisterSelectionSetManager(pm); RegisterXMLManager(pm); RegisterFEManager(pm); #endif #if defined(WIN32) RegisterDx8VideoManager(pm); RegisterDx9VideoManager(pm); #endif #if defined(macintosh) RegisterQTVideoManager(pm); #endif } /**************************************************************************** READERS *******************************************************************************/ inline void RegisterVirtoolsReader(CKPluginManager* pm) { //--- Virtools Reader pm->RegisterPluginInfo(0,CKGetVirtoolsPluginInfo(0),NULL,CKGetVirtoolsReader); pm->RegisterPluginInfo(1,CKGetVirtoolsPluginInfo(1),NULL,CKGetVirtoolsReader); pm->RegisterPluginInfo(2,CKGetVirtoolsPluginInfo(2),NULL,CKGetVirtoolsReader); pm->RegisterPluginInfo(3,CKGetVirtoolsPluginInfo(3),NULL,CKGetVirtoolsReader); pm->RegisterNewStaticLibAsDll("Virtools Reader",4); } inline void RegisterImageReader(CKPluginManager* pm) { //--- Image Reader pm->RegisterPluginInfo(0,CKGet_ImageReader_PluginInfo(0),NULL,CKGet_ImageReader_Reader); pm->RegisterPluginInfo(1,CKGet_ImageReader_PluginInfo(1),NULL,CKGet_ImageReader_Reader); pm->RegisterPluginInfo(2,CKGet_ImageReader_PluginInfo(2),NULL,CKGet_ImageReader_Reader); #ifdef PSX2 pm->RegisterPluginInfo(3,CKGet_ImageReader_PluginInfo(3),NULL,CKGet_ImageReader_Reader); pm->RegisterNewStaticLibAsDll("Image Reader",4); #else pm->RegisterNewStaticLibAsDll("Image Reader",3); #endif } inline void RegisterAVIReader(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_AviReader_PluginInfo(0),NULL,CKGet_AviReader_Reader); pm->RegisterNewStaticLibAsDll("AVI Reader",1); } inline void RegisterPNGReader(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_PngReader_PluginInfo(0),NULL,CKGet_PngReader_Reader); pm->RegisterNewStaticLibAsDll("PNG Reader",1); } inline void RegisterJPGReader(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_JpgReader_PluginInfo(0),NULL,CKGet_JpgReader_Reader); pm->RegisterNewStaticLibAsDll("JPG Reader",1); } inline void RegisterDDSReader(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_DDSReader_PluginInfo(0),NULL,CKGet_DDSReader_Static); pm->RegisterNewStaticLibAsDll("DDS Reader",1); } inline void RegisterTIFFReader(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_TifReader_PluginInfo(0),NULL,CKGet_TifReader_Reader); pm->RegisterNewStaticLibAsDll("Tiff Reader",1); } inline void RegisterWAVReader(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_WavReader_PluginInfo(0),NULL,CKGet_WavReader_Reader); pm->RegisterPluginInfo(1,CKGet_WavReader_PluginInfo(1),NULL,CKGet_WavReader_Reader); pm->RegisterPluginInfo(2,CKGet_WavReader_PluginInfo(2),NULL,CKGet_WavReader_Reader); pm->RegisterNewStaticLibAsDll("Wav Reader",3); } #ifdef _XBOX inline void RegisterD3DXReader(CKPluginManager* pm){ int i=0; pm->RegisterPluginInfo(0,CKGet_D3DXReader_PluginInfo(i++),NULL,CKGet_D3DXReader_Reader); pm->RegisterPluginInfo(0,CKGet_D3DXReader_PluginInfo(i++),NULL,CKGet_D3DXReader_Reader); pm->RegisterPluginInfo(0,CKGet_D3DXReader_PluginInfo(i++),NULL,CKGet_D3DXReader_Reader); pm->RegisterNewStaticLibAsDll("D3DX Reader",i); } inline void RegisterXBOXBehaviors(CKPluginManager* pm){ pm->RegisterPluginInfo(0,CKGet_XBOXBBS_PluginInfo(0),Register_XBOXBBS_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("XBOXBBS",1); } inline void RegisterXInputBehaviors(CKPluginManager* pm){ pm->RegisterPluginInfo(0,CKGet_XInputController_PluginInfo(0),Register_XInputController_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("XInputController",1); } inline void RegisterXACTSoundManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_XACTSoundManager_PluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("XACTSoundManager",1); } inline void RegisterXAudio2SoundManager(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_XAudio2SoundManager_PluginInfo(0),NULL,NULL); pm->RegisterPluginInfo(0,CKGet_XAudio2SoundManager_PluginInfo(1),Register_XAudio2_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("XAudio2SoundManager",2); } #endif #ifdef PSP void CDECL_CALL CKPSPRasterizerGetInfo(CKRasterizerInfo* Info); inline void RegisterPSPBehaviors(CKPluginManager* pm){ pm->RegisterPluginInfo(0,CKGet_PSPBBS_PluginInfo(0),Register_PSPBBS_BehaviorDeclarations,NULL); pm->RegisterNewStaticLibAsDll("PSPBBS",1); } #endif #ifdef PSX2 inline void RegisterAlchemyReader(CKPluginManager* pm) { int count = CKGet_AlchemyReader_PluginInfoCount(); for(int i=0;iRegisterPluginInfo(i,CKGet_AlchemyReader_PluginInfo(i),NULL,CKGet_AlchemyReader_Reader); } pm->RegisterNewStaticLibAsDll("Alchemy Reader",count); } inline void RegisterVRLEReader(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_VRLEReader_PluginInfo(0),NULL,CKGet_VRLEReader_Reader); pm->RegisterNewStaticLibAsDll("VRLE Reader",1); } inline void RegisterIPUReader(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CKGet_IPUReader_PluginInfo(0),NULL,CKGet_IPUReader_Reader); pm->RegisterNewStaticLibAsDll("IPU Reader",1); } #endif inline void RegisterAllReaders(CKPluginManager* pm) { RegisterVirtoolsReader(pm); RegisterImageReader(pm); RegisterAVIReader(pm); RegisterPNGReader(pm); RegisterJPGReader(pm); RegisterDDSReader(pm); RegisterWAVReader(pm); RegisterTIFFReader(pm); } /**************************************************************************** RENDER ENGINE *******************************************************************************/ inline void RegisterRenderEngine(CKPluginManager* pm) { pm->RegisterPluginInfo(0,CK2_3DGetPluginInfo(0),NULL,NULL); pm->RegisterNewStaticLibAsDll("Render Engine",1); } inline void RegisterAllStaticPlugins(CKPluginManager* pm) { RegisterRenderEngine(pm); RegisterAllReaders(pm); RegisterAllManagers(pm); RegisterAllBehaviors(pm); }