Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
ConfigTypes.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "Containers/Array.h"
7#include "Containers/UnrealString.h"
8#include "Containers/Map.h"
9#include "CoreGlobals.h"
10
11
13{
14private:
15 int32 KeyGen = 0;
16
17public:
19
20 friend FArchive& operator<<(FArchive& Ar, FConfigFileHierarchy& ConfigFileHierarchy)
21 {
22 Ar << static_cast<FConfigFileHierarchy::Super&>(ConfigFileHierarchy);
23 Ar << ConfigFileHierarchy.KeyGen;
24 return Ar;
25 }
26
27private:
29
30 int32 AddStaticLayer(const FString& Filename, int32 LayerIndex, int32 ExpansionIndex = 0, int32 PlatformIndex = 0);
31 int32 AddDynamicLayer(const FString& Filename);
32
33 friend class FConfigFile;
34 friend class FConfigContext;
35};
36
37
38
40{
41 None = 0,
42 AllowCommandLineOverride = (1 << 1),
43 DedicatedServerOnly = (1 << 2), // replaces Default, Base, and (NOT {PLATFORM} yet) with an empty string
44 NoExpand = (1 << 4),
45 RequiresCustomConfig = (1 << 5), // disabled if no custom config specified
46};
48
49/**
50 * Structure to define all the layers of the config system. Layers can be expanded by expansion files (NoRedist, etc), or by ini platform parents
51 */
53{
54 // Used by the editor to display in the ini-editor
55 const TCHAR* EditorName;
56 // Path to the ini file (with variables)
57 const TCHAR* Path;
58 // Special flag
60
61};
62
64{
65 None = 0,
66
67 ForUncooked = 1 << 0,
68 ForCooked = 1 << 1,
69 ForPlugin = 1 << 2,
70
71 All = 0xFF,
72};
74
75
76/**
77 * This describes extra files per layer, to deal with restricted and NDA covered platform files that can't have the settings
78 * be in the Base/Default ini files.
79 * Note that we treat DedicatedServer as a "Platform" where it will have it's own directory of files, like a platform
80 */
82{
83 // a set of replacements from the source file to possible other files
84 const TCHAR* Before1;
85 const TCHAR* After1;
86 const TCHAR* Before2;
87 const TCHAR* After2;
89};
#define ENUM_CLASS_FLAGS(Enum)
EConfigExpansionFlags
Definition Enums.h:18841
EConfigLayerFlags
Definition Enums.h:11993
int32 AddDynamicLayer(const FString &Filename)
int32 AddStaticLayer(const FString &Filename, int32 LayerIndex, int32 ExpansionIndex=0, int32 PlatformIndex=0)
EConfigExpansionFlags Flags
Definition ConfigTypes.h:88
const TCHAR * Before1
Definition ConfigTypes.h:84
const TCHAR * Before2
Definition ConfigTypes.h:86
const TCHAR * After1
Definition ConfigTypes.h:85
const TCHAR * After2
Definition ConfigTypes.h:87
EConfigLayerFlags Flag
Definition ConfigTypes.h:59
const TCHAR * Path
Definition ConfigTypes.h:57
const TCHAR * EditorName
Definition ConfigTypes.h:55