]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/minigames/minigames.qc
Merge branch 'master' into TimePath/csqc_viewmodels
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / minigames / minigames.qc
index 61ab9a6ba40a361cf72c974c7ba043be8217714a..8a29bc297f89246abefdbe0773c6f0f42af7ba10 100644 (file)
@@ -1,11 +1,14 @@
 #include "minigames.qh"
 
+REGISTER_NET_LINKED(ENT_CLIENT_MINIGAME)
+
 entity minigame_get_descriptor(string id)
 {
-       entity e;
-       for ( e = minigame_descriptors; e != world; e = e.list_next )
-               if ( e.netname == id )
-                       return e;
+       FOREACH(Minigames, true, LAMBDA(
+       {
+               if(it.netname == id)
+                       return it;
+       }));
        return world;
 }
 
@@ -17,7 +20,7 @@ int minigame_tile_letter(string id)
 
 // Get number index of a tile name
 // Note: this is 0 based, useful for mathematical operations
-// Note: Since the tile notation starts from the bottom left, 
+// Note: Since the tile notation starts from the bottom left,
 //     you may want to do number_of_rows - what_this_function_returns or something
 int minigame_tile_number(string id)
 {
@@ -27,7 +30,7 @@ int minigame_tile_number(string id)
 // Get relative position of the center of a given tile
 vector minigame_tile_pos(string id, int rows, int columns)
 {
-       return eX*(minigame_tile_letter(id)+0.5)/columns + 
+       return eX*(minigame_tile_letter(id)+0.5)/columns +
               eY - eY*(minigame_tile_number(id)+0.5)/rows;
 }
 
@@ -56,7 +59,7 @@ string minigame_tile_name(vector pos, int rows, int columns)
 {
        if ( pos_x < 0 || pos_x > 1 || pos_y < 0 || pos_y > 1 )
                return ""; // no tile
-               
+
        int letter = floor(pos_x * columns);
        int number = floor((1-pos_y) * rows);
        return minigame_tile_buildname(letter, number);