mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-25 21:31:37 +00:00
Fix some build targets, fix csqc's setpause builtin.
This commit is contained in:
parent
540de79103
commit
2d9ec83c20
6 changed files with 48 additions and 5 deletions
|
@ -615,7 +615,8 @@ void CL_CalcClientTime(void)
|
||||||
{
|
{
|
||||||
if (!cls.state)
|
if (!cls.state)
|
||||||
{
|
{
|
||||||
cl.servertime += host_frametime;
|
if (!cl.implicitpause)
|
||||||
|
cl.servertime += host_frametime;
|
||||||
cl.time = cl.servertime;
|
cl.time = cl.servertime;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1399,7 +1399,7 @@ const char *SCR_ShowPics_ClickCommand(float cx, float cy, qboolean istouch)
|
||||||
float x, y, w, h;
|
float x, y, w, h;
|
||||||
showpic_t *sp;
|
showpic_t *sp;
|
||||||
mpic_t *p;
|
mpic_t *p;
|
||||||
qboolean tryload = !showpics_touchtime;
|
qboolean tryload = istouch && !showpics_touchtime;
|
||||||
float bestdist = istouch?16:1;
|
float bestdist = istouch?16:1;
|
||||||
const char *best = NULL;
|
const char *best = NULL;
|
||||||
showpics_touchtime = realtime;
|
showpics_touchtime = realtime;
|
||||||
|
|
|
@ -745,8 +745,10 @@ void IN_MoveMouse(struct mouse_s *mouse, float *movements, int pnum, float frame
|
||||||
mx *= 1.75;
|
mx *= 1.75;
|
||||||
my *= 1.75;
|
my *= 1.75;
|
||||||
|
|
||||||
|
#ifdef QUAKESTATS
|
||||||
if (IN_WeaponWheelAccumulate(pnum, mx, my, 0))
|
if (IN_WeaponWheelAccumulate(pnum, mx, my, 0))
|
||||||
mx = my = 0;
|
mx = my = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1017,10 +1019,12 @@ void IN_MoveJoystick(struct joy_s *joy, float *movements, int pnum, float framet
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QUAKESTATS
|
||||||
if (IN_WeaponWheelAccumulate(joy->qdeviceid, jstrafe[1]*50, -jstrafe[0]*50, 20))
|
if (IN_WeaponWheelAccumulate(joy->qdeviceid, jstrafe[1]*50, -jstrafe[0]*50, 20))
|
||||||
jstrafe[0] = jstrafe[1] = 0;
|
jstrafe[0] = jstrafe[1] = 0;
|
||||||
if (IN_WeaponWheelAccumulate(joy->qdeviceid, jlook[1]*50, jlook[0]*50, 20))
|
if (IN_WeaponWheelAccumulate(joy->qdeviceid, jlook[1]*50, jlook[0]*50, 20))
|
||||||
jlook[0] = jlook[1] = 0;
|
jlook[0] = jlook[1] = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (Key_Dest_Has(~kdm_game))
|
if (Key_Dest_Has(~kdm_game))
|
||||||
{
|
{
|
||||||
|
|
|
@ -12201,7 +12201,9 @@ static BuiltinList_t BuiltinList[] = { //nq qw h2 ebfs
|
||||||
// {"delayedparticle", PF_Fixme, 0, 0, 0, 528, D("float(vector org, vector vel, float delay, float collisiondelay, optional float theme)","Basically just extra args for 'particle'.")},
|
// {"delayedparticle", PF_Fixme, 0, 0, 0, 528, D("float(vector org, vector vel, float delay, float collisiondelay, optional float theme)","Basically just extra args for 'particle'.")},
|
||||||
{"loadfromdata", PF_loadfromdata, 0, 0, 0, 529, D("void(string s)", "Reads a set of entities from the given string. This string should have the same format as a .ent file or a saved game. Entities will be spawned as required. If you need to see the entities that were created, you should use parseentitydata instead.")},
|
{"loadfromdata", PF_loadfromdata, 0, 0, 0, 529, D("void(string s)", "Reads a set of entities from the given string. This string should have the same format as a .ent file or a saved game. Entities will be spawned as required. If you need to see the entities that were created, you should use parseentitydata instead.")},
|
||||||
{"loadfromfile", PF_loadfromfile, 0, 0, 0, 530, D("void(string s)", "Reads a set of entities from the named file. This file should have the same format as a .ent file or a saved game. Entities will be spawned as required. If you need to see the entities that were created, you should use parseentitydata instead.")},
|
{"loadfromfile", PF_loadfromfile, 0, 0, 0, 530, D("void(string s)", "Reads a set of entities from the named file. This file should have the same format as a .ent file or a saved game. Entities will be spawned as required. If you need to see the entities that were created, you should use parseentitydata instead.")},
|
||||||
{"setpause", PF_setpause, 0, 0, 0, 531, D("void(float pause)", "Sets whether the server should or should not be paused. This does not affect auto-paused things like when the console is down.")},
|
{"setpause", PF_setpause, 0, 0, 0, 531, D("void(float pause)", "SSQC: Sets whether the server should or should not be paused.\n"
|
||||||
|
"CSQC: Only works in singleplayer, suitable for menu auto-pause. To pause in multiplayer use eg localcmd(\"cmd pause\n\") to ask the server side to pause.\n"
|
||||||
|
"Pause state between modules will be ORed, along with engine reasons for auto pausing.")},
|
||||||
//end dp extras
|
//end dp extras
|
||||||
//begin mvdsv extras
|
//begin mvdsv extras
|
||||||
#ifdef HAVE_LEGACY
|
#ifdef HAVE_LEGACY
|
||||||
|
|
|
@ -5380,7 +5380,11 @@ float SV_Frame (void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_CLIENT
|
#ifdef HAVE_CLIENT
|
||||||
isidle = !isDedicated && sv.allocated_client_slots == 1 && (Key_Dest_Has(~kdm_game) || IN_WeaponWheelIsShown()) && cls.state == ca_active && !cl.implicitpause;
|
isidle = !isDedicated && sv.allocated_client_slots == 1 && (Key_Dest_Has(~kdm_game)
|
||||||
|
#ifdef QUAKESTATS
|
||||||
|
|| IN_WeaponWheelIsShown()
|
||||||
|
#endif
|
||||||
|
|| cl.implicitpause) && cls.state == ca_active;
|
||||||
/*server is effectively paused in SP/coop if there are no clients/spectators*/
|
/*server is effectively paused in SP/coop if there are no clients/spectators*/
|
||||||
if (sv.spawned_client_slots == 0 && sv.spawned_observer_slots == 0 && !deathmatch.ival)
|
if (sv.spawned_client_slots == 0 && sv.spawned_observer_slots == 0 && !deathmatch.ival)
|
||||||
isidle = true;
|
isidle = true;
|
||||||
|
|
|
@ -753,6 +753,38 @@ int Sys_EnumerateFiles (const char *gpath, const char *match, int (QDECL *func)(
|
||||||
return Sys_EnumerateFiles2(fullmatch, start, start, func, parm, spath);
|
return Sys_EnumerateFiles2(fullmatch, start, start, func, parm, spath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//wide only. we let the windows api sort out the mess of file urls. system-wide consistancy.
|
||||||
|
qboolean Sys_ResolveFileURL(const char *inurl, int inlen, char *out, int outlen)
|
||||||
|
{
|
||||||
|
char *cp;
|
||||||
|
wchar_t wurl[MAX_PATH];
|
||||||
|
wchar_t local[MAX_PATH];
|
||||||
|
DWORD grr;
|
||||||
|
static HRESULT (WINAPI *pPathCreateFromUrlW)(PCWSTR pszUrl, PWSTR pszPath, DWORD *pcchPath, DWORD dwFlags);
|
||||||
|
if (!pPathCreateFromUrlW)
|
||||||
|
pPathCreateFromUrlW = Sys_GetAddressForName(Sys_LoadLibrary("Shlwapi.dll", NULL), "PathCreateFromUrlW");
|
||||||
|
if (!pPathCreateFromUrlW)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
//need to make a copy, because we can't terminate the inurl easily.
|
||||||
|
cp = malloc(inlen+1);
|
||||||
|
memcpy(cp, inurl, inlen);
|
||||||
|
cp[inlen] = 0;
|
||||||
|
widen(wurl, sizeof(wurl), cp);
|
||||||
|
free(cp);
|
||||||
|
grr = sizeof(local)/sizeof(wchar_t);
|
||||||
|
if (FAILED(pPathCreateFromUrlW(wurl, local, &grr, 0)))
|
||||||
|
return false;
|
||||||
|
narrowen(out, outlen, local);
|
||||||
|
while(*out)
|
||||||
|
{
|
||||||
|
if (*out == '\\')
|
||||||
|
*out = '/';
|
||||||
|
out++;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
================
|
================
|
||||||
Sys_Error
|
Sys_Error
|
||||||
|
|
Loading…
Reference in a new issue