]> de.git.xonotic.org Git - xonotic/xonotic.wiki.git/blobdiff - NewQC.md
explain autobuilds
[xonotic/xonotic.wiki.git] / NewQC.md
index 78a9b2c6620071ae7cffc9eabd8d3e5750e3d6c2..b2fd90d86f6ef9fe3d570b27a6deff7259406322 100644 (file)
--- a/NewQC.md
+++ b/NewQC.md
@@ -1,11 +1,12 @@
 New QC Syntax
 =============
 
-{{\>toc}}
-
 It is possible that at some point we decide to switch QC-compiler which requires some changes to the code.
 
-**For more information see** http://dev.xonotic.org/projects/bocc
+~~For more information see http://dev.xonotic.org/projects/bocc~~
+
+(Update: Blub's bocc compiler didn't make it, but someone else came along, both devs [joined forces](https://github.com/graphitemaster/gmqcc/graphs/contributors) and brought us [GMQCC](https://graphitemaster.github.io/gmqcc/doc.html).
+ This is now the QuakeC compiler used by the Xonotic project.)
 
 Clean syntax:
 -------------
@@ -15,16 +16,16 @@ A clean syntax is needed, the current implementation uses the following:
 
 |definition|meaning|
 |----------|-------|
-|<code>float foo</code>|global variable|
-|<code>float .foo</code>|entity field|
-|<code>.float foo</code>|fieldpointer|
-|<code>.float .foo</code>|entity field of type fieldpointer|
-|<code>float foo(void)</code>|function|
-|<code>float foo\*(void)</code>|function pointer|
-|<code>.float foo(void)</code>|function returning a fieldpointer .float|
-|<code>.float foo\*(void)</code>|function pointer, returning a fieldpointer .float|
-|<code>float .foo(void)</code>|entity field of type function returning float|
-|<code>.float .foo(void)</code>|entity field of type function returning fieldpointer|
+|`float foo`|global variable|
+|`float .foo`|entity field|
+|`.float foo`|fieldpointer|
+|`.float .foo`|entity field of type fieldpointer|
+|`float foo(void)`|function|
+|`float foo*(void)`|function pointer|
+|`.float foo(void)`|function returning a fieldpointer .float|
+|`.float foo*(void)`|function pointer, returning a fieldpointer .float|
+|`float .foo(void)`|entity field of type function returning float|
+|`.float .foo(void)`|entity field of type function returning fieldpointer|
 
 Function definitions:
 ---------------------
@@ -79,10 +80,10 @@ Since menuQC has some funny macro: ACCUMULATE\_FUNCTIONS, it seemed like a nice
 Variadic parameters (do not use yet)
 ------------------------------------
 
-(This might get changed to be more flexible so do not rely on this syntax...)
+(This might get changed to be more flexible so do not rely on this syntax)
 
-Another "enhancement" is the possibility to have functions with variadic parameter lists. However, the only way to sanely access them (until pointers are allowed) is via a recursive way.
-Here's an example that assumes float parameters and prints them one after the other:
+Another “enhancement” is the possibility to have functions with variadic parameter lists. However, the only way to sanely access them (until pointers are allowed) is via a recursive way.
+Heres an example that assumes float parameters and prints them one after the other:
 
     void printfloats(float count, float first, ...)
     {
@@ -97,4 +98,5 @@ Here's an example that assumes float parameters and prints them one after the ot
         myprint(count-1, ...);
     }
 
-So <code>myprint(4, 1, 2, 3, 4)</code> would print <code>"1, 2, 3, 4\\n"</code>
+So `myprint(4, 1, 2, 3, 4)` would print "1, 2, 3, 4\\n"
+