Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
config.qc File Reference
#include "config.qh"
Include dependency graph for config.qc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TUR_CONFIG_WRITETOFILE(str)

Functions

void Dump_Turret_Settings ()
void T_Config_Queue (string setting)
float T_Config_Queue_Compare (float root, float child, entity pass)
void T_Config_Queue_Swap (float root, float child, entity pass)

Macro Definition Documentation

◆ TUR_CONFIG_WRITETOFILE

#define TUR_CONFIG_WRITETOFILE ( str)
Value:
ERASEABLE void write_String_To_File(int fh, string str, bool alsoprint)
Definition util.qc:1375
float tur_config_alsoprint
Definition config.qh:10
float tur_config_file
Definition config.qh:9

Referenced by Dump_Turret_Settings().

Function Documentation

◆ Dump_Turret_Settings()

void Dump_Turret_Settings ( )

Definition at line 45 of file config.qc.

46{
47 #define TUR_CONFIG_WRITETOFILE(str) write_String_To_File(tur_config_file, str, tur_config_alsoprint)
48 int totalsettings = 0;
49 FOREACH(Turrets, it != TUR_Null, {
50 // step 1: clear the queue
52 for (int j = 0; j < MAX_CONFIG_SETTINGS; ++j)
54
55 // step 2: build new queue
56 it.tr_config(it);
57
59 {
60 LOG_INFOF("\n^1Dumping aborted^7: hit MAX_CONFIG_SETTINGS (%d) limit\n\n", MAX_CONFIG_SETTINGS);
61 break;
62 }
63
64 // step 3: sort queue
66
67 // step 4: write queue
68 TUR_CONFIG_WRITETOFILE(sprintf("// {{{ #%d: %s\n", i, it.m_name));
69 for (int j = 0; j < TUR_CONFIG_COUNT; ++j)
71 TUR_CONFIG_WRITETOFILE("// }}}\n");
72
73 // step 5: debug info
74 LOG_INFOF("#%d: %s: %d settings...", i, it.m_name, TUR_CONFIG_COUNT);
75 totalsettings += TUR_CONFIG_COUNT;
76 });
77 #undef TUR_CONFIG_WRITETOFILE
78
79 // extra information
81 LOG_INFOF("Totals: %d turrets, %d settings", (REGISTRY_COUNT(Turrets) - 1), totalsettings);
82
83 // clear queue now that we're finished
85 for (int j = 0; j < MAX_CONFIG_SETTINGS; ++j)
87}
string config_queue[MAX_CONFIG_SETTINGS]
Definition util.qh:27
const int MAX_CONFIG_SETTINGS
Definition util.qh:26
#define FOREACH(list, cond, body)
Definition iter.qh:19
#define LOG_INFOF(...)
Definition log.qh:66
string string_null
Definition nil.qh:9
#define NULL
Definition post.qh:14
#define REGISTRY_COUNT(id)
Definition registry.qh:18
ERASEABLE void heapsort(int n, swapfunc_t swap, comparefunc_t cmp, entity pass)
Definition sort.qh:9
#define TUR_CONFIG_WRITETOFILE(str)
float T_Config_Queue_Compare(float root, float child, entity pass)
Definition config.qc:29
void T_Config_Queue_Swap(float root, float child, entity pass)
Definition config.qc:22
float TUR_CONFIG_COUNT
Definition config.qh:12

References config_queue, FOREACH, heapsort(), LOG_INFOF, MAX_CONFIG_SETTINGS, NULL, REGISTRY_COUNT, string_null, T_Config_Queue_Compare(), T_Config_Queue_Swap(), TUR_CONFIG_COUNT, and TUR_CONFIG_WRITETOFILE.

Referenced by GENERIC_COMMAND().

◆ T_Config_Queue()

void T_Config_Queue ( string setting)

Definition at line 16 of file config.qc.

17{
19 config_queue[TUR_CONFIG_COUNT++] = setting;
20}

References config_queue, MAX_CONFIG_SETTINGS, and TUR_CONFIG_COUNT.

◆ T_Config_Queue_Compare()

float T_Config_Queue_Compare ( float root,
float child,
entity pass )

Definition at line 29 of file config.qc.

30{
31 float i, r, c;
32
33 for(i = 1; i <= 100; ++i)
34 {
35 r = str2chr(config_queue[root], i);
36 c = str2chr(config_queue[child], i);
37 if(r == c) { continue; }
38 else if(c > r) { return -1; }
39 else { return 1; }
40 }
41
42 return 0;
43}
#define str2chr

References config_queue, entity(), pass, and str2chr.

Referenced by Dump_Turret_Settings().

◆ T_Config_Queue_Swap()

void T_Config_Queue_Swap ( float root,
float child,
entity pass )

Definition at line 22 of file config.qc.

23{
24 string oldroot = config_queue[root];
25 config_queue[root] = config_queue[child];
26 config_queue[child] = oldroot;
27}

References config_queue, entity(), and pass.

Referenced by Dump_Turret_Settings().