/* =============== 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]); }
/* * 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]); }
/* =============== 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 ); }
/* =============== 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] ); }
/* =============== 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] ); }