Some minor fixes.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5375 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2018-12-30 21:09:13 +00:00
parent 9069013dc5
commit f416201c66
5 changed files with 60 additions and 62 deletions

View file

@ -614,6 +614,27 @@ ELSE()
) )
SET_TARGET_PROPERTIES(iqmtool PROPERTIES COMPILE_DEFINITIONS "${FTE_REVISON}") SET_TARGET_PROPERTIES(iqmtool PROPERTIES COMPILE_DEFINITIONS "${FTE_REVISON}")
IF(1)
ADD_EXECUTABLE(ftemaster
${FTESV_ARCH_FILES}
engine/server/sv_master.c
engine/common/net_wins.c
engine/common/cvar.c
engine/common/cmd.c
engine/common/sha1.c #for websockets
engine/http/httpclient.c #for the pipe stuff
engine/common/log.c
engine/common/fs.c
engine/common/fs_stdio.c
engine/common/common.c
engine/common/translate.c
engine/common/zone.c
engine/qclib/hash.c
)
SET_TARGET_PROPERTIES(ftemaster PROPERTIES COMPILE_DEFINITIONS "MASTERONLY;${FTE_LIB_DEFINES};${FTESV_DEFINES};${FTE_REVISON}")
TARGET_LINK_LIBRARIES(ftemaster ${FTESV_LIBS})
ENDIF()
ADD_EXECUTABLE(httpserver ADD_EXECUTABLE(httpserver
engine/common/fs_stdio.c engine/common/fs_stdio.c
engine/http/httpserver.c engine/http/httpserver.c

View file

@ -2421,18 +2421,19 @@ void Key_Bind_f (void)
int i, c, b, modifier; int i, c, b, modifier;
char cmd[1024]; char cmd[1024];
int bindmap = 0; int bindmap = 0;
int level = Cmd_ExecLevel;
qboolean isbindlevel = !strcmp("bindlevel", Cmd_Argv(0));
if (!strcmp("in_bind", Cmd_Argv(0))) if (!strcmp("in_bind", Cmd_Argv(0)))
{ {
bindmap = atoi(Cmd_Argv(1)); bindmap = atoi(Cmd_Argv(1));
Cmd_ShiftArgs(1, Cmd_ExecLevel==RESTRICT_LOCAL); Cmd_ShiftArgs(1, level==RESTRICT_LOCAL);
} }
c = Cmd_Argc(); c = Cmd_Argc();
if (c < 2) if (c < 2+isbindlevel)
{ {
Con_Printf ("bind <key> [command] : attach a command to a key\n"); Con_Printf ("%s <key> %s[command] : attach a command to a key\n", Cmd_Argv(0), isbindlevel?"<level> ":"");
return; return;
} }
b = Key_StringToKeynum (Cmd_Argv(1), &modifier); b = Key_StringToKeynum (Cmd_Argv(1), &modifier);
@ -2442,6 +2443,25 @@ void Key_Bind_f (void)
Con_Printf ("\"%s\" isn't a valid key\n", Cmd_Argv(1)); Con_Printf ("\"%s\" isn't a valid key\n", Cmd_Argv(1));
return; return;
} }
if (isbindlevel)
{
level = atoi(Cmd_Argv(2));
if (Cmd_IsInsecure())
level = Cmd_ExecLevel;
else
{
if (level > RESTRICT_MAX)
level = RESTRICT_INSECURE;
else
{
if (level < RESTRICT_MIN)
level = RESTRICT_MIN;
if (level > Cmd_ExecLevel)
level = Cmd_ExecLevel; //clamp exec levels, so we don't get more rights than we should.
}
}
}
if (bindmap) if (bindmap)
{ {
if (bindmap <= 0 || bindmap > KEY_MODIFIER_ALTBINDMAP) if (bindmap <= 0 || bindmap > KEY_MODIFIER_ALTBINDMAP)
@ -2459,7 +2479,7 @@ void Key_Bind_f (void)
modifier = (bindmap-1) | KEY_MODIFIER_ALTBINDMAP; modifier = (bindmap-1) | KEY_MODIFIER_ALTBINDMAP;
} }
if (c == 2) if (c == 2+isbindlevel)
{ {
if (modifier == ~0) //modifier unspecified. default to no modifier if (modifier == ~0) //modifier unspecified. default to no modifier
modifier = 0; modifier = 0;
@ -2482,73 +2502,23 @@ void Key_Bind_f (void)
return; return;
} }
if (c > 3) if (c > 3+isbindlevel)
{ {
Cmd_ShiftArgs(1, Cmd_ExecLevel==RESTRICT_LOCAL); Cmd_ShiftArgs(1+isbindlevel, level==RESTRICT_LOCAL);
Key_SetBinding (b, modifier, Cmd_Args(), Cmd_ExecLevel); Key_SetBinding (b, modifier, Cmd_Args(), level);
return; return;
} }
// copy the rest of the command line // copy the rest of the command line
cmd[0] = 0; // start out with a null string cmd[0] = 0; // start out with a null string
for (i=2 ; i< c ; i++) for (i=2+isbindlevel ; i< c ; i++)
{ {
Q_strncatz (cmd, Cmd_Argv(i), sizeof(cmd)); Q_strncatz (cmd, Cmd_Argv(i), sizeof(cmd));
if (i != (c-1)) if (i != (c-1))
Q_strncatz (cmd, " ", sizeof(cmd)); Q_strncatz (cmd, " ", sizeof(cmd));
} }
Key_SetBinding (b, modifier, cmd, Cmd_ExecLevel); Key_SetBinding (b, modifier, cmd, level);
}
void Key_BindLevel_f (void)
{
int i, c, b, modifier;
char cmd[1024];
c = Cmd_Argc();
if (c != 2 && c != 4)
{
Con_Printf ("%s <key> [<level> <command>] : attach a command to a key for a specific level of access\n", Cmd_Argv(0));
return;
}
b = Key_StringToKeynum (Cmd_Argv(1), &modifier);
if (b==-1)
{
if (cl_warncmd.ival)
Con_Printf ("\"%s\" isn't a valid key\n", Cmd_Argv(1));
return;
}
if (modifier == ~0) //modifier unspecified. default to no modifier
modifier = 0;
if (c == 2)
{
if (keybindings[b][modifier])
Con_Printf ("\"%s\" (%i)= \"%s\"\n", Cmd_Argv(1), bindcmdlevel[b][modifier], keybindings[b][modifier] );
else
Con_Printf ("\"%s\" is not bound\n", Cmd_Argv(1) );
return;
}
if (Cmd_IsInsecure())
{
Con_Printf("Server attempted usage of %s\n", Cmd_Argv(0));
return;
}
// copy the rest of the command line
cmd[0] = 0; // start out with a null string
for (i=3 ; i< c ; i++)
{
Q_strncatz (cmd, Cmd_Argv(i), sizeof(cmd));
if (i != (c-1))
Q_strncatz (cmd, " ", sizeof(cmd));
}
Key_SetBinding (b, modifier, cmd, atoi(Cmd_Argv(2)));
} }
/* /*
@ -2713,7 +2683,7 @@ void Key_Init (void)
// //
Cmd_AddCommandAD ("bind",Key_Bind_f, Key_Bind_c, NULL); Cmd_AddCommandAD ("bind",Key_Bind_f, Key_Bind_c, NULL);
Cmd_AddCommand ("in_bind",Key_Bind_f); Cmd_AddCommand ("in_bind",Key_Bind_f);
Cmd_AddCommand ("bindlevel",Key_BindLevel_f); Cmd_AddCommand ("bindlevel",Key_Bind_f);
Cmd_AddCommandAD ("unbind",Key_Unbind_f, Key_Bind_c, NULL); Cmd_AddCommandAD ("unbind",Key_Unbind_f, Key_Bind_c, NULL);
Cmd_AddCommand ("unbindall",Key_Unbindall_f); Cmd_AddCommand ("unbindall",Key_Unbindall_f);

View file

@ -3986,7 +3986,7 @@ static void Cmd_WriteConfig_f(void)
MasterInfo_WriteServers(); MasterInfo_WriteServers();
#endif #endif
f = FS_OpenWithFriends(fname, sysname, sizeof(sysname), 3, "quake.rc", "hexen.rc", "*.cfg", "configs/*.cfg"); f = FS_OpenWithFriends(fname, sysname, sizeof(sysname), 4, "quake.rc", "hexen.rc", "*.cfg", "configs/*.cfg");
all = cfg_save_all.ival; all = cfg_save_all.ival;
} }

View file

@ -159,6 +159,7 @@ void Cmd_ExecuteString (const char *text, int restrictionlevel);
void Cmd_Args_Set(const char *newargs, size_t len); void Cmd_Args_Set(const char *newargs, size_t len);
//higher levels have greater access, BUT BE SURE TO CHECK Cmd_IsInsecure()
#define RESTRICT_MAX_TOTAL 31 #define RESTRICT_MAX_TOTAL 31
#define RESTRICT_MAX_USER 29 #define RESTRICT_MAX_USER 29
#define RESTRICT_DEFAULT 20 #define RESTRICT_DEFAULT 20

View file

@ -36,6 +36,12 @@ extern qlpMTex2FUNC qglMultiTexCoord2fARB;
#define GL_CLAMP_TO_EDGE 0x812F #define GL_CLAMP_TO_EDGE 0x812F
//#endif //#endif
#ifndef GL_MAX_ARRAY_TEXTURE_LAYERS
#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF /*opengl 3.0*/
#endif
// Added to make morphos and mingw32 crosscompilers to work // Added to make morphos and mingw32 crosscompilers to work
/* /*
./gl/gl_draw.c: In function `GL_Upload32_BGRA': ./gl/gl_draw.c: In function `GL_Upload32_BGRA':