]> git.xonotic.org Git - xonotic/xonotic.wiki.git/blobdiff - Programming-QuakeC-stuff-in-Xonotic.md
Update Compiling: add libtool dependency
[xonotic/xonotic.wiki.git] / Programming-QuakeC-stuff-in-Xonotic.md
index 4561f418bfecd6938ed17dc489e8ef53b37f1f88..d87431e0e4b4c801bbd0d711f25f86f166d26483 100644 (file)
@@ -1,4 +1,17 @@
-**Note:** The article is written as developer notes to ease developer tasks and save QuakeC terms here.
+_This article is written as developer notes to ease developer tasks and save QuakeC terms here._
+
+# _Table of Contents_
+> ### 1. [CSQC, MENUQC, SVQC and GAMEQC blocks](#csqc-menuqc-svqc-and-gameqc-blocks)
+> ### 2. [MUTATOR functions](#mutator-functions)
+> > 2.1. [How to use MUTATOR functions](#how-to-use-mutator-functions) <br/>
+> > 2.2. [List of MUTATOR functions](#list-of-mutator-functions)
+> ### 3. [Weapon functions](#weapon-functions)
+> > 3.1. [A bit of introduction](#a-bit-of-introduction) <br/>
+> > 3.2. [List of weapon functions](#list-of-weapon-functions)
+> ### 4. [HUD, Menu and Draw functions](#hud-menu-and-draw-functions)
+> ### 5. [Gamemodes](#gamemodes)
+> > 5.1. [Samples](#samples)
+> ### 6. [Effects](#effects)
 
 # CSQC, MENUQC, SVQC and GAMEQC blocks
 
@@ -37,9 +50,9 @@ Example: `hud_progressbar_alpha` is a client cvar (**hud_*** cvars belong to cli
 
 <br />
 
-# MUTATOR functions (from: [`qcsrc/client/mutators/events.qh`](https://timepath.github.io/scratchspace/d8/d0e/client_2mutators_2events_8qh_source.html), [`qcsrc/common/mutators/events.qh`](https://timepath.github.io/scratchspace/d4/d95/common_2mutators_2events_8qh_source.html), [`qcsrc/server/mutators/events.qh`](https://timepath.github.io/scratchspace/d6/ddd/server_2mutators_2events_8qh_source.html))
+# MUTATOR functions
 
-### How to use MUTATOR functions:
+### How to use MUTATOR functions
 
 You can look the following link if you're trying/testing your own mutator: [Writing your first mutator](writing-your-first-mutator)
 
@@ -198,6 +211,10 @@ You can look the draw functions where HUD is being drawn:
 More info inside the code where you can draw/print HUD and menu: 
 - [**Globals, constants, fonts, prints, error cmds, vector stuff, conversion functions and all drawing/printing HUDs/menus/characters related (`qcsrc/dpdefs/upstream/menudefs.qc`)**](https://timepath.github.io/scratchspace/d8/de2/menudefs_8qc_source.html)
 
+Important changes about menus we could learn of:
+- [**Terms of Service in window display and multiplayer dialog**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/commit/19bd3a4f)
+- [**Welcome dialog**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/commit/19d753312f0deff7bd297822907874d532e9303e)
+- [**A button to properly quit the campaign, a "Game menu" (on ESC) and remove the Disconnect dialogue**](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/commit/2b2f743fc929bbbe0fc765edf8c433c946764607)
 <br />
 
 # Gamemodes
@@ -304,5 +321,19 @@ It's recommended use the final product in this [**repository**](https://gitlab.c
 
 [**SMB modpack repository**](https://github.com/MarioSMB/modpack/tree/master/mod/common/gamemodes/survival) has added Survival gamemode and others.
 
+# Effects
+
+Spawns effect particle in-game.
+
+The effects can be used with `Send_Effect(effect, org, vel, howmany)` function to test the effects from [**qcsrc/common/effects/all.inc**](https://timepath.github.io/scratchspace/d9/d95/effects_2all_8inc_source.html)
+
+**Send_Effect** function definition is inside: [**qcsrc/common/effects/effect.qh**](https://timepath.github.io/scratchspace/d5/de6/effect_8qh_source.html)
+
+For example, you can test the smokes, using `EFFECT_SMOKE_LARGE`:
+```c
+Send_Effect(EFFECT_SMOKE_LARGE, this.origin, '0 0 0', 1);
+```
+
+EFFECT list: [**qcsrc/common/effects/all.inc**](https://timepath.github.io/scratchspace/d9/d95/effects_2all_8inc_source.html)
 
 <br />
\ No newline at end of file