/* =============== G_LoadArenas =============== */ static void G_LoadArenas( void ) { int numdirs; vmCvar_t arenasFile; char filename[128]; char dirlist[1024]; char* dirptr; int i, n; int dirlen; g_numArenas = 0; trap_Cvar_Register( &arenasFile, "g_arenasFile", "", CVAR_INIT|CVAR_ROM ); if( *arenasFile.string ) { G_LoadArenasFromFile(arenasFile.string); } else { G_LoadArenasFromFile("scripts/arenas.txt"); } // get all arenas from .arena files numdirs = trap_FS_GetFileList("scripts", ".arena", dirlist, 1024 ); dirptr = dirlist; for (i = 0; i < numdirs; i++, dirptr += dirlen+1) { dirlen = strlen(dirptr); strcpy(filename, "scripts/"); strcat(filename, dirptr); G_LoadArenasFromFile(filename); } trap_Printf( va( "%i arenas parsed\n", g_numArenas ) ); for( n = 0; n < g_numArenas; n++ ) { Info_SetValueForKey( g_arenaInfos[n], "num", va( "%i", n ) ); } }
/* =============== G_LoadArenas =============== */ static void G_LoadArenas( void ) { vmCvar_t arenasFile; g_numArenas = 0; cvarSystem->Register( &arenasFile, "g_arenasFile", "", CVAR_INIT|CVAR_ROM ); if( *arenasFile.string ) { G_LoadArenasFromFile(arenasFile.string); } else { G_LoadArenasFromFile("scripts/arenas.txt"); } // get all arenas from .arena files if( og::FileList * files = og::FS->GetFileList( "scripts", ".arena" ) ) { for( int i = 0; i < files->Num(); i++ ) { G_LoadArenasFromFile( files->GetName( i ) ); } og::FS->FreeFileList( files ); } trap->Print( va( "%i arenas parsed\n", g_numArenas ) ); for( int n = 0; n < g_numArenas; n++ ) { Info_SetValueForKey( g_arenaInfos[n], "num", va( "%i", n ) ); } }
/* =============== G_LoadArenas =============== */ void G_LoadArenas( void ) { int numdirs; char filename[128]; char dirlist[1024]; char* dirptr; int i, n; int dirlen; g_numArenas = 0; // get all arenas from .arena files numdirs = trap_FS_GetFileList("scripts", ".arena", dirlist, 1024 ); dirptr = dirlist; for (i = 0; i < numdirs; i++, dirptr += dirlen+1) { dirlen = strlen(dirptr); strcpy(filename, "scripts/"); strcat(filename, dirptr); G_LoadArenasFromFile(filename); } // trap_Printf( va( "%i arenas parsed\n", g_numArenas ) ); for( n = 0; n < g_numArenas; n++ ) { Info_SetValueForKey( g_arenaInfos[n], "num", va( "%i", n ) ); } G_RefreshNextMap(g_gametype.integer, qfalse); }
void G_LoadArenas( void ) { #if 0 int numdirs; char filename[MAX_QPATH]; char dirlist[1024]; char* dirptr; int i, n; int dirlen; level.arenas.num = 0; // get all arenas from .arena files numdirs = trap->FS_GetFileList("scripts", ".arena", dirlist, 1024 ); dirptr = dirlist; for (i = 0; i < numdirs; i++, dirptr += dirlen+1) { dirlen = strlen(dirptr); Q_strncpyz( filename, "scripts/", sizeof( filename ) ); strcat(filename, dirptr); G_LoadArenasFromFile(filename); } // trap->Print( "%i arenas parsed\n", level.arenas.num ); for( n = 0; n < level.arenas.num; n++ ) { Info_SetValueForKey( level.arenas.infos[n], "num", va( "%i", n ) ); } G_RefreshNextMap(level.gametype, qfalse); #else int numFiles; char filelist[MAPSBUFSIZE]; char filename[MAX_QPATH]; char* fileptr; int i, n; int len; level.arenas.num = 0; // get all arenas from .arena files numFiles = trap->FS_GetFileList("scripts", ".arena", filelist, ARRAY_LEN(filelist) ); fileptr = filelist; i = 0; if (numFiles > MAX_MAPS) numFiles = MAX_MAPS; for(; i < numFiles; i++) { len = strlen(fileptr); Com_sprintf(filename, sizeof(filename), "scripts/%s", fileptr); G_LoadArenasFromFile(filename); fileptr += len + 1; } // trap->Print( "%i arenas parsed\n", level.arenas.num ); for( n = 0; n < level.arenas.num; n++ ) { Info_SetValueForKey( level.arenas.infos[n], "num", va( "%i", n ) ); } G_RefreshNextMap(level.gametype, qfalse); #endif }