This Trac instance is not used for development anymore!

We migrated our development workflow to git and Gitea.
To test the future redirection, replace trac by ariadne in the page URL.

Changeset 383 for ps


Ignore:
Timestamp:
06/03/04 15:27:01 (21 years ago)
Author:
Simon Brenner
Message:

Use the VFS wrapper instead of Xerces' local file input source

Location:
ps/trunk/source/simulation
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ps/trunk/source/simulation/BaseEntity.cpp

    r363 r383  
    33#include "CStr.h"
    44
    5 // xerces XML stuff
    6 #include <xercesc/dom/DOM.hpp>
    7 #include <xercesc/parsers/XercesDOMParser.hpp>
    8 #include <xercesc/framework/LocalFileInputSource.hpp>
    9 #include <xercesc/util/XMLString.hpp>
    10 #include <xercesc/util/PlatformUtils.hpp>
    11 
    12 // Gee's custom error handler
    13 #include "ps/XercesErrorHandler.h"
     5#include "XML.h"
    146
    157// automatically use namespace ..
     
    6052        CXercesErrorHandler *errorHandler = new CXercesErrorHandler();
    6153        parser->setErrorHandler(errorHandler);
     54       
     55        CVFSEntityResolver *entityResolver = new CVFSEntityResolver(filename);
     56        parser->setEntityResolver(entityResolver);
    6257
    6358        // Get main node
    64         LocalFileInputSource source( XMLString::transcode(filename) );
     59        CVFSInputSource source;
     60        parseOK=source.OpenFile(filename)==0;
     61       
     62        if (parseOK)
     63        {
     64            // Parse file
     65            parser->parse(source);
    6566
    66         // Parse file
    67         parser->parse(source);
    68 
    69         // Check how many errors
    70         parseOK = parser->getErrorCount() == 0;
     67            // Check how many errors
     68            parseOK = parser->getErrorCount() == 0;
     69        }
    7170
    7271        if (parseOK) {
     
    7675
    7776            // root_name should be Object
    78             CStr root_name = XMLString::transcode( element->getNodeName() );
     77            CStr root_name = XMLTranscode( element->getNodeName() );
    7978
    8079            // should have at least 3 children - Name, ModelName and TextureName
     
    152151
    153152        }
     153        delete parser;
    154154        delete errorHandler;
    155         delete parser;
     155        delete entityResolver;
    156156    }
    157157    XMLPlatformUtils::Terminate();
  • ps/trunk/source/simulation/BaseEntityCollection.cpp

    r378 r383  
    1111    vfsDirEnt dent;
    1212   
    13     CStr pathname = "mods/official/entities/templates/";
    14     handle=vfs_open_dir("entities/templates/");
     13    CStr pathname = "entities/templates/";
     14    handle=vfs_open_dir(pathname.c_str());
    1515    if (handle > 0)
    1616    {
Note: See TracChangeset for help on using the changeset viewer.