]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu/oo/constructors.h
half health bar be start health
[divverent/nexuiz.git] / data / qcsrc / menu / oo / constructors.h
1 #ifndef INTERFACE
2 #define INTERFACE
3 #endif
4
5 #ifdef IMPLEMENTATION
6 #undef IMPLEMENTATION
7 #endif
8
9 #ifdef CLASS
10 #undef CLASS
11 #undef EXTENDS
12 #undef METHOD
13 #undef ATTRIB
14 #undef ATTRIBARRAY
15 #undef ENDCLASS
16 #endif
17
18 #define CLASS(cname)                       entity spawn##cname() { entity me;
19 #define EXTENDS(base)                      me = spawn##base ();
20 #define METHOD(cname,name,prototype)       me.name = name##cname;
21 #define ATTRIB(cname,name,type,val)        me.name = val;
22 #define ATTRIBARRAY(cname,name,type,cnt)   me.name = me.name;
23 #define ENDCLASS(cname)                    me.instanceOf##cname = 1; me.classname = #cname; return me; }