From cea9a80b2ac161ea58d91615d79986c18f40bde2 Mon Sep 17 00:00:00 2001
From: toaster <rollerorbital@gmail.com>
Date: Sat, 6 Apr 2024 22:52:59 +0100
Subject: [PATCH] M_StatisticsChars: Sort for descending rounds completed

---
 src/menus/extras-statistics.cpp | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/menus/extras-statistics.cpp b/src/menus/extras-statistics.cpp
index 254165a09d..75c6821b1f 100644
--- a/src/menus/extras-statistics.cpp
+++ b/src/menus/extras-statistics.cpp
@@ -166,6 +166,19 @@ static void M_StatisticsChars(void)
 
 	statisticsmenu.maplist[statisticsmenu.nummaps] = MAXSKINS;
 
+	std::sort(
+		statisticsmenu.maplist,
+		statisticsmenu.maplist + statisticsmenu.nummaps,
+		[](UINT16 a, UINT16 b) {
+			if (skins[a].records.rounds > skins[b].records.rounds)
+				return true;
+			if (skins[a].records.rounds != skins[b].records.rounds)
+				return false;
+			// Stable for skin ID
+			return (a < b);
+		}
+	);
+
 	statisticsmenu.location = 0;
 	statisticsmenu.maxscroll = statisticsmenu.nummaps - 6;
 
-- 
GitLab