X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Frace.qc;h=2f158898198aafe3b45aeedbe4a1a04979fbf6b8;hb=bf373f4f3d439352b070895136f9c38c96613944;hp=3c13d5b042eada5c7c59cb363ace053ec5a60899;hpb=0e7ed909bffb4ff21f0c68d163edfc17487e380a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/race.qc b/qcsrc/server/race.qc index 3c13d5b04..2f1588981 100644 --- a/qcsrc/server/race.qc +++ b/qcsrc/server/race.qc @@ -101,9 +101,7 @@ void race_InitSpectator() string rr; float grecordtime[RANKINGS_CNT]; string grecordholder[RANKINGS_CNT]; -#ifdef UID string grecorduid[RANKINGS_CNT]; -#endif float worst_time; // last ranked time float have_recs; // have we already read the records from the database before? float race_GetTime(float pos) { @@ -117,15 +115,11 @@ float race_GetTime(float pos) { for(i=0;i=0;--i) + if(grecorduid[i] == myuid) + return i+1; + } for (i=RANKINGS_CNT-1;i>=0;--i) - if(grecorduid[i] == myuid) - return i+1; - for (i=RANKINGS_CNT-1;i>=0;--i) - if(grecordholder[i] == net_name) - return i+1; - return 0; -} -#endif - -float race_CheckName(string net_name) { // Does the name already exist in rankings? In that case, where? (otherwise 0) - float i; - for (i=RANKINGS_CNT-1;i>=0;--i) - if(grecordholder[i] == net_name) - return i+1; + if(!grecorduid[i]) + if(grecordholder[i] == net_name) + return i+1; return 0; } @@ -224,11 +212,7 @@ string race_PlaceName(float pos) { void race_SetTime(entity e, float t, float match_rec) { float pos, prevpos; pos = race_GetPos(t); -#ifdef UID - prevpos = race_CheckUID(e.uid, e.netname); -#else - prevpos = race_CheckName(e.netname); -#endif + prevpos = race_CheckUID(e.crypto_idfp, e.netname); float oldrec; string recorddifference; @@ -254,37 +238,29 @@ void race_SetTime(entity e, float t, float match_rec) { for (i=prevpos-1;i>pos-1;--i) { db_put(ServerProgsDB, strcat(GetMapname(), rr, "time", ftos(i)), ftos(grecordtime[i-1])); db_put(ServerProgsDB, strcat(GetMapname(), rr, "netname", ftos(i)), grecordholder[i-1]); -#ifdef UID - db_put(ServerProgsDB, strcat(GetMapname(), rr, "uid", ftos(i)), grecorduid[i-1]); -#endif + db_put(ServerProgsDB, strcat(GetMapname(), rr, "crypto_idfp", ftos(i)), grecorduid[i-1]); grecordtime[i] = grecordtime[i-1]; if (grecordholder[i]) strunzone(grecordholder[i]); grecordholder[i] = strzone(grecordholder[i-1]); -#ifdef UID if (grecorduid[i]) strunzone(grecorduid[i]); grecorduid[i] = strzone(grecorduid[i-1]); -#endif } } else { // player has no ranked record yet for (i=RANKINGS_CNT-1;i>pos-1;--i) { db_put(ServerProgsDB, strcat(GetMapname(), rr, "time", ftos(i)), ftos(grecordtime[i-1])); db_put(ServerProgsDB, strcat(GetMapname(), rr, "netname", ftos(i)), grecordholder[i-1]); -#ifdef UID - db_put(ServerProgsDB, strcat(GetMapname(), rr, "uid", ftos(i)), grecorduid[i-1]); -#endif + db_put(ServerProgsDB, strcat(GetMapname(), rr, "crypto_idfp", ftos(i)), grecorduid[i-1]); grecordtime[i] = grecordtime[i-1]; if (grecordholder[i]) strunzone(grecordholder[i]); grecordholder[i] = strzone(grecordholder[i-1]); -#ifdef UID if (grecorduid[i]) strunzone(grecorduid[i]); grecorduid[i] = strzone(grecorduid[i-1]); -#endif } } @@ -292,39 +268,31 @@ void race_SetTime(entity e, float t, float match_rec) { if (pos == 1) { db_put(ServerProgsDB, strcat(GetMapname(), rr, "time"), ftos(t)); db_put(ServerProgsDB, strcat(GetMapname(), rr, "netname"), e.netname); -#ifdef UID - db_put(ServerProgsDB, strcat(GetMapname(), rr, "uid"), e.uid); -#endif + db_put(ServerProgsDB, strcat(GetMapname(), rr, "crypto_idfp"), e.crypto_idfp); grecordtime[0] = t; if (grecordholder[0]) strunzone(grecordholder[0]); grecordholder[0] = strzone(e.netname); -#ifdef UID if (grecorduid[0]) strunzone(grecorduid[0]); - grecorduid[0] = strzone(e.uid); -#endif + grecorduid[0] = strzone(e.crypto_idfp); write_recordmarker(e, time - TIME_DECODE(t), TIME_DECODE(t)); race_send_recordtime(MSG_ALL); } else { db_put(ServerProgsDB, strcat(GetMapname(), rr, "time", ftos(pos-1)), ftos(t)); db_put(ServerProgsDB, strcat(GetMapname(), rr, "netname", ftos(pos-1)), e.netname); -#ifdef UID - db_put(ServerProgsDB, strcat(GetMapname(), rr, "uid", ftos(pos-1)), e.uid); -#endif + db_put(ServerProgsDB, strcat(GetMapname(), rr, "crypto_idfp", ftos(pos-1)), e.crypto_idfp); grecordtime[pos-1] = t; if (grecordholder[pos-1]) strunzone(grecordholder[pos-1]); grecordholder[pos-1] = strzone(e.netname); -#ifdef UID if (grecorduid[pos-1]) strunzone(grecorduid[pos-1]); - grecorduid[pos-1] = strzone(e.uid); -#endif + grecorduid[pos-1] = strzone(e.crypto_idfp); } if (pos == RANKINGS_CNT) @@ -368,53 +336,41 @@ void race_DeleteTime(float pos) { if (i == 0) { db_put(ServerProgsDB, strcat(GetMapname(), rr, "time"), ftos(grecordtime[1])); db_put(ServerProgsDB, strcat(GetMapname(), rr, "netname"), grecordholder[1]); -#ifdef UID - db_put(ServerProgsDB, strcat(GetMapname(), rr, "uid"), grecorduid[1]); -#endif + db_put(ServerProgsDB, strcat(GetMapname(), rr, "crypto_idfp"), grecorduid[1]); grecordtime[0] = grecordtime[1]; if (grecordholder[i]) strunzone(grecordholder[0]); grecordholder[0] = strzone(grecordholder[1]); -#ifdef UID if (grecorduid[i]) strunzone(grecorduid[0]); grecorduid[0] = strzone(grecorduid[1]); -#endif } else if (i == RANKINGS_CNT-1) { db_put(ServerProgsDB, strcat(GetMapname(), rr, "time", ftos(i)), string_null); db_put(ServerProgsDB, strcat(GetMapname(), rr, "netname", ftos(i)), string_null); -#ifdef UID - db_put(ServerProgsDB, strcat(GetMapname(), rr, "uid", ftos(i)), string_null); -#endif + db_put(ServerProgsDB, strcat(GetMapname(), rr, "crypto_idfp", ftos(i)), string_null); grecordtime[i] = 0; if (grecordholder[i]) strunzone(grecordholder[i]); grecordholder[i] = string_null; -#ifdef UID if (grecorduid[i]) strunzone(grecorduid[i]); grecorduid[i] = string_null; -#endif } else { db_put(ServerProgsDB, strcat(GetMapname(), rr, "time", ftos(i)), ftos(grecordtime[i+1])); db_put(ServerProgsDB, strcat(GetMapname(), rr, "netname", ftos(i)), grecordholder[i+1]); -#ifdef UID - db_put(ServerProgsDB, strcat(GetMapname(), rr, "uid", ftos(i)), grecorduid[i+1]); -#endif + db_put(ServerProgsDB, strcat(GetMapname(), rr, "crypto_idfp", ftos(i)), grecorduid[i+1]); grecordtime[i] = grecordtime[i+1]; if (grecordholder[i]) strunzone(grecordholder[i]); grecordholder[i] = strzone(grecordholder[i+1]); -#ifdef UID if (grecorduid[i]) strunzone(grecorduid[i]); grecorduid[i] = strzone(grecorduid[i+1]); -#endif } } @@ -1246,7 +1202,7 @@ float race_GetFractionalLapCount(entity e) // scoreboard, immediately updates when overtaking // // requires the track to be built so you never get farther away from the - // next checkpoint, though, and current Nexuiz race maps are not built that + // next checkpoint, though, and current Xonotic race maps are not built that // way // // also, this code is slow and would need optimization (i.e. "next CP"