DDraceNetwork Documentation
Loading...
Searching...
No Matches
editor_server_settings.h
Go to the documentation of this file.
1#ifndef GAME_EDITOR_EDITOR_SERVER_SETTINGS_H
2#define GAME_EDITOR_EDITOR_SERVER_SETTINGS_H
3
4#include "component.h"
5#include "editor_ui.h"
6
7#include <map>
8#include <string>
9#include <vector>
10
11class CEditor;
12struct SMapSettingInt;
14struct IMapSetting;
15class CLineInput;
16
18{
19 char m_aCommand[256];
20
21 CEditorMapSetting(const char *pCommand)
22 {
23 str_copy(m_aCommand, pCommand);
24 }
25};
26
27// A parsed map setting argument, storing the name and the type
28// Used for validation and to display arguments names
30{
31 char m_aName[32];
32 char m_Type;
33};
34
35// An argument for the current setting
37{
38 char m_aValue[256]; // Value of the argument
39 float m_X; // The X position
40 size_t m_Start; // Start offset within the input string
41 size_t m_End; // End offset within the input string
42 bool m_Error; // If the argument is wrong or not
43 char m_ExpectedType; // The expected type
44};
45
47{
48 const char *m_pValue; // Possible value string
49 int m_ArgIndex; // Argument for that possible value
50 const void *m_pData; // Generic pointer to pass specific data
51};
52
70
72{
73 enum
74 {
75 TYPE_INVALID = 1 << 0,
77 };
78 int m_Index; // Index of the command in the loaded map settings list
79 char m_aSetting[256]; // String of the setting
80 int m_Type; // Type of that invalid setting
81 int m_CollidingIndex; // The colliding line index in case type is TYPE_DUPLICATE
82 bool m_Unknown; // Is the command unknown
83
84 struct SContext
85 {
86 bool m_Fixed;
90
91 SInvalidSetting(int Index, const char *pSetting, int Type, int CollidingIndex, bool Unknown) :
92 m_Index(Index), m_Type(Type), m_CollidingIndex(CollidingIndex), m_Unknown(Unknown), m_Context()
93 {
94 str_copy(m_aSetting, pSetting);
95 }
96};
97
98// --------------------------------------
99// Builder classes & methods to generate list of possible values
100// easily for specific settings and arguments.
101// It uses a container stored inside CMapSettingsBackend.
102// Usage:
103// CValuesBuilder Builder(&m_Container);
104// // Either do it in one go:
105// Builder("tune").Argument(0).Add("value_1").Add("value_2");
106// // Or reference the builder (useful when using in a loop):
107// auto TuneBuilder = Builder("tune").Argument(0);
108// TuneBuilder.Add("value_1");
109// TuneBuilder.Add("value_2");
110// // ...
111
112using TArgumentValuesList = std::vector<const char *>; // List of possible values
113using TSettingValues = std::map<int, TArgumentValuesList>; // Possible values per argument
114using TSettingsArgumentValues = std::map<std::string, TSettingValues>; // Possible values per argument, per command/setting name
115
116class CValuesBuilder;
119{
120public:
121 CArgumentValuesListBuilder &Add(const char *pString)
122 {
123 m_pContainer->emplace_back(pString);
124 return *this;
125 }
126
127private:
128 CArgumentValuesListBuilder(std::vector<const char *> *pContainer) :
129 m_pContainer(pContainer) {}
130
131 std::vector<const char *> *m_pContainer;
133};
134
136{
137public:
139 {
141 }
142
143private:
145 m_pContainer(pContainer) {}
146
147 friend class CValuesBuilder;
149};
150
152{
153public:
155 m_pContainer(pContainer)
156 {
157 }
158
159 CSettingValuesBuilder operator()(const char *pSettingName) const
160 {
161 return CSettingValuesBuilder(&(*m_pContainer)[pSettingName]);
162 }
163
164private:
166};
167
168// --------------------------------------
169
171{
172 static void LoadTuneValues(const CSettingValuesBuilder &TuneBuilder);
173 static void LoadTuneZoneValues(const CSettingValuesBuilder &TuneZoneBuilder);
174 static void LoadMapBugs(const CSettingValuesBuilder &BugBuilder);
175 static void LoadArgumentTuneValues(CArgumentValuesListBuilder &&ArgBuilder);
176};
177
186
193
195{
196 typedef void (*FLoaderFunction)(const CSettingValuesBuilder &);
197
198public:
199 // General methods
201
202 void OnInit(CEditor *pEditor) override;
203 void OnMapLoad() override;
204
205 // Constraints methods
206 enum class EArgConstraint
207 {
211 };
212
213 EArgConstraint ArgConstraint(const char *pSettingName, int Arg) const
214 {
215 return m_ArgConstraintsPerCommand.at(pSettingName).at(Arg);
216 }
217
218 // Backend methods
219 const std::vector<SParsedMapSettingArg> &ParsedArgs(const std::shared_ptr<IMapSetting> &pSetting) const
220 {
221 return m_ParsedCommandArgs.at(pSetting);
222 }
223
224 // CContext
226 {
227 static constexpr ColorRGBA ms_ArgumentStringColor = ColorRGBA(84.0f / 255.0f, 1.0f, 1.0f, 1.0f);
228 static constexpr ColorRGBA ms_ArgumentNumberColor = ColorRGBA(0.1f, 0.9f, 0.05f, 1.0f);
229 static constexpr ColorRGBA ms_ArgumentUnknownColor = ColorRGBA(0.6f, 0.6f, 0.6f, 1.0f);
230 static constexpr ColorRGBA ms_CommentColor = ColorRGBA(0.5f, 0.5f, 0.5f, 1.0f);
231 static constexpr ColorRGBA ms_ErrorColor = ColorRGBA(240.0f / 255.0f, 70.0f / 255.0f, 70.0f / 255.0f, 1.0f);
232
234
235 public:
236 bool CommandIsValid() const { return m_pCurrentSetting != nullptr; }
237 int CurrentArg() const { return m_CursorArgIndex; }
238 const char *CurrentArgName() const { return (!m_pCurrentSetting || m_CursorArgIndex < 0 || m_CursorArgIndex >= (int)m_pBackend->m_ParsedCommandArgs.at(m_pCurrentSetting).size()) ? nullptr : m_pBackend->m_ParsedCommandArgs.at(m_pCurrentSetting).at(m_CursorArgIndex).m_aName; }
240 size_t CurrentArgOffset() const { return m_CursorArgIndex == -1 ? 0 : m_vCurrentArgs[m_CursorArgIndex].m_Start; }
241 const char *CurrentArgValue() const { return m_CursorArgIndex == -1 ? m_aCommand : m_vCurrentArgs[m_CursorArgIndex].m_aValue; }
242 const std::vector<SPossibleValueMatch> &PossibleMatches() const { return m_vPossibleMatches; }
243 bool HasError() const { return m_Error.m_aMessage[0] != '\0'; }
244 size_t ErrorOffset() const { return m_Error.m_ArgIndex < 0 ? 0 : m_vCurrentArgs.at(m_Error.m_ArgIndex).m_Start; }
245 const char *Error() const { return m_Error.m_aMessage; }
246 int ArgCount() const { return (int)m_vCurrentArgs.size(); }
247 const SCurrentSettingArg &Arg(int Index) const { return m_vCurrentArgs.at(Index); }
248 const std::shared_ptr<IMapSetting> &Setting() const { return m_pCurrentSetting; }
249 CLineInput *LineInput() const { return m_pLineInput; }
250 void SetFontSize(float FontSize) { m_FontSize = FontSize; }
251 int CommentOffset() const { return m_CommentOffset; }
252
253 int CheckCollision(ECollisionCheckResult &Result) const;
254 int CheckCollision(const std::vector<CEditorMapSetting> &vSettings, ECollisionCheckResult &Result) const;
255 int CheckCollision(const char *pInputString, const std::vector<CEditorMapSetting> &vSettings, ECollisionCheckResult &Result) const;
256
257 void Update();
258 void UpdateFromString(const char *pStr);
259 bool UpdateCursor(bool Force = false);
260 void Reset();
261 void GetCommandHelpText(char *pStr, int Length) const;
262 bool Valid() const;
263 void ColorArguments(std::vector<STextColorSplit> &vColorSplits) const;
264
268
269 private:
270 // Methods
271 CContext(CMapSettingsBackend *pMaster, CLineInput *pLineinput) :
272 m_DropdownContext(), m_pLineInput(pLineinput), m_pBackend(pMaster)
273 {
275 Reset();
276 }
277
278 void ClearError();
279 EValidationResult ValidateArg(int Index, const char *pArg);
281 void ParseArgs(const char *pLineInputStr, const char *pStr);
282 bool OnInput(const IInput::CEvent &Event);
283 const char *InputString() const;
284
285 template<int N>
286 void FormatDisplayValue(const char *pValue, char (&aOut)[N]);
287
288 // Fields
289 std::shared_ptr<IMapSetting> m_pCurrentSetting; // Current setting, can be nullptr in case of invalid setting name
290 std::vector<SCurrentSettingArg> m_vCurrentArgs; // Current parsed arguments from lineinput string
291 int m_CursorArgIndex; // The current argument the cursor is over
292 std::vector<SPossibleValueMatch> m_vPossibleMatches; // The current matches from cursor argument
293 size_t m_LastCursorOffset; // Last cursor offset
295 char m_aCommand[128]; // The current command, not necessarily valid
297 int m_CommentOffset; // Position of the comment, if there is one
298
302 };
303
305 {
306 return CContext(this, pLineInput);
307 }
308
309private:
310 // Loader methods
311 void LoadAllMapSettings();
312 void LoadCommand(const char *pName, const char *pArgs, const char *pHelp);
313 void LoadSettingInt(const std::shared_ptr<SMapSettingInt> &pSetting);
314 void LoadSettingCommand(const std::shared_ptr<SMapSettingCommand> &pSetting);
315 void InitValueLoaders();
316 void LoadPossibleValues(const CSettingValuesBuilder &Builder, const std::shared_ptr<IMapSetting> &pSetting);
317 void RegisterLoader(const char *pSettingName, const FLoaderFunction &pfnLoader);
318 void LoadConstraints();
319
320 static void PossibleConfigVariableCallback(const struct SConfigVariable *pVariable, void *pUserData);
321
322 // Argument constraints
323 using TArgumentConstraints = std::map<int, EArgConstraint>; // Constraint per argument index
324 using TCommandArgumentConstraints = std::map<std::string, TArgumentConstraints>; // Constraints per command/setting name
325
326 // Argument constraints builder
327 // Used to define arguments constraints for specific commands
328 // It uses a container stored in CMapSettingsBackend.
329 // Usage:
330 // CCommandArgumentConstraintBuilder Command(&m_Container);
331 // Command("tune", 2).Unique(0); // Defines argument 0 of command "tune" having 2 args as UNIQUE
332 // Command("tune_zone", 3).Multiple(0).Unique(1);
333 // // ^ Multiple() currently is only for readable purposes. It can be omitted:
334 // // Command("tune_zone", 3).Unique(1);
335 //
336
338
340 {
342
343 private:
346
348
349 public:
351 {
352 // Define a multiple argument constraint
353 (*m_pContainer)[Arg] = EArgConstraint::MULTIPLE;
354 return *this;
355 }
356
358 {
359 // Define a unique argument constraint
360 (*m_pContainer)[Arg] = EArgConstraint::UNIQUE;
361 return *this;
362 }
363 };
364
366 {
367 public:
370
371 CArgumentConstraintsBuilder operator()(const char *pSettingName, int ArgCount)
372 {
373 for(int i = 0; i < ArgCount; i++)
374 (*m_pContainer)[pSettingName][i] = EArgConstraint::DEFAULT;
375 return CArgumentConstraintsBuilder(&(*m_pContainer)[pSettingName]);
376 }
377
378 private:
380 };
381
383
384 // Backend fields
385 std::vector<std::shared_ptr<IMapSetting>> m_vpMapSettings;
386 std::map<std::shared_ptr<IMapSetting>, std::vector<SParsedMapSettingArg>> m_ParsedCommandArgs; // Parsed available settings arguments, used for validation
388 std::map<std::string, FLoaderFunction> m_LoaderFunctions;
389
390 friend class CEditor;
391
392 // Map settings validation on load
394 {
395 std::vector<SInvalidSetting> m_vSettingsInvalid;
396 std::vector<CEditorMapSetting> m_vSettingsValid;
397 std::map<int, std::vector<int>> m_SettingsDuplicate;
398
400
401 void Reset()
402 {
403 m_vSettingsInvalid.clear();
404 m_vSettingsValid.clear();
405 m_SettingsDuplicate.clear();
406 }
407
409};
410
411#endif
Definition editor_server_settings.h:119
std::vector< const char * > * m_pContainer
Definition editor_server_settings.h:131
friend class CSettingValuesBuilder
Definition editor_server_settings.h:132
CArgumentValuesListBuilder(std::vector< const char * > *pContainer)
Definition editor_server_settings.h:128
CArgumentValuesListBuilder & Add(const char *pString)
Definition editor_server_settings.h:121
Definition component.h:13
Definition editor.h:108
Definition lineinput.h:25
Definition editor_server_settings.h:340
CArgumentConstraintsBuilder & Unique(int Arg)
Definition editor_server_settings.h:357
CArgumentConstraintsBuilder(TArgumentConstraints *pContainer)
Definition editor_server_settings.h:344
friend class CCommandArgumentConstraintBuilder
Definition editor_server_settings.h:341
CArgumentConstraintsBuilder & Multiple(int Arg)
Definition editor_server_settings.h:350
TArgumentConstraints * m_pContainer
Definition editor_server_settings.h:347
Definition editor_server_settings.h:366
CArgumentConstraintsBuilder operator()(const char *pSettingName, int ArgCount)
Definition editor_server_settings.h:371
TCommandArgumentConstraints * m_pContainer
Definition editor_server_settings.h:379
CCommandArgumentConstraintBuilder(TCommandArgumentConstraints *pContainer)
Definition editor_server_settings.h:368
Definition editor_server_settings.h:226
int CommentOffset() const
Definition editor_server_settings.h:251
const char * InputString() const
Definition editor_server_settings.cpp:1786
CContext(CMapSettingsBackend *pMaster, CLineInput *pLineinput)
Definition editor_server_settings.h:271
static constexpr ColorRGBA ms_ArgumentUnknownColor
Definition editor_server_settings.h:229
static constexpr ColorRGBA ms_ErrorColor
Definition editor_server_settings.h:231
void GetCommandHelpText(char *pStr, int Length) const
Definition editor_server_settings.cpp:2064
void UpdatePossibleMatches()
Definition editor_server_settings.cpp:1659
SCommandParseError m_Error
Definition editor_server_settings.h:296
bool CommandIsValid() const
Definition editor_server_settings.h:236
std::vector< SCurrentSettingArg > m_vCurrentArgs
Definition editor_server_settings.h:290
void Update()
Definition editor_server_settings.cpp:1215
int m_CurrentCompletionIndex
Definition editor_server_settings.h:267
int m_CursorArgIndex
Definition editor_server_settings.h:291
static constexpr ColorRGBA ms_ArgumentStringColor
Definition editor_server_settings.h:227
std::vector< SPossibleValueMatch > m_vPossibleMatches
Definition editor_server_settings.h:292
void Reset()
Definition editor_server_settings.cpp:1197
int m_CommentOffset
Definition editor_server_settings.h:297
CLineInput * m_pLineInput
Definition editor_server_settings.h:294
int ArgCount() const
Definition editor_server_settings.h:246
bool HasError() const
Definition editor_server_settings.h:243
static constexpr ColorRGBA ms_CommentColor
Definition editor_server_settings.h:230
const char * CurrentArgValue() const
Definition editor_server_settings.h:241
size_t ErrorOffset() const
Definition editor_server_settings.h:244
EValidationResult ValidateArg(int Index, const char *pArg)
Definition editor_server_settings.cpp:1602
size_t m_LastCursorOffset
Definition editor_server_settings.h:293
bool m_AllowUnknownCommands
Definition editor_server_settings.h:265
static constexpr ColorRGBA ms_ArgumentNumberColor
Definition editor_server_settings.h:228
void FormatDisplayValue(const char *pValue, char(&aOut)[N])
Definition editor_server_settings.cpp:2073
void SetFontSize(float FontSize)
Definition editor_server_settings.h:250
const SCurrentSettingArg & Arg(int Index) const
Definition editor_server_settings.h:247
void ClearError()
Definition editor_server_settings.cpp:1537
CLineInput * LineInput() const
Definition editor_server_settings.h:249
float CurrentArgPos() const
Definition editor_server_settings.h:239
const std::vector< SPossibleValueMatch > & PossibleMatches() const
Definition editor_server_settings.h:242
int CheckCollision(ECollisionCheckResult &Result) const
Definition editor_server_settings.cpp:1840
friend class CMapSettingsBackend
Definition editor_server_settings.h:233
void UpdateFromString(const char *pStr)
Definition editor_server_settings.cpp:1220
size_t CurrentArgOffset() const
Definition editor_server_settings.h:240
bool OnInput(const IInput::CEvent &Event)
Definition editor_server_settings.cpp:1758
const char * CurrentArgName() const
Definition editor_server_settings.h:238
const std::shared_ptr< IMapSetting > & Setting() const
Definition editor_server_settings.h:248
void ColorArguments(std::vector< STextColorSplit > &vColorSplits) const
Definition editor_server_settings.cpp:1793
bool Valid() const
Definition editor_server_settings.cpp:2033
std::shared_ptr< IMapSetting > m_pCurrentSetting
Definition editor_server_settings.h:289
bool UpdateCursor(bool Force=false)
Definition editor_server_settings.cpp:1543
std::string m_CompositionStringBuffer
Definition editor_server_settings.h:300
char m_aCommand[128]
Definition editor_server_settings.h:295
float m_FontSize
Definition editor_server_settings.h:301
SEditBoxDropdownContext m_DropdownContext
Definition editor_server_settings.h:266
void ParseArgs(const char *pLineInputStr, const char *pStr)
Definition editor_server_settings.cpp:1286
const char * Error() const
Definition editor_server_settings.h:245
int CurrentArg() const
Definition editor_server_settings.h:237
CMapSettingsBackend * m_pBackend
Definition editor_server_settings.h:299
void LoadSettingCommand(const std::shared_ptr< SMapSettingCommand > &pSetting)
Definition editor_server_settings.cpp:1108
std::map< int, EArgConstraint > TArgumentConstraints
Definition editor_server_settings.h:323
void LoadSettingInt(const std::shared_ptr< SMapSettingInt > &pSetting)
Definition editor_server_settings.cpp:1099
void RegisterLoader(const char *pSettingName, const FLoaderFunction &pfnLoader)
Definition editor_server_settings.cpp:1160
TSettingsArgumentValues m_PossibleValuesPerCommand
Definition editor_server_settings.h:387
CContext NewContext(CLineInput *pLineInput)
Definition editor_server_settings.h:304
void InitValueLoaders()
Definition editor_server_settings.cpp:2159
friend class CEditor
Definition editor_server_settings.h:390
void LoadCommand(const char *pName, const char *pArgs, const char *pHelp)
Definition editor_server_settings.cpp:1094
CMapSettingsBackend()=default
std::map< std::string, TArgumentConstraints > TCommandArgumentConstraints
Definition editor_server_settings.h:324
std::map< std::shared_ptr< IMapSetting >, std::vector< SParsedMapSettingArg > > m_ParsedCommandArgs
Definition editor_server_settings.h:386
void OnInit(CEditor *pEditor) override
Definition editor_server_settings.cpp:1049
static void PossibleConfigVariableCallback(const struct SConfigVariable *pVariable, void *pUserData)
Definition editor_server_settings.cpp:1181
std::map< std::string, FLoaderFunction > m_LoaderFunctions
Definition editor_server_settings.h:388
std::vector< std::shared_ptr< IMapSetting > > m_vpMapSettings
Definition editor_server_settings.h:385
void LoadConstraints()
Definition editor_server_settings.cpp:1166
void(* FLoaderFunction)(const CSettingValuesBuilder &)
Definition editor_server_settings.h:196
void OnMapLoad() override
Definition editor_server_settings.cpp:2087
TCommandArgumentConstraints m_ArgConstraintsPerCommand
Definition editor_server_settings.h:382
struct CMapSettingsBackend::SLoadedMapSettings m_LoadedMapSettings
EArgConstraint ArgConstraint(const char *pSettingName, int Arg) const
Definition editor_server_settings.h:213
void LoadAllMapSettings()
Definition editor_server_settings.cpp:1080
void LoadPossibleValues(const CSettingValuesBuilder &Builder, const std::shared_ptr< IMapSetting > &pSetting)
Definition editor_server_settings.cpp:1150
const std::vector< SParsedMapSettingArg > & ParsedArgs(const std::shared_ptr< IMapSetting > &pSetting) const
Definition editor_server_settings.h:219
EArgConstraint
Definition editor_server_settings.h:207
@ DEFAULT
Definition editor_server_settings.h:208
@ MULTIPLE
Definition editor_server_settings.h:210
@ UNIQUE
Definition editor_server_settings.h:209
Definition editor_server_settings.h:136
CSettingValuesBuilder(TSettingValues *pContainer)
Definition editor_server_settings.h:144
friend class CValuesBuilder
Definition editor_server_settings.h:147
CArgumentValuesListBuilder Argument(int Arg) const
Definition editor_server_settings.h:138
TSettingValues * m_pContainer
Definition editor_server_settings.h:148
Definition editor_server_settings.h:152
CValuesBuilder(TSettingsArgumentValues *pContainer)
Definition editor_server_settings.h:154
TSettingsArgumentValues * m_pContainer
Definition editor_server_settings.h:165
CSettingValuesBuilder operator()(const char *pSettingName) const
Definition editor_server_settings.h:159
Definition color.h:182
Definition input.h:22
std::map< int, TArgumentValuesList > TSettingValues
Definition editor_server_settings.h:113
std::map< std::string, TSettingValues > TSettingsArgumentValues
Definition editor_server_settings.h:114
ECollisionCheckResult
Definition editor_server_settings.h:188
@ REPLACE
Definition editor_server_settings.h:190
@ ADD
Definition editor_server_settings.h:191
std::vector< const char * > TArgumentValuesList
Definition editor_server_settings.h:112
EValidationResult
Definition editor_server_settings.h:179
@ INCOMPLETE
Definition editor_server_settings.h:182
@ UNKNOWN
Definition editor_server_settings.h:183
@ OUT_OF_RANGE
Definition editor_server_settings.h:184
@ ERROR
Definition editor_server_settings.h:181
@ VALID
Definition editor_server_settings.h:180
int str_copy(char *dst, const char *src, int dst_size)
Definition str.cpp:6
char m_aCommand[256]
Definition editor_server_settings.h:19
CEditorMapSetting(const char *pCommand)
Definition editor_server_settings.h:21
std::map< int, std::vector< int > > m_SettingsDuplicate
Definition editor_server_settings.h:397
std::vector< SInvalidSetting > m_vSettingsInvalid
Definition editor_server_settings.h:395
void Reset()
Definition editor_server_settings.h:401
std::vector< CEditorMapSetting > m_vSettingsValid
Definition editor_server_settings.h:396
Definition editor_server_settings.cpp:26
Definition editor_server_settings.h:54
EErrorType
Definition editor_server_settings.h:59
@ ERROR_UNKNOWN
Definition editor_server_settings.h:66
@ ERROR_TOO_MANY_ARGS
Definition editor_server_settings.h:61
@ ERROR_INCOMPLETE
Definition editor_server_settings.h:64
@ ERROR_INVALID_VALUE
Definition editor_server_settings.h:62
@ ERROR_OUT_OF_RANGE
Definition editor_server_settings.h:65
@ ERROR_UNKNOWN_VALUE
Definition editor_server_settings.h:63
@ ERROR_NONE
Definition editor_server_settings.h:60
char m_aMessage[256]
Definition editor_server_settings.h:55
EErrorType m_Type
Definition editor_server_settings.h:68
int m_ArgIndex
Definition editor_server_settings.h:56
Definition config.h:103
Definition editor_server_settings.h:37
char m_aValue[256]
Definition editor_server_settings.h:38
bool m_Error
Definition editor_server_settings.h:42
char m_ExpectedType
Definition editor_server_settings.h:43
size_t m_Start
Definition editor_server_settings.h:40
float m_X
Definition editor_server_settings.h:39
size_t m_End
Definition editor_server_settings.h:41
Definition editor_ui.h:7
Definition editor_server_settings.h:85
bool m_Deleted
Definition editor_server_settings.h:87
bool m_Chosen
Definition editor_server_settings.h:88
bool m_Fixed
Definition editor_server_settings.h:86
int m_Index
Definition editor_server_settings.h:78
@ TYPE_DUPLICATE
Definition editor_server_settings.h:76
@ TYPE_INVALID
Definition editor_server_settings.h:75
int m_CollidingIndex
Definition editor_server_settings.h:81
char m_aSetting[256]
Definition editor_server_settings.h:79
struct SInvalidSetting::SContext m_Context
int m_Type
Definition editor_server_settings.h:80
SInvalidSetting(int Index, const char *pSetting, int Type, int CollidingIndex, bool Unknown)
Definition editor_server_settings.h:91
bool m_Unknown
Definition editor_server_settings.h:82
Definition editor_server_settings.cpp:49
Definition editor_server_settings.cpp:40
Definition editor_server_settings.h:30
char m_aName[32]
Definition editor_server_settings.h:31
char m_Type
Definition editor_server_settings.h:32
Definition editor_server_settings.h:47
const void * m_pData
Definition editor_server_settings.h:50
const char * m_pValue
Definition editor_server_settings.h:48
int m_ArgIndex
Definition editor_server_settings.h:49
Definition editor_server_settings.h:171
static void LoadMapBugs(const CSettingValuesBuilder &BugBuilder)
Definition editor_server_settings.cpp:2179
static void LoadArgumentTuneValues(CArgumentValuesListBuilder &&ArgBuilder)
Definition editor_server_settings.cpp:2187
static void LoadTuneValues(const CSettingValuesBuilder &TuneBuilder)
Definition editor_server_settings.cpp:2167
static void LoadTuneZoneValues(const CSettingValuesBuilder &TuneZoneBuilder)
Definition editor_server_settings.cpp:2173