]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/skin.qh
initial checkin from nexuiz svn r8756
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / skin.qh
1 #define SKINBEGIN
2 #define SKINVECTOR(name,def) var vector SKIN##name = def
3 #define SKINFLOAT(name,def) var float SKIN##name = def
4 //#define SKINSTRING(name,def) const string SKIN##name = def
5 #define SKINSTRING(name,def) var string SKIN##name = def
6 #define SKINEND
7 #include "skin-customizables.inc"
8 #undef SKINEND
9 #undef SKINBEGIN
10 #undef SKINSTRING
11 #undef SKINFLOAT
12 #undef SKINVECTOR
13
14 #define SKINBEGIN void Skin_ApplySetting(string key, string value) { switch(key) {
15 #define SKINVECTOR(name,def) case #name: SKIN##name = stov(value); break
16 #define SKINFLOAT(name,def) case #name: SKIN##name = stof(value); break
17 //#define SKINSTRING(name,def) case #name: break
18 #define SKINSTRING(name,def) case #name: SKIN##name = strzone(value); break
19         // I know this leaks memory when skin is read multiple times. Screw it.
20 #define SKINEND case "": break; case "//": break; default: print("Invalid key in skin file: ", key, "\n"); } }
21 #include "skin-customizables.inc"
22 #undef SKINEND
23 #undef SKINSTRING
24 #undef SKINFLOAT
25 #undef SKINVECTOR
26 #undef SKINBEGIN