X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fplugin.cpp;h=2c3d6dd0cc5e05570c302caa3231f32e76589683;hb=1c5f9677125c9f218810c148b2e41911ebc7a9e7;hp=fc77af1fc6b12949bd3d199b79b7f81633cf1da8;hpb=02a51890a3d97a0e937fbb11071cf7c41cc00aa9;p=xonotic%2Fnetradiant.git diff --git a/radiant/plugin.cpp b/radiant/plugin.cpp index fc77af1f..2c3d6dd0 100644 --- a/radiant/plugin.cpp +++ b/radiant/plugin.cpp @@ -83,274 +83,247 @@ #include "generic/callback.h" -const char *GameDescription_getKeyValue(const char *key) -{ - return g_pGameDescription->getKeyValue(key); +const char* GameDescription_getKeyValue( const char* key ){ + return g_pGameDescription->getKeyValue( key ); } -const char *GameDescription_getRequiredKeyValue(const char *key) -{ - return g_pGameDescription->getRequiredKeyValue(key); +const char* GameDescription_getRequiredKeyValue( const char* key ){ + return g_pGameDescription->getRequiredKeyValue( key ); } -const char *getMapName() -{ - return Map_Name(g_map); +const char* getMapName(){ + return Map_Name( g_map ); } -scene::Node &getMapWorldEntity() -{ - return Map_FindOrInsertWorldspawn(g_map); +scene::Node& getMapWorldEntity(){ + return Map_FindOrInsertWorldspawn( g_map ); } -VIEWTYPE XYWindow_getViewType() -{ - return g_pParentWnd->GetXYWnd()->GetViewType(); +VIEWTYPE XYWindow_getViewType(){ + return g_pParentWnd->GetXYWnd()->GetViewType(); } -Vector3 XYWindow_windowToWorld(const WindowVector &position) -{ - Vector3 result(0, 0, 0); - g_pParentWnd->GetXYWnd()->XY_ToPoint(static_cast( position.x()), static_cast( position.y()), result); - return result; +Vector3 XYWindow_windowToWorld( const WindowVector& position ){ + Vector3 result( 0, 0, 0 ); + g_pParentWnd->GetXYWnd()->XY_ToPoint( static_cast( position.x() ), static_cast( position.y() ), result ); + return result; } -const char *TextureBrowser_getSelectedShader() -{ - return TextureBrowser_GetSelectedShader(GlobalTextureBrowser()); +const char* TextureBrowser_getSelectedShader(){ + return TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ); } -const char *getGameFile() -{ - return g_GamesDialog.m_sGameFile.c_str(); +const char* getGameFile(){ + return g_GamesDialog.m_sGameFile.c_str(); } -class RadiantCoreAPI { - _QERFuncTable_1 m_radiantcore; +class RadiantCoreAPI +{ +_QERFuncTable_1 m_radiantcore; public: - typedef _QERFuncTable_1 Type; - - STRING_CONSTANT(Name, "*"); - - RadiantCoreAPI() - { - m_radiantcore.getEnginePath = &EnginePath_get; - m_radiantcore.getLocalRcPath = &LocalRcPath_get; - m_radiantcore.getAppPath = &AppPath_get; - m_radiantcore.getGameToolsPath = &GameToolsPath_get; - m_radiantcore.getSettingsPath = &SettingsPath_get; - m_radiantcore.getMapsPath = &getMapsPath; - - m_radiantcore.getGameFile = &getGameFile; - m_radiantcore.getGameName = &gamename_get; - m_radiantcore.getGameMode = &gamemode_get; - - m_radiantcore.getMapName = &getMapName; - m_radiantcore.getMapWorldEntity = getMapWorldEntity; - m_radiantcore.getGridSize = GetGridSize; - - m_radiantcore.getGameDescriptionKeyValue = &GameDescription_getKeyValue; - m_radiantcore.getRequiredGameDescriptionKeyValue = &GameDescription_getRequiredKeyValue; - - m_radiantcore.XYWindowDestroyed_connect = XYWindowDestroyed_connect; - m_radiantcore.XYWindowDestroyed_disconnect = XYWindowDestroyed_disconnect; - m_radiantcore.XYWindowMouseDown_connect = XYWindowMouseDown_connect; - m_radiantcore.XYWindowMouseDown_disconnect = XYWindowMouseDown_disconnect; - m_radiantcore.XYWindow_getViewType = XYWindow_getViewType; - m_radiantcore.XYWindow_windowToWorld = XYWindow_windowToWorld; - m_radiantcore.TextureBrowser_getSelectedShader = TextureBrowser_getSelectedShader; - - m_radiantcore.m_pfnMessageBox = >k_MessageBox; - m_radiantcore.m_pfnFileDialog = &file_dialog; - m_radiantcore.m_pfnColorDialog = &color_dialog; - m_radiantcore.m_pfnDirDialog = &dir_dialog; - m_radiantcore.m_pfnNewImage = &new_plugin_image; - } - - _QERFuncTable_1 *getTable() - { - return &m_radiantcore; - } +typedef _QERFuncTable_1 Type; +STRING_CONSTANT( Name, "*" ); + +RadiantCoreAPI(){ + m_radiantcore.getEnginePath = &EnginePath_get; + m_radiantcore.getLocalRcPath = &LocalRcPath_get; + m_radiantcore.getAppPath = &AppPath_get; + m_radiantcore.getDataPath = &DataPath_get; + m_radiantcore.getGameToolsPath = &GameToolsPath_get; + m_radiantcore.getSettingsPath = &SettingsPath_get; + m_radiantcore.getMapsPath = &getMapsPath; + + m_radiantcore.getGameFile = &getGameFile; + m_radiantcore.getGameName = &gamename_get; + m_radiantcore.getGameMode = &gamemode_get; + + m_radiantcore.getMapName = &getMapName; + m_radiantcore.getMapWorldEntity = getMapWorldEntity; + m_radiantcore.getGridSize = GetGridSize; + + m_radiantcore.getGameDescriptionKeyValue = &GameDescription_getKeyValue; + m_radiantcore.getRequiredGameDescriptionKeyValue = &GameDescription_getRequiredKeyValue; + + m_radiantcore.XYWindowDestroyed_connect = XYWindowDestroyed_connect; + m_radiantcore.XYWindowDestroyed_disconnect = XYWindowDestroyed_disconnect; + m_radiantcore.XYWindowMouseDown_connect = XYWindowMouseDown_connect; + m_radiantcore.XYWindowMouseDown_disconnect = XYWindowMouseDown_disconnect; + m_radiantcore.XYWindow_getViewType = XYWindow_getViewType; + m_radiantcore.XYWindow_windowToWorld = XYWindow_windowToWorld; + m_radiantcore.TextureBrowser_getSelectedShader = TextureBrowser_getSelectedShader; + + m_radiantcore.m_pfnMessageBox = >k_MessageBox; + m_radiantcore.m_pfnFileDialog = &file_dialog; + m_radiantcore.m_pfnColorDialog = &color_dialog; + m_radiantcore.m_pfnDirDialog = &dir_dialog; + m_radiantcore.m_pfnNewImage = &new_plugin_image; +} +_QERFuncTable_1* getTable(){ + return &m_radiantcore; +} }; typedef SingletonModule RadiantCoreModule; typedef Static StaticRadiantCoreModule; -StaticRegisterModule staticRegisterRadiantCore(StaticRadiantCoreModule::instance()); +StaticRegisterModule staticRegisterRadiantCore( StaticRadiantCoreModule::instance() ); class RadiantDependencies : - public GlobalRadiantModuleRef, - public GlobalFileSystemModuleRef, - public GlobalEntityModuleRef, - public GlobalShadersModuleRef, - public GlobalBrushModuleRef, - public GlobalSceneGraphModuleRef, - public GlobalShaderCacheModuleRef, - public GlobalFiletypesModuleRef, - public GlobalSelectionModuleRef, - public GlobalReferenceModuleRef, - public GlobalOpenGLModuleRef, - public GlobalEntityClassManagerModuleRef, - public GlobalUndoModuleRef, - public GlobalScripLibModuleRef, - public GlobalNamespaceModuleRef { - ImageModulesRef m_image_modules; - MapModulesRef m_map_modules; - ToolbarModulesRef m_toolbar_modules; - PluginModulesRef m_plugin_modules; + public GlobalRadiantModuleRef, + public GlobalFileSystemModuleRef, + public GlobalEntityModuleRef, + public GlobalShadersModuleRef, + public GlobalBrushModuleRef, + public GlobalSceneGraphModuleRef, + public GlobalShaderCacheModuleRef, + public GlobalFiletypesModuleRef, + public GlobalSelectionModuleRef, + public GlobalReferenceModuleRef, + public GlobalOpenGLModuleRef, + public GlobalEntityClassManagerModuleRef, + public GlobalUndoModuleRef, + public GlobalScripLibModuleRef, + public GlobalNamespaceModuleRef +{ +ImageModulesRef m_image_modules; +MapModulesRef m_map_modules; +ToolbarModulesRef m_toolbar_modules; +PluginModulesRef m_plugin_modules; public: - RadiantDependencies() : - GlobalEntityModuleRef(GlobalRadiant().getRequiredGameDescriptionKeyValue("entities")), - GlobalShadersModuleRef(GlobalRadiant().getRequiredGameDescriptionKeyValue("shaders")), - GlobalBrushModuleRef(GlobalRadiant().getRequiredGameDescriptionKeyValue("brushtypes")), - GlobalEntityClassManagerModuleRef(GlobalRadiant().getRequiredGameDescriptionKeyValue("entityclass")), - m_image_modules(GlobalRadiant().getRequiredGameDescriptionKeyValue("texturetypes")), - m_map_modules(GlobalRadiant().getRequiredGameDescriptionKeyValue("maptypes")), - m_toolbar_modules("*"), - m_plugin_modules("*") - { - } - - ImageModules &getImageModules() - { - return m_image_modules.get(); - } - - MapModules &getMapModules() - { - return m_map_modules.get(); - } - - ToolbarModules &getToolbarModules() - { - return m_toolbar_modules.get(); - } - - PluginModules &getPluginModules() - { - return m_plugin_modules.get(); - } +RadiantDependencies() : + GlobalEntityModuleRef( GlobalRadiant().getRequiredGameDescriptionKeyValue( "entities" ) ), + GlobalShadersModuleRef( GlobalRadiant().getRequiredGameDescriptionKeyValue( "shaders" ) ), + GlobalBrushModuleRef( GlobalRadiant().getRequiredGameDescriptionKeyValue( "brushtypes" ) ), + GlobalEntityClassManagerModuleRef( GlobalRadiant().getRequiredGameDescriptionKeyValue( "entityclass" ) ), + m_image_modules( GlobalRadiant().getRequiredGameDescriptionKeyValue( "texturetypes" ) ), + m_map_modules( GlobalRadiant().getRequiredGameDescriptionKeyValue( "maptypes" ) ), + m_toolbar_modules( "*" ), + m_plugin_modules( "*" ){ +} + +ImageModules& getImageModules(){ + return m_image_modules.get(); +} +MapModules& getMapModules(){ + return m_map_modules.get(); +} +ToolbarModules& getToolbarModules(){ + return m_toolbar_modules.get(); +} +PluginModules& getPluginModules(){ + return m_plugin_modules.get(); +} }; -class Radiant : public TypeSystemRef { +class Radiant : public TypeSystemRef +{ public: - Radiant() - { - Preferences_Init(); - - GlobalFiletypes().addType("sound", "wav", filetype_t("PCM sound files", "*.wav")); - - Selection_construct(); - HomePaths_Construct(); - VFS_Construct(); - Grid_construct(); - MultiMon_Construct(); - MRU_Construct(); - Pointfile_Construct(); - GLWindow_Construct(); - BuildMenu_Construct(); - Map_Construct(); - EntityList_Construct(); - MainFrame_Construct(); - GroupDialog_Construct(); - SurfaceInspector_Construct(); - PatchInspector_Construct(); - CamWnd_Construct(); - XYWindow_Construct(); - BuildMonitor_Construct(); - TextureBrowser_Construct(); - Entity_Construct(); - Autosave_Construct(); - EntityInspector_construct(); - FindTextureDialog_Construct(); - NullModel_construct(); - MapRoot_construct(); - - EnginePath_verify(); - EnginePath_Realise(); - } - - ~Radiant() - { - EnginePath_Unrealise(); - - MapRoot_destroy(); - NullModel_destroy(); - FindTextureDialog_Destroy(); - EntityInspector_destroy(); - Autosave_Destroy(); - Entity_Destroy(); - TextureBrowser_Destroy(); - BuildMonitor_Destroy(); - XYWindow_Destroy(); - CamWnd_Destroy(); - PatchInspector_Destroy(); - SurfaceInspector_Destroy(); - GroupDialog_Destroy(); - MainFrame_Destroy(); - EntityList_Destroy(); - Map_Destroy(); - BuildMenu_Destroy(); - GLWindow_Destroy(); - Pointfile_Destroy(); - MRU_Destroy(); - MultiMon_Destroy(); - Grid_destroy(); - VFS_Destroy(); - HomePaths_Destroy(); - Selection_destroy(); - } +Radiant(){ + Preferences_Init(); + + GlobalFiletypes().addType( "sound", "wav", filetype_t( "PCM sound files", "*.wav" ) ); + + Selection_construct(); + HomePaths_Construct(); + VFS_Construct(); + Grid_construct(); + MultiMon_Construct(); + MRU_Construct(); + Pointfile_Construct(); + GLWindow_Construct(); + BuildMenu_Construct(); + Map_Construct(); + EntityList_Construct(); + MainFrame_Construct(); + GroupDialog_Construct(); + SurfaceInspector_Construct(); + PatchInspector_Construct(); + CamWnd_Construct(); + XYWindow_Construct(); + BuildMonitor_Construct(); + TextureBrowser_Construct(); + Entity_Construct(); + Autosave_Construct(); + EntityInspector_construct(); + FindTextureDialog_Construct(); + NullModel_construct(); + MapRoot_construct(); + + EnginePath_verify(); + EnginePath_Realise(); +} +~Radiant(){ + EnginePath_Unrealise(); + + MapRoot_destroy(); + NullModel_destroy(); + FindTextureDialog_Destroy(); + EntityInspector_destroy(); + Autosave_Destroy(); + Entity_Destroy(); + TextureBrowser_Destroy(); + BuildMonitor_Destroy(); + XYWindow_Destroy(); + CamWnd_Destroy(); + PatchInspector_Destroy(); + SurfaceInspector_Destroy(); + GroupDialog_Destroy(); + MainFrame_Destroy(); + EntityList_Destroy(); + Map_Destroy(); + BuildMenu_Destroy(); + GLWindow_Destroy(); + Pointfile_Destroy(); + MRU_Destroy(); + MultiMon_Destroy(); + Grid_destroy(); + VFS_Destroy(); + HomePaths_Destroy(); + Selection_destroy(); +} }; -namespace { - bool g_RadiantInitialised = false; - RadiantDependencies *g_RadiantDependencies; - Radiant *g_Radiant; +namespace +{ +bool g_RadiantInitialised = false; +RadiantDependencies* g_RadiantDependencies; +Radiant* g_Radiant; } -bool Radiant_Construct(ModuleServer &server) -{ - GlobalModuleServer::instance().set(server); - StaticModuleRegistryList().instance().registerModules(); - - g_RadiantDependencies = new RadiantDependencies(); - g_RadiantInitialised = !server.getError(); +bool Radiant_Construct( ModuleServer& server ){ + GlobalModuleServer::instance().set( server ); + StaticModuleRegistryList().instance().registerModules(); - if (g_RadiantInitialised) { - g_Radiant = new Radiant; - } + g_RadiantDependencies = new RadiantDependencies(); - return g_RadiantInitialised; -} + g_RadiantInitialised = !server.getError(); -void Radiant_Destroy() -{ - if (g_RadiantInitialised) { - delete g_Radiant; - } + if ( g_RadiantInitialised ) { + g_Radiant = new Radiant; + } - delete g_RadiantDependencies; + return g_RadiantInitialised; } +void Radiant_Destroy(){ + if ( g_RadiantInitialised ) { + delete g_Radiant; + } -ImageModules &Radiant_getImageModules() -{ - return g_RadiantDependencies->getImageModules(); + delete g_RadiantDependencies; } -MapModules &Radiant_getMapModules() -{ - return g_RadiantDependencies->getMapModules(); +ImageModules& Radiant_getImageModules(){ + return g_RadiantDependencies->getImageModules(); } - -ToolbarModules &Radiant_getToolbarModules() -{ - return g_RadiantDependencies->getToolbarModules(); +MapModules& Radiant_getMapModules(){ + return g_RadiantDependencies->getMapModules(); } - -PluginModules &Radiant_getPluginModules() -{ - return g_RadiantDependencies->getPluginModules(); +ToolbarModules& Radiant_getToolbarModules(){ + return g_RadiantDependencies->getToolbarModules(); +} +PluginModules& Radiant_getPluginModules(){ + return g_RadiantDependencies->getPluginModules(); }