]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/oo/interface.qh
Remove includes from most headers
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / oo / interface.qh
1 #ifndef INTERFACE_H
2 #define INTERFACE_H
3
4 #ifndef INTERFACE
5 #define INTERFACE
6 #endif
7
8 #ifdef IMPLEMENTATION
9 #undef IMPLEMENTATION
10 #endif
11
12 #ifdef CLASS
13 #undef CLASS
14 #undef EXTENDS
15 #undef METHOD
16 #undef ATTRIB
17 #undef ATTRIBARRAY
18 #undef ENDCLASS
19 #undef SUPER
20 #endif
21
22 #define CLASS(cname)                       entity spawn##cname(); entity cname##_vtbl;
23 #define EXTENDS(base)
24 #define METHOD(cname,name,prototype)       prototype cname##_##name; .prototype name;
25 #define ATTRIB(cname,name,type,val)        .type name;
26 #define ATTRIBARRAY(cname,name,type,cnt)   .type name[cnt];
27 #define ENDCLASS(cname)                    .float instanceOf##cname;
28 #define SUPER(cname)
29 #endif