From 8f29564d5f06355b9354589c73687d52beff0324 Mon Sep 17 00:00:00 2001 From: LegendaryGuard Date: Wed, 9 Dec 2020 19:58:48 +0000 Subject: [PATCH] Some fixes and Added Weapons functions --- ...er-programming-QuakeC-things-in-Xonotic.md | 63 ++++++++++++++++++- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/Functions-and-other-programming-QuakeC-things-in-Xonotic.md b/Functions-and-other-programming-QuakeC-things-in-Xonotic.md index 8c42d0c..24ca89b 100644 --- a/Functions-and-other-programming-QuakeC-things-in-Xonotic.md +++ b/Functions-and-other-programming-QuakeC-things-in-Xonotic.md @@ -1,7 +1,7 @@ **Note:** The article is written as developer notes to ease developer tasks and save QuakeC function terms here. Some references are taken from `events.qh`. -# MUTATOR functions (from: `qcsrc/server/mutators/events.qh`) +# MUTATOR functions (from: `qcsrc/client/mutators/events.qh`, `qcsrc/common/mutators/events.qh`, `qcsrc/server/mutators/events.qh`) ### Introduction @@ -24,7 +24,7 @@ Creates a function and calls `new_mutator_name` (from `REGISTER_MUTATOR`) and on Example: ```c -MUTATOR_HOOKFUNCTION(new_mutator_name_or_events.qh_main_hook, PlayerSpawn) +MUTATOR_HOOKFUNCTION(new_mutator_name, events.qh_main_hook) { // whatever does } @@ -92,4 +92,63 @@ https://timepath.github.io/scratchspace/d6/ddd/server_2mutators_2events_8qh.html

+ +## List of WEAPON functions + +This is a created functions list to modify/create weapons. There are incomplete explanations for each function. + +There are contents taken from `qcsrc/common/weapons/all.qh`. + +**WARNING:** The contents may content wonky code, and the interactions can change and not do the same what happens here. + +
+
+ +- [**W_SetupShot_Dir**](https://timepath.github.io/scratchspace/d4/d3f/tracing_8qh.html#aff0ea351757ee6caf83b25d12d18656c) + +```c +W_SetupShot_Dir( + ent, + wepent, + s_forward, + antilag, + recoil, + snd, + chan, + maxdamage, + deathtype +) +``` + +- [**W_SetupProjVelocity_Explicit**](https://timepath.github.io/scratchspace/d7/d31/tracing_8qc.html#a55f8f2b1828413bfb123a5fcb61b9f8e) + +```c +void W_SetupProjVelocity_Explicit( + entity proj, + vector dir, + vector upDir, + float pSpeed, + float pUpSpeed, + float pZSpeed, + float spread, + float forceAbsolute +) +``` + +- [**W_MuzzleFlash**](https://timepath.github.io/scratchspace/d0/ddd/weapons_2all_8qh_source.html)(located in `qcsrc/common/weapons/all.qh` line 406) + +In the moment when player shots the weapon, weapon flashes. +*Note:* write `#ifdef SVQC` at the start of using this function, and write with `#endif` after declared the function(only can do this if the code which needs execute can do this, although maybe you need more functions/things in the code inside this). + +```c +void W_MuzzleFlash(Weapon thiswep, entity actor, .entity weaponentity, vector shotorg, vector shotdir); +``` + +- [**`Weapon selection functions`**](https://timepath.github.io/scratchspace/d8/d6b/selection_8qh.html) +(located in `qcsrc/server/weapons/selection.qh`) + +- [**``Weapon decrease ammo, speed factor, rate factor, reload functions`**](https://timepath.github.io/scratchspace/d5/de0/weaponsystem_8qc.html) +(located in `qcsrc/server/weapons/weaponsystem.qh`) + + AND.... STILL in process \ No newline at end of file -- 2.39.2