From 8877b26f9ea45da8024955162862a459c0811a72 Mon Sep 17 00:00:00 2001 From: Martin Taibr Date: Sun, 28 Jul 2019 06:10:57 +0200 Subject: [PATCH] remove/fix some dead links --- Home.md | 1 - Introduction-to-QuakeC.md | 30 +++++++++--------- QuakeC-Wiki.md | 66 --------------------------------------- 3 files changed, 14 insertions(+), 83 deletions(-) delete mode 100644 QuakeC-Wiki.md diff --git a/Home.md b/Home.md index 9e7b471..d9f1c23 100644 --- a/Home.md +++ b/Home.md @@ -121,7 +121,6 @@ Mutators change the configuration of the game play, e.g. how weapon appears, whi ### Programming - [Introduction to QuakeC](Introduction-to-QuakeC) - [DarkPlaces Wiki](DarkPlaces-Index) -- [QuakeC Specifications v1.0](QuakeC-Wiki) - [Writing your first mutator](writing-your-first-mutator) - [Tips for new developers](Programming-Tips) diff --git a/Introduction-to-QuakeC.md b/Introduction-to-QuakeC.md index 684a2cd..e52a160 100644 --- a/Introduction-to-QuakeC.md +++ b/Introduction-to-QuakeC.md @@ -1,16 +1,25 @@ QuakeC ====== -Article TODO ------------- - -- expand explanations - About QuakeC ------------ QuakeC is a very simplified dialect of the well-known C programming language, and is used by the Quake I engine and its derivatives. Xonotic uses the GMQCC dialect of QuakeC, so only this dialect will be described (as well as some common extensions among Quake engines). +There are several documents describing the original version of QC as used in Quake 1: +- an [old version](http://www.gamers.org/dEngine/quake/spec/quake-spec34/index1.htm) which is a part of unofficial [Quake Documentation](http://www.gamers.org/dEngine/quake/spec/quake-spec34/) +- a probably slightly [newer version](http://www.cataboligne.org/extra/qcmanual.html) +- a [newer and extended version](http://pages.cs.wisc.edu/~jeremyp/quake/quakec/quakec.pdf) in PDF + +Even this page is outdated and incomplete, not all GMQCC QuakeC constructs are described here and some of the bugs mentioned here have already been fixed. + +Other resources +--------------- + +- [QC Tutorial for Absolute Beginners](https://web.archive.org/web/20091118154016/http://forums.inside3d.com/viewtopic.php?t=1286) +- [List of builtins on quakewiki.org](https://quakewiki.org/wiki/List_of_builtin_functions) +- comments and `doc.md` in the `qcsrc/dpdefs` directory + Example code ------------ @@ -57,17 +66,6 @@ entity findnearestspawn(vector v) **Note:** *findchain* is implemented in QuakeC for demonstration purposes only so one can see how to build a linked list, as this function is already built in to the engine and can be used directly -Other resources ---------------- - -Here is a forum on Inside3D where you can read more about QuakeC and ask questions: -- QuakeC Forum on Inside3D: http://forums.inside3d.com/viewforum.php?f=2 -- QC Tutorial for Absolute Beginners: http://forums.inside3d.com/viewtopic.php?t=1286 - -For available functions in QuakeC, look in the following places: -- The Quakery: http://quakery.quakedev.com/qwiki/index.php/List_of_builtin_functions -- Xonotic source: [builtins.qh](http://git.xonotic.org/?p=xonotic/xonotic-data.pk3dir.git;a=blob_plain;f=qcsrc/server/builtins.qh;hb=HEAD) for Quake functions, [extensions.qh](http://git.xonotic.org/?p=xonotic/xonotic-data.pk3dir.git;a=blob_plain;f=qcsrc/server/extensions.qh;hb=HEAD) for DarkPlaces extensions - Variables ========= diff --git a/QuakeC-Wiki.md b/QuakeC-Wiki.md deleted file mode 100644 index 934e0e6..0000000 --- a/QuakeC-Wiki.md +++ /dev/null @@ -1,66 +0,0 @@ -List of Contents ----------------- - -## 1. [The Quake-C Language](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-lang.htm#QC-LANG) -1. [Comments, names and types](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-lang.htm#QC-LBC) -2. [Definition of Variables](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-lang.htm#QC-LVAR) -3. [Operations](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-lang.htm#QC-LOPS) -4. [Definition of Functions](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-lang.htm#QC-LFUN) -5. [Loop and conditions](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-lang.htm#QC-LOOP) - -## 2. [The Quake-C Basic Types](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-types.htm#QC-TYPES) -1. [The simple Types](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-types.htm#QC-TSMP) -2. [The field types](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-types.htm#QC-TFLD) - -## 3. [Quake-C Model definitions](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-mdl.htm#QC-MDL) - -## 4. [Using Quake-C](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-mdl.htm#QC-USE) -1. [Compilation](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-mdl.htm#QC-COMP) -2. [Running Quake-C code](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-mdl.htm#QC-CEXEC) - -## 5. [Built-in Constants](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#QC-DEFS) -1. [temporary entities](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_etemporary) -2. [Sound Channels](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_channel) -3. [Sound Attenuation](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_attenuate) -4. [Contents of areas](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_contents) -5. [light effects](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_effects) -6. [Items](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_items) -7. [Collision detection](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_solid) -8. [Type of movements](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_movetype) -9. [Take damage](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_damage) -10. [Entity dead flag](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_deadflag) -11. [Spawn flags](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-defs.htm#d_spawnflags) - -## 6. [Quake-C Entity Definition](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-enty.htm#QC-ENTY) -1. [Types of entities](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-enty.htm#QC-ETYP) -2. [Definition of entity fields](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-enty.htm#QC-EFLD) - -## 7. [Quake-C Global Variables](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-glob.htm#QC-GLOB) -1. [Console Variables](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-glob.htm#d_consolev) -2. [Global Variables](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-glob.htm#QC-GVAR) -3. [Mandatory functions](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-glob.htm#QC-GFUN) - -## 8. [Quake-C Built-in functions](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BUILT) -1. [Math functions](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BMATH) -2. [Vector maths](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BVEC) -3. [Sounds](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BSND) -4. [Entity management](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BENTY) -5. [Entity movements](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BMOVE) -6. [Fighting](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BFGHT) -7. [Collision checking](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BCOLS) -8. [Server managment](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BSRV) -9. [Print messages](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BPRNT) -10. [Console](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BCNSL) -11. [Debugging](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BDEBG) -12. [Precaching files](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-built.htm#QC-BPREC) - -## 9. [Quake-C Network Protocol](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-net.htm#QC-NET) -1. [Definitions](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-net.htm#QC-NDEF) -2. [Built-in Network functions](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-net.htm#QC-NETF) -3. [Some message structures](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-net.htm#d_messages) - -## 10. [Quake-C Tips and Tricks](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-trick.htm#QC-TRICK) -1. [The quirks of Quake and Quake-C](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-trick.htm#QC-QUIRK) -2. [Frequently Asked Questions about Quake-C](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-trick.htm#QC-FAQ) -3. [Writing clean Quake-C code](http://www.gamers.org/dEngine/quake/spec/quake-spec34/qc-trick.htm#QC-SUGG) - -- 2.39.2