Exemplo n.º 1
0
int LoadMainStringsFromXML(const char* filename, string *str){
	IrrXMLReader* xml = createIrrXMLReader(filename);
	int i=0;  //should be 5 categories.
	while(xml && xml->read() && i< 5)
	{
 		switch(xml->getNodeType())
		{
			case EXN_ELEMENT:
			{
				if (!strcmp("file", xml->getNodeName())){
					str[i] = xml->getAttributeValue("id");
					i++;
				}
			}
				break;
			case EXN_NONE:
				break;
			case EXN_ELEMENT_END:
				break;
			case EXN_TEXT:
				break;
			case EXN_COMMENT:
				break;
			case EXN_CDATA:
				break;
			case EXN_UNKNOWN:
				break;
		}
	}
	delete xml;
	return 1;
}
Exemplo n.º 2
0
int LoadStringsFromXML(const char* filename, PSC_Application2 *App){
	IrrXMLReader* xml = createIrrXMLReader(filename);
	int i=-1;
	while(xml && xml->read()){
 		switch(xml->getNodeType())
		{
			case EXN_ELEMENT:
			{
				if (!strcmp("elements", xml->getNodeName())){
					App->n_elem  = xml->getAttributeValueAsInt("n");

					App->name      = new string[App->n_elem+1];
					App->version   = new string[App->n_elem+1];
					App->link      = new string[App->n_elem+1];
					App->pkg_file  = new string[App->n_elem+1];
					App->img_file  = new string[App->n_elem+1];
					App->type_file = new int[App->n_elem+1];
				}
				if (!strcmp("app", xml->getNodeName()))
					i++;
				if (!strcmp("NameApp", xml->getNodeName()))
					App->name[i]    = xml->getAttributeValue("name");
				if (!strcmp("Version", xml->getNodeName()))
					App->version[i] = xml->getAttributeValue("v");
				if (!strcmp("Link", xml->getNodeName()))
					App->link[i]    = xml->getAttributeValue("link");
				if (!strcmp("Pkg", xml->getNodeName()))
					App->pkg_file[i]    = xml->getAttributeValue("file");
				if (!strcmp("Image", xml->getNodeName()))
					App->img_file[i]    = xml->getAttributeValue("img");
				if (!strcmp("Type", xml->getNodeName()))
					App->type_file[i]   = xml->getAttributeValueAsInt("type");

				break;
			}
		}
		if(i == App->n_elem)
			break;

	}
	if(i > App->n_elem)
		App->n_elem = i;

	App->name[App->n_elem] =      "";
	App->version[App->n_elem] =   "";
	App->link[App->n_elem] =      "";
	App->pkg_file[App->n_elem] =  "";
	App->img_file[App->n_elem] =  "";
	App->type_file[App->n_elem] = -1;
	delete xml;
	return 1;
}
Exemplo n.º 3
0
/**
 * This method reads the config-file for the JointJointInteraction-module
 * @param fileName location of the config-file
 **/
void JointInteraction::readConfig(std::string fileName)
{
	std::string ConcatenatedPath = getConcatenatedPath(fileName, "JointConfiguration");

	if(!fileExists(ConcatenatedPath))
	{
		printd(ERROR, "JointInteraction::readConfig(): cannot read from file %s\n", ConcatenatedPath.c_str());
		return;
	} // if

	IrrXMLReader* xml = createIrrXMLReader(ConcatenatedPath.c_str());

	if (!xml)
	{
		printd(ERROR, "JointInteraction::readConfig(): ERROR: could not find config-file %s\n", ConcatenatedPath.c_str());
		return;
	} // if

	printd(INFO, "JointInteraction::readConfig(): loading from file: %s\n", fileName.c_str());
	while (xml && xml->read())
	{
		switch (xml->getNodeType())
		{
			case EXN_ELEMENT:
				if (!strcmp("jointInteraction", xml->getNodeName()))
				{
					// Root node
				} // if
				else if (!strcmp("config", xml->getNodeName()))
				{
					loadConfig(xml);
				} // else if
				else if (!strcmp("joints", xml->getNodeName()))
				{
					loadJoints(xml);
				} // else if
				else
				{
					printd(WARNING, "JointInteraction::readConfig(): WARNING: unknown element with name %s found!\n", xml->getNodeName());
				} // else
				break;
			default:
				break;
		} // switch
	} // while
	delete xml;
} // readConfig
Exemplo n.º 4
0
Arquivo: nave.cpp Projeto: lymber/tdm
//---------------------------------------------------------------------
void Nave::LeAtributos(const char *arquivo)
{
   IrrXMLReader* xml = createIrrXMLReader(arquivo);
   
   while(xml && xml->read())
   {
      switch(xml->getNodeType())
      {     
         case EXN_ELEMENT:  
            if (!strcmp("atributos", xml->getNodeName()))
            {
               Objeto::LeModelo(xml->getAttributeValue("arquivo"));
               velocidadeMaxima = xml->getAttributeValueAsFloat("velocidadeMaxima");
            }
            else if (!strcmp("tiro", xml->getNodeName()))
            {
               if (!strcmp("laser", xml->getAttributeValue("qualBasico"))) tipoTiroBasico = TIPO_LASER;
               else if (!strcmp("missil", xml->getAttributeValue("qualBasico"))) tipoTiroBasico = TIPO_MISSIL;
               if (!strcmp("multiplo", xml->getAttributeValue("qualBasico"))) tipoTiroBasico = TIPO_MULTIPLO;
            }
            else if (!strcmp("recargaLaser", xml->getNodeName()))
            {
               tempoDeRecargaTotal[TIPO_LASER] = xml->getAttributeValueAsInt("tempo");
            }  
            else if (!strcmp("recargaMissil", xml->getNodeName()))
            {
               tempoDeRecargaTotal[TIPO_MISSIL] = xml->getAttributeValueAsInt("tempo");
            }
            else if (!strcmp("recargaMultiplo", xml->getNodeName()))
            {
               tempoDeRecargaTotal[TIPO_MULTIPLO] = xml->getAttributeValueAsInt("tempo");
            }
            break;   
      }
   }   
}
Exemplo n.º 5
0
int updateFinder(const char* TITLE_ID, int env_choose, PSN_Update* game){
	const char *env[3] = {"np","sp-int","prod-qa"};
	int size = strlen(TITLE_ID)*2+49+strlen(env[env_choose])*2;
	char *xml_url = (char*) malloc(size);

	snprintf(xml_url,size,"https://a0.ww.%s.dl.playstation.net/tpl/%s/%s/%s-ver.xml",env[env_choose],env[env_choose],TITLE_ID,TITLE_ID);
	download_game_update(xml_url,CACHE_PATH2"/game-update.xml", progress, NULL);
	free((void*)xml_url);
	
	size = get_size(CACHE_PATH2"/game-update.xml");
	if(size == 16 || size == 241 || size == 0){ //Update not found
		file_delete(CACHE_PATH2"/game-update.xml");
		return 0;
	}
	
	if(get_download_status()==DOWNLOAD_FAILED){
		file_delete(CACHE_PATH2"/game-update.xml");
		return 0;
	}
	
	
	IrrXMLReader* xml = createIrrXMLReader(CACHE_PATH2"/game-update.xml");
	int i=-1;
	PSN_Update game_tmp;
	game_tmp.version = new string  [10];
	game_tmp.link    = new string  [10];
	game_tmp.size    = new uint32_t[10];
	game_tmp.min_ver = new float   [10];
	game_tmp.pkgs	 = 0;
	while(xml && xml->read() && i<10){
		//printf("debug: %s\n", xml->getNodeData());
 		switch(xml->getNodeType())
		{
			case EXN_NONE:
				break;
			case EXN_ELEMENT:
			{
				if (!strcmp("package", xml->getNodeName())){
					++i;
					char tmp[10];
					game_tmp.version[i] = xml->getAttributeValue("version");
					game_tmp.size[i]    = xml->getAttributeValueAsInt("size");
					game_tmp.link[i]    = xml->getAttributeValue("url");
					game_tmp.min_ver[i] = xml->getAttributeValueAsFloat("ps3_system_ver");
					game_tmp.pkgs++;
					break;
				}else if (!strcmp("TITLE", xml->getNodeName())){
					xml->read();
					game_tmp.name = xml->getNodeData();
					break;
				}
			}
			case EXN_ELEMENT_END:
				break;
			case EXN_TEXT:
				break;
			case EXN_COMMENT:
				break;
			case EXN_CDATA:
				break;
			case EXN_UNKNOWN:
				break;
		}
	}
	delete xml;
	game->name    = game_tmp.name.c_str();
	game->version = new string  [game_tmp.pkgs];
	game->link    = new string  [game_tmp.pkgs];
	game->size    = new uint32_t[game_tmp.pkgs];
	game->min_ver = new float   [game_tmp.pkgs];
	game->pkgs    = game_tmp.pkgs;
	for(u8 j=0; j<game_tmp.pkgs; ++j){
		game->version[j] = game_tmp.version[j];
		game->link[j]    = game_tmp.link[j];
		game->size[j]    = game_tmp.size[j];
		game->min_ver[j] = game_tmp.min_ver[j];
	}
	
	delete [] game_tmp.version;
	delete [] game_tmp.link;
	delete [] game_tmp.size;
	
	file_delete(CACHE_PATH2"/game-update.xml");
	return 1;
}
Exemplo n.º 6
0
int BrewologyLoadStringsFromXML(const char* filename, PSC_Application *App){
	IrrXMLReader* xml = createIrrXMLReader(filename);
	App->n_elem    = 1014;
	App->name      = new string[1020];
	App->version   = new string[1020];
	App->author    = new string[1020];
	App->img_file  = new string[1020];
	App->type_file = new int   [1020];
	App->pkg       = new links [1020];

/*
	App->link      = new string[1020];
	App->pkg_file  = new string[1020];
	App->file_size = new u32   [1020];
*/
	int i=-1;
	bool name_app = false;
	App->downloaded = false;
	while(xml && xml->read()){
 		switch(xml->getNodeType())
		{
			case EXN_NONE:
				break;
			case EXN_ELEMENT:
			{
				if (!strcmp("error", xml->getNodeName())){
					xml->read();
					xml->read();
					update = xml->getNodeData();
					return PSC_OLDVERSION;
				}
				if (!strcmp("homebrew", xml->getNodeName())){
					++i;
					App->type_file[i] = PSC_PACKAGE;
					break;
				}else if (!strcmp("name", xml->getNodeName())){ //homebrew name
					xml->read();
					App->name[i] = xml->getNodeData();
					break;
				}else if (!strcmp("author", xml->getNodeName())){
					xml->read();
					App->author[i] = xml->getNodeData();
					break;
				}else if (!strcmp("icon", xml->getNodeName())){
					xml->read();
					App->img_file[i] = xml->getNodeData();
					break;
				}else if (!strcmp("pkgs", xml->getNodeName())){
					string name[50];
					string link[50];
					u32    size[50];
					u8     pkg=0;
					do{
						switch(xml->getNodeType()){
							case EXN_ELEMENT:
							{
								if (!strcmp("name", xml->getNodeName())){
									xml->read();
									name[pkg] = xml->getNodeData();
								}else if (!strcmp("version", xml->getNodeName())){
									xml->read();
									App->version[i] = xml->getNodeData();
									break;
								}else if (!strcmp("size", xml->getNodeName())){
									xml->read();
									size[pkg] = atoi(xml->getNodeData());
								}else if (!strcmp("location", xml->getNodeName())){
									xml->read();
									link[pkg] = xml->getNodeData();
									++pkg;
								}
							}break;
							case EXN_ELEMENT_END:
							{
								if(!strcmp("pkgs", xml->getNodeName()))
									goto back;
							}break;
						}
					}while(pkg<50 && xml->read());
					back:
					
					App->pkg[i].pkg_num = pkg;
					App->pkg[i].link    = new string [pkg];
					App->pkg[i].name    = new string [pkg];
					App->pkg[i].size    = new u32    [pkg];
					
					for(u8 j=0; j<pkg; ++j){
						App->pkg[i].link[j] = link[j];
						App->pkg[i].size[j] = size[j];
						App->pkg[i].name[j] = name[j];
						App->pkg[i].name[j] += ".pkg";
					}
					
					break;
				}

				break;
			}
			case EXN_ELEMENT_END:
				break;
			case EXN_TEXT:
				break;
			case EXN_COMMENT:
				break;
			case EXN_CDATA:
				break;
			case EXN_UNKNOWN:
				break;
		}
	}
	i++;
	App->n_elem = i;
	for(;i < 1020;++i){
		App->name[i]        = "";
		App->author[i]      = "";
		App->version[i]     = "";
	//	App->link[i]        = "";
	//	App->pkg_file[i]    = "";
		App->img_file[i]    = "";
	//	App->file_size[i]   =  0;
		App->type_file[i]   = -1;
		App->pkg[i].pkg_num =  0;
		
	}

	delete xml;
	return 1;
}