X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.wiki.git;a=blobdiff_plain;f=Programming-Tips.md;h=d05c4b10d0988f1f4572311a6c38775982e7779a;hp=487aca3235c5d1a5421e426326911b4fc425b3ff;hb=52f2c3f96b06d44b9b89b224739bcaf170890bfb;hpb=7c872dbd95662325da7d05e9ce1b96bf2fb600e1 diff --git a/Programming-Tips.md b/Programming-Tips.md index 487aca3..d05c4b1 100644 --- a/Programming-Tips.md +++ b/Programming-Tips.md @@ -15,8 +15,11 @@ You can draw text anywhere on the map using `debug_text_3d(world_coords, message ### Multiple clients + clean config If you need 2 players for debugging, you can launch another client locally: - - use -sessionid (e.g. `./all run -sessionid testing`) to keep your config - - use -userdir (e.g. `./all run -userdir ~/.xonotic-testing +name tester +cl_allow_uid2name 0`) to get a clean config (`+cl_allow_uid2name 0` to avoid an annoying popup). You can set whatever cvar on start with `+cvar_name value`. +- use -sessionid (e.g. `./all run -sessionid testing`) to keep your config +- use -userdir (e.g. `./all run -userdir ~/.xonotic-testing +name tester +cl_allow_uid2name 0`) to get a clean config (if you delete the dir before each use) + - you can set any cvar or run any command on start with `+cvar_name value` + - `+name tester` avoids the nick selection dialog + - `+cl_allow_uid2name 0` avoids an annoying popup ### Testing with bots @@ -65,6 +68,12 @@ prvm_globalwatchpoint server prvm_edictwatchpoint server ``` +### Doxygen + +Incomplete [Doxygen documentation](https://timepath.github.io/scratchspace/index.html) is generated as part of CI on [xonotic-data.pk3dir](https://gitlab.com/xonotic/xonotic-data.pk3dir) - you can search functions, "classes", globals, etc. + +Note that it might be incomplete or incorrect because [Doxygen](https://www.doxygen.nl) doesn't understand all of QC's constructs and our code heavily uses macros. See the `doxygen` section of the [CI file](https://gitlab.com/xonotic/xonotic-data.pk3dir/blob/master/.gitlab-ci.yml) for details what's missing. + ### Tool to find C symbols, functions, declarations and definitions inside source code For this purpose it's possible to use a text-based tool called [Cscope](https://en.wikipedia.org/wiki/Cscope) together with a GUI (it can be either an application or a plugin for a text editor). @@ -114,5 +123,5 @@ Windows users must download the Windows version of cscope from https://code.goog ### QC syntax highlighting: -* For jEdit: [qc.xml](https://gitlab.com/terencehill/qc-syntax-highlighting-for-jedit/blob/master/qc.xml) -* For Kate: [qc.xml](https://gist.github.com/DefaultUser/998f030ab41a9e8edf4a9f8e703c6350) \ No newline at end of file +* terencehill's version for jEdit: [qc.xml](https://gitlab.com/terencehill/qc-syntax-highlighting-for-jedit/blob/master/qc.xml) +* EACFreddy's version for Kate: [qc.xml](https://gist.github.com/DefaultUser/998f030ab41a9e8edf4a9f8e703c6350) \ No newline at end of file