]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/mutators/mutator/waypoints/all.qh
Merge branch 't0uYK8Ne/target_init' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / waypoints / all.qh
1 #pragma once
2
3 #include "waypointsprites.qh"
4
5 REGISTRY(Waypoints, BITS(7))
6 #define Waypoints_from(i) _Waypoints_from(i, WP_Null)
7 REGISTER_REGISTRY(Waypoints)
8 REGISTRY_CHECK(Waypoints)
9
10 /** If you register a new waypoint, make sure to add it to all.inc */
11 #define REGISTER_WAYPOINT_(id, init) REGISTER(Waypoints, WP, id, m_id, init)
12
13 CLASS(Waypoint, Object)
14     ATTRIB(Waypoint, m_id, int, 0);
15     ATTRIB(Waypoint, netname, string);
16     ATTRIB(Waypoint, m_name, string);
17     ATTRIB(Waypoint, m_icon, string);
18     ATTRIB(Waypoint, m_color, vector, '1 1 1');
19     ATTRIB(Waypoint, m_blink, int, 1);
20     CONSTRUCTOR(Waypoint, string _netname, string _name, string _icon, vector _color, int _blink) {
21         CONSTRUCT(Waypoint);
22         this.netname = _netname;
23         this.m_name = _name;
24         this.m_icon = _icon;
25         this.m_color = _color;
26         this.m_blink = _blink;
27     }
28 ENDCLASS(Waypoint)
29
30 #define REGISTER_WAYPOINT(id, text, icon, color, blink) REGISTER_WAYPOINT_(id, NEW(Waypoint, #id, text, icon, color, blink))
31
32 REGISTRY(RadarIcons, BITS(7))
33 #define RadarIcons_from(i) _RadarIcons_from(i, RADARICON_NONE)
34 REGISTER_REGISTRY(RadarIcons)
35 REGISTRY_CHECK(RadarIcons)
36
37 .int m_radaricon;
38 #define REGISTER_RADARICON(id, num) REGISTER(RadarIcons, RADARICON, id, m_id, new_pure(RadarIcon)) { this.m_radaricon = num; this.netname = #id; }
39
40 REGISTER_WAYPOINT(Null, "", "", '0 0 0', 1);
41
42 REGISTER_RADARICON(NONE,            0);
43 REGISTER_RADARICON(FLAG,            1);
44 REGISTER_RADARICON(FLAGCARRIER,     1);
45
46 REGISTER_RADARICON(HERE,            1);
47 REGISTER_RADARICON(DANGER,          1);
48
49 REGISTER_RADARICON(WAYPOINT,        1);
50 REGISTER_RADARICON(HELPME,          1);
51 REGISTER_RADARICON(CONTROLPOINT,    1);
52 REGISTER_RADARICON(GENERATOR,       1);
53 REGISTER_RADARICON(OBJECTIVE,       1);
54 REGISTER_RADARICON(DOMPOINT,        1);
55 REGISTER_RADARICON(TAGGED,          1);
56
57 REGISTER_RADARICON(Item,            1);
58 REGISTER_RADARICON(Vehicle,         1);
59 REGISTER_RADARICON(Weapon,          1);
60
61 #include "all.inc"