]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - contrib/shaderplug/shaderplug.cpp
Revert partially (auto) "reformat code! now the code is only ugly on the *inside*"
[xonotic/netradiant.git] / contrib / shaderplug / shaderplug.cpp
index 489cceac6ddea490e973f434ec9ec77c4ac054f1..9d7bc4c52c78eca92c1e9d80095534675e5dc5d0 100644 (file)
 #include "generic/callback.h"
 
 namespace {
-    const char SHADERTAG_FILE[] = "shadertags.xml";
+const char SHADERTAG_FILE[] = "shadertags.xml";
 }
 
 class ShaderPlugPluginDependencies : public GlobalRadiantModuleRef,
-                                     public GlobalFileSystemModuleRef,
-                                     public GlobalShadersModuleRef {
+       public GlobalFileSystemModuleRef,
+       public GlobalShadersModuleRef
+{
 public:
-    ShaderPlugPluginDependencies() :
-            GlobalShadersModuleRef(GlobalRadiant().getRequiredGameDescriptionKeyValue("shaders"))
-    {
-    }
+ShaderPlugPluginDependencies() :
+       GlobalShadersModuleRef( GlobalRadiant().getRequiredGameDescriptionKeyValue( "shaders" ) ){
+}
 };
 
-namespace Shaderplug {
-    ui::Window g_window{ui::null};
-
-    std::vector<const char *> archives;
-    std::set<std::string> shaders;
-    std::set<std::string> textures;
-
-    XmlTagBuilder TagBuilder;
-
-    void CreateTagFile();
-
-    const char *init(void *hApp, void *pMainWidget)
-    {
-        g_window = ui::Window::from(pMainWidget);
-        return "";
-    }
-
-    const char *getName()
-    {
-        return "ShaderPlug";
-    }
-
-    const char *getCommandList()
-    {
-        return "About;Create tag file";
-    }
-
-    const char *getCommandTitleList()
-    {
-        return "";
-    }
-
-    void dispatch(const char *command, float *vMin, float *vMax, bool bSingleBrush)
-    {
-        if (string_equal(command, "About")) {
-            GlobalRadiant().m_pfnMessageBox(g_window, "Shaderplug (1.0)\n\n"
-                                                    "by Shaderman (shaderman@gmx.net)",
-                                            "About",
-                                            eMB_OK,
-                                            eMB_ICONDEFAULT);
-        }
-        if (string_equal(command, "Create tag file")) {
-            CreateTagFile();
-        }
-    }
-
-    void loadArchiveFile(const char *filename)
-    {
-        archives.push_back(filename);
-    }
-
-    void LoadTextureFile(const char *filename)
-    {
-        std::string s_filename = filename;
-
-        char buffer[256];
-        strcpy(buffer, "textures/");
-
-        // append filename without trailing file extension (.tga or .jpg for example)
-        strncat(buffer, filename, s_filename.length() - 4);
-
-        std::set<std::string>::iterator iter;
-        iter = shaders.find(buffer);
-
-        // a shader with this name already exists
-        if (iter == shaders.end()) {
-            textures.insert(buffer);
-        }
-    }
-
-    void GetTextures(const char *extension)
-    {
-        GlobalFileSystem().forEachFile("textures/", extension, makeCallbackF(LoadTextureFile), 0);
-    }
-
-    void LoadShaderList(const char *filename)
-    {
-        if (string_equal_prefix(filename, "textures/")) {
-            shaders.insert(filename);
-        }
-    }
-
-    void GetAllShaders()
-    {
-        GlobalShaderSystem().foreachShaderName(makeCallbackF(LoadShaderList));
-    }
-
-    void GetArchiveList()
-    {
-        GlobalFileSystem().forEachArchive(makeCallbackF(loadArchiveFile));
-        globalOutputStream() << "Shaderplug: " << (const Unsigned) Shaderplug::archives.size() << " archives found.\n";
-    }
-
-    void CreateTagFile()
-    {
-        const char *shader_type = GlobalRadiant().getGameDescriptionKeyValue("shaders");
-
-        GetAllShaders();
-        globalOutputStream() << "Shaderplug: " << (const Unsigned) shaders.size() << " shaders found.\n";
-
-        if (string_equal(shader_type, "quake3")) {
-            GetTextures("jpg");
-            GetTextures("tga");
-            GetTextures("png");
-
-            globalOutputStream() << "Shaderplug: " << (const Unsigned) textures.size() << " textures found.\n";
-        }
-
-        if (shaders.size() || textures.size() != 0) {
-            globalOutputStream() << "Shaderplug: Creating XML tag file.\n";
-
-            TagBuilder.CreateXmlDocument();
-
-            std::set<std::string>::reverse_iterator r_iter;
-
-            for (r_iter = textures.rbegin(); r_iter != textures.rend(); ++r_iter) {
-                TagBuilder.AddShaderNode(const_cast<char *>((*r_iter).c_str()), STOCK, TEXTURE);
-            }
-
-            for (r_iter = shaders.rbegin(); r_iter != shaders.rend(); ++r_iter) {
-                TagBuilder.AddShaderNode(const_cast<char *>((*r_iter).c_str()), STOCK, SHADER);
-            }
-
-            // Get the tag file
-            StringOutputStream tagFileStream(256);
-            tagFileStream << GlobalRadiant().getLocalRcPath() << SHADERTAG_FILE;
-            char *tagFile = tagFileStream.c_str();
-
-            char message[256];
-            strcpy(message, "Tag file saved to\n");
-            strcat(message, tagFile);
-            strcat(message, "\nPlease restart Radiant now.\n");
-
-            if (file_exists(tagFile)) {
-                EMessageBoxReturn result = GlobalRadiant().m_pfnMessageBox(g_window,
-                                                                           "WARNING! A tag file already exists! Overwrite it?",
-                                                                           "Overwrite tag file?",
-                                                                           eMB_NOYES,
-                                                                           eMB_ICONWARNING);
-
-                if (result == eIDYES) {
-                    TagBuilder.SaveXmlDoc(tagFile);
-                    GlobalRadiant().m_pfnMessageBox(g_window, message, "INFO", eMB_OK, eMB_ICONASTERISK);
-                }
-            } else {
-                TagBuilder.SaveXmlDoc(tagFile);
-                GlobalRadiant().m_pfnMessageBox(g_window, message, "INFO", eMB_OK, eMB_ICONASTERISK);
-            }
-        } else {
-            GlobalRadiant().m_pfnMessageBox(g_window,
-                                            "No shaders or textures found. No XML tag file created!\n"
-                                                    "",
-                                            "ERROR",
-                                            eMB_OK,
-                                            eMB_ICONERROR);
-        }
-    }
+namespace Shaderplug
+{
+ui::Window g_window{ui::null};
+
+std::vector<const char*> archives;
+std::set<std::string> shaders;
+std::set<std::string> textures;
+
+XmlTagBuilder TagBuilder;
+void CreateTagFile();
+
+const char* init( void* hApp, void* pMainWidget ){
+       g_window = ui::Window::from(pMainWidget);
+       return "";
+}
+const char* getName(){
+       return "ShaderPlug";
+}
+const char* getCommandList(){
+       return "About;Create tag file";
+}
+const char* getCommandTitleList(){
+       return "";
+}
+void dispatch( const char* command, float* vMin, float* vMax, bool bSingleBrush ){
+       if ( string_equal( command, "About" ) ) {
+               GlobalRadiant().m_pfnMessageBox( g_window, "Shaderplug (1.0)\n\n"
+                                                                                                                                "by Shaderman (shaderman@gmx.net)",
+                                                                                "About",
+                                                                                eMB_OK,
+                                                                                eMB_ICONDEFAULT );
+       }
+       if ( string_equal( command, "Create tag file" ) ) {
+               CreateTagFile();
+       }
+}
+
+void loadArchiveFile( const char* filename ){
+       archives.push_back( filename );
+}
+
+void LoadTextureFile( const char* filename ){
+       std::string s_filename = filename;
+
+       char buffer[256];
+       strcpy( buffer, "textures/" );
+
+       // append filename without trailing file extension (.tga or .jpg for example)
+       strncat( buffer, filename, s_filename.length() - 4 );
+
+       std::set<std::string>::iterator iter;
+       iter = shaders.find( buffer );
+
+       // a shader with this name already exists
+       if ( iter == shaders.end() ) {
+               textures.insert( buffer );
+       }
+}
+
+void GetTextures( const char* extension ){
+       GlobalFileSystem().forEachFile("textures/", extension, makeCallbackF(LoadTextureFile), 0);
+}
+
+void LoadShaderList( const char* filename ){
+       if ( string_equal_prefix( filename, "textures/" ) ) {
+               shaders.insert( filename );
+       }
+}
+
+void GetAllShaders(){
+       GlobalShaderSystem().foreachShaderName(makeCallbackF(LoadShaderList));
+}
+
+void GetArchiveList(){
+       GlobalFileSystem().forEachArchive(makeCallbackF(loadArchiveFile));
+       globalOutputStream() << "Shaderplug: " << (const Unsigned)Shaderplug::archives.size() << " archives found.\n";
+}
+
+void CreateTagFile(){
+       const char* shader_type = GlobalRadiant().getGameDescriptionKeyValue( "shaders" );
+
+       GetAllShaders();
+       globalOutputStream() << "Shaderplug: " << (const Unsigned)shaders.size() << " shaders found.\n";
+
+       if ( string_equal( shader_type, "quake3" ) ) {
+               GetTextures( "jpg" );
+               GetTextures( "tga" );
+               GetTextures( "png" );
+
+               globalOutputStream() << "Shaderplug: " << (const Unsigned)textures.size() << " textures found.\n";
+       }
+
+       if ( shaders.size() || textures.size() != 0 ) {
+               globalOutputStream() << "Shaderplug: Creating XML tag file.\n";
+
+               TagBuilder.CreateXmlDocument();
+
+               std::set<std::string>::reverse_iterator r_iter;
+
+               for ( r_iter = textures.rbegin(); r_iter != textures.rend(); ++r_iter )
+               {
+                       TagBuilder.AddShaderNode( const_cast<char*>( ( *r_iter ).c_str() ), STOCK, TEXTURE );
+               }
+
+               for ( r_iter = shaders.rbegin(); r_iter != shaders.rend(); ++r_iter )
+               {
+                       TagBuilder.AddShaderNode( const_cast<char*>( ( *r_iter ).c_str() ), STOCK, SHADER );
+               }
+
+               // Get the tag file
+               StringOutputStream tagFileStream( 256 );
+               tagFileStream << GlobalRadiant().getLocalRcPath() << SHADERTAG_FILE;
+               char* tagFile = tagFileStream.c_str();
+
+               char message[256];
+               strcpy( message, "Tag file saved to\n" );
+               strcat( message, tagFile );
+               strcat( message, "\nPlease restart Radiant now.\n" );
+
+               if ( file_exists( tagFile ) ) {
+                       EMessageBoxReturn result = GlobalRadiant().m_pfnMessageBox( g_window ,
+                                                                                                                                               "WARNING! A tag file already exists! Overwrite it?", "Overwrite tag file?",
+                                                                                                                                               eMB_NOYES,
+                                                                                                                                               eMB_ICONWARNING );
+
+                       if ( result == eIDYES ) {
+                               TagBuilder.SaveXmlDoc( tagFile );
+                               GlobalRadiant().m_pfnMessageBox( g_window, message, "INFO", eMB_OK, eMB_ICONASTERISK );
+                       }
+               }
+               else {
+                       TagBuilder.SaveXmlDoc( tagFile );
+                       GlobalRadiant().m_pfnMessageBox( g_window, message, "INFO", eMB_OK, eMB_ICONASTERISK );
+               }
+       }
+       else {
+               GlobalRadiant().m_pfnMessageBox( g_window,
+                                                                                "No shaders or textures found. No XML tag file created!\n"
+                                                                                "",
+                                                                                "ERROR",
+                                                                                eMB_OK,
+                                                                                eMB_ICONERROR );
+       }
+}
 } // namespace
 
-class ShaderPluginModule {
-    _QERPluginTable m_plugin;
+class ShaderPluginModule
+{
+_QERPluginTable m_plugin;
 public:
-    typedef _QERPluginTable Type;
-
-    STRING_CONSTANT(Name, "ShaderPlug");
-
-    ShaderPluginModule()
-    {
-        m_plugin.m_pfnQERPlug_Init = &Shaderplug::init;
-        m_plugin.m_pfnQERPlug_GetName = &Shaderplug::getName;
-        m_plugin.m_pfnQERPlug_GetCommandList = &Shaderplug::getCommandList;
-        m_plugin.m_pfnQERPlug_GetCommandTitleList = &Shaderplug::getCommandTitleList;
-        m_plugin.m_pfnQERPlug_Dispatch = &Shaderplug::dispatch;
-    }
-
-    _QERPluginTable *getTable()
-    {
-        return &m_plugin;
-    }
+typedef _QERPluginTable Type;
+STRING_CONSTANT( Name, "ShaderPlug" );
+
+ShaderPluginModule(){
+       m_plugin.m_pfnQERPlug_Init = &Shaderplug::init;
+       m_plugin.m_pfnQERPlug_GetName = &Shaderplug::getName;
+       m_plugin.m_pfnQERPlug_GetCommandList = &Shaderplug::getCommandList;
+       m_plugin.m_pfnQERPlug_GetCommandTitleList = &Shaderplug::getCommandTitleList;
+       m_plugin.m_pfnQERPlug_Dispatch = &Shaderplug::dispatch;
+}
+_QERPluginTable* getTable(){
+       return &m_plugin;
+}
 };
 
 typedef SingletonModule<ShaderPluginModule, ShaderPlugPluginDependencies> SingletonShaderPluginModule;
 
 SingletonShaderPluginModule g_ShaderPluginModule;
 
-extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules(ModuleServer &server)
-{
-    initialiseModule(server);
+extern "C" void RADIANT_DLLEXPORT Radiant_RegisterModules( ModuleServer& server ){
+       initialiseModule( server );
 
-    g_ShaderPluginModule.selfRegister();
+       g_ShaderPluginModule.selfRegister();
 }