summaryrefslogtreecommitdiff
path: root/src/test/testparseall.c
blob: de456e5876e8dab4d8ba2d5addb95e044272f1b4 (plain)
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
#include "parser.h"
#include "utils.h"

#include <stdio.h> // printf, perror


struct test_ini_file {
	enum ini_type type;
	char path[MAX_PATH_LEN];
};

int main() {
	int i,res;

	struct test_ini_file ini_list[] = {
		{ ini_style, "data/style/brick/brick.ini" },
		{ ini_style, "data/style/bubble/bubble.ini" },
		{ ini_style, "data/style/crystal/crystal.ini" },
		{ ini_style, "data/style/dirt/dirt.ini" },
		{ ini_style, "data/style/fire/fire.ini" },
		{ ini_style, "data/style/marble/marble.ini" },
		{ ini_style, "data/style/pillar/pillar.ini" },
		{ ini_style, "data/style/rock/rock.ini" },
		{ ini_style, "data/style/snow/snow.ini"},
		{ ini_style, "data/style/special/special.ini" },
		{ ini_levelpack, "data/level/1_orig/levelpack.ini" },
		{ ini_levelpack, "data/level/2_ohno/levelpack.ini" },
		{ ini_levelpack, "data/level/3_test/levelpack.ini" },
		{ ini_level, "data/level/1_orig/lvl0000.ini" },
		{ ini_level, "data/level/1_orig/lvl0001.ini" },
		{ ini_level, "data/level/1_orig/lvl0002.ini" },
		{ ini_level, "data/level/1_orig/lvl0003.ini" },
		{ ini_level, "data/level/1_orig/lvl0004.ini" },
		{ ini_level, "data/level/1_orig/lvl0005.ini" },
		{ ini_level, "data/level/1_orig/lvl0006.ini" },
		{ ini_level, "data/level/1_orig/lvl0006b.ini" },
		{ ini_level, "data/level/1_orig/lvl0007.ini" },
		{ ini_level, "data/level/1_orig/lvl0007b.ini" },
		{ ini_level, "data/level/1_orig/lvl0010.ini" },
		{ ini_level, "data/level/1_orig/lvl0011.ini" },
		{ ini_level, "data/level/1_orig/lvl0012.ini" },
		{ ini_level, "data/level/1_orig/lvl0012b.ini" },
		{ ini_level, "data/level/1_orig/lvl0013.ini" },
		{ ini_level, "data/level/1_orig/lvl0014.ini" },
		{ ini_level, "data/level/1_orig/lvl0015.ini" },
		{ ini_level, "data/level/1_orig/lvl0016.ini" },
		{ ini_level, "data/level/1_orig/lvl0017.ini" },
		{ ini_level, "data/level/1_orig/lvl0017b.ini" },
		{ ini_level, "data/level/1_orig/lvl0020.ini" },
		{ ini_level, "data/level/1_orig/lvl0021.ini" },
		{ ini_level, "data/level/1_orig/lvl0021b.ini" },
		{ ini_level, "data/level/1_orig/lvl0022.ini" },
		{ ini_level, "data/level/1_orig/lvl0022b.ini" },
		{ ini_level, "data/level/1_orig/lvl0023.ini" },
		{ ini_level, "data/level/1_orig/lvl0024.ini" },
		{ ini_level, "data/level/1_orig/lvl0024b.ini" },
		{ ini_level, "data/level/1_orig/lvl0025.ini" },
		{ ini_level, "data/level/1_orig/lvl0026.ini" },
		{ ini_level, "data/level/1_orig/lvl0027.ini" },
		{ ini_level, "data/level/1_orig/lvl0027b.ini" },
		{ ini_level, "data/level/1_orig/lvl0030.ini" },
		{ ini_level, "data/level/1_orig/lvl0030b.ini" },
		{ ini_level, "data/level/1_orig/lvl0031.ini" },
		{ ini_level, "data/level/1_orig/lvl0031b.ini" },
		{ ini_level, "data/level/1_orig/lvl0032.ini" },
		{ ini_level, "data/level/1_orig/lvl0032b.ini" },
		{ ini_level, "data/level/1_orig/lvl0033.ini" },
		{ ini_level, "data/level/1_orig/lvl0033b.ini" },
		{ ini_level, "data/level/1_orig/lvl0034.ini" },
		{ ini_level, "data/level/1_orig/lvl0034b.ini" },
		{ ini_level, "data/level/1_orig/lvl0035.ini" },
		{ ini_level, "data/level/1_orig/lvl0036.ini" },
		{ ini_level, "data/level/1_orig/lvl0037.ini" },
		{ ini_level, "data/level/1_orig/lvl0040.ini" },
		{ ini_level, "data/level/1_orig/lvl0041.ini" },
		{ ini_level, "data/level/1_orig/lvl0041b.ini" },
		{ ini_level, "data/level/1_orig/lvl0042.ini" },
		{ ini_level, "data/level/1_orig/lvl0042b.ini" },
		{ ini_level, "data/level/1_orig/lvl0043.ini" },
		{ ini_level, "data/level/1_orig/lvl0043b.ini" },
		{ ini_level, "data/level/1_orig/lvl0044.ini" },
		{ ini_level, "data/level/1_orig/lvl0045.ini" },
		{ ini_level, "data/level/1_orig/lvl0046.ini" },
		{ ini_level, "data/level/1_orig/lvl0046b.ini" },
		{ ini_level, "data/level/1_orig/lvl0047.ini" },
		{ ini_level, "data/level/1_orig/lvl0047b.ini" },
		{ ini_level, "data/level/1_orig/lvl0050.ini" },
		{ ini_level, "data/level/1_orig/lvl0051.ini" },
		{ ini_level, "data/level/1_orig/lvl0051b.ini" },
		{ ini_level, "data/level/1_orig/lvl0052.ini" },
		{ ini_level, "data/level/1_orig/lvl0053.ini" },
		{ ini_level, "data/level/1_orig/lvl0054.ini" },
		{ ini_level, "data/level/1_orig/lvl0055.ini" },
		{ ini_level, "data/level/1_orig/lvl0056.ini" },
		{ ini_level, "data/level/1_orig/lvl0057.ini" },
		{ ini_level, "data/level/1_orig/lvl0057b.ini" },
		{ ini_level, "data/level/1_orig/lvl0060.ini" },
		{ ini_level, "data/level/1_orig/lvl0060b.ini" },
		{ ini_level, "data/level/1_orig/lvl0061.ini" },
		{ ini_level, "data/level/1_orig/lvl0061b.ini" },
		{ ini_level, "data/level/1_orig/lvl0062.ini" },
		{ ini_level, "data/level/1_orig/lvl0062b.ini" },
		{ ini_level, "data/level/1_orig/lvl0063.ini" },
		{ ini_level, "data/level/1_orig/lvl0063b.ini" },
		{ ini_level, "data/level/1_orig/lvl0064.ini" },
		{ ini_level, "data/level/1_orig/lvl0065.ini" },
		{ ini_level, "data/level/1_orig/lvl0065b.ini" },
		{ ini_level, "data/level/1_orig/lvl0066.ini" },
		{ ini_level, "data/level/1_orig/lvl0067.ini" },
		{ ini_level, "data/level/1_orig/lvl0067b.ini" },
		{ ini_level, "data/level/1_orig/lvl0067c.ini" },
		{ ini_level, "data/level/1_orig/lvl0070.ini" },
		{ ini_level, "data/level/1_orig/lvl0071.ini" },
		{ ini_level, "data/level/1_orig/lvl0071b.ini" },
		{ ini_level, "data/level/1_orig/lvl0072.ini" },
		{ ini_level, "data/level/1_orig/lvl0073.ini" },
		{ ini_level, "data/level/1_orig/lvl0073b.ini" },
		{ ini_level, "data/level/1_orig/lvl0074.ini" },
		{ ini_level, "data/level/1_orig/lvl0075.ini" },
		{ ini_level, "data/level/1_orig/lvl0076.ini" },
		{ ini_level, "data/level/1_orig/lvl0077.ini" },
		{ ini_level, "data/level/1_orig/lvl0077b.ini" },
		{ ini_level, "data/level/1_orig/lvl0080.ini" },
		{ ini_level, "data/level/1_orig/lvl0080b.ini" },
		{ ini_level, "data/level/1_orig/lvl0081.ini" },
		{ ini_level, "data/level/1_orig/lvl0082.ini" },
		{ ini_level, "data/level/1_orig/lvl0082b.ini" },
		{ ini_level, "data/level/1_orig/lvl0083.ini" },
		{ ini_level, "data/level/1_orig/lvl0083b.ini" },
		{ ini_level, "data/level/1_orig/lvl0084.ini" },
		{ ini_level, "data/level/1_orig/lvl0084b.ini" },
		{ ini_level, "data/level/1_orig/lvl0085.ini" },
		{ ini_level, "data/level/1_orig/lvl0086.ini" },
		{ ini_level, "data/level/1_orig/lvl0087.ini" },
		{ ini_level, "data/level/1_orig/lvl0090.ini" },
		{ ini_level, "data/level/1_orig/lvl0091.ini" },
		{ ini_level, "data/level/1_orig/lvl0091b.ini" },
		{ ini_level, "data/level/1_orig/lvl0092.ini" },
		{ ini_level, "data/level/1_orig/lvl0092b.ini" },
		{ ini_level, "data/level/1_orig/lvl0093.ini" },
		{ ini_level, "data/level/1_orig/lvl0093b.ini" },
		{ ini_level, "data/level/1_orig/lvl0094.ini" },
		{ ini_level, "data/level/1_orig/lvl0094b.ini" },
		{ ini_level, "data/level/1_orig/lvl0095.ini" },
		{ ini_level, "data/level/1_orig/lvl0095b.ini" },
		{ ini_level, "data/level/1_orig/lvl0096.ini" },
		{ ini_level, "data/level/1_orig/lvl0097.ini" },
		{ ini_level, "data/level/1_orig/lvl0097b.ini" },
		{ ini_level, "data/level/2_ohno/lvl1000.ini" },
		{ ini_level, "data/level/2_ohno/lvl1001.ini" },
		{ ini_level, "data/level/2_ohno/lvl1002.ini" },
		{ ini_level, "data/level/2_ohno/lvl1003.ini" },
		{ ini_level, "data/level/2_ohno/lvl1004.ini" },
		{ ini_level, "data/level/2_ohno/lvl1005.ini" },
		{ ini_level, "data/level/2_ohno/lvl1006.ini" },
		{ ini_level, "data/level/2_ohno/lvl1007.ini" },
		{ ini_level, "data/level/2_ohno/lvl1010.ini" },
		{ ini_level, "data/level/2_ohno/lvl1011.ini" },
		{ ini_level, "data/level/2_ohno/lvl1012.ini" },
		{ ini_level, "data/level/2_ohno/lvl1013.ini" },
		{ ini_level, "data/level/2_ohno/lvl1014.ini" },
		{ ini_level, "data/level/2_ohno/lvl1015.ini" },
		{ ini_level, "data/level/2_ohno/lvl1016.ini" },
		{ ini_level, "data/level/2_ohno/lvl1017.ini" },
		{ ini_level, "data/level/2_ohno/lvl1020.ini" },
		{ ini_level, "data/level/2_ohno/lvl1021.ini" },
		{ ini_level, "data/level/2_ohno/lvl1022.ini" },
		{ ini_level, "data/level/2_ohno/lvl1023.ini" },
		{ ini_level, "data/level/2_ohno/lvl1024.ini" },
		{ ini_level, "data/level/2_ohno/lvl1025.ini" },
		{ ini_level, "data/level/2_ohno/lvl1026.ini" },
		{ ini_level, "data/level/2_ohno/lvl1027.ini" },
		{ ini_level, "data/level/2_ohno/lvl1030.ini" },
		{ ini_level, "data/level/2_ohno/lvl1031.ini" },
		{ ini_level, "data/level/2_ohno/lvl1032.ini" },
		{ ini_level, "data/level/2_ohno/lvl1033.ini" },
		{ ini_level, "data/level/2_ohno/lvl1034.ini" },
		{ ini_level, "data/level/2_ohno/lvl1035.ini" },
		{ ini_level, "data/level/2_ohno/lvl1036.ini" },
		{ ini_level, "data/level/2_ohno/lvl1037.ini" },
		{ ini_level, "data/level/2_ohno/lvl1040.ini" },
		{ ini_level, "data/level/2_ohno/lvl1041.ini" },
		{ ini_level, "data/level/2_ohno/lvl1042.ini" },
		{ ini_level, "data/level/2_ohno/lvl1043.ini" },
		{ ini_level, "data/level/2_ohno/lvl1044.ini" },
		{ ini_level, "data/level/2_ohno/lvl1045.ini" },
		{ ini_level, "data/level/2_ohno/lvl1046.ini" },
		{ ini_level, "data/level/2_ohno/lvl1047.ini" },
		{ ini_level, "data/level/2_ohno/lvl1050.ini" },
		{ ini_level, "data/level/2_ohno/lvl1051.ini" },
		{ ini_level, "data/level/2_ohno/lvl1052.ini" },
		{ ini_level, "data/level/2_ohno/lvl1053.ini" },
		{ ini_level, "data/level/2_ohno/lvl1054.ini" },
		{ ini_level, "data/level/2_ohno/lvl1055.ini" },
		{ ini_level, "data/level/2_ohno/lvl1056.ini" },
		{ ini_level, "data/level/2_ohno/lvl1057.ini" },
		{ ini_level, "data/level/2_ohno/lvl1060.ini" },
		{ ini_level, "data/level/2_ohno/lvl1061.ini" },
		{ ini_level, "data/level/2_ohno/lvl1062.ini" },
		{ ini_level, "data/level/2_ohno/lvl1063.ini" },
		{ ini_level, "data/level/2_ohno/lvl1064.ini" },
		{ ini_level, "data/level/2_ohno/lvl1065.ini" },
		{ ini_level, "data/level/2_ohno/lvl1066.ini" },
		{ ini_level, "data/level/2_ohno/lvl1067.ini" },
		{ ini_level, "data/level/2_ohno/lvl1070.ini" },
		{ ini_level, "data/level/2_ohno/lvl1071.ini" },
		{ ini_level, "data/level/2_ohno/lvl1072.ini" },
		{ ini_level, "data/level/2_ohno/lvl1073.ini" },
		{ ini_level, "data/level/2_ohno/lvl1074.ini" },
		{ ini_level, "data/level/2_ohno/lvl1075.ini" },
		{ ini_level, "data/level/2_ohno/lvl1076.ini" },
		{ ini_level, "data/level/2_ohno/lvl1077.ini" },
		{ ini_level, "data/level/2_ohno/lvl1080.ini" },
		{ ini_level, "data/level/2_ohno/lvl1081.ini" },
		{ ini_level, "data/level/2_ohno/lvl1082.ini" },
		{ ini_level, "data/level/2_ohno/lvl1083.ini" },
		{ ini_level, "data/level/2_ohno/lvl1084.ini" },
		{ ini_level, "data/level/2_ohno/lvl1085.ini" },
		{ ini_level, "data/level/2_ohno/lvl1086.ini" },
		{ ini_level, "data/level/2_ohno/lvl1087.ini" },
		{ ini_level, "data/level/2_ohno/lvl1090.ini" },
		{ ini_level, "data/level/2_ohno/lvl1091.ini" },
		{ ini_level, "data/level/2_ohno/lvl1092.ini" },
		{ ini_level, "data/level/2_ohno/lvl1093.ini" },
		{ ini_level, "data/level/2_ohno/lvl1094.ini" },
		{ ini_level, "data/level/2_ohno/lvl1095.ini" },
		{ ini_level, "data/level/2_ohno/lvl1096.ini" },
		{ ini_level, "data/level/2_ohno/lvl1097.ini" },
		{ ini_level, "data/level/2_ohno/lvl1100.ini" },
		{ ini_level, "data/level/2_ohno/lvl1101.ini" },
		{ ini_level, "data/level/2_ohno/lvl1102.ini" },
		{ ini_level, "data/level/2_ohno/lvl1103.ini" },
		{ ini_level, "data/level/2_ohno/lvl1104.ini" },
		{ ini_level, "data/level/2_ohno/lvl1105.ini" },
		{ ini_level, "data/level/2_ohno/lvl1106.ini" },
		{ ini_level, "data/level/2_ohno/lvl1107.ini" },
		{ ini_level, "data/level/2_ohno/lvl1110.ini" },
		{ ini_level, "data/level/2_ohno/lvl1111.ini" },
		{ ini_level, "data/level/2_ohno/lvl1112.ini" },
		{ ini_level, "data/level/2_ohno/lvl1113.ini" },
		{ ini_level, "data/level/2_ohno/lvl1114.ini" },
		{ ini_level, "data/level/2_ohno/lvl1115.ini" },
		{ ini_level, "data/level/2_ohno/lvl1116.ini" },
		{ ini_level, "data/level/2_ohno/lvl1117.ini" },
		{ ini_level, "data/level/2_ohno/tame_17.ini" },
		{ ini_level, "data/level/2_ohno/tame_18.ini" },
		{ ini_level, "data/level/2_ohno/tame_19.ini" },
		{ ini_level, "data/level/2_ohno/tame_20.ini" },
		{ ini_level, "data/level/3_test/lvl2000.ini" },
		{ ini_level, "data/level/3_test/lvl2001.ini" },
		{ ini_level, "data/level/3_test/lvl2002.ini" },
		{ ini_level, "data/level/3_test/lvl2003.ini" },
		{ ini_level, "data/level/3_test/lvl2004.ini" },
		{ ini_level, "data/level/3_test/lvl2005.ini" },
		{ ini_level, "data/level/3_test/lvl2006.ini" },
		{ ini_level, "data/level/3_test/lvl2007.ini" },
		{ ini_level, "data/level/3_test/lvl2008.ini" },
		{ ini_level, "data/level/3_test/lvl2009.ini" },
		// { todo, "data/misc/lemming.ini" },
		{ ini_level, "" } // Stop condition : empty string
	};
	gameIni_t gIni;
	(void) SDL_memset(&gIni,0,sizeof(gameIni_t));

	res=0;i=0;
	while (ini_list[i].path[0] != '\0') {
		printf("Parsing '%s'...\n", ini_list[i].path);
		res=loadIni(ini_list[i].type, ini_list[i].path, &gIni);
		if (res!=0) {
			printf("Parse error %i on '%s'\n", res, ini_list[i].path);
			return res;
		}
		i++;
	}

	printf("Successfully parsed %i ini files\n", i-1);
	return 0;
}