TerraForge3D  2.3.1
3D Terrain And Landscape Generator
ApplicationState.cpp
1#include "Data/ApplicationState.h"
2
3ApplicationState::ApplicationState()
4{
5}
6
7ApplicationState::~ApplicationState()
8{
9}
10
11ApplicationStateModels::ApplicationStateModels()
12{
13 coreTerrain = new Model("Terrain");
14 grid = new Model("Grid");
15 screenQuad = new Model("Sreen Quad");
16 customBase = nullptr;
17 customBaseCopy = nullptr;
18}
19
20ApplicationStateModels::~ApplicationStateModels()
21{
22 delete coreTerrain;
23 delete grid;
24 delete screenQuad;
25
26 if (customBase)
27 {
28 delete customBase;
29 }
30
31 if (customBaseCopy)
32 {
33 delete customBaseCopy;
34 }
35}
36
37nlohmann::json ApplicationStateCameras::Save()
38{
40 data["main"] = main.Save();
41 data["postProcess"] = postPorcess.Save();
42 return data;
43}
44
45void ApplicationStateCameras::Load(nlohmann::json data)
46{
47 main.Load(data["main"]);
48 postPorcess.Load(data["postProcess"]);
49}
50
51nlohmann::json ApplicationStateWindows::Save()
52{
53 nlohmann::json data;
54 data["styleEditor"] = styleEditor;
55 data["statsWindow"] = statsWindow;
56 data["shaderEditor"] = shaderEditorWindow;
57 data["textureEditor"] = texturEditorWindow;
58 data["seaEditor"] = seaEditor;
59 data["textureStore"] = textureStore;
60 data["osLiscence"] = osLisc;
61 data["filterManager"] = filtersManager;
62 data["foliageManager"] = foliageManager;
63 data["supportersTribute"] = supportersTribute;
64 data["skySettings"] = skySettings;
65 data["modulesManager"] = modulesManager;
66 data["lightControls"] = lightControls;
67 data["cameraControls"] = cameraControls;
68 data["shadingManager"] = shadingManager;
69 data["textureBaker"] = textureBaker;
70 return data;
71}
72
73void ApplicationStateWindows::Load(nlohmann::json data)
74{
75 styleEditor = data["styleEditor"];
76 statsWindow = data["statsWindow"];
77 shaderEditorWindow = data["shaderEditor"];
78 texturEditorWindow = data["textureEditor"];
79 seaEditor = data["seaEditor"];
80 textureStore = data["textureStore"];
81 osLisc = data["osLiscence"];
82 filtersManager = data["filterManager"];
83 foliageManager = data["foliageManager"];
84 supportersTribute = data["supportersTribute"];
85 skySettings = data["skySettings"];
86 modulesManager = data["modulesManager"];
87 lightControls = data["lightControls"];
88 cameraControls = data["cameraControls"];
89 shadingManager = data["shadingManager"];
90 textureBaker = data["textureBaker"];
91}
92
93nlohmann::json ApplicationStateStates::Save()
94{
95 nlohmann::json data;
96 data["usingBase"] = usingBase;
97 data["skyboxEnabled"] = skyboxEnabled;
98 data["vSync"] = vSync;
99 data["autoUpdate"] = autoUpdate;
100 data["wirframeMode"] = wireFrameMode;
101 data["autoSave"] = autoSave;
102 data["explorerMode"] = exploreMode;
103 data["iExplorerMode"] = iExploreMode;
104 data["showFoliage"] = showFoliage;
105 data["textureBake"] = textureBake;
106 data["postProcess"] = postProcess;
107 data["autoAspectCalcRatio"] = autoAspectCalcRatio;
108 data["useGPUForNormals"] = useGPUForNormals;
109 return data;
110}
111
112void ApplicationStateStates::Load(nlohmann::json data)
113{
114 usingBase = data["usingBase"];
115 skyboxEnabled = data["skyboxEnabled"];
116 vSync = data["vSync"];
117 autoUpdate = data["autoUpdate"];
118 wireFrameMode = data["wirframeMode"];
119 autoSave = data["autoSave"];
120 exploreMode = data["explorerMode"];
121 iExploreMode = data["iExplorerMode"];
122 showFoliage = data["showFoliage"];
123 textureBake = data["textureBake"];
124 postProcess = data["postProcess"];
125 autoAspectCalcRatio = data["autoAspectCalcRatio"];
126 useGPUForNormals = data["useGPUForNormals"];
127}
128
129nlohmann::json ApplicationStateGlobals::Save()
130{
131 nlohmann::json data;
132 data["mouseSpeed"] = mouseSpeed;
133 data["scrollSpeed"] = scrollSpeed;
134 data["mouseScrollAmount"] = mouseScrollAmount;
135 data["viewportMousePosX"] = viewportMousePosX;
136 data["viewportMousePosY"] = viewportMousePosY;
137 data["scale"] = scale;
138 data["resolution"] = resolution;
139 data["textureBakeMode"] = textureBakeMode;
140 data["texBakeRes"] = texBakeRes;
141 data["openFilePath"] = currentOpenFilePath;
142 data["customBaseModelPath"] = currentBaseModelPath;
143 data["offsetX"] = offset[0];
144 data["offsetY"] = offset[1];
145 data["offsetZ"] = offset[2];
146 data["hMapCX"] = hMapC[0];
147 data["hMapCY"] = hMapC[1];
148 data["hMapCZ"] = hMapC[2];
149 data["hMapCW"] = hMapC[3];
150 return data;
151}
152
153void ApplicationStateGlobals::Load(nlohmann::json data)
154{
155 mouseSpeed = data["mouseSpeed"];
156 scrollSpeed = data["scrollSpeed"];
157 mouseScrollAmount = data["mouseScrollAmount"];
158 viewportMousePosX = data["viewportMousePosX"];
159 viewportMousePosY = data["viewportMousePosY"];
160 scale = data["scale"];
161 resolution = data["resolution"];
162 textureBakeMode = data["textureBakeMode"];
163 texBakeRes = data["texBakeRes"];
164 currentOpenFilePath = data["openFilePath"];
165 currentBaseModelPath = data["customBaseModelPath"];
166 offset[0] = data["offsetX"];
167 offset[1] = data["offsetY"];
168 offset[2] = data["offsetZ"];
169 hMapC[0] = data["hMapCX"];
170 hMapC[1] = data["hMapCY"];
171 hMapC[2] = data["hMapCZ"];
172 hMapC[3] = data["hMapCW"];
173}
Definition: Model.h:9
a class to store JSON values
Definition: json.hpp:17860
basic_json<> json
default JSON class
Definition: json.hpp:3411