EntityClass *Eclass_ForName(const char *name, bool has_brushes) { ASSERT_NOTNULL(name); if(string_empty(name)) { return eclass_bad; } EntityClasses::iterator i = g_entityClasses.find(name); if(i != g_entityClasses.end() && string_equal((*i).first, name)) { return (*i).second; } EntityClass* e = EntityClass_Create_Default(name, has_brushes); return Eclass_InsertAlphabetized(e); }
EntityClass* EntityClassDoom3_findOrInsert( const char *name, bool has_brushes ){ ASSERT_NOTNULL( name ); if ( string_empty( name ) ) { return g_EntityClassDoom3_bad; } EntityClasses::iterator i = g_EntityClassDoom3_classes.find( name ); if ( i != g_EntityClassDoom3_classes.end() //&& string_equal((*i).first, name) ) { return ( *i ).second; } EntityClass* e = EntityClass_Create_Default( name, has_brushes ); EntityClass* inserted = EntityClassDoom3_insertUnique( e ); ASSERT_MESSAGE( inserted == e, "" ); return inserted; }