8 string expression =
"";
29 expression = expression+
next;
32 if (expression[0] ==
'!') {
34 while ( (expression[expression.size()-1] !=
'>') || (expression[expression.size()-2] !=
'-') ) {
35 expression = expression+
next;
41 if ( (expression[0] !=
'/') && (expression[expression.size()-1] !=
'/') ) {
45 }
else if (expression[0] ==
'/') {
50 }
else if (expression[expression.size()-1] ==
'/') {
53 if (tag ==
"console") {
55 float x_small = atof( (
retrievedata( data,
"x_small" ) ).c_str() );
56 float x_large = atof( (
retrievedata( data,
"x_large" ) ).c_str() );
57 float y_small = atof( (
retrievedata( data,
"y_small" ) ).c_str() );
58 float y_large = atof( (
retrievedata( data,
"y_large" ) ).c_str() );
59 float scale_ = atof( (
retrievedata( data,
"scale" ) ).c_str() );
60 float x_mesh_coord = atof( (
retrievedata( data,
"x_mesh_coord" ) ).c_str() );
61 float y_mesh_coord = atof( (
retrievedata( data,
"y_mesh_coord" ) ).c_str() );
62 float z_mesh_coord = atof( (
retrievedata( data,
"z_mesh_coord" ) ).c_str() );
63 meshcoordinate_x[0] = x_mesh_coord;
64 meshcoordinate_y[0] = y_mesh_coord;
65 meshcoordinate_z[0] = z_mesh_coord;
66 screenskipby4[0] = x_small;
67 screenskipby4[1] = x_large;
68 screenskipby4[2] = y_small;
69 screenskipby4[3] = y_large;
71 }
else if (tag ==
"button1") {
73 float x_ = atof( (
retrievedata( data,
"x" ) ).c_str() );
74 float y_ = atof( (
retrievedata( data,
"y" ) ).c_str() );
75 float dx_ = atof( (
retrievedata( data,
"dx" ) ).c_str() );
76 float dy_ = atof( (
retrievedata( data,
"dy" ) ).c_str() );
77 float scale_ = atof( (
retrievedata( data,
"scale" ) ).c_str() );
78 float x_mesh_coord = atof( (
retrievedata( data,
"x_mesh_coord" ) ).c_str() );
79 float y_mesh_coord = atof( (
retrievedata( data,
"y_mesh_coord" ) ).c_str() );
80 float z_mesh_coord = atof( (
retrievedata( data,
"z_mesh_coord" ) ).c_str() );
81 float z_mesh_coord_delta = atof( (
retrievedata( data,
"z_mesh_coord_delta" ) ).c_str() );
83 meshcoordinate_x[1] = x_mesh_coord;
84 meshcoordinate_y[1] = y_mesh_coord;
85 meshcoordinate_z[1] = z_mesh_coord;
86 meshcoordinate_z_delta[1] = z_mesh_coord_delta;
87 buttonskipby4_1[0] = x_;
88 buttonskipby4_1[1] = x_+dx_;
89 buttonskipby4_1[2] = y_;
90 buttonskipby4_1[3] = y_+dy_;
93 }
else if (tag ==
"button2") {
95 float x_ = atof( (
retrievedata( data,
"x" ) ).c_str() );
96 float y_ = atof( (
retrievedata( data,
"y" ) ).c_str() );
97 float dx_ = atof( (
retrievedata( data,
"dx" ) ).c_str() );
98 float dy_ = atof( (
retrievedata( data,
"dy" ) ).c_str() );
99 float scale_ = atof( (
retrievedata( data,
"scale" ) ).c_str() );
101 float x_mesh_coord = atof( (
retrievedata( data,
"x_mesh_coord" ) ).c_str() );
102 float y_mesh_coord = atof( (
retrievedata( data,
"y_mesh_coord" ) ).c_str() );
103 float z_mesh_coord = atof( (
retrievedata( data,
"z_mesh_coord" ) ).c_str() );
104 float z_mesh_coord_delta = atof( (
retrievedata( data,
"z_mesh_coord_delta" ) ).c_str() );
106 meshcoordinate_x[2] = x_mesh_coord;
107 meshcoordinate_y[2] = y_mesh_coord;
108 meshcoordinate_z[2] = z_mesh_coord;
109 meshcoordinate_z_delta[2] = z_mesh_coord_delta;
111 buttonskipby4_2[0] = x_;
112 buttonskipby4_2[1] = x_+dx_;
113 buttonskipby4_2[2] = y_;
114 buttonskipby4_2[3] = y_+dy_;
117 }
else if (tag ==
"button3") {
119 float x_ = atof( (
retrievedata( data,
"x" ) ).c_str() );
120 float y_ = atof( (
retrievedata( data,
"y" ) ).c_str() );
121 float dx_ = atof( (
retrievedata( data,
"dx" ) ).c_str() );
122 float dy_ = atof( (
retrievedata( data,
"dy" ) ).c_str() );
123 float scale_ = atof( (
retrievedata( data,
"scale" ) ).c_str() );
125 float x_mesh_coord = atof( (
retrievedata( data,
"x_mesh_coord" ) ).c_str() );
126 float y_mesh_coord = atof( (
retrievedata( data,
"y_mesh_coord" ) ).c_str() );
127 float z_mesh_coord = atof( (
retrievedata( data,
"z_mesh_coord" ) ).c_str() );
128 float z_mesh_coord_delta = atof( (
retrievedata( data,
"z_mesh_coord_delta" ) ).c_str() );
130 meshcoordinate_x[3] = x_mesh_coord;
131 meshcoordinate_y[3] = y_mesh_coord;
132 meshcoordinate_z[3] = z_mesh_coord;
133 meshcoordinate_z_delta[3] = z_mesh_coord_delta;
135 buttonskipby4_3[0] = x_;
136 buttonskipby4_3[1] = x_+dx_;
137 buttonskipby4_3[2] = y_;
138 buttonskipby4_3[3] = y_+dy_;
141 }
else if (tag ==
"button4") {
143 float x_ = atof( (
retrievedata( data,
"x" ) ).c_str() );
144 float y_ = atof( (
retrievedata( data,
"y" ) ).c_str() );
145 float dx_ = atof( (
retrievedata( data,
"dx" ) ).c_str() );
146 float dy_ = atof( (
retrievedata( data,
"dy" ) ).c_str() );
147 float scale_ = atof( (
retrievedata( data,
"scale" ) ).c_str() );
149 float x_mesh_coord = atof( (
retrievedata( data,
"x_mesh_coord" ) ).c_str() );
150 float y_mesh_coord = atof( (
retrievedata( data,
"y_mesh_coord" ) ).c_str() );
151 float z_mesh_coord = atof( (
retrievedata( data,
"z_mesh_coord" ) ).c_str() );
152 float z_mesh_coord_delta = atof( (
retrievedata( data,
"z_mesh_coord_delta" ) ).c_str() );
154 meshcoordinate_x[4] = x_mesh_coord;
155 meshcoordinate_y[4] = y_mesh_coord;
156 meshcoordinate_z[4] = z_mesh_coord;
157 meshcoordinate_z_delta[4] = z_mesh_coord_delta;
159 buttonskipby4_4[0] = x_;
160 buttonskipby4_4[1] = x_+dx_;
161 buttonskipby4_4[2] = y_;
162 buttonskipby4_4[3] = y_+dy_;
165 }
else if (tag ==
"button5") {
167 float x_ = atof( (
retrievedata( data,
"x" ) ).c_str() );
168 float y_ = atof( (
retrievedata( data,
"y" ) ).c_str() );
169 float dx_ = atof( (
retrievedata( data,
"dx" ) ).c_str() );
170 float dy_ = atof( (
retrievedata( data,
"dy" ) ).c_str() );
171 float scale_ = atof( (
retrievedata( data,
"scale" ) ).c_str() );
173 float x_mesh_coord = atof( (
retrievedata( data,
"x_mesh_coord" ) ).c_str() );
174 float y_mesh_coord = atof( (
retrievedata( data,
"y_mesh_coord" ) ).c_str() );
175 float z_mesh_coord = atof( (
retrievedata( data,
"z_mesh_coord" ) ).c_str() );
176 float z_mesh_coord_delta = atof( (
retrievedata( data,
"z_mesh_coord_delta" ) ).c_str() );
178 meshcoordinate_x[5] = x_mesh_coord;
179 meshcoordinate_y[5] = y_mesh_coord;
180 meshcoordinate_z[5] = z_mesh_coord;
181 meshcoordinate_z_delta[5] = z_mesh_coord_delta;
183 buttonskipby4_5[0] = x_;
184 buttonskipby4_5[1] = x_+dx_;
185 buttonskipby4_5[2] = y_;
186 buttonskipby4_5[3] = y_+dy_;
189 }
else if (tag ==
"button6") {
191 float x_ = atof( (
retrievedata( data,
"x" ) ).c_str() );
192 float y_ = atof( (
retrievedata( data,
"y" ) ).c_str() );
193 float dx_ = atof( (
retrievedata( data,
"dx" ) ).c_str() );
194 float dy_ = atof( (
retrievedata( data,
"dy" ) ).c_str() );
195 float scale_ = atof( (
retrievedata( data,
"scale" ) ).c_str() );
197 float x_mesh_coord = atof( (
retrievedata( data,
"x_mesh_coord" ) ).c_str() );
198 float y_mesh_coord = atof( (
retrievedata( data,
"y_mesh_coord" ) ).c_str() );
199 float z_mesh_coord = atof( (
retrievedata( data,
"z_mesh_coord" ) ).c_str() );
200 float z_mesh_coord_delta = atof( (
retrievedata( data,
"z_mesh_coord_delta" ) ).c_str() );
202 meshcoordinate_x[6] = x_mesh_coord;
203 meshcoordinate_y[6] = y_mesh_coord;
204 meshcoordinate_z[6] = z_mesh_coord;
205 meshcoordinate_z_delta[6] = z_mesh_coord_delta;
207 buttonskipby4_6[0] = x_;
208 buttonskipby4_6[1] = x_+dx_;
209 buttonskipby4_6[2] = y_;
210 buttonskipby4_6[3] = y_+dy_;
213 }
else if (tag ==
"button7") {
215 float x_ = atof( (
retrievedata( data,
"x" ) ).c_str() );
216 float y_ = atof( (
retrievedata( data,
"y" ) ).c_str() );
217 float dx_ = atof( (
retrievedata( data,
"dx" ) ).c_str() );
218 float dy_ = atof( (
retrievedata( data,
"dy" ) ).c_str() );
219 float scale_ = atof( (
retrievedata( data,
"scale" ) ).c_str() );
221 float x_mesh_coord = atof( (
retrievedata( data,
"x_mesh_coord" ) ).c_str() );
222 float y_mesh_coord = atof( (
retrievedata( data,
"y_mesh_coord" ) ).c_str() );
223 float z_mesh_coord = atof( (
retrievedata( data,
"z_mesh_coord" ) ).c_str() );
224 float z_mesh_coord_delta = atof( (
retrievedata( data,
"z_mesh_coord_delta" ) ).c_str() );
226 meshcoordinate_x[7] = x_mesh_coord;
227 meshcoordinate_y[7] = y_mesh_coord;
228 meshcoordinate_z[7] = z_mesh_coord;
229 meshcoordinate_z_delta[7] = z_mesh_coord_delta;
231 buttonskipby4_7[0] = x_;
232 buttonskipby4_7[1] = x_+dx_;
233 buttonskipby4_7[2] = y_;
234 buttonskipby4_7[3] = y_+dy_;
237 }
else if (tag ==
"objectives") {
238 float x_ = atof( (
retrievedata( data,
"x" ) ).c_str() );
239 float y_ = atof( (
retrievedata( data,
"y" ) ).c_str() );
240 float dx_ = x_+atof( (
retrievedata( data,
"dx" ) ).c_str() );
241 float dy_ = y_+atof( (
retrievedata( data,
"dy" ) ).c_str() );
247 screen_objectives.
SetPos( x_, dy_ );
248 screen_objectives.
SetSize( dx_-x_, y_-dy_ );
250 }
else if (tag ==
"systemiteminfo") {
251 float scale_ = atof( (
retrievedata( data,
"itemscale" ) ).c_str() );
252 float zmult_ = atof( (
retrievedata( data,
"zshiftmultiplier" ) ).c_str() );
253 float zfactor_ = atof( (
retrievedata( data,
"itemzscalefactor" ) ).c_str() );
254 float _unselectedalpha = atof( (
retrievedata( data,
"unselectedalpha" ) ).c_str() );
255 float _minimumitemscaledown = atof( (
retrievedata( data,
"minimumitemscaledown" ) ).c_str() );
256 float _maximumitemscaleup = atof( (
retrievedata( data,
"maximumitemscaleup" ) ).c_str() );
258 unselectedalpha = _unselectedalpha;
259 minimumitemscaledown = _minimumitemscaledown;
260 maximumitemscaleup = _maximumitemscaleup;
262 system_item_scale = 0.5;
264 system_item_scale = 4;
266 system_item_scale = scale_;
268 zshiftmultiplier = 0.5;
270 zshiftmultiplier = 6;
272 zshiftmultiplier = zmult_;
274 item_zscalefactor = 1.0;
275 else if (zfactor_ > 8)
276 item_zscalefactor = 8;
278 item_zscalefactor = zfactor_;
279 }
else if (tag ==
"dimensions") {
280 int how_many_sys = atoi( (
retrievedata( data,
"system" ) ).c_str() );
281 int how_many_gal = atoi( (
retrievedata( data,
"galaxy" ) ).c_str() );
282 string multi_sys =
retrievedata( data,
"systemmultidimensional" );
283 string multi_gal =
retrievedata( data,
"galaxymultidimensional" );
284 if (how_many_sys == 3)
285 system_view = VIEW_3D;
287 system_view = VIEW_2D;
288 if (how_many_gal == 3)
289 galaxy_view = VIEW_3D;
291 galaxy_view = VIEW_2D;
292 if (multi_sys ==
"yes")
293 system_multi_dimensional = 1;
295 system_multi_dimensional = 0;
296 if (multi_gal ==
"yes")
297 galaxy_multi_dimensional = 1;
299 galaxy_multi_dimensional = 0;
300 }
else if (tag ==
"factioncolours") {
302 float r_ = atof( (
retrievedata( data,
"r" ) ).c_str() );
303 float g_ = atof( (
retrievedata( data,
"g" ) ).c_str() );
304 float b_ = atof( (
retrievedata( data,
"b" ) ).c_str() );
305 float a_ = atof( (
retrievedata( data,
"a" ) ).c_str() );
308 factioncolours[
k].
r = r_;
309 factioncolours[
k].
g = g_;
310 factioncolours[
k].
b = b_;
311 factioncolours[
k].
a = a_;
313 }
else if (tag ==
"configmode") {
314 int configmode_ = atoi( (
retrievedata( data,
"configmode" ) ).c_str() );
315 configmode = configmode_;