DDNet 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 <base/str.h>
8
11
12#include <map>
13#include <string>
14#include <vector>
15
16class CEditor;
17struct SMapSettingInt;
19struct IMapSetting;
20class CLineInput;
21
23{
24 char m_aCommand[256];
25
26 CEditorMapSetting(const char *pCommand)
27 {
28 str_copy(m_aCommand, pCommand);
29 }
30};
31
32// A parsed map setting argument, storing the name and the type
33// Used for validation and to display arguments names
35{
36 char m_aName[32];
37 char m_Type;
38};
39
40// An argument for the current setting
42{
43 char m_aValue[256]; // Value of the argument
44 float m_X; // The X position
45 size_t m_Start; // Start offset within the input string
46 size_t m_End; // End offset within the input string
47 bool m_Error; // If the argument is wrong or not
48 char m_ExpectedType; // The expected type
49};
50
52{
53 const char *m_pValue; // Possible value string
54 int m_ArgIndex; // Argument for that possible value
55 const void *m_pData; // Generic pointer to pass specific data
56};
57
75
77{
78 enum
79 {
80 TYPE_INVALID = 1 << 0,
82 };
83 int m_Index; // Index of the command in the loaded map settings list
84 char m_aSetting[256]; // String of the setting
85 int m_Type; // Type of that invalid setting
86 int m_CollidingIndex; // The colliding line index in case type is TYPE_DUPLICATE
87 bool m_Unknown; // Is the command unknown
88
89 struct SContext
90 {
91 bool m_Fixed;
95
96 SInvalidSetting(int Index, const char *pSetting, int Type, int CollidingIndex, bool Unknown) :
97 m_Index(Index), m_Type(Type), m_CollidingIndex(CollidingIndex), m_Unknown(Unknown), m_Context()
98 {
99 str_copy(m_aSetting, pSetting);
100 }
101};
102
103// --------------------------------------
104// Builder classes & methods to generate list of possible values
105// easily for specific settings and arguments.
106// It uses a container stored inside CMapSettingsBackend.
107// Usage:
108// CValuesBuilder Builder(&m_Container);
109// // Either do it in one go:
110// Builder("tune").Argument(0).Add("value_1").Add("value_2");
111// // Or reference the builder (useful when using in a loop):
112// auto TuneBuilder = Builder("tune").Argument(0);
113// TuneBuilder.Add("value_1");
114// TuneBuilder.Add("value_2");
115// // ...
116
117using TArgumentValuesList = std::vector<const char *>; // List of possible values
118using TSettingValues = std::map<int, TArgumentValuesList>; // Possible values per argument
119using TSettingsArgumentValues = std::map<std::string, TSettingValues>; // Possible values per argument, per command/setting name
120
121class CValuesBuilder;
124{
125public:
126 CArgumentValuesListBuilder &Add(const char *pString)
127 {
128 m_pContainer->emplace_back(pString);
129 return *this;
130 }
131
132private:
133 CArgumentValuesListBuilder(std::vector<const char *> *pContainer) :
134 m_pContainer(pContainer) {}
135
136 std::vector<const char *> *m_pContainer;
138};
139
141{
142public:
144 {
146 }
147
148private:
150 m_pContainer(pContainer) {}
151
152 friend class CValuesBuilder;
154};
155
157{
158public:
160 m_pContainer(pContainer)
161 {
162 }
163
164 CSettingValuesBuilder operator()(const char *pSettingName) const
165 {
166 return CSettingValuesBuilder(&(*m_pContainer)[pSettingName]);
167 }
168
169private:
171};
172
173// --------------------------------------
174
176{
177 static void LoadTuneValues(const CSettingValuesBuilder &TuneBuilder);
178 static void LoadTuneZoneValues(const CSettingValuesBuilder &TuneZoneBuilder);
179 static void LoadMapBugs(const CSettingValuesBuilder &BugBuilder);
180 static void LoadArgumentTuneValues(CArgumentValuesListBuilder &&ArgBuilder);
181};
182
191
198
200{
201 typedef void (*FLoaderFunction)(const CSettingValuesBuilder &);
202
203public:
204 // General methods
206
207 void OnInit(CEditor *pEditor) override;
208 void OnMapLoad() override;
209
210 // Constraints methods
211 enum class EArgConstraint
212 {
216 };
217
218 EArgConstraint ArgConstraint(const char *pSettingName, int Arg) const
219 {
220 return m_ArgConstraintsPerCommand.at(pSettingName).at(Arg);
221 }
222
223 // Backend methods
224 const std::vector<SParsedMapSettingArg> &ParsedArgs(const std::shared_ptr<IMapSetting> &pSetting) const
225 {
226 return m_ParsedCommandArgs.at(pSetting);
227 }
228
229 // CContext
231 {
232 static constexpr ColorRGBA ms_ArgumentStringColor = ColorRGBA(84.0f / 255.0f, 1.0f, 1.0f, 1.0f);
233 static constexpr ColorRGBA ms_ArgumentNumberColor = ColorRGBA(0.1f, 0.9f, 0.05f, 1.0f);
234 static constexpr ColorRGBA ms_ArgumentUnknownColor = ColorRGBA(0.6f, 0.6f, 0.6f, 1.0f);
235 static constexpr ColorRGBA ms_CommentColor = ColorRGBA(0.5f, 0.5f, 0.5f, 1.0f);
236 static constexpr ColorRGBA ms_ErrorColor = ColorRGBA(240.0f / 255.0f, 70.0f / 255.0f, 70.0f / 255.0f, 1.0f);
237
239
240 public:
241 virtual ~CContext() = default;
242
243 bool CommandIsValid() const { return m_pCurrentSetting != nullptr; }
244 int CurrentArg() const { return m_CursorArgIndex; }
245 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; }
247 size_t CurrentArgOffset() const { return m_CursorArgIndex == -1 ? 0 : m_vCurrentArgs[m_CursorArgIndex].m_Start; }
248 const char *CurrentArgValue() const { return m_CursorArgIndex == -1 ? m_aCommand : m_vCurrentArgs[m_CursorArgIndex].m_aValue; }
249 const std::vector<SPossibleValueMatch> &PossibleMatches() const { return m_vPossibleMatches; }
250 bool HasError() const { return m_Error.m_aMessage[0] != '\0'; }
251 size_t ErrorOffset() const { return m_Error.m_ArgIndex < 0 ? 0 : m_vCurrentArgs.at(m_Error.m_ArgIndex).m_Start; }
252 const char *Error() const { return m_Error.m_aMessage; }
253 int ArgCount() const { return (int)m_vCurrentArgs.size(); }
254 const SCurrentSettingArg &Arg(int Index) const { return m_vCurrentArgs.at(Index); }
255 const std::shared_ptr<IMapSetting> &Setting() const { return m_pCurrentSetting; }
256 void SetFontSize(float FontSize) { m_FontSize = FontSize; }
257 int CommentOffset() const { return m_CommentOffset; }
258
259 int CheckCollision(ECollisionCheckResult &Result) const;
260 int CheckCollision(const std::vector<CEditorMapSetting> &vSettings, ECollisionCheckResult &Result) const;
261 int CheckCollision(const char *pInputString, const std::vector<CEditorMapSetting> &vSettings, ECollisionCheckResult &Result) const;
262
263 void Update();
264 void UpdateFromString(const char *pStr);
265 bool UpdateCursor(bool Force = false);
266 virtual void Reset();
267 void GetCommandHelpText(char *pStr, int Length) const;
268 bool Valid() const;
269 void ColorArguments(std::vector<STextColorSplit> &vColorSplits) const;
270
274
275 private:
276 // Methods
277 CContext(CMapSettingsBackend *pBackend, CLineInput *pLineInput) :
279 m_pBackend(pBackend)
280 {
282 m_pLineInput = pLineInput;
283 Reset();
284 }
285
286 void ClearError();
287 EValidationResult ValidateArg(int Index, const char *pArg);
289 void ParseArgs(const char *pLineInputStr, const char *pStr);
290 bool OnInput(const IInput::CEvent &Event);
291 const char *InputString() const;
292
293 template<int N>
294 void FormatDisplayValue(const char *pValue, char (&aOut)[N]);
295
296 // Fields
297 std::shared_ptr<IMapSetting> m_pCurrentSetting; // Current setting, can be nullptr in case of invalid setting name
298 std::vector<SCurrentSettingArg> m_vCurrentArgs; // Current parsed arguments from lineinput string
299 int m_CursorArgIndex; // The current argument the cursor is over
300 std::vector<SPossibleValueMatch> m_vPossibleMatches; // The current matches from cursor argument
301 size_t m_LastCursorOffset; // Last cursor offset
303 char m_aCommand[128]; // The current command, not necessarily valid
305 int m_CommentOffset; // Position of the comment, if there is one
306
309 };
310
312 {
313 public:
315 CContext(pBackend, &m_CommandInput)
316 {
317 }
318
319 void Reset() override;
320
324 };
326 {
327 public:
329 CContext(pBackend, nullptr)
330 {
331 }
332 };
333
338
340 {
341 return CHeadlessContext(this);
342 }
343
344private:
345 // Loader methods
346 void LoadAllMapSettings();
347 void LoadCommand(const char *pName, const char *pArgs, const char *pHelp);
348 void LoadSettingInt(const std::shared_ptr<SMapSettingInt> &pSetting);
349 void LoadSettingCommand(const std::shared_ptr<SMapSettingCommand> &pSetting);
350 void InitValueLoaders();
351 void LoadPossibleValues(const CSettingValuesBuilder &Builder, const std::shared_ptr<IMapSetting> &pSetting);
352 void RegisterLoader(const char *pSettingName, const FLoaderFunction &pfnLoader);
353 void LoadConstraints();
354
355 static void PossibleConfigVariableCallback(const struct SConfigVariable *pVariable, void *pUserData);
356
357 // Argument constraints
358 using TArgumentConstraints = std::map<int, EArgConstraint>; // Constraint per argument index
359 using TCommandArgumentConstraints = std::map<std::string, TArgumentConstraints>; // Constraints per command/setting name
360
361 // Argument constraints builder
362 // Used to define arguments constraints for specific commands
363 // It uses a container stored in CMapSettingsBackend.
364 // Usage:
365 // CCommandArgumentConstraintBuilder Command(&m_Container);
366 // Command("tune", 2).Unique(0); // Defines argument 0 of command "tune" having 2 args as UNIQUE
367 // Command("tune_zone", 3).Multiple(0).Unique(1);
368 // // ^ Multiple() currently is only for readable purposes. It can be omitted:
369 // // Command("tune_zone", 3).Unique(1);
370 //
371
373
375 {
377
378 private:
381
383
384 public:
386 {
387 // Define a multiple argument constraint
388 (*m_pContainer)[Arg] = EArgConstraint::MULTIPLE;
389 return *this;
390 }
391
393 {
394 // Define a unique argument constraint
395 (*m_pContainer)[Arg] = EArgConstraint::UNIQUE;
396 return *this;
397 }
398 };
399
401 {
402 public:
405
406 CArgumentConstraintsBuilder operator()(const char *pSettingName, int ArgCount)
407 {
408 for(int i = 0; i < ArgCount; i++)
409 (*m_pContainer)[pSettingName][i] = EArgConstraint::DEFAULT;
410 return CArgumentConstraintsBuilder(&(*m_pContainer)[pSettingName]);
411 }
412
413 private:
415 };
416
418
419 // Backend fields
420 std::vector<std::shared_ptr<IMapSetting>> m_vpMapSettings;
421 std::map<std::shared_ptr<IMapSetting>, std::vector<SParsedMapSettingArg>> m_ParsedCommandArgs; // Parsed available settings arguments, used for validation
423 std::map<std::string, FLoaderFunction> m_LoaderFunctions;
424
425 friend class CEditor;
426
427 // Map settings validation on load
429 {
430 std::vector<SInvalidSetting> m_vSettingsInvalid;
431 std::vector<CEditorMapSetting> m_vSettingsValid;
432 std::map<int, std::vector<int>> m_SettingsDuplicate;
433
435
436 void Reset()
437 {
438 m_vSettingsInvalid.clear();
439 m_vSettingsValid.clear();
440 m_SettingsDuplicate.clear();
441 }
442
444};
445
446#endif
Definition editor_server_settings.h:124
std::vector< const char * > * m_pContainer
Definition editor_server_settings.h:136
friend class CSettingValuesBuilder
Definition editor_server_settings.h:137
CArgumentValuesListBuilder(std::vector< const char * > *pContainer)
Definition editor_server_settings.h:133
CArgumentValuesListBuilder & Add(const char *pString)
Definition editor_server_settings.h:126
Definition component.h:13
Definition editor.h:108
Definition lineinput.h:202
Definition lineinput.h:25
Definition ui_listbox.h:17
Definition editor_server_settings.h:375
CArgumentConstraintsBuilder & Unique(int Arg)
Definition editor_server_settings.h:392
CArgumentConstraintsBuilder(TArgumentConstraints *pContainer)
Definition editor_server_settings.h:379
friend class CCommandArgumentConstraintBuilder
Definition editor_server_settings.h:376
CArgumentConstraintsBuilder & Multiple(int Arg)
Definition editor_server_settings.h:385
TArgumentConstraints * m_pContainer
Definition editor_server_settings.h:382
Definition editor_server_settings.h:401
CArgumentConstraintsBuilder operator()(const char *pSettingName, int ArgCount)
Definition editor_server_settings.h:406
TCommandArgumentConstraints * m_pContainer
Definition editor_server_settings.h:414
CCommandArgumentConstraintBuilder(TCommandArgumentConstraints *pContainer)
Definition editor_server_settings.h:403
Definition editor_server_settings.h:312
void Reset() override
Definition editor_server_settings.cpp:2089
CContextWithInput(CMapSettingsBackend *pBackend)
Definition editor_server_settings.h:314
CListBox m_ListBox
Definition editor_server_settings.h:323
int m_CommandSelectedIndex
Definition editor_server_settings.h:321
CLineInputBuffered< 256 > m_CommandInput
Definition editor_server_settings.h:322
int CommentOffset() const
Definition editor_server_settings.h:257
const char * InputString() const
Definition editor_server_settings.cpp:1788
static constexpr ColorRGBA ms_ArgumentUnknownColor
Definition editor_server_settings.h:234
static constexpr ColorRGBA ms_ErrorColor
Definition editor_server_settings.h:236
void GetCommandHelpText(char *pStr, int Length) const
Definition editor_server_settings.cpp:2066
void UpdatePossibleMatches()
Definition editor_server_settings.cpp:1661
SCommandParseError m_Error
Definition editor_server_settings.h:304
bool CommandIsValid() const
Definition editor_server_settings.h:243
std::vector< SCurrentSettingArg > m_vCurrentArgs
Definition editor_server_settings.h:298
void Update()
Definition editor_server_settings.cpp:1212
int m_CurrentCompletionIndex
Definition editor_server_settings.h:273
int m_CursorArgIndex
Definition editor_server_settings.h:299
static constexpr ColorRGBA ms_ArgumentStringColor
Definition editor_server_settings.h:232
std::vector< SPossibleValueMatch > m_vPossibleMatches
Definition editor_server_settings.h:300
virtual void Reset()
Definition editor_server_settings.cpp:1194
int m_CommentOffset
Definition editor_server_settings.h:305
CLineInput * m_pLineInput
Definition editor_server_settings.h:302
int ArgCount() const
Definition editor_server_settings.h:253
bool HasError() const
Definition editor_server_settings.h:250
static constexpr ColorRGBA ms_CommentColor
Definition editor_server_settings.h:235
const char * CurrentArgValue() const
Definition editor_server_settings.h:248
size_t ErrorOffset() const
Definition editor_server_settings.h:251
EValidationResult ValidateArg(int Index, const char *pArg)
Definition editor_server_settings.cpp:1604
size_t m_LastCursorOffset
Definition editor_server_settings.h:301
bool m_AllowUnknownCommands
Definition editor_server_settings.h:271
static constexpr ColorRGBA ms_ArgumentNumberColor
Definition editor_server_settings.h:233
void FormatDisplayValue(const char *pValue, char(&aOut)[N])
Definition editor_server_settings.cpp:2075
void SetFontSize(float FontSize)
Definition editor_server_settings.h:256
const SCurrentSettingArg & Arg(int Index) const
Definition editor_server_settings.h:254
void ClearError()
Definition editor_server_settings.cpp:1539
float CurrentArgPos() const
Definition editor_server_settings.h:246
const std::vector< SPossibleValueMatch > & PossibleMatches() const
Definition editor_server_settings.h:249
int CheckCollision(ECollisionCheckResult &Result) const
Definition editor_server_settings.cpp:1842
CContext(CMapSettingsBackend *pBackend, CLineInput *pLineInput)
Definition editor_server_settings.h:277
friend class CMapSettingsBackend
Definition editor_server_settings.h:238
virtual ~CContext()=default
void UpdateFromString(const char *pStr)
Definition editor_server_settings.cpp:1217
size_t CurrentArgOffset() const
Definition editor_server_settings.h:247
bool OnInput(const IInput::CEvent &Event)
Definition editor_server_settings.cpp:1760
const char * CurrentArgName() const
Definition editor_server_settings.h:245
const std::shared_ptr< IMapSetting > & Setting() const
Definition editor_server_settings.h:255
void ColorArguments(std::vector< STextColorSplit > &vColorSplits) const
Definition editor_server_settings.cpp:1795
bool Valid() const
Definition editor_server_settings.cpp:2035
std::shared_ptr< IMapSetting > m_pCurrentSetting
Definition editor_server_settings.h:297
bool UpdateCursor(bool Force=false)
Definition editor_server_settings.cpp:1545
char m_aCommand[128]
Definition editor_server_settings.h:303
float m_FontSize
Definition editor_server_settings.h:308
SEditBoxDropdownContext m_DropdownContext
Definition editor_server_settings.h:272
void ParseArgs(const char *pLineInputStr, const char *pStr)
Definition editor_server_settings.cpp:1288
const char * Error() const
Definition editor_server_settings.h:252
int CurrentArg() const
Definition editor_server_settings.h:244
CMapSettingsBackend * m_pBackend
Definition editor_server_settings.h:307
Definition editor_server_settings.h:326
CHeadlessContext(CMapSettingsBackend *pBackend)
Definition editor_server_settings.h:328
void LoadSettingCommand(const std::shared_ptr< SMapSettingCommand > &pSetting)
Definition editor_server_settings.cpp:1105
std::map< int, EArgConstraint > TArgumentConstraints
Definition editor_server_settings.h:358
void LoadSettingInt(const std::shared_ptr< SMapSettingInt > &pSetting)
Definition editor_server_settings.cpp:1096
void RegisterLoader(const char *pSettingName, const FLoaderFunction &pfnLoader)
Definition editor_server_settings.cpp:1157
TSettingsArgumentValues m_PossibleValuesPerCommand
Definition editor_server_settings.h:422
void InitValueLoaders()
Definition editor_server_settings.cpp:2168
friend class CEditor
Definition editor_server_settings.h:425
void LoadCommand(const char *pName, const char *pArgs, const char *pHelp)
Definition editor_server_settings.cpp:1091
CMapSettingsBackend()=default
std::map< std::string, TArgumentConstraints > TCommandArgumentConstraints
Definition editor_server_settings.h:359
std::map< std::shared_ptr< IMapSetting >, std::vector< SParsedMapSettingArg > > m_ParsedCommandArgs
Definition editor_server_settings.h:421
void OnInit(CEditor *pEditor) override
Definition editor_server_settings.cpp:1046
static void PossibleConfigVariableCallback(const struct SConfigVariable *pVariable, void *pUserData)
Definition editor_server_settings.cpp:1178
std::map< std::string, FLoaderFunction > m_LoaderFunctions
Definition editor_server_settings.h:423
std::vector< std::shared_ptr< IMapSetting > > m_vpMapSettings
Definition editor_server_settings.h:420
void LoadConstraints()
Definition editor_server_settings.cpp:1163
void(* FLoaderFunction)(const CSettingValuesBuilder &)
Definition editor_server_settings.h:201
void OnMapLoad() override
Definition editor_server_settings.cpp:2096
TCommandArgumentConstraints m_ArgConstraintsPerCommand
Definition editor_server_settings.h:417
struct CMapSettingsBackend::SLoadedMapSettings m_LoadedMapSettings
EArgConstraint ArgConstraint(const char *pSettingName, int Arg) const
Definition editor_server_settings.h:218
void LoadAllMapSettings()
Definition editor_server_settings.cpp:1077
CHeadlessContext NewHeadlessContext()
Definition editor_server_settings.h:339
void LoadPossibleValues(const CSettingValuesBuilder &Builder, const std::shared_ptr< IMapSetting > &pSetting)
Definition editor_server_settings.cpp:1147
CContextWithInput NewContextWithInput()
Definition editor_server_settings.h:334
const std::vector< SParsedMapSettingArg > & ParsedArgs(const std::shared_ptr< IMapSetting > &pSetting) const
Definition editor_server_settings.h:224
EArgConstraint
Definition editor_server_settings.h:212
@ DEFAULT
Definition editor_server_settings.h:213
@ MULTIPLE
Definition editor_server_settings.h:215
@ UNIQUE
Definition editor_server_settings.h:214
Definition editor_server_settings.h:141
CSettingValuesBuilder(TSettingValues *pContainer)
Definition editor_server_settings.h:149
friend class CValuesBuilder
Definition editor_server_settings.h:152
CArgumentValuesListBuilder Argument(int Arg) const
Definition editor_server_settings.h:143
TSettingValues * m_pContainer
Definition editor_server_settings.h:153
Definition editor_server_settings.h:157
CValuesBuilder(TSettingsArgumentValues *pContainer)
Definition editor_server_settings.h:159
TSettingsArgumentValues * m_pContainer
Definition editor_server_settings.h:170
CSettingValuesBuilder operator()(const char *pSettingName) const
Definition editor_server_settings.h:164
Definition color.h:183
Definition input.h:22
std::map< int, TArgumentValuesList > TSettingValues
Definition editor_server_settings.h:118
std::map< std::string, TSettingValues > TSettingsArgumentValues
Definition editor_server_settings.h:119
ECollisionCheckResult
Definition editor_server_settings.h:193
@ REPLACE
Definition editor_server_settings.h:195
@ ADD
Definition editor_server_settings.h:196
std::vector< const char * > TArgumentValuesList
Definition editor_server_settings.h:117
EValidationResult
Definition editor_server_settings.h:184
@ INCOMPLETE
Definition editor_server_settings.h:187
@ UNKNOWN
Definition editor_server_settings.h:188
@ OUT_OF_RANGE
Definition editor_server_settings.h:189
@ ERROR
Definition editor_server_settings.h:186
@ VALID
Definition editor_server_settings.h:185
int str_copy(char *dst, const char *src, int dst_size)
Definition str.cpp:18
char m_aCommand[256]
Definition editor_server_settings.h:24
CEditorMapSetting(const char *pCommand)
Definition editor_server_settings.h:26
std::map< int, std::vector< int > > m_SettingsDuplicate
Definition editor_server_settings.h:432
std::vector< SInvalidSetting > m_vSettingsInvalid
Definition editor_server_settings.h:430
void Reset()
Definition editor_server_settings.h:436
std::vector< CEditorMapSetting > m_vSettingsValid
Definition editor_server_settings.h:431
Definition editor_server_settings.cpp:26
Definition editor_server_settings.h:59
EErrorType
Definition editor_server_settings.h:64
@ ERROR_UNKNOWN
Definition editor_server_settings.h:71
@ ERROR_TOO_MANY_ARGS
Definition editor_server_settings.h:66
@ ERROR_INCOMPLETE
Definition editor_server_settings.h:69
@ ERROR_INVALID_VALUE
Definition editor_server_settings.h:67
@ ERROR_OUT_OF_RANGE
Definition editor_server_settings.h:70
@ ERROR_UNKNOWN_VALUE
Definition editor_server_settings.h:68
@ ERROR_NONE
Definition editor_server_settings.h:65
char m_aMessage[256]
Definition editor_server_settings.h:60
EErrorType m_Type
Definition editor_server_settings.h:73
int m_ArgIndex
Definition editor_server_settings.h:61
Definition config.h:110
Definition editor_server_settings.h:42
char m_aValue[256]
Definition editor_server_settings.h:43
bool m_Error
Definition editor_server_settings.h:47
char m_ExpectedType
Definition editor_server_settings.h:48
size_t m_Start
Definition editor_server_settings.h:45
float m_X
Definition editor_server_settings.h:44
size_t m_End
Definition editor_server_settings.h:46
Definition editor_ui.h:7
Definition editor_server_settings.h:90
bool m_Deleted
Definition editor_server_settings.h:92
bool m_Chosen
Definition editor_server_settings.h:93
bool m_Fixed
Definition editor_server_settings.h:91
int m_Index
Definition editor_server_settings.h:83
@ TYPE_DUPLICATE
Definition editor_server_settings.h:81
@ TYPE_INVALID
Definition editor_server_settings.h:80
int m_CollidingIndex
Definition editor_server_settings.h:86
char m_aSetting[256]
Definition editor_server_settings.h:84
struct SInvalidSetting::SContext m_Context
int m_Type
Definition editor_server_settings.h:85
SInvalidSetting(int Index, const char *pSetting, int Type, int CollidingIndex, bool Unknown)
Definition editor_server_settings.h:96
bool m_Unknown
Definition editor_server_settings.h:87
Definition editor_server_settings.cpp:49
Definition editor_server_settings.cpp:40
Definition editor_server_settings.h:35
char m_aName[32]
Definition editor_server_settings.h:36
char m_Type
Definition editor_server_settings.h:37
Definition editor_server_settings.h:52
const void * m_pData
Definition editor_server_settings.h:55
const char * m_pValue
Definition editor_server_settings.h:53
int m_ArgIndex
Definition editor_server_settings.h:54
Definition editor_server_settings.h:176
static void LoadMapBugs(const CSettingValuesBuilder &BugBuilder)
Definition editor_server_settings.cpp:2188
static void LoadArgumentTuneValues(CArgumentValuesListBuilder &&ArgBuilder)
Definition editor_server_settings.cpp:2196
static void LoadTuneValues(const CSettingValuesBuilder &TuneBuilder)
Definition editor_server_settings.cpp:2176
static void LoadTuneZoneValues(const CSettingValuesBuilder &TuneZoneBuilder)
Definition editor_server_settings.cpp:2182