Add -exec commandline arg (to override every gamedir). Try to fix or diagnose other issues Maverick was having.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5931 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
853d1ef330
commit
713c5676ab
4 changed files with 24 additions and 17 deletions
|
@ -2996,6 +2996,7 @@ struct capture_raw_ctx
|
|||
qboolean FS_FixPath(char *path, size_t pathsize);
|
||||
static void *QDECL capture_raw_begin (char *streamname, int videorate, int width, int height, int *sndkhz, int *sndchannels, int *sndbits)
|
||||
{
|
||||
char filename[MAX_OSPATH];
|
||||
struct capture_raw_ctx *ctx = Z_Malloc(sizeof(*ctx));
|
||||
|
||||
if (!strcmp(capturecodec.string, "png") || !strcmp(capturecodec.string, "jpeg") || !strcmp(capturecodec.string, "jpg") || !strcmp(capturecodec.string, "bmp") || !strcmp(capturecodec.string, "pcx") || !strcmp(capturecodec.string, "tga"))
|
||||
|
@ -3014,10 +3015,13 @@ static void *QDECL capture_raw_begin (char *streamname, int videorate, int width
|
|||
return NULL;
|
||||
}
|
||||
ctx->fsroot = FS_SYSTEM;
|
||||
|
||||
if (FS_NativePath(ctx->videonameprefix, ctx->fsroot, filename, sizeof(filename)))
|
||||
FS_CreatePath(filename, ctx->fsroot);
|
||||
|
||||
ctx->audio = NULL;
|
||||
if (*sndkhz)
|
||||
{
|
||||
char filename[MAX_OSPATH];
|
||||
if (*sndbits < 8)
|
||||
*sndbits = 8;
|
||||
if (*sndbits != 8)
|
||||
|
@ -3027,7 +3031,6 @@ static void *QDECL capture_raw_begin (char *streamname, int videorate, int width
|
|||
if (*sndchannels < 1)
|
||||
*sndchannels = 1;
|
||||
Q_snprintfz(filename, sizeof(filename), "%saudio_%ichan_%ikhz_%ib.raw", ctx->videonameprefix, *sndchannels, *sndkhz/1000, *sndbits);
|
||||
FS_CreatePath(filename, ctx->fsroot);
|
||||
ctx->audio = FS_OpenVFS(filename, "wb", ctx->fsroot);
|
||||
}
|
||||
if (!ctx->audio)
|
||||
|
@ -3066,7 +3069,7 @@ static void QDECL capture_raw_video (void *vctx, int frame, void *data, int stri
|
|||
}
|
||||
else
|
||||
{
|
||||
Con_Printf("%s: unable to query free disk space. Disabling\n", capturethrottlesize.name);
|
||||
Con_Printf("%s: unable to query free disk space for %s. Disabling\n", capturethrottlesize.name, filename);
|
||||
capturethrottlesize.ival = capturethrottlesize.value = 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3001,8 +3001,6 @@ qboolean Sys_SetUpdatedBinary(const char *newbinary)
|
|||
}
|
||||
qboolean Sys_EngineMayUpdate(void)
|
||||
{
|
||||
char *e;
|
||||
|
||||
if (!COM_CheckParm("-allowupdate"))
|
||||
{
|
||||
if (revision_number(true) <= 0)
|
||||
|
|
|
@ -5009,23 +5009,18 @@ This isn't really needed, but might make some thing nicer.
|
|||
void COM_ParsePlusSets (qboolean docbuf)
|
||||
{
|
||||
int i;
|
||||
int c;
|
||||
for (i=1 ; i<com_argc-2 ; i++)
|
||||
{
|
||||
if (!com_argv[i])
|
||||
continue; // NEXTSTEP sometimes clears appkit vars.
|
||||
if (!com_argv[i+1])
|
||||
continue;
|
||||
if (!com_argv[i+2])
|
||||
continue;
|
||||
|
||||
if (*com_argv[i+1] == '-' || *com_argv[i+1] == '+')
|
||||
continue; //erm
|
||||
if (*com_argv[i+2] == '-' || *com_argv[i+2] == '+')
|
||||
continue; //erm
|
||||
for (c = 1; i+c < com_argc && com_argv[i+c] && *com_argv[i+c] != '-' && *com_argv[i+c] != '+'; c++)
|
||||
;
|
||||
|
||||
if (docbuf)
|
||||
{
|
||||
if (!strcmp(com_argv[i], "+set") || !strcmp(com_argv[i], "+seta"))
|
||||
if (c == 3 && (!strcmp(com_argv[i], "+set") || !strcmp(com_argv[i], "+seta") ||
|
||||
!strcmp(com_argv[i], "-set") || !strcmp(com_argv[i], "-seta")))
|
||||
{
|
||||
char buf[8192];
|
||||
Cbuf_AddText(com_argv[i]+1, RESTRICT_LOCAL);
|
||||
|
@ -5035,10 +5030,18 @@ void COM_ParsePlusSets (qboolean docbuf)
|
|||
Cbuf_AddText(COM_QuotedString(com_argv[i+2], buf, sizeof(buf), false), RESTRICT_LOCAL);
|
||||
Cbuf_AddText("\n", RESTRICT_LOCAL);
|
||||
}
|
||||
else if (c == 2 && !strcmp(com_argv[i], "-exec"))
|
||||
{
|
||||
char buf[8192];
|
||||
Cbuf_AddText(com_argv[i]+1, RESTRICT_LOCAL);
|
||||
Cbuf_AddText(" ", RESTRICT_LOCAL);
|
||||
Cbuf_AddText(COM_QuotedString(com_argv[i+1], buf, sizeof(buf), false), RESTRICT_LOCAL);
|
||||
Cbuf_AddText("\n", RESTRICT_LOCAL);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!strcmp(com_argv[i], "+set") || !strcmp(com_argv[i], "+seta"))
|
||||
if (c == 3 && (!strcmp(com_argv[i], "+set") || !strcmp(com_argv[i], "+seta")))
|
||||
{
|
||||
#if defined(Q2CLIENT) || defined(Q2SERVER)
|
||||
if (!strcmp("basedir", com_argv[i+1]))
|
||||
|
@ -5048,7 +5051,7 @@ void COM_ParsePlusSets (qboolean docbuf)
|
|||
Cvar_Get(com_argv[i+1], com_argv[i+2], (!strcmp(com_argv[i], "+seta"))?CVAR_ARCHIVE:0, "Cvars set on commandline");
|
||||
}
|
||||
}
|
||||
i+=2;
|
||||
i += c-1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -777,10 +777,13 @@ qboolean Sys_GetFreeDiskSpace(const char *path, quint64_t *freespace)
|
|||
{ //symlinks means the path needs to be fairly full. it may also be a file, and relative to the working directory.
|
||||
wchar_t ffs[MAX_OSPATH];
|
||||
ULARGE_INTEGER freebytes;
|
||||
unsigned int err;
|
||||
if (GetDiskFreeSpaceExW(widen(ffs, sizeof(ffs), path), &freebytes, NULL, NULL))
|
||||
{
|
||||
*freespace = freebytes.QuadPart;
|
||||
return true;
|
||||
}
|
||||
err = GetLastError();
|
||||
Con_Printf("GetDiskFreeSpaceExW(%s) failed: %x\n", path, err);
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue