]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/triggers/misc/corner.qc
A few trillion lines of untested junk, committing now so it doesn't become quadrillions
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / triggers / misc / corner.qc
1 #ifdef SVQC
2 bool corner_send(entity to, int sf)
3 {
4         WriteByte(MSG_ENTITY, ENT_CLIENT_CORNER);
5
6         WriteString(MSG_ENTITY, self.platmovetype);
7
8         WriteCoord(MSG_ENTITY, self.origin_x);
9         WriteCoord(MSG_ENTITY, self.origin_y);
10         WriteCoord(MSG_ENTITY, self.origin_z);
11
12         WriteString(MSG_ENTITY, self.target);
13         WriteString(MSG_ENTITY, self.target2);
14         WriteString(MSG_ENTITY, self.target3);
15         WriteString(MSG_ENTITY, self.target4);
16         WriteString(MSG_ENTITY, self.targetname);
17
18         return true;
19 }
20
21 void corner_link()
22 {
23         Net_LinkEntity(self, false, 0, corner_send);
24 }
25
26 void spawnfunc_path_corner()
27 {
28         corner_link();
29
30         // setup values for overriding train movement
31         // if a second value does not exist, both start and end speeds are the single value specified
32         set_platmovetype(self, self.platmovetype);
33 }
34 #elif defined(CSQC)
35
36 void corner_remove()
37 {
38         if(self.target) { strunzone(self.target); }
39         self.target = string_null;
40
41         if(self.target2) { strunzone(self.target2); }
42         self.target2 = string_null;
43
44         if(self.target3) { strunzone(self.target3); }
45         self.target3 = string_null;
46
47         if(self.target4) { strunzone(self.target4); }
48         self.target4 = string_null;
49
50         if(self.targetname) { strunzone(self.targetname); }
51         self.targetname = string_null;
52
53         if(self.platmovetype) { strunzone(self.platmovetype); }
54         self.targetname = string_null;
55 }
56
57 void ent_corner()
58 {
59         self.platmovetype = strzone(ReadString());
60
61         self.origin_x = ReadCoord();
62         self.origin_y = ReadCoord();
63         self.origin_z = ReadCoord();
64
65         self.target = strzone(ReadString());
66         self.target2 = strzone(ReadString());
67         self.target3 = strzone(ReadString());
68         self.target4 = strzone(ReadString());
69         self.targetname = strzone(ReadString());
70
71         self.classname = "path_corner";
72         self.drawmask = MASK_NORMAL;
73         self.entremove = corner_remove;
74
75         set_platmovetype(self, self.platmovetype);
76 }
77
78 #endif