]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/eclass.cpp
redo a windows fix from 20dbf5c that was mistakenly lost
[xonotic/netradiant.git] / radiant / eclass.cpp
index db65063a50ea28fefc99aaee562c74e43511a59c..90c8a11b2f2eda7d2d6f487398a536dd150779c5 100644 (file)
@@ -175,22 +175,11 @@ struct PathLess
 
 typedef std::map<CopiedString, const char*, PathLess> Paths;
 
-class PathsInsert
-{
-Paths& m_paths;
-const char* m_directory;
-public:
-PathsInsert( Paths& paths, const char* directory ) : m_paths( paths ), m_directory( directory ){
-}
-void operator()( const char* name ) const {
-       m_paths.insert( Paths::value_type( name, m_directory ) );
-}
-};
-
-
 void EntityClassQuake3_constructDirectory( const char* directory, const char* extension, Paths& paths ){
        globalOutputStream() << "EntityClass: searching " << makeQuoted( directory ) << " for *." << extension << '\n';
-       Directory_forEach( directory, matchFileExtension( extension, PathsInsert( paths, directory ) ) );
+       Directory_forEach(directory, matchFileExtension(extension, [&](const char *name) {
+               paths.insert(Paths::value_type(name, directory));
+       }));
 }
 
 
@@ -336,14 +325,14 @@ EclassManagerAPI(){
        m_eclassmanager.realise = &EntityClass_realise;
        m_eclassmanager.unrealise = &EntityClass_unrealise;
 
-       GlobalRadiant().attachGameToolsPathObserver( g_EntityClassQuake3 );
-       GlobalRadiant().attachGameModeObserver( g_EntityClassQuake3 );
-       GlobalRadiant().attachGameNameObserver( g_EntityClassQuake3 );
+       Radiant_attachGameToolsPathObserver( g_EntityClassQuake3 );
+       Radiant_attachGameModeObserver( g_EntityClassQuake3 );
+       Radiant_attachGameNameObserver( g_EntityClassQuake3 );
 }
 ~EclassManagerAPI(){
-       GlobalRadiant().detachGameNameObserver( g_EntityClassQuake3 );
-       GlobalRadiant().detachGameModeObserver( g_EntityClassQuake3 );
-       GlobalRadiant().detachGameToolsPathObserver( g_EntityClassQuake3 );
+       Radiant_detachGameNameObserver( g_EntityClassQuake3 );
+       Radiant_detachGameModeObserver( g_EntityClassQuake3 );
+       Radiant_detachGameToolsPathObserver( g_EntityClassQuake3 );
 
        EntityClassQuake3_destroy();
 }