X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=fs.c;h=49ca69bfa1e287adfa735dcc6b6224957819e989;hb=511c0afa8e95fb7dca7017db29b91ff37b72f4be;hp=2d81ce39a85e1fd7058865ae74ab17badf76e9a5;hpb=894842d7e166560cb8aac3fc3408ab6b8b8efbf9;p=xonotic%2Fdarkplaces.git diff --git a/fs.c b/fs.c index 2d81ce39..49ca69bf 100644 --- a/fs.c +++ b/fs.c @@ -25,8 +25,6 @@ #include "quakedef.h" -#include -#include #include #include @@ -552,7 +550,7 @@ pack_t *FS_LoadPackPK3 (const char *packfile) strlcpy (pack->filename, packfile, sizeof (pack->filename)); pack->handle = packhandle; pack->numfiles = eocd.nbentries; - pack->mempool = Mem_AllocPool (packfile); + pack->mempool = Mem_AllocPool (packfile, 0, NULL); pack->files = Mem_Alloc (pack->mempool, eocd.nbentries * sizeof(packfile_t)); pack->next = packlist; packlist = pack; @@ -746,7 +744,7 @@ pack_t *FS_LoadPackPAK (const char *packfile) strlcpy (pack->filename, packfile, sizeof (pack->filename)); pack->handle = packhandle; pack->numfiles = 0; - pack->mempool = Mem_AllocPool(packfile); + pack->mempool = Mem_AllocPool(packfile, 0, NULL); pack->files = Mem_Alloc(pack->mempool, numpackfiles * sizeof(packfile_t)); pack->next = packlist; packlist = pack; @@ -888,8 +886,8 @@ void FS_Init (void) int i; searchpath_t *search; - fs_mempool = Mem_AllocPool("file management"); - pak_mempool = Mem_AllocPool("paks"); + fs_mempool = Mem_AllocPool("file management", 0, NULL); + pak_mempool = Mem_AllocPool("paks", 0, NULL); Cvar_RegisterVariable (&scr_screenshot_name); @@ -904,6 +902,7 @@ void FS_Init (void) // -basedir // Overrides the system supplied base directory (under GAMENAME) +// COMMANDLINEOPTION: Filesystem: -basedir chooses what base directory the game data is in, inside this there should be a data directory for the game (for example id1) i = COM_CheckParm ("-basedir"); if (i && i < com_argc-1) { @@ -915,6 +914,7 @@ void FS_Init (void) // -path [] ... // Fully specifies the exact search path, overriding the generated one +// COMMANDLINEOPTION: Filesystem: -path specifies the full search path manually, overriding the generated one, example: -path c:\quake\id1 c:\quake\pak0.pak c:\quake\pak1.pak (not recommended) i = COM_CheckParm ("-path"); if (i) { @@ -945,58 +945,10 @@ void FS_Init (void) return; } - switch(gamemode) - { - case GAME_NORMAL: - Cvar_SetQuick (&scr_screenshot_name, "dp"); - break; - case GAME_HIPNOTIC: - Cvar_SetQuick (&scr_screenshot_name, "hipnotic"); - break; - case GAME_ROGUE: - Cvar_SetQuick (&scr_screenshot_name, "rogue"); - break; - case GAME_NEHAHRA: - Cvar_SetQuick (&scr_screenshot_name, "nehahra"); - break; - case GAME_NEXUIZ: - Cvar_SetQuick (&scr_screenshot_name, "nexuiz"); - break; - case GAME_TRANSFUSION: - Cvar_SetQuick (&scr_screenshot_name, "transfusion"); - break; - case GAME_GOODVSBAD2: - Cvar_SetQuick (&scr_screenshot_name, "gvb2"); - break; - case GAME_TEU: - Cvar_SetQuick (&scr_screenshot_name, "teu"); - break; - case GAME_BATTLEMECH: - Cvar_SetQuick (&scr_screenshot_name, "battlemech"); - break; - case GAME_ZYMOTIC: - Cvar_SetQuick (&scr_screenshot_name, "zymotic"); - break; - case GAME_FNIGGIUM: - Cvar_SetQuick (&scr_screenshot_name, "fniggium"); - break; - case GAME_SETHERAL: - Cvar_SetQuick (&scr_screenshot_name, "setheral"); - break; - case GAME_SOM: - Cvar_SetQuick (&scr_screenshot_name, "som"); - break; - case GAME_TENEBRAE: - Cvar_SetQuick (&scr_screenshot_name, "tenebrae"); - break; - default: - Cvar_SetQuick (&scr_screenshot_name, "dp"); - break; - } - // start up with GAMENAME by default (id1) strlcpy (com_modname, GAMENAME, sizeof (com_modname)); FS_AddGameDirectory (va("%s/"GAMENAME, fs_basedir)); + Cvar_SetQuick (&scr_screenshot_name, gamescreenshotname); // add the game-specific path, if any if (gamedirname[0]) @@ -1008,13 +960,19 @@ void FS_Init (void) // -game // Adds basedir/gamedir as an override game - i = COM_CheckParm ("-game"); - if (i && i < com_argc-1) + // LordHavoc: now supports multiple -game directories + for (i = 1;i < com_argc;i++) { - fs_modified = true; - strlcpy (com_modname, com_argv[i+1], sizeof (com_modname)); - FS_AddGameDirectory (va("%s/%s", fs_basedir, com_argv[i+1])); - Cvar_SetQuick (&scr_screenshot_name, com_modname); + if (!com_argv[i]) + continue; + if (!strcmp (com_argv[i], "-game") && i < com_argc-1) + { + i++; + fs_modified = true; + strlcpy (com_modname, com_argv[i], sizeof (com_modname)); + FS_AddGameDirectory (va("%s/%s", fs_basedir, com_argv[i])); + Cvar_SetQuick (&scr_screenshot_name, com_modname); + } } }