Post removed.
Post removed.
Post removed.
Last edited by TheRLG on Fri Dec 28, 2007 7:41 am, edited 1 time in total.
This is my code for load the obj
// Load from file and fill structure
void cObjAvable::LoadXML(void )
{
io::IXMLReader* Reader =device->getFileSystem()->createXMLReader("config.xml");
if (Reader==NULL)
{
IFileSystem * fs = device->getFileSystem();
printf("Errore Glocabal\nimpossibile caricare %s/config.xml \n", fs->getWorkingDirectory());
return ;
}
IFileSystem * fs = device->getFileSystem();
printf("Loading data file...\n");
video::IVideoDriver* driver = device->getVideoDriver();
//varibile temporanea usata nel riconscimento
stringc temp;
//
// load avable team , Obj
//
while(Reader && Reader->read())
{
switch(Reader->getNodeType())
{ case io::EXN_ELEMENT:
// Load Team
if(stringw("team") == Reader->getNodeName())
{
// new Team in struct
struct sTeamAvable* DataTeam = new struct sTeamAvable;
DataTeam->Next=FirstTeam;
FirstTeam=DataTeam;
temp= Reader->getAttributeValue(L"Name");
DataTeam->Name= new stringc (temp.c_str());
printf("Load Team %s\n",DataTeam->Name->c_str());
}
// Load map
if(stringw("map") == Reader->getNodeName())
{
// new Team in struct
struct sMapAvable* DataMap = new struct sMapAvable;
DataMap->Next=FirstMap;
FirstMap=DataMap;
temp= Reader->getAttributeValue(L"Name");
DataMap->Name= new stringc (temp.c_str());
printf("Load map %s\n",DataMap->Name->c_str());
}
// load OBJ
if(stringw("obj") == Reader->getNodeName())
{
// new object in struct
struct sObjAvable* data = new struct sObjAvable;
data->Next=FirstObj;
FirstObj=data;
temp = Reader->getAttributeValue(L"Name");
data->Name= new stringc(temp.c_str());
temp= Reader->getAttributeValue(L"Group");
data->Team= new stringc(temp.c_str());
temp= Reader->getAttributeValue(L"Life");
data->Life= atoi(temp.c_str());
temp= Reader->getAttributeValue(L"Money");
data->Money= atoi(temp.c_str());
temp= Reader->getAttributeValue(L"TechLevel");
data->TechLevel= atoi(temp.c_str());
temp= Reader->getAttributeValue(L"Type");
data->Type =OBT_UNKNOWN;
if(temp == "BUILD") data->Type=OBT_BUILD;
if(temp == "VEICLE") data->Type=OBT_VEICLE;
if(temp == "SOLDER") data->Type=OBT_SOLDER;
temp= Reader->getAttributeValue(L"FileImage");
data->images= driver->getTexture(temp.c_str());
if (data->images==NULL)
printf("Error load File Image -> %s\n",temp.c_str());
printf("Load %s in %s\n",data->Name->c_str(),data->Team->c_str());
}
}
}
if (Reader)
Reader->drop();
}
TNX
Xeus32
// Load from file and fill structure
void cObjAvable::LoadXML(void )
{
io::IXMLReader* Reader =device->getFileSystem()->createXMLReader("config.xml");
if (Reader==NULL)
{
IFileSystem * fs = device->getFileSystem();
printf("Errore Glocabal\nimpossibile caricare %s/config.xml \n", fs->getWorkingDirectory());
return ;
}
IFileSystem * fs = device->getFileSystem();
printf("Loading data file...\n");
video::IVideoDriver* driver = device->getVideoDriver();
//varibile temporanea usata nel riconscimento
stringc temp;
//
// load avable team , Obj
//
while(Reader && Reader->read())
{
switch(Reader->getNodeType())
{ case io::EXN_ELEMENT:
// Load Team
if(stringw("team") == Reader->getNodeName())
{
// new Team in struct
struct sTeamAvable* DataTeam = new struct sTeamAvable;
DataTeam->Next=FirstTeam;
FirstTeam=DataTeam;
temp= Reader->getAttributeValue(L"Name");
DataTeam->Name= new stringc (temp.c_str());
printf("Load Team %s\n",DataTeam->Name->c_str());
}
// Load map
if(stringw("map") == Reader->getNodeName())
{
// new Team in struct
struct sMapAvable* DataMap = new struct sMapAvable;
DataMap->Next=FirstMap;
FirstMap=DataMap;
temp= Reader->getAttributeValue(L"Name");
DataMap->Name= new stringc (temp.c_str());
printf("Load map %s\n",DataMap->Name->c_str());
}
// load OBJ
if(stringw("obj") == Reader->getNodeName())
{
// new object in struct
struct sObjAvable* data = new struct sObjAvable;
data->Next=FirstObj;
FirstObj=data;
temp = Reader->getAttributeValue(L"Name");
data->Name= new stringc(temp.c_str());
temp= Reader->getAttributeValue(L"Group");
data->Team= new stringc(temp.c_str());
temp= Reader->getAttributeValue(L"Life");
data->Life= atoi(temp.c_str());
temp= Reader->getAttributeValue(L"Money");
data->Money= atoi(temp.c_str());
temp= Reader->getAttributeValue(L"TechLevel");
data->TechLevel= atoi(temp.c_str());
temp= Reader->getAttributeValue(L"Type");
data->Type =OBT_UNKNOWN;
if(temp == "BUILD") data->Type=OBT_BUILD;
if(temp == "VEICLE") data->Type=OBT_VEICLE;
if(temp == "SOLDER") data->Type=OBT_SOLDER;
temp= Reader->getAttributeValue(L"FileImage");
data->images= driver->getTexture(temp.c_str());
if (data->images==NULL)
printf("Error load File Image -> %s\n",temp.c_str());
printf("Load %s in %s\n",data->Name->c_str(),data->Team->c_str());
}
}
}
if (Reader)
Reader->drop();
}
TNX
Xeus32