MCPcopy Create free account
hub / github.com/ZDoom/Raze / FBaseCVar

Method FBaseCVar

source/common/console/c_cvars.cpp:159–205  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

157}
158
159FBaseCVar::FBaseCVar (const char *var_name, uint32_t flags, void (*callback)(FBaseCVar &), const char *descr)
160{
161 if (var_name != nullptr && (flags & CVAR_SERVERINFO))
162 {
163 // This limitation is imposed by network protocol which uses only 6 bits
164 // for name's length with terminating null character
165 static const size_t NAME_LENGHT_MAX = 63;
166
167 if (strlen(var_name) > NAME_LENGHT_MAX)
168 {
169 I_FatalError("Name of the server console variable \"%s\" is too long.\n"
170 "Its length should not exceed %zu characters.\n", var_name, NAME_LENGHT_MAX);
171 }
172 }
173
174
175
176 m_Callback = callback;
177 Flags = 0;
178 VarName = "";
179 Description = descr;
180
181 FBaseCVar* var = nullptr;
182 if (var_name)
183 {
184 var = FindCVar(var_name, NULL);
185 C_AddTabCommand (var_name);
186 VarName = var_name;
187 cvarMap.Insert(var_name, this);
188 }
189
190 if (var)
191 {
192 ECVarType type;
193 UCVarValue value;
194
195 value = var->GetFavoriteRep (&type);
196 ForceSet (value, type);
197 delete var;
198
199 Flags = flags;
200 }
201 else
202 {
203 Flags = flags | CVAR_ISDEFAULT;
204 }
205}
206
207FBaseCVar::~FBaseCVar ()
208{

Callers

nothing calls this directly

Calls 5

I_FatalErrorFunction · 0.85
FindCVarFunction · 0.85
C_AddTabCommandFunction · 0.85
GetFavoriteRepMethod · 0.80
InsertMethod · 0.45

Tested by

no test coverage detected