]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
optimize menuqc compiling speed by doing the second interface pass, and the implement...
authorRudolf Polzer <divVerent@xonotic.org>
Fri, 8 Jul 2011 14:00:36 +0000 (16:00 +0200)
committerRudolf Polzer <divVerent@xonotic.org>
Fri, 8 Jul 2011 14:00:36 +0000 (16:00 +0200)
qcsrc/menu/oo/classdefs.h [deleted file]
qcsrc/menu/oo/constructors.h [deleted file]
qcsrc/menu/oo/implementation.h
qcsrc/menu/oo/interface.h [new file with mode: 0644]
qcsrc/menu/progs.src

diff --git a/qcsrc/menu/oo/classdefs.h b/qcsrc/menu/oo/classdefs.h
deleted file mode 100644 (file)
index 85bc6c2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef INTERFACE
-#define INTERFACE
-#endif
-
-#ifdef IMPLEMENTATION
-#undef IMPLEMENTATION
-#endif
-
-#ifdef CLASS
-#undef CLASS
-#undef EXTENDS
-#undef METHOD
-#undef ATTRIB
-#undef ATTRIBARRAY
-#undef ENDCLASS
-#undef SUPER
-#endif
-
-#define CLASS(cname)                       entity spawn##cname(); entity cname##_vtbl;
-#define EXTENDS(base)                
-#define METHOD(cname,name,prototype)       prototype cname##_##name; .prototype name;
-#define ATTRIB(cname,name,type,val)        .type name;
-#define ATTRIBARRAY(cname,name,type,cnt)   .type name[cnt];
-#define ENDCLASS(cname)                    .float instanceOf##cname;
-#define SUPER(cname)
diff --git a/qcsrc/menu/oo/constructors.h b/qcsrc/menu/oo/constructors.h
deleted file mode 100644 (file)
index 4e758dd..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef INTERFACE
-#define INTERFACE
-#endif
-
-#ifdef IMPLEMENTATION
-#undef IMPLEMENTATION
-#endif
-
-#ifdef CLASS
-#undef CLASS
-#undef EXTENDS
-#undef METHOD
-#undef ATTRIB
-#undef ATTRIBARRAY
-#undef ENDCLASS
-#undef SUPER
-#endif
-
-#define CLASS(cname)                       entity spawn##cname() { entity me;
-#define EXTENDS(base)                      me = spawn##base (); entity basevtbl; basevtbl = base##_vtbl;
-#define METHOD(cname,name,prototype)       me.name = cname##_##name;
-#define ATTRIB(cname,name,type,val)        me.name = val;
-#define ATTRIBARRAY(cname,name,type,cnt)   me.name = me.name;
-#define ENDCLASS(cname)                    me.instanceOf##cname = 1; me.classname = #cname; if(!cname##_vtbl) cname##_vtbl = spawnVtbl(me, basevtbl); return me; }
-#define SUPER(cname)
index ed6bd71f36087d7527c52fe03cef45388bb03c2b..34f32e306aa16df6d831a4d3a36a9021a17ff2bb 100644 (file)
@@ -1,5 +1,5 @@
-#ifdef INTERFACE
-#undef INTERFACE
+#ifndef INTERFACE
+#define INTERFACE
 #endif
 
 #ifndef IMPLEMENTATION
 #undef SUPER
 #endif
 
+// for the constructor
+#define CLASS(cname)                       entity spawn##cname() { entity me;
+#define EXTENDS(base)                      me = spawn##base (); entity basevtbl; basevtbl = base##_vtbl;
+#define METHOD(cname,name,prototype)       me.name = cname##_##name;
+#define ATTRIB(cname,name,type,val)        me.name = val;
+#define ATTRIBARRAY(cname,name,type,cnt)   me.name = me.name;
+#define ENDCLASS(cname)                    me.instanceOf##cname = 1; me.classname = #cname; if(!cname##_vtbl) cname##_vtbl = spawnVtbl(me, basevtbl); return me; }
+
+// for the implementation
 #define SUPER(cname) (cname##_vtbl.vtblbase)
diff --git a/qcsrc/menu/oo/interface.h b/qcsrc/menu/oo/interface.h
new file mode 100644 (file)
index 0000000..85bc6c2
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef INTERFACE
+#define INTERFACE
+#endif
+
+#ifdef IMPLEMENTATION
+#undef IMPLEMENTATION
+#endif
+
+#ifdef CLASS
+#undef CLASS
+#undef EXTENDS
+#undef METHOD
+#undef ATTRIB
+#undef ATTRIBARRAY
+#undef ENDCLASS
+#undef SUPER
+#endif
+
+#define CLASS(cname)                       entity spawn##cname(); entity cname##_vtbl;
+#define EXTENDS(base)                
+#define METHOD(cname,name,prototype)       prototype cname##_##name; .prototype name;
+#define ATTRIB(cname,name,type,val)        .type name;
+#define ATTRIBARRAY(cname,name,type,cnt)   .type name[cnt];
+#define ENDCLASS(cname)                    .float instanceOf##cname;
+#define SUPER(cname)
index 34eb5db888fa3836ff627284646eef94d1088866..1184c32d1819ab582ca4af36f85a5a88eb7cb59b 100644 (file)
@@ -20,10 +20,7 @@ draw.qh
 skin.qh
 xonotic/util.qh
 
-oo/classdefs.h
-       classes.c
-
-oo/constructors.h
+oo/interface.h
        classes.c
 oo/implementation.h
        classes.c