static void console_execute_file_real(const char *filename)
{
	IOHANDLE file;
	file = engine_openfile(filename, IOFLAG_READ);
	
	if(file)
	{
		//VOTEOPTION *current = voteoption_first;
		//while(current)
		//{
		//	current = current->next;
		//	current->prev=0;
		//}
		//int i=0;
		//for(i;i<MAX_CLIENTS;i++)
		//	if (game.players[i]->authed==0)
		//		server_kick(i, "Server settings reload");

		char *line;
		LINEREADER lr;
		
		dbg_msg("console", "executing '%s'", filename);
		linereader_init(&lr, file);

		while((line = linereader_get(&lr)))
			console_execute_line(line,-1);

		io_close(file);
	}
	else
		dbg_msg("console", "failed to open '%s'", filename);
}
Esempio n. 2
0
bool LOCALIZATIONDATABASE::load(const char *filename)
{
	// empty string means unload
	if(filename[0] == 0)
	{
		strings.clear();
		return true;
	}
	
	LINEREADER lr;
	IOHANDLE io = io_open(filename, IOFLAG_READ);
	if(!io)
		return false;
	
	dbg_msg("localization", "loaded '%s'", filename);
	strings.clear();
	
	linereader_init(&lr, io);
	char *line;
	while((line = linereader_get(&lr)))
	{
		if(!str_length(line))
			continue;
			
		if(line[0] == '#') // skip comments
			continue;
			
		char *replacement = linereader_get(&lr);
		if(!replacement)
		{
			dbg_msg("", "unexpected end of file");
			break;
		}
		
		if(replacement[0] != '=' || replacement[1] != '=' || replacement[2] != ' ')
		{
			dbg_msg("", "malform replacement line for '%s'", line);
			continue;
		}

		replacement += 3;
		localization.add_string(line, replacement);
	}
	
	current_version++;
	return true;
}
Esempio n. 3
0
int mastersrv_load()
{
	LINEREADER lr;
	IOHANDLE file;
	int count = 0;
	
	/* try to open file */
	file = engine_openfile("masters.cfg", IOFLAG_READ);
	if(!file)
		return -1;
	
	linereader_init(&lr, file);
	while(1)
	{
		MASTER_INFO info = {{0}};
		int ip[4];
		const char *line = linereader_get(&lr);
		if(!line)
			break;

		/* parse line */		
		if(sscanf(line, "%s %d.%d.%d.%d", info.hostname, &ip[0], &ip[1], &ip[2], &ip[3]) == 5)
		{
			info.addr.ip[0] = (unsigned char)ip[0];
			info.addr.ip[1] = (unsigned char)ip[1];
			info.addr.ip[2] = (unsigned char)ip[2];
			info.addr.ip[3] = (unsigned char)ip[3];
			info.addr.port = 8300;
			if(count != MAX_MASTERSERVERS)
			{
				master_servers[count] = info;
				count++;
			}
			else
				dbg_msg("engine/mastersrv", "warning: skipped master server '%s' due to limit of %d", line, MAX_MASTERSERVERS);
		}
		else
			dbg_msg("engine/mastersrv", "warning: couldn't parse master server '%s'", line);
	}
	
	io_close(file);
	return 0;
}
Esempio n. 4
0
static void console_execute_file_real(const char *filename)
{
	IOHANDLE file;
	file = engine_openfile(filename, IOFLAG_READ);
	
	if(file)
	{
		char *line;
		LINEREADER lr;
		
		dbg_msg("console", "executing '%s'", filename);
		linereader_init(&lr, file);

		while((line = linereader_get(&lr)))
			console_execute_line(line);

		io_close(file);
	}
	else
		dbg_msg("console", "failed to open '%s'", filename);
}