-
-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathConstants.cs
More file actions
131 lines (94 loc) · 6.14 KB
/
Constants.cs
File metadata and controls
131 lines (94 loc) · 6.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
using Rampastring.Tools;
using System;
namespace TSMapEditor
{
public static class Constants
{
public static int CellSizeX = 48;
public static int CellSizeY = 24;
public static int CellHeight => CellSizeY / 2;
public static double CellWHRatio = CellSizeX / CellSizeY;
public static int TileColorBufferSize = 576;
public static int RenderPixelPadding = 50;
public static bool IsFlatWorld = false;
public static bool TheaterPaletteForTiberium = false;
public static bool NewTheaterGenericBuilding = false;
public static bool DrawBuildingAnimationShadows = false;
public static bool UseCountries = false;
public static string ExpectedClientExecutableName = "DTA.exe";
public static string GameRegistryInstallPath = "SOFTWARE\\DawnOfTheTiberiumAge";
public static bool EnableIniInclude = false;
public static string OpenMapFileDialogFilter = "TS maps|*.map|All files|*.*";
public static string OpenImageFileDialogFilter = "Images|*.bmp;*.png;*.jpg;*.jpeg|All files|*.*";
public static bool EnableIniInheritance = false;
public static string OpenIniFileDialogFilter = "INI|*.ini|All files|*.*";
public static bool IntegerVariables = false;
public static string RulesIniPath;
public static string FirestormIniPath;
public static string ArtIniPath;
public static string FirestormArtIniPath;
public static string TutorialIniPath;
public static string ThemeIniPath;
public const int TextureSizeLimit = 16384;
public static int MaxMapWidth;
public static int MaxMapHeight;
public const int MaxMapHeightLevel = 14;
public static int MaxWaypoint = 100;
public const int ObjectHealthMax = 256;
public const int FacingMax = 255;
public const int TurretFrameCount = 32;
// TODO parse from Rules.ini
public const int ConditionYellowHP = 128;
public const int UIEmptySideSpace = 10;
public const int UIEmptyTopSpace = 10;
public const int UIEmptyBottomSpace = 10;
public const int UIHorizontalSpacing = 6;
public const int UIVerticalSpacing = 6;
public const int UIDefaultFont = 0;
public const int UIBoldFont = 1;
public const int UITextBoxHeight = 21;
public const int UIButtonHeight = 23;
public const int UITopBarMenuHeight = 23;
public const int MAX_MAP_LENGTH_IN_DIMENSION = 512;
public const int NO_OVERLAY = 255; // 0xFF
public const int OverlayPackFormat = 80;
public const string NoneValue1 = "<none>";
public const string NoneValue2 = "None";
public const bool HQRemap = true;
public const float RemapBrightenFactor = 1.25f;
public const bool DrawShadows = true;
public const string ClipboardMapDataFormatValue = "ScenarioEditorCopiedMapData";
public const string UserDataFolder = "UserData";
public const char NewTheaterGenericLetter = 'G';
public static void Init()
{
const string ConstantsSectionName = "Constants";
const string FilePathsSectionName = "FilePaths";
IniFile constantsIni = new IniFile(Environment.CurrentDirectory + "/Config/Constants.ini");
CellSizeX = constantsIni.GetIntValue(ConstantsSectionName, nameof(CellSizeX), CellSizeX);
MaxMapWidth = TextureSizeLimit / CellSizeX;
CellSizeY = constantsIni.GetIntValue(ConstantsSectionName, nameof(CellSizeY), CellSizeY);
MaxMapHeight = TextureSizeLimit / CellSizeY;
TileColorBufferSize = constantsIni.GetIntValue(ConstantsSectionName, nameof(TileColorBufferSize), TileColorBufferSize);
RenderPixelPadding = constantsIni.GetIntValue(ConstantsSectionName, nameof(RenderPixelPadding), RenderPixelPadding);
IsFlatWorld = constantsIni.GetBooleanValue(ConstantsSectionName, nameof(IsFlatWorld), IsFlatWorld);
TheaterPaletteForTiberium = constantsIni.GetBooleanValue(ConstantsSectionName, nameof(TheaterPaletteForTiberium), TheaterPaletteForTiberium);
NewTheaterGenericBuilding = constantsIni.GetBooleanValue(ConstantsSectionName, nameof(NewTheaterGenericBuilding), NewTheaterGenericBuilding);
DrawBuildingAnimationShadows = constantsIni.GetBooleanValue(ConstantsSectionName, nameof(DrawBuildingAnimationShadows), DrawBuildingAnimationShadows);
UseCountries = constantsIni.GetBooleanValue(ConstantsSectionName, nameof(UseCountries), UseCountries);
ExpectedClientExecutableName = constantsIni.GetStringValue(ConstantsSectionName, nameof(ExpectedClientExecutableName), ExpectedClientExecutableName);
GameRegistryInstallPath = constantsIni.GetStringValue(ConstantsSectionName, nameof(GameRegistryInstallPath), GameRegistryInstallPath);
OpenMapFileDialogFilter = constantsIni.GetStringValue(ConstantsSectionName, nameof(OpenMapFileDialogFilter), OpenMapFileDialogFilter);
EnableIniInclude = constantsIni.GetBooleanValue(ConstantsSectionName, nameof(EnableIniInclude), EnableIniInclude);
EnableIniInheritance = constantsIni.GetBooleanValue(ConstantsSectionName, nameof(EnableIniInheritance), EnableIniInheritance);
IntegerVariables = constantsIni.GetBooleanValue(ConstantsSectionName, nameof(IntegerVariables), IntegerVariables);
MaxWaypoint = constantsIni.GetIntValue(ConstantsSectionName, nameof(MaxWaypoint), MaxWaypoint);
RulesIniPath = constantsIni.GetStringValue(FilePathsSectionName, "Rules", "INI/Rules.ini");
FirestormIniPath = constantsIni.GetStringValue(FilePathsSectionName, "Firestorm", "INI/Enhance.ini");
ArtIniPath = constantsIni.GetStringValue(FilePathsSectionName, "Art", "INI/Art.ini");
FirestormArtIniPath = constantsIni.GetStringValue(FilePathsSectionName, "ArtFS", "INI/ArtE.ini");
TutorialIniPath = constantsIni.GetStringValue(FilePathsSectionName, "Tutorial", "INI/Tutorial.ini");
ThemeIniPath = constantsIni.GetStringValue(FilePathsSectionName, "Theme", "INI/Theme.ini");
}
}
}