From 96b784defd0584712691a4c17891b14c17048268 Mon Sep 17 00:00:00 2001
From: toaster <rollerorbital@gmail.com>
Date: Sat, 6 Apr 2024 22:49:47 +0100
Subject: [PATCH] Convert menus/extras-statistics to cpp

---
 src/menus/CMakeLists.txt                           |  2 +-
 .../{extras-statistics.c => extras-statistics.cpp} | 14 ++++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)
 rename src/menus/{extras-statistics.c => extras-statistics.cpp} (92%)

diff --git a/src/menus/CMakeLists.txt b/src/menus/CMakeLists.txt
index be72a4996b..80d3c261e9 100644
--- a/src/menus/CMakeLists.txt
+++ b/src/menus/CMakeLists.txt
@@ -3,7 +3,7 @@ target_sources(SRB2SDL2 PRIVATE
 	extras-addons.c
 	extras-challenges.c
 	extras-egg-tv.cpp
-	extras-statistics.c
+	extras-statistics.cpp
 	extras-wrong.c
 	main-1.c
 	main-goner.cpp
diff --git a/src/menus/extras-statistics.c b/src/menus/extras-statistics.cpp
similarity index 92%
rename from src/menus/extras-statistics.c
rename to src/menus/extras-statistics.cpp
index 23df0ff267..254165a09d 100644
--- a/src/menus/extras-statistics.c
+++ b/src/menus/extras-statistics.cpp
@@ -68,7 +68,7 @@ static void M_StatisticsMaps(void)
 	UINT16 i;
 	boolean headerexists;
 
-	statisticsmenu.maplist = Z_Malloc(sizeof(UINT16) * (nummapheaders+1 + numkartcupheaders), PU_STATIC, NULL);
+	statisticsmenu.maplist = static_cast<UINT16*>(Z_Malloc(sizeof(UINT16) * (nummapheaders+1 + numkartcupheaders), PU_STATIC, NULL));
 	statisticsmenu.nummaps = 0;
 
 	// Cups
@@ -119,7 +119,7 @@ static void M_StatisticsChars(void)
 {
 	UINT16 i;
 
-	statisticsmenu.maplist = Z_Malloc(sizeof(UINT16) * (1 + numskins), PU_STATIC, NULL);
+	statisticsmenu.maplist = static_cast<UINT16*>(Z_Malloc(sizeof(UINT16) * (1 + numskins), PU_STATIC, NULL));
 	statisticsmenu.nummaps = 0;
 
 	UINT32 beststat = 0;
@@ -208,7 +208,7 @@ static void M_StatisticsChars(void)
 
 static void M_StatisticsGP(void)
 {
-	statisticsmenu.maplist = Z_Malloc(sizeof(UINT16) * (1 + numkartcupheaders), PU_STATIC, NULL);
+	statisticsmenu.maplist = static_cast<UINT16*>(Z_Malloc(sizeof(UINT16) * (1 + numkartcupheaders), PU_STATIC, NULL));
 	statisticsmenu.nummaps = 0;
 
 	cupheader_t *cup;
@@ -305,15 +305,17 @@ boolean M_StatisticsInputs(INT32 ch)
 	{
 		M_StatisticsPageClear();
 
-		statisticsmenu.page +=
-			statisticspage_max
+		int newpage = static_cast<int>(statisticsmenu.page)
+			+ static_cast<int>(statisticspage_max)
 			+ (
 				(menucmd[pid].dpad_lr > 0)
 					? 1
 					: -1
 			);
 
-		statisticsmenu.page %= statisticspage_max;
+		newpage %= static_cast<int>(statisticspage_max);
+
+		statisticsmenu.page = static_cast<statisticspage_t>(newpage);
 
 		M_StatisticsPageInit();
 
-- 
GitLab