- DEntity* loadEntity;
-
- if ( i == 0 ) {
- loadEntity = GetWorldSpawn();
- }
- else{
- loadEntity = AddEntity( "", m_nNextEntity++ );
- }
-
- if ( !loadEntity->LoadFromEntity( i, bLoadPatches ) ) {
- delete loadEntity;
- entityList.pop_back();
+ DMap* m_map;
+ bool m_bLoadPatches;
+public:
+ load_entities_t( DMap* map, bool bLoadPatches )
+ : m_map( map ), m_bLoadPatches( bLoadPatches ){
+ }
+ bool pre( scene::Node& node ) const {
+ if ( Node_isEntity( node ) ) {
+ DEntity* loadEntity = m_map->AddEntity( "", 0 );
+ loadEntity->LoadFromEntity( node, m_bLoadPatches );