]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/server/pathlib/debug.qc
Remove _all indirection
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / pathlib / debug.qc
1 #include "debug.qh"
2
3 #if DEBUGPATHING
4
5 MODEL(SQUARE,       "models/pathlib/square.md3");
6 MODEL(SQUARE_GOOD,  "models/pathlib/goodsquare.md3");
7 MODEL(SQUARE_BAD,   "models/pathlib/badsquare.md3");
8 MODEL(EDGE,         "models/pathlib/edge.md3");
9
10 #ifdef TURRET_DEBUG
11 void mark_error(vector where,float lifetime);
12 void mark_info(vector where,float lifetime);
13 entity mark_misc(vector where,float lifetime);
14 #endif
15
16 void pathlib_showpath(entity start)
17 {
18     entity e;
19     e = start;
20     while(e.path_next)
21     {
22         te_lightning1(e,e.origin,e.path_next.origin);
23         e = e.path_next;
24     }
25 }
26
27 void path_dbg_think(entity this)
28 {
29     pathlib_showpath(this);
30     this.nextthink = time + 1;
31 }
32
33 void __showpath2_think(entity this)
34 {
35     #ifdef TURRET_DEBUG
36         mark_info(this.origin,1);
37         #endif
38     if(this.path_next)
39     {
40         setthink(this.path_next, __showpath2_think);
41         this.path_next.nextthink = time + 0.15;
42     }
43     else
44     {
45         setthink(this.owner, __showpath2_think);
46         this.owner.nextthink = time + 0.15;
47     }
48 }
49
50 void pathlib_showpath2(entity path)
51 {
52     setthink(path, __showpath2_think);
53     path.nextthink = time;
54 }
55
56 void pathlib_showsquare2(entity node ,vector ncolor,float align)
57 {
58
59     node.alpha     = 0.25;
60     node.scale     = pathlib_gridsize / 512.001;
61     node.solid     = SOLID_NOT;
62
63     setmodel(node, MDL_SQUARE);
64     setorigin(node, node.origin);
65     node.colormod = ncolor;
66
67     if(align)
68     {
69         traceline(node.origin + '0 0 32', node.origin - '0 0 128', MOVE_WORLDONLY, node);
70         node.angles = vectoangles(trace_plane_normal);
71         node.angles_x -= 90;
72     }
73 }
74
75 void pathlib_showsquare(vector where,float goodsquare,float _lifetime)
76 {
77     entity s;
78
79     if(!_lifetime)
80         _lifetime = time + 30;
81     else
82         _lifetime += time;
83
84     s           = spawn();
85     s.alpha     = 0.25;
86     setthink(s, SUB_Remove);
87     s.nextthink = _lifetime;
88     s.scale     = pathlib_gridsize / 512.001;
89     s.solid     = SOLID_NOT;
90
91     setmodel(s, goodsquare ? MDL_SQUARE_GOOD : MDL_SQUARE_BAD);
92
93     traceline(where + '0 0 32',where - '0 0 128',MOVE_WORLDONLY,s);
94
95     s.angles = vectoangles(trace_plane_normal);
96     s.angles_x -= 90;
97     setorigin(s, where);
98 }
99
100 void pathlib_showedge(vector where,float _lifetime,float rot)
101 {
102     entity e;
103
104     if(!_lifetime)
105         _lifetime = time + 30;
106     else
107         _lifetime += time;
108
109     e           = spawn();
110     e.alpha     = 0.25;
111     setthink(e, SUB_Remove);
112     e.nextthink = _lifetime;
113     e.scale     = pathlib_gridsize / 512;
114     e.solid     = SOLID_NOT;
115     setorigin(e, where);
116     setmodel(e, MDL_EDGE);
117     //traceline(where + '0 0 32',where - '0 0 128',MOVE_WORLDONLY,e);
118     //e.angles = vectoangles(trace_plane_normal);
119     e.angles_y = rot;
120     //e.angles_x += 90;
121
122 }
123
124 #endif