DDNet documentation
Loading...
Searching...
No Matches
config.cpp File Reference
#include <base/dbg.h>
#include <base/io.h>
#include <base/log.h>
#include <base/str.h>
#include <engine/config.h>
#include <engine/console.h>
#include <engine/shared/config.h>
#include <engine/shared/console.h>
#include <engine/shared/protocol.h>
#include <engine/storage.h>
#include "config_variables.h"
Include dependency graph for config.cpp:

Macros

#define MACRO_CONFIG_INT(Name, ScriptName, Def, Min, Max, Flags, Desc)
#define MACRO_CONFIG_COL(Name, ScriptName, Def, Flags, Desc)
#define MACRO_CONFIG_STR(Name, ScriptName, Len, Def, Flags, Desc)

Functions

static void EscapeParam (char *pDst, const char *pSrc, int Size)
IConfigManagerCreateConfigManager ()

Variables

CConfig g_Config

Macro Definition Documentation

◆ MACRO_CONFIG_COL

#define MACRO_CONFIG_COL ( Name,
ScriptName,
Def,
Flags,
Desc )
Value:
{ \
const char *pScriptName = #ScriptName; \
const bool Alpha = ((Flags) & CFGFLAG_COLALPHA) != 0; \
char aHelp[512]; \
const size_t HelpSize = str_format(aHelp, sizeof(aHelp), "%s (default: $%0*X)", Desc, Alpha ? 8 : 6, color_cast<ColorRGBA>(ColorHSLA(Def, Alpha)).Pack(Alpha)); \
dbg_assert(HelpSize < sizeof(aHelp) - UTF8_BYTE_LENGTH - 1, "MACRO_CONFIG_COL(%s): help text possibly truncated. Increase size of aHelp.", pScriptName); \
AddVariable(m_ConfigHeap.Allocate<SColorConfigVariable>( \
m_pConsole, pScriptName, SConfigVariable::VAR_COLOR, Flags, m_ConfigHeap.StoreString(aHelp), &g_Config.m_##Name, Def)); \
}
Definition color.h:146
constexpr T color_cast(const F &)=delete
CConfig g_Config
Definition config.cpp:16
constexpr auto UTF8_BYTE_LENGTH
Definition types.h:104
@ CFGFLAG_COLALPHA
Definition config.h:96
#define str_format
Definition str.cpp:89
Definition config.h:180
@ VAR_COLOR
Definition config.h:114

◆ MACRO_CONFIG_INT

#define MACRO_CONFIG_INT ( Name,
ScriptName,
Def,
Min,
Max,
Flags,
Desc )
Value:
{ \
const char *pScriptName = #ScriptName; \
dbg_assert(Min == 0 || Max == 0 || Min < Max, "MACRO_CONFIG_INT(%s): minimum (%d) must be less than maximum (%d)", pScriptName, Min, Max); \
dbg_assert((Min == 0 || Def >= Min) && (Max == 0 || Def <= Max), "MACRO_CONFIG_INT(%s): default (%d) must be in range of minimum (%d) and maximum (%d)", pScriptName, Def, Min, Max); \
char aHelp[512]; \
size_t HelpSize; \
if(Min == 0 && Max == 0) \
HelpSize = str_format(aHelp, sizeof(aHelp), "%s (default: %d)", Desc, Def); \
else if(Max == 0) \
HelpSize = str_format(aHelp, sizeof(aHelp), "%s (default: %d, min: %d)", Desc, Def, Min); \
else \
HelpSize = str_format(aHelp, sizeof(aHelp), "%s (default: %d, min: %d, max: %d)", Desc, Def, Min, Max); \
dbg_assert(HelpSize < sizeof(aHelp) - UTF8_BYTE_LENGTH - 1, "MACRO_CONFIG_INT(%s): help text possibly truncated. Increase size of aHelp.", pScriptName); \
AddVariable(m_ConfigHeap.Allocate<SIntConfigVariable>( \
m_pConsole, pScriptName, SConfigVariable::VAR_INT, Flags, m_ConfigHeap.StoreString(aHelp), &g_Config.m_##Name, Def, Min, Max)); \
}
@ VAR_INT
Definition config.h:113
Definition config.h:149

◆ MACRO_CONFIG_STR

#define MACRO_CONFIG_STR ( Name,
ScriptName,
Len,
Def,
Flags,
Desc )
Value:
{ \
const char *pScriptName = #ScriptName; \
char aHelp[512]; \
const size_t HelpSize = str_format(aHelp, sizeof(aHelp), "%s (default: \"%s\", max length: %d)", Desc, Def, Len - 1); \
dbg_assert(HelpSize < sizeof(aHelp) - UTF8_BYTE_LENGTH - 1, "MACRO_CONFIG_STR(%s): help text possibly truncated. Increase size of aHelp.", pScriptName); \
char *pOldValue = static_cast<char *>(m_ConfigHeap.Allocate(Len)); \
AddVariable(m_ConfigHeap.Allocate<SStringConfigVariable>( \
m_pConsole, pScriptName, SConfigVariable::VAR_STRING, Flags, m_ConfigHeap.StoreString(aHelp), g_Config.m_##Name, Def, Len, pOldValue)); \
}
@ VAR_STRING
Definition config.h:115
Definition config.h:222

Function Documentation

◆ CreateConfigManager()

IConfigManager * CreateConfigManager ( )

◆ EscapeParam()

void EscapeParam ( char * pDst,
const char * pSrc,
int Size )
static

Variable Documentation

◆ g_Config

CConfig g_Config