X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmapvoting.qc;h=b5a6014462ea141adf7379172adf8fb9a853cd2c;hb=c5fcf672c473edef7139d4250398184b8ae17224;hp=7ffe4b934fbfa389bcac17b021855f97411d772c;hpb=9185b58da6fe5f2b095d7066577e1e024b4d2798;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mapvoting.qc b/qcsrc/server/mapvoting.qc index 7ffe4b934..b5a601446 100644 --- a/qcsrc/server/mapvoting.qc +++ b/qcsrc/server/mapvoting.qc @@ -4,6 +4,7 @@ #include "command/cmd.qh" #include "command/getreplies.qh" #include "../common/constants.qh" +#include #include "../common/mapinfo.qh" #include "../common/playerstats.qh" #include "../common/util.qh" @@ -14,7 +15,6 @@ float mapvote_nextthink; float mapvote_keeptwotime; float mapvote_timeout; -string mapvote_message; const float MAPVOTE_SCREENSHOT_DIRS_COUNT = 4; string mapvote_screenshot_dirs[MAPVOTE_SCREENSHOT_DIRS_COUNT]; float mapvote_screenshot_dirs_count; @@ -255,7 +255,6 @@ void MapVote_Init() mapvote_timeout = time + autocvar_g_maplist_votable_timeout; if(mapvote_count_real < 3 || mapvote_keeptwotime <= time) mapvote_keeptwotime = 0; - mapvote_message = "Choose a map and press its key!"; MapVote_Spawn(); } @@ -271,14 +270,14 @@ void MapVote_SendPicture(entity to, int id) void MapVote_WriteMask() { - float i; if ( mapvote_count < 24 ) { - float mask,power; - mask = 0; - for(i = 0, power = 1; i < mapvote_count; ++i, power *= 2) - if(mapvote_maps_flags[i] & GTV_AVAILABLE ) - mask |= power; + int mask = 0; + for(int j = 0; j < mapvote_count; ++j) + { + if(mapvote_maps_flags[j] & GTV_AVAILABLE) + mask |= BIT(j); + } if(mapvote_count < 8) WriteByte(MSG_ENTITY, mask); @@ -289,8 +288,8 @@ void MapVote_WriteMask() } else { - for ( i = 0; i < mapvote_count; ++i ) - WriteByte(MSG_ENTITY, mapvote_maps_flags[i]); + for (int j = 0; j < mapvote_count; ++j) + WriteByte(MSG_ENTITY, mapvote_maps_flags[j]); } } @@ -336,6 +335,8 @@ void GameTypeVote_SendOption(int i) strcat("sv_vote_gametype_",type_name,"_name"))); WriteString(MSG_ENTITY, cvar_string( strcat("sv_vote_gametype_",type_name,"_description"))); + WriteString(MSG_ENTITY, cvar_string( + strcat("sv_vote_gametype_",type_name,"_type"))); } } } @@ -522,7 +523,7 @@ float MapVote_CheckRules_2() for(i = 0; i < mapvote_count_real; ++i) if ( mapvote_maps_flags[i] & GTV_AVAILABLE ) { - RandomSelection_Add(NULL, i, string_null, 1, mapvote_selections[i]); + RandomSelection_AddFloat(i, 1, mapvote_selections[i]); if ( gametypevote && mapvote_maps[i] == MapInfo_Type_ToString(MapInfo_CurrentGametype()) ) { currentVotes = mapvote_selections[i]; @@ -542,7 +543,7 @@ float MapVote_CheckRules_2() for(i = 0; i < mapvote_count_real; ++i) if(i != firstPlace) if ( mapvote_maps_flags[i] & GTV_AVAILABLE ) - RandomSelection_Add(NULL, i, string_null, 1, mapvote_selections[i]); + RandomSelection_AddFloat(i, 1, mapvote_selections[i]); secondPlace = RandomSelection_chosen_float; secondPlaceVotes = RandomSelection_best_priority; //dprint("Second place: ", ftos(secondPlace), "\n"); @@ -559,7 +560,6 @@ float MapVote_CheckRules_2() { float didntvote; MapVote_TouchMask(); - mapvote_message = "Now decide between the TOP TWO!"; mapvote_keeptwotime = 0; result = strcat(":vote:keeptwo:", mapvote_maps[firstPlace]); result = strcat(result, ":", ftos(firstPlaceVotes)); @@ -590,10 +590,8 @@ float MapVote_CheckRules_2() void MapVote_Tick() { - float keeptwo; float totalvotes; - keeptwo = mapvote_keeptwotime; MapVote_CheckRules_1(); // count if(MapVote_CheckRules_2()) // decide return;