}
else
{
- Con_Errorf("unable to load pak \"%s\"\n", pakfile);
+ Con_Printf(CON_ERROR "unable to load pak \"%s\"\n", pakfile);
return false;
}
}
p = FS_CheckGameDir(gamedirname1);
if(!p || p == fs_checkgamedir_missing)
- Con_Warnf("WARNING: base gamedir %s%s/ not found!\n", fs_basedir, gamedirname1);
+ Con_Printf(CON_WARN "WARNING: base gamedir %s%s/ not found!\n", fs_basedir, gamedirname1);
if(gamedirname2)
{
p = FS_CheckGameDir(gamedirname2);
if(!p || p == fs_checkgamedir_missing)
- Con_Warnf("WARNING: base gamedir %s%s/ not found!\n", fs_basedir, gamedirname2);
+ Con_Printf(CON_WARN "WARNING: base gamedir %s%s/ not found!\n", fs_basedir, gamedirname2);
}
// -game <gamedir>
i++;
p = FS_CheckGameDir(sys.argv[i]);
if(!p)
- Sys_Error("Nasty -game name rejected: %s", sys.argv[i]);
+ Con_Printf("WARNING: Nasty -game name rejected: %s\n", sys.argv[i]);
if(p == fs_checkgamedir_missing)
- Con_Warnf("WARNING: -game %s%s/ not found!\n", fs_basedir, sys.argv[i]);
+ Con_Printf(CON_WARN "WARNING: -game %s%s/ not found!\n", fs_basedir, sys.argv[i]);
// add the gamedir to the list of active gamedirs
strlcpy (fs_gamedirs[fs_numgamedirs], sys.argv[i], sizeof(fs_gamedirs[fs_numgamedirs]));
fs_numgamedirs++;
opt = O_CREAT | O_APPEND;
break;
default:
- Con_Errorf ("FS_SysOpen(%s, %s): invalid mode\n", filepath, mode);
+ Con_Printf(CON_ERROR "FS_SysOpen(%s, %s): invalid mode\n", filepath, mode);
return FILEDESC_INVALID;
}
for (ind = 1; mode[ind] != '\0'; ind++)
dolock = true;
break;
default:
- Con_Errorf ("FS_SysOpen(%s, %s): unknown character in mode (%c)\n",
+ Con_Printf(CON_ERROR "FS_SysOpen(%s, %s): unknown character in mode (%c)\n",
filepath, mode, mode[ind]);
}
}
// No Zlib DLL = no compressed files
if (!zlib_dll && (pfile->flags & PACKFILE_FLAG_DEFLATED))
{
- Con_Warnf("WARNING: can't open the compressed file %s\n"
+ Con_Printf(CON_WARN "WARNING: can't open the compressed file %s\n"
"You need the Zlib DLL to use compressed files\n",
pfile->name);
return NULL;
{
if (FILEDESC_SEEK (file->handle, file->buff_ind - file->buff_len, SEEK_CUR) == -1)
{
- Con_Warnf("WARNING: could not seek in %s.\n", file->filename);
+ Con_Printf(CON_WARN "WARNING: could not seek in %s.\n", file->filename);
}
}
{
fs_offset_t count, done;
- if (buffersize == 0)
+ if (buffersize == 0 || !buffer)
return 0;
// Get rid of the ungetc character
Allocate and fill a search structure with information on matching filenames.
===========
*/
-fssearch_t *FS_Search(const char *pattern, int caseinsensitive, int quiet)
+fssearch_t *FS_Search(const char *pattern, int caseinsensitive, int quiet, const char *packfile)
{
fssearch_t *search;
searchpath_t *searchpath;
int i, basepathlength, numfiles, numchars, resultlistindex, dirlistindex;
stringlist_t resultlist;
stringlist_t dirlist;
- const char *slash, *backslash, *colon, *separator;
+ stringlist_t matchedSet, foundSet;
+ const char *start, *slash, *backslash, *colon, *separator;
char *basepath;
for (i = 0;pattern[i] == '.' || pattern[i] == ':' || pattern[i] == '/' || pattern[i] == '\\';i++)
{
// look through all the pak file elements
pak = searchpath->pack;
+ if(packfile)
+ {
+ if(strcmp(packfile, pak->shortname))
+ continue;
+ }
for (i = 0;i < pak->numfiles;i++)
{
char temp[MAX_OSPATH];
}
else
{
- stringlist_t matchedSet, foundSet;
- const char *start = pattern;
+ if(packfile)
+ continue;
+
+ start = pattern;
stringlistinit(&matchedSet);
stringlistinit(&foundSet);
const char *name;
char linebuf[MAX_INPUTLINE];
fssearch_t *search;
- search = FS_Search(pattern, true, true);
+ search = FS_Search(pattern, true, true, NULL);
if (!search)
return 0;
numfiles = search->numfilenames;