]> de.git.xonotic.org Git - voretournament/voretournament.git/blob - data/qcsrc/menu/oo/constructors.h
Initial checkout of Vore Tournament 0.1.alpha.
[voretournament/voretournament.git] / data / qcsrc / menu / oo / constructors.h
1 #ifndef INTERFACE\r
2 #define INTERFACE\r
3 #endif\r
4 \r
5 #ifdef IMPLEMENTATION\r
6 #undef IMPLEMENTATION\r
7 #endif\r
8 \r
9 #ifdef CLASS\r
10 #undef CLASS\r
11 #undef EXTENDS\r
12 #undef METHOD\r
13 #undef ATTRIB\r
14 #undef ATTRIBARRAY\r
15 #undef ENDCLASS\r
16 #endif\r
17 \r
18 #define CLASS(cname)                       entity spawn##cname() { entity me;\r
19 #define EXTENDS(base)                      me = spawn##base ();\r
20 #define METHOD(cname,name,prototype)       me.name = name##cname;\r
21 #define ATTRIB(cname,name,type,val)        me.name = val;\r
22 #define ATTRIBARRAY(cname,name,type,cnt)   me.name = me.name;\r
23 #define ENDCLASS(cname)                    me.instanceOf##cname = 1; me.classname = #cname; return me; }\r