]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mutators/mutator/waypoints/all.qh
Merge branch 'TimePath/modules'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / waypoints / all.qh
index 6bc672902c0e50f49ae9bba70b0e9ea5f8d4c80a..77c4312001de399edeaaddd1d9a1abcc7de55020 100644 (file)
@@ -1,19 +1,21 @@
-#ifndef WAYPOINTS_ALL_H
-#define WAYPOINTS_ALL_H
+#pragma once
 
 #include "waypointsprites.qh"
 
-REGISTRY(Waypoints, BIT(6))
-REGISTER_REGISTRY(RegisterWaypoints)
+REGISTRY(Waypoints, BITS(7))
+#define Waypoints_from(i) _Waypoints_from(i, WP_Null)
+REGISTER_REGISTRY(Waypoints)
+REGISTRY_CHECK(Waypoints)
+
 /** If you register a new waypoint, make sure to add it to all.inc */
-#define REGISTER_WAYPOINT_(id, init) REGISTER(RegisterWaypoints, WP, Waypoints, id, m_id, init)
+#define REGISTER_WAYPOINT_(id, init) REGISTER(Waypoints, WP, id, m_id, init)
 
 CLASS(Waypoint, Object)
-    ATTRIB(Waypoint, m_id, int, 0)
-    ATTRIB(Waypoint, netname, string, string_null)
-    ATTRIB(Waypoint, m_name, string, string_null)
-    ATTRIB(Waypoint, m_color, vector, '1 1 1')
-    ATTRIB(Waypoint, m_blink, int, 1)
+    ATTRIB(Waypoint, m_id, int, 0);
+    ATTRIB(Waypoint, netname, string);
+    ATTRIB(Waypoint, m_name, 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) {
         CONSTRUCT(Waypoint);
         this.netname = _netname;
@@ -26,9 +28,12 @@ ENDCLASS(Waypoint)
 #define REGISTER_WAYPOINT(id, text, color, blink) REGISTER_WAYPOINT_(id, NEW(Waypoint, #id, text, color, blink))
 
 REGISTRY(RadarIcons, BITS(7))
-REGISTER_REGISTRY(RegisterRadarIcons)
+#define RadarIcons_from(i) _RadarIcons_from(i, RADARICON_NONE)
+REGISTER_REGISTRY(RadarIcons)
+REGISTRY_CHECK(RadarIcons)
+
 .int m_radaricon;
-#define REGISTER_RADARICON(id, num) REGISTER(RegisterRadarIcons, RADARICON, RadarIcons, id, m_id, new(RadarIcon)) { make_pure(this); this.m_radaricon = num; this.netname = #id; }
+#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);
 
@@ -36,7 +41,6 @@ REGISTER_RADARICON(NONE,            0);
 REGISTER_RADARICON(FLAG,            1);
 REGISTER_RADARICON(FLAGCARRIER,     1);
 
-// TODO make these 3 and 4, and make images for them
 REGISTER_RADARICON(HERE,            1);
 REGISTER_RADARICON(DANGER,          1);
 
@@ -48,11 +52,8 @@ REGISTER_RADARICON(OBJECTIVE,       1);
 REGISTER_RADARICON(DOMPOINT,        1);
 REGISTER_RADARICON(TAGGED,          1);
 
-REGISTER_RADARICON(Buff,            1);
 REGISTER_RADARICON(Item,            1);
 REGISTER_RADARICON(Vehicle,         1);
 REGISTER_RADARICON(Weapon,          1);
 
 #include "all.inc"
-
-#endif