1 #ifndef IMPLEMENTATION_H
2 #define IMPLEMENTATION_H
6 #include "../../common/util-pre.qh"
7 #include "../sys-pre.qh"
8 #include "../../dpdefs/menudefs.qh"
9 #include "../../dpdefs/keycodes.qh"
10 #include "../sys-post.qh"
11 #include "../config.qh"
12 #include "../../warpzonelib/mathlib.qh"
13 #include "../../common/util.qh"
14 #include "../../common/test.qh"
16 #include "../../common/playerstats.qh"
17 #include "../../common/teams.qh"
18 #include "../../common/constants.qh"
19 #include "../../common/mapinfo.qh"
20 #include "../../common/campaign_common.qh"
21 #include "../../common/weapons/weapons.qh"
22 #include "../../common/counting.qh"
23 #include "../../common/command/markup.qh"
24 #include "../../common/command/rpn.qh"
25 #include "../../common/command/generic.qh"
26 #include "../../common/command/shared_defs.qh"
27 #include "../../common/urllib.qh"
28 #include "../../common/monsters/monsters.qh"
29 #include "../command/menu_cmd.qh"
33 #include "../xonotic/util.qh"
34 #include "interface.qh"
42 #ifndef IMPLEMENTATION
43 #define IMPLEMENTATION
56 // for the constructor
57 #define CLASS(cname) entity spawn##cname() { entity me;
58 #define EXTENDS(base) me = spawn##base (); entity basevtbl; basevtbl = base##_vtbl;
59 #define METHOD(cname,name,prototype) me.name = cname##_##name;
60 #define ATTRIB(cname,name,type,val) me.name = val;
61 #define ATTRIBARRAY(cname,name,type,cnt)
62 #define ENDCLASS(cname) me.instanceOf##cname = 1; me.classname = #cname; if(!cname##_vtbl) cname##_vtbl = spawnVtbl(me, basevtbl); return me; }
64 // for the implementation
65 #define SUPER(cname) (cname##_vtbl.vtblbase)