about summary refs log tree commit diff
path: root/src/engine/shared/config.cpp
diff options
context:
space:
mode:
authorMarius "Teelevision" Neugebauer <marius@teele.eu>2014-08-14 18:08:22 +0200
committerMarius "Teelevision" Neugebauer <marius@teele.eu>2014-08-14 18:08:22 +0200
commit3ba0fdd48b5d13520ea33916ccf7e6741e3b9900 (patch)
tree2bf80fd62212530b94b57af9a6278901353342bc /src/engine/shared/config.cpp
parentb0fae09546c09f008553fcd0500228d9ea8f5036 (diff)
downloadzcatch-3ba0fdd48b5d13520ea33916ccf7e6741e3b9900.tar.gz
zcatch-3ba0fdd48b5d13520ea33916ccf7e6741e3b9900.zip
restrict access of subadmins to server rcon settings
Diffstat (limited to 'src/engine/shared/config.cpp')
-rw-r--r--src/engine/shared/config.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/engine/shared/config.cpp b/src/engine/shared/config.cpp
index d0cb7a6b..69a65a48 100644
--- a/src/engine/shared/config.cpp
+++ b/src/engine/shared/config.cpp
@@ -54,22 +54,30 @@ public:
 	{
 		#define MACRO_CONFIG_INT(Name,ScriptName,def,min,max,flags,desc) g_Config.m_##Name = def;
 		#define MACRO_CONFIG_STR(Name,ScriptName,len,def,flags,desc) str_copy(g_Config.m_##Name, def, len);
+		#define MACRO_CONFIG_INT_ACCESSLEVEL(Name,ScriptName,def,min,max,flags,desc,accessLevel) g_Config.m_##Name = def;
+		#define MACRO_CONFIG_STR_ACCESSLEVEL(Name,ScriptName,len,def,flags,desc,accessLevel) str_copy(g_Config.m_##Name, def, len);
 
 		#include "config_variables.h"
 
 		#undef MACRO_CONFIG_INT
 		#undef MACRO_CONFIG_STR
+		#undef MACRO_CONFIG_INT_ACCESSLEVEL
+		#undef MACRO_CONFIG_STR_ACCESSLEVEL
 	}
 
 	virtual void RestoreStrings()
 	{
 		#define MACRO_CONFIG_INT(Name,ScriptName,def,min,max,flags,desc)	// nop
 		#define MACRO_CONFIG_STR(Name,ScriptName,len,def,flags,desc) if(!g_Config.m_##Name[0] && def[0]) str_copy(g_Config.m_##Name, def, len);
+		#define MACRO_CONFIG_INT_ACCESSLEVEL(Name,ScriptName,def,min,max,flags,desc,accessLevel)	// nop
+		#define MACRO_CONFIG_STR_ACCESSLEVEL(Name,ScriptName,len,def,flags,desc,accessLevel) if(!g_Config.m_##Name[0] && def[0]) str_copy(g_Config.m_##Name, def, len);
 
 		#include "config_variables.h"
 
 		#undef MACRO_CONFIG_INT
 		#undef MACRO_CONFIG_STR
+		#undef MACRO_CONFIG_INT_ACCESSLEVEL
+		#undef MACRO_CONFIG_STR_ACCESSLEVEL
 	}
 
 	virtual void Save()
@@ -86,11 +94,15 @@ public:
 
 		#define MACRO_CONFIG_INT(Name,ScriptName,def,min,max,flags,desc) if((flags)&CFGFLAG_SAVE){ str_format(aLineBuf, sizeof(aLineBuf), "%s %i", #ScriptName, g_Config.m_##Name); WriteLine(aLineBuf); }
 		#define MACRO_CONFIG_STR(Name,ScriptName,len,def,flags,desc) if((flags)&CFGFLAG_SAVE){ EscapeParam(aEscapeBuf, g_Config.m_##Name, sizeof(aEscapeBuf)); str_format(aLineBuf, sizeof(aLineBuf), "%s \"%s\"", #ScriptName, aEscapeBuf); WriteLine(aLineBuf); }
+		#define MACRO_CONFIG_INT_ACCESSLEVEL(Name,ScriptName,def,min,max,flags,desc,accessLevel) if((flags)&CFGFLAG_SAVE){ str_format(aLineBuf, sizeof(aLineBuf), "%s %i", #ScriptName, g_Config.m_##Name); WriteLine(aLineBuf); }
+		#define MACRO_CONFIG_STR_ACCESSLEVEL(Name,ScriptName,len,def,flags,desc,accessLevel) if((flags)&CFGFLAG_SAVE){ EscapeParam(aEscapeBuf, g_Config.m_##Name, sizeof(aEscapeBuf)); str_format(aLineBuf, sizeof(aLineBuf), "%s \"%s\"", #ScriptName, aEscapeBuf); WriteLine(aLineBuf); }
 
 		#include "config_variables.h"
 
 		#undef MACRO_CONFIG_INT
 		#undef MACRO_CONFIG_STR
+		#undef MACRO_CONFIG_INT_ACCESSLEVEL
+		#undef MACRO_CONFIG_STR_ACCESSLEVEL
 
 		for(int i = 0; i < m_NumCallbacks; i++)
 			m_aCallbacks[i].m_pfnFunc(this, m_aCallbacks[i].m_pUserData);