]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mutators/mutator/waypoints/all.qh
Merge branch 'master' into terencehill/race_cleanups
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / waypoints / all.qh
index 77c4312001de399edeaaddd1d9a1abcc7de55020..fa1cbd31a1548d45a15770902c71fe858ccaa805 100644 (file)
@@ -3,7 +3,6 @@
 #include "waypointsprites.qh"
 
 REGISTRY(Waypoints, BITS(7))
-#define Waypoints_from(i) _Waypoints_from(i, WP_Null)
 REGISTER_REGISTRY(Waypoints)
 REGISTRY_CHECK(Waypoints)
 
@@ -14,30 +13,34 @@ CLASS(Waypoint, Object)
     ATTRIB(Waypoint, m_id, int, 0);
     ATTRIB(Waypoint, netname, string);
     ATTRIB(Waypoint, m_name, string);
+    ATTRIB(Waypoint, m_icon, string);
     ATTRIB(Waypoint, m_color, vector, '1 1 1');
     ATTRIB(Waypoint, m_blink, int, 1);
-    CONSTRUCTOR(Waypoint, string _netname, string _name, vector _color, int _blink) {
+    CONSTRUCTOR(Waypoint, string _netname, string _name, string _icon, vector _color, int _blink) {
         CONSTRUCT(Waypoint);
         this.netname = _netname;
         this.m_name = _name;
+        this.m_icon = _icon;
         this.m_color = _color;
         this.m_blink = _blink;
     }
 ENDCLASS(Waypoint)
 
-#define REGISTER_WAYPOINT(id, text, color, blink) REGISTER_WAYPOINT_(id, NEW(Waypoint, #id, text, color, blink))
+#define REGISTER_WAYPOINT(id, text, icon, color, blink) REGISTER_WAYPOINT_(id, NEW(Waypoint, #id, text, icon, color, blink))
 
 REGISTRY(RadarIcons, BITS(7))
-#define RadarIcons_from(i) _RadarIcons_from(i, RADARICON_NONE)
 REGISTER_REGISTRY(RadarIcons)
 REGISTRY_CHECK(RadarIcons)
 
 .int m_radaricon;
 #define REGISTER_RADARICON(id, num) REGISTER(RadarIcons, RADARICON, id, m_id, new_pure(RadarIcon)) { this.m_radaricon = num; this.netname = #id; }
 
-REGISTER_WAYPOINT(Null, "", '0 0 0', 1);
+REGISTER_WAYPOINT(Null, "", "", '0 0 0', 1);
+REGISTRY_DEFINE_GET(Waypoints, WP_Null)
 
 REGISTER_RADARICON(NONE,            0);
+REGISTRY_DEFINE_GET(RadarIcons, RADARICON_NONE)
+
 REGISTER_RADARICON(FLAG,            1);
 REGISTER_RADARICON(FLAGCARRIER,     1);