Merge branch 'master' into Mario/stats_eloranking
authorMario <mario@smbclan.net>
Thu, 29 Aug 2019 04:44:42 +0000 (14:44 +1000)
committerMario <mario@smbclan.net>
Thu, 29 Aug 2019 04:44:42 +0000 (14:44 +1000)
qcsrc/common/playerstats.qc
qcsrc/server/defs.qh
qcsrc/server/miscfunctions.qc
xonotic-client.cfg

index 2c9bbcde805eb9770015c385877971563b872731..cf272e5635a1eb66e72ec90810b864b10eff9f27 100644 (file)
@@ -152,6 +152,8 @@ void PlayerStats_GameReport_FinalizePlayer(entity p)
                        if(latency)
                                PlayerStats_GameReport_Event_Player(p, PLAYERSTATS_AVGLATENCY, latency);
                }
+
+               db_put(PS_GR_OUT_DB, sprintf("%s:_ranked", p.playerstats_id), ftos(CS(p).cvar_cl_allow_uidranking));
        }
 
        strfree(p.playerstats_id);
@@ -376,6 +378,10 @@ void PlayerStats_GameReport_Handler(entity fh, entity pass, float status)
                                        url_fputs(fh, sprintf("t %s\n", tt));
                                }
 
+                               // elo ranking enabled
+                               nn = db_get(PS_GR_OUT_DB, sprintf("%s:_ranked", p));
+                               if(nn != "") { url_fputs(fh, sprintf("r %s\n", nn)); }
+
                                // output player events
                                for(e = PS_GR_OUT_EVL; (en = db_get(PS_GR_OUT_DB, sprintf("*:%s", e))) != ""; e = en)
                                {
index b45e20986a76c0acba01ac6fdf4cea4137dd0c24..566d57b57deae341a0f86e9cb783d155491c980c 100644 (file)
@@ -181,6 +181,7 @@ float default_weapon_alpha;
 
 .float cvar_cl_allow_uid2name;
 .float cvar_cl_allow_uidtracking;
+.bool cvar_cl_allow_uidranking;
 .string stored_netname;
 
 string gamemode_name;
index a59f4afa231380a58cc9f5e24fd6b7e76dd6e0b5..c68d1a679aaee61c210b496c3c0aa1cc7e980982 100644 (file)
@@ -390,6 +390,8 @@ REPLICATE(autoswitch, bool, "cl_autoswitch");
 
 REPLICATE(cvar_cl_allow_uid2name, bool, "cl_allow_uid2name");
 
+REPLICATE(cvar_cl_allow_uidranking, bool, "cl_allow_uidranking");
+
 REPLICATE(cvar_cl_autoscreenshot, int, "cl_autoscreenshot");
 
 REPLICATE(cvar_cl_autotaunt, float, "cl_autotaunt");
index 0bb2d446d5a6c5083fc6f70924151cc718dab084..68ee079173d7e2cb6a8bc7a94a95254fff148b35 100644 (file)
@@ -809,6 +809,7 @@ set cl_db_saveasdump 0 "write client.db in dump format (loads slower, easier to
 // uid2name
 seta cl_allow_uid2name -1 "-1 = ask if the player wants to disable/enable this feature, 0 = disable, 1 = enable uid2name (allows showing your name in race rankings for instance)"
 seta cl_allow_uidtracking 1 "-1 = ask if the player wants to disable/enable this feature, 0 = disable, 1 = enable uid tracking (allows associating your data with your player ID)"
+seta cl_allow_uidranking 1 "0 = disable, 1 = enable uid ranking (allows statistics like elo to rank you in leaderboards)"
 // FIXME set to -1 before release, once we have a dialog for this!
 
 // polygonoffset for submodel SUCKS SUCKS SUCKS (only a hack for quake1, we don't need that)