]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/nades.qh
Update iterators
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / nades.qh
index 75495abca694da6cc4bed39cc64d8cd02dd77f46..01eb7fff2c8e2730fa1a8eca1062571c4467c977 100644 (file)
@@ -25,9 +25,9 @@ const int PROJECTILE_NADE_MONSTER_BURN = 83;
 
 void RegisterNades();
 const int NADES_MAX = 8;
-entity NADES[NADES_MAX];
+entity NADES[NADES_MAX], NADES_first, NADES_last;
 int NADES_COUNT;
-#define REGISTER_NADE(id) REGISTER(RegisterNades, NADE_TYPE, NADES, NADES_COUNT, id, Nade, m_id)
+#define REGISTER_NADE(id) REGISTER(RegisterNades, NADE_TYPE, NADES, NADES_COUNT, id, m_id, NEW(Nade))
 REGISTER_REGISTRY(RegisterNades)
 
 CLASS(Nade, Object)
@@ -95,32 +95,28 @@ REGISTER_NADE(MONSTER) {
 
 entity Nade_FromProjectile(float proj)
 {
-    for (int i = 0; i < NADES_COUNT; i++)
-    {
-        entity nade = NADES[i];
+    FOREACH(NADES, true, LAMBDA(
         for (int j = 0; j < 2; j++)
         {
-            if (nade.m_projectile[j] == proj) return nade;
+            if (it.m_projectile[j] == proj) return it;
         }
-    }
+    ));
     return NADE_TYPE_NULL;
 }
 
 string Nade_TrailEffect(float proj, float nade_team)
 {
-    for (int i = 0; i < NADES_COUNT; i++)
-    {
-        entity nade = NADES[i];
+    FOREACH(NADES, true, LAMBDA(
         for (int j = 0; j < 2; j++)
         {
-            if (nade.m_projectile[j] == proj)
+            if (it.m_projectile[j] == proj)
             {
-                string trail = nade.m_trail[j];
+                string trail = it.m_trail[j];
                 if (trail) return trail;
                 break;
             }
         }
-    }
+    ));
     switch (proj)
     {
         case PROJECTILE_NADE: return strcat("nade_", Static_Team_ColorName_Lower(nade_team));