X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=radiant%2Feclass.cpp;h=90c8a11b2f2eda7d2d6f487398a536dd150779c5;hb=d09ff00d93cc0e64cf9d828f3f16823b1b0847a8;hp=db65063a50ea28fefc99aaee562c74e43511a59c;hpb=b7e36c120eb1546a6c6f97f30e42ab7f9a559c61;p=xonotic%2Fnetradiant.git diff --git a/radiant/eclass.cpp b/radiant/eclass.cpp index db65063a..90c8a11b 100644 --- a/radiant/eclass.cpp +++ b/radiant/eclass.cpp @@ -175,22 +175,11 @@ struct PathLess typedef std::map 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(); }