コード例 #1
0
ファイル: g_bot.c プロジェクト: titityy/reaction
/*
===============
G_LoadArenasFromFile
===============
*/
static void G_LoadArenasFromFile(char *filename)
{
	int len;
	fileHandle_t f;
	char buf[MAX_ARENAS_TEXT];

	len = trap_FS_FOpenFile(filename, &f, FS_READ);
	if (!f) {
		trap_Printf(va(S_COLOR_RED "file not found: %s\n", filename));
		return;
	}
	if (len >= MAX_ARENAS_TEXT) {
		trap_Printf(va
			    (S_COLOR_RED "file too large: %s is %i, max allowed is %i\n", filename, len,
			     MAX_ARENAS_TEXT));
		trap_FS_FCloseFile(f);
		return;
	}

	trap_FS_Read(buf, len, f);
	buf[len] = 0;
	trap_FS_FCloseFile(f);

	g_numArenas += G_ParseInfos(buf, MAX_ARENAS - g_numArenas, &g_arenaInfos[g_numArenas]);
}
コード例 #2
0
ファイル: bot.c プロジェクト: icanhas/yantar
/*
 * G_LoadBotsFromFile
 */
static void
G_LoadBotsFromFile(char *filename)
{
	int	len;
	Fhandle f;
	char	buf[MAX_BOTS_TEXT];

	len = trap_fsopen(filename, &f, FS_READ);
	if(!f){
		trap_Print(va(S_COLOR_RED "file not found: %s\n", filename));
		return;
	}
	if(len >= MAX_BOTS_TEXT){
		trap_Print(va(S_COLOR_RED
				"file too large: %s is %i, max allowed is %i\n",
				filename, len,
				MAX_BOTS_TEXT));
		trap_fsclose(f);
		return;
	}

	trap_fsread(buf, len, f);
	buf[len] = 0;
	trap_fsclose(f);

	g_numBots +=
		G_ParseInfos(buf, MAX_BOTS - g_numBots, &g_botInfos[g_numBots]);
}
コード例 #3
0
ファイル: g_bot.cpp プロジェクト: ensiform/q3pp
/*
===============
G_LoadBotsFromFile
===============
*/
static void G_LoadBotsFromFile( const char *filename ) {
	byte *buffer = NULL;
	int len      = og::FS->LoadFile( filename, &buffer );
	if( len < 0 ) {
		trap->Print( va( S_COLOR_RED "file not found: %s\n", filename ) );
		return;
	}

	g_numBots += G_ParseInfos( (char *)buffer, MAX_BOTS - g_numBots, &g_botInfos[g_numBots] );
	og::FS->FreeFile( buffer );
}
コード例 #4
0
/*
===============
G_LoadArenaFromFile
===============
*/
static void G_LoadArenaFromFile( const char *filename ) {
	int				len;
	fileHandle_t	f;
	char			buf[MAX_ARENAS_TEXT];

	len = trap_FS_FOpenFile( filename, &f, FS_READ );
	if ( !f ) {
		G_Printf( S_COLOR_RED "file not found: %s\n", filename );
		return;
	}
	else if ( len >= sizeof( buf ) ) {
		G_Printf( S_COLOR_RED "file too large: %s is %d, max allowed is %ld", filename, len, ( sizeof( buf ) - 1 ) );
		trap_FS_FCloseFile( f );
		return;
	}

	trap_FS_Read( buf, len, f );
	buf[len] = '\0';
	trap_FS_FCloseFile( f );

	g_numArenas += G_ParseInfos( buf, ( ARRAY_LEN( g_arenaInfos ) - g_numArenas ), &g_arenaInfos[g_numArenas] );
}
コード例 #5
0
ファイル: g_bot.c プロジェクト: Rhamill7/OpenJK
/*
===============
G_LoadArenasFromFile
===============
*/
void G_LoadArenasFromFile( char *filename ) {
	int				len;
	fileHandle_t	f;
	char			buf[MAX_ARENAS_TEXT];

	len = trap->FS_Open( filename, &f, FS_READ );
	if ( !f ) {
		trap->Print( S_COLOR_RED "file not found: %s\n", filename );
		return;
	}
	if ( len >= MAX_ARENAS_TEXT ) {
		trap->Print( S_COLOR_RED "file too large: %s is %i, max allowed is %i\n", filename, len, MAX_ARENAS_TEXT );
		trap->FS_Close( f );
		return;
	}

	trap->FS_Read( buf, len, f );
	buf[len] = 0;
	trap->FS_Close( f );

	level.arenas.num += G_ParseInfos( buf, MAX_ARENAS - level.arenas.num, &level.arenas.infos[level.arenas.num] );
}