6120888dbadbdb1991da9c6eadb18be17c601641
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / waypoints / all.qh
1 #ifndef WAYPOINTS_ALL_H
2 #define WAYPOINTS_ALL_H
3
4 #include "waypointsprites.qh"
5
6 REGISTRY(Waypoints, BIT(6))
7 REGISTER_REGISTRY(RegisterWaypoints)
8 /** If you register a new waypoint, make sure to add it to all.inc */
9 #define REGISTER_WAYPOINT_(id, init) REGISTER(RegisterWaypoints, WP, Waypoints, id, m_id, init)
10
11 CLASS(Waypoint, Object)
12     ATTRIB(Waypoint, m_id, int, 0)
13     ATTRIB(Waypoint, netname, string, string_null)
14     ATTRIB(Waypoint, m_name, string, string_null)
15     ATTRIB(Waypoint, m_color, vector, '1 1 1')
16     ATTRIB(Waypoint, m_blink, int, 1)
17     CONSTRUCTOR(Waypoint, string _netname, string _name, vector _color, int _blink) {
18         CONSTRUCT(Waypoint);
19         this.netname = _netname;
20         this.m_name = _name;
21         this.m_color = _color;
22         this.m_blink = _blink;
23     }
24 ENDCLASS(Waypoint)
25
26 #define REGISTER_WAYPOINT(id, text, color, blink) REGISTER_WAYPOINT_(id, NEW(Waypoint, #id, text, color, blink))
27
28 #include "all.inc"
29
30 #endif