X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fminigames%2Fminigames.qc;h=6d14b258281f973a916b346ca9540776d75f7549;hb=c4bce6d9a493a84cce1c213e4f85d4c47e2ee11e;hp=6a24d37ad8033a17036e671a0e0de5dacc8dcadb;hpb=32ca966802c45c4c231210c2d8776bc3f4135dc2;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/minigames/minigames.qc b/qcsrc/common/minigames/minigames.qc index 6a24d37ad..6d14b2582 100644 --- a/qcsrc/common/minigames/minigames.qc +++ b/qcsrc/common/minigames/minigames.qc @@ -1,13 +1,11 @@ #include "minigames.qh" +REGISTER_NET_LINKED(ENT_CLIENT_MINIGAME) + entity minigame_get_descriptor(string id) { - FOREACH(MINIGAMES, true, LAMBDA( - { - if(it.netname == id) - return it; - })); - return world; + FOREACH(Minigames, it.netname == id, return it); + return NULL; } // Get letter index of a tile name @@ -28,8 +26,8 @@ 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 + - eY - eY*(minigame_tile_number(id)+0.5)/rows; + return vec2((minigame_tile_letter(id) + 0.5) / columns, + (1 - (minigame_tile_number(id) + 0.5) / rows)); } // Get a tile name from indices @@ -93,7 +91,7 @@ entity msle_spawn(entity minigame_session, string class_name) e.owner = minigame_session; e.minigame_autoclean = 1; #ifdef SVQC - e.customizeentityforclient = minigame_CheckSend; + setcefc(e, minigame_CheckSend); Net_LinkEntity(e, false, 0, minigame_SendEntity); #endif return e; @@ -129,10 +127,17 @@ int minigame_count_players(entity minigame) #ifdef SVQC for(e = minigame.minigame_players; e; e = e.list_next) #elif defined(CSQC) - e = world; + e = NULL; while( (e = findentity(e,owner,minigame)) ) if ( e.classname == "minigame_player" ) #endif pl_num++; return pl_num; } + +#ifdef CSQC +#include "cl_minigames.qc" +#endif +#ifdef SVQC +#include "sv_minigames.qc" +#endif