From 7c7b3c5daa557d9ad4a94ff0b1040325b88d1e9b Mon Sep 17 00:00:00 2001 From: Samual Lenks Date: Sun, 3 Mar 2013 01:04:06 -0500 Subject: [PATCH] Cleanup of count_ordinal stuffz --- qcsrc/common/util.qc | 26 +++++++++----------------- qcsrc/server/command/getreplies.qc | 6 +++--- qcsrc/server/miscfunctions.qc | 16 ---------------- 3 files changed, 12 insertions(+), 36 deletions(-) diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index a7a7d59822..4cb51f0af6 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -2615,27 +2615,19 @@ string count_ordinal(float interval) // Basically, it just allows you to represent a number or count in different ways // depending on the number... like, with count_ordinal you can provide integers // and retrieve 1st, 2nd, 3rd, nth ordinal numbers in a clean and simple way. - - switch(mod(floor(interval), 100)) + if(floor((mod(interval, 100))/10) * 10 != 10) // examples: 12th, 111th, 213th will not execute this block { - // if the first two numbers are 11,12,13, use nth for output - case 11: - case 12: - case 13: - { return sprintf(_("%dth"), interval); } - - default: + // otherwise, check normally for 1st,2nd,3rd insertions + switch(mod(interval, 10)) { - // otherwise, check normally for 1st,2nd,3rd insertions - switch(mod(interval, 10)) - { - case 1: return sprintf(_("%dst"), interval); - case 2: return sprintf(_("%dnd"), interval); - case 3: return sprintf(_("%drd"), interval); - } - return sprintf(_("%dth"), interval); + case 1: return sprintf(_("%dst"), interval); + case 2: return sprintf(_("%dnd"), interval); + case 3: return sprintf(_("%drd"), interval); + default: return sprintf(_("%dth"), interval); } } + else { return sprintf(_("%dth"), interval); } + return ""; } diff --git a/qcsrc/server/command/getreplies.qc b/qcsrc/server/command/getreplies.qc index 0bedd6d5e2..39206966cf 100644 --- a/qcsrc/server/command/getreplies.qc +++ b/qcsrc/server/command/getreplies.qc @@ -96,7 +96,7 @@ string getrankings() continue; n = race_readName(map, i); - p = race_placeName(i); + p = count_ordinal(i); s = strcat(s, strpad(8, p), " ", strpad(-8, TIME_ENCODED_TOSTRING(t)), " ", n, "\n"); } @@ -240,7 +240,7 @@ string getladder() s = strcat(s, " ^7Total ^3|"); for(i = 1; i <= LADDER_CNT; ++i) - { s = strcat(s, " ^7", race_placeName(i), " ^3|"); } + { s = strcat(s, " ^7", count_ordinal(i), " ^3|"); } s = strcat(s, " ^7Speed awards ^3| ^7Name"); s = strcat(s, "\n^3----+--------"); @@ -263,7 +263,7 @@ string getladder() if(argv(LADDER_CNT+1) == "") // total is 0, skip continue; - s = strcat(s, strpad(4, race_placeName(i+1)), "^3| ^7"); // pos + s = strcat(s, strpad(4, count_ordinal(i+1)), "^3| ^7"); // pos s = strcat(s, strpad(7, argv(LADDER_CNT+1)), "^3| ^7"); // total for(j = 1; j <= min(9, LADDER_CNT); ++j) diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index fd7020f443..2b73841808 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -2016,22 +2016,6 @@ string race_readName(string map, float pos) return uid2name(db_get(ServerProgsDB, strcat(map, rr, "crypto_idfp", ftos(pos)))); } -string race_placeName(float pos) { - if(floor((mod(pos, 100))/10) * 10 != 10) // examples: 12th, 111th, 213th will not execute this block - { - if(mod(pos, 10) == 1) - return strcat(ftos(pos), "st"); - else if(mod(pos, 10) == 2) - return strcat(ftos(pos), "nd"); - else if(mod(pos, 10) == 3) - return strcat(ftos(pos), "rd"); - else - return strcat(ftos(pos), "th"); - } - else - return strcat(ftos(pos), "th"); -} - float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, float badsurfaceflags, float attempts, float maxaboveground, float minviewdistance) { float m, i; -- 2.39.2