From a1fb048fe5dd27dfb4e8a04f32d92213f2dbb836 Mon Sep 17 00:00:00 2001 From: olsner Date: Wed, 2 Jun 2004 16:06:19 +0000 Subject: [PATCH] Converted to VFS enumeration This was SVN commit r356. --- source/simulation/BaseEntityCollection.cpp | 37 ++++++++++++---------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/source/simulation/BaseEntityCollection.cpp b/source/simulation/BaseEntityCollection.cpp index de9974e855..82e25d2790 100755 --- a/source/simulation/BaseEntityCollection.cpp +++ b/source/simulation/BaseEntityCollection.cpp @@ -3,34 +3,39 @@ #include "BaseEntityCollection.h" #include "ObjectManager.h" #include "Model.h" -#include "io.h" void CBaseEntityCollection::loadTemplates() { - _finddata_t file; - intptr_t handle; - - CStr pathname = "mods/official/entities/templates/"; - CStr filespec = pathname + "*.xml"; + Handle handle; + vfsDirEnt dent; - handle = _findfirst( filespec, &file ); - if( handle != -1 ) - { - do + CStr pathname = "mods/official/entities/templates/"; + handle=vfs_open_dir("entities/templates/"); + if (handle > 0) + { + while (vfs_next_dirent(handle, &dent, ".xml")) { CBaseEntity newTemplate; - if( newTemplate.loadXML( pathname + file.name ) ) + if( newTemplate.loadXML( pathname + dent.name ) ) + { addTemplate( newTemplate ); + LOG(NORMAL, "CBaseEntityCollection::loadTemplates(): Loaded template \"%s%s\"", pathname.c_str(), dent.name); + } + else + LOG(ERROR, "CBaseEntityCollection::loadTemplates(): Couldn't load template \"%s%s\"", pathname.c_str(), dent.name); + } - while( !_findnext( handle, &file ) ); - - _findclose(handle); + vfs_close_dir(handle); } - + else + { + LOG(ERROR, "CBaseEntityCollection::loadTemplates(): Failed to enumerate entity template directory\n"); + return; + } + // He's so annoyingly slow... CBaseEntity* dude = getTemplate( "Prometheus Dude" ); dude->m_speed *= 10.0f; - } void CBaseEntityCollection::addTemplate( CBaseEntity& temp )