From 67b72a1c444f3f16cd0eaec975a2596aa919f110 Mon Sep 17 00:00:00 2001 From: RypoFalem Date: Tue, 16 Sep 2025 22:19:42 -0500 Subject: [PATCH 1/4] Print recipt after using dumprrautomedaltimes Give the user some feedback and let them know where the csv is located. --- src/p_setup.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/p_setup.cpp b/src/p_setup.cpp index d8f91e0fd..db7f73e43 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -9499,6 +9499,7 @@ void Command_dumprrautomedaltimes(void) ); } fclose(out); + CONS_Printf("Medal times written to %s\n", outname); } void Command_Platinums(void) From ddee1675a1a2d852dde2382e12596f3c096a7bea Mon Sep 17 00:00:00 2001 From: RypoFalem Date: Tue, 16 Sep 2025 22:41:51 -0500 Subject: [PATCH 2/4] Fix "platinums" command time differences They never accounted for differences above 1 minute. --- src/p_setup.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/p_setup.cpp b/src/p_setup.cpp index db7f73e43..92d070e43 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -9550,8 +9550,10 @@ void Command_Platinums(void) } else { - CONS_Printf(", %s (+%d:%02d)", stafftime.second.c_str(), - G_TicsToSeconds(stafftime.first - platinumtime), G_TicsToCentiseconds(stafftime.first - platinumtime)); + CONS_Printf(", %s (+%d:%02d:%02d)", stafftime.second.c_str(), + G_TicsToMinutes(stafftime.first - platinumtime, true), + G_TicsToSeconds(stafftime.first - platinumtime), + G_TicsToCentiseconds(stafftime.first - platinumtime)); } names[stafftime.second]++; From 203b0ae5e26bcb9aad37b19bc876200041afabd2 Mon Sep 17 00:00:00 2001 From: haya Date: Wed, 17 Sep 2025 12:00:39 +0800 Subject: [PATCH 3/4] fix v_splitscreen in lua --- src/lua_hudlib_drawlist.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/lua_hudlib_drawlist.c b/src/lua_hudlib_drawlist.c index ad5a62bbc..a3b59b9f6 100644 --- a/src/lua_hudlib_drawlist.c +++ b/src/lua_hudlib_drawlist.c @@ -15,6 +15,7 @@ #include +#include "r_fps.h" #include "v_video.h" #include "z_zone.h" @@ -65,6 +66,7 @@ typedef struct drawitem_s { INT32 threshold; boolean bossmode; boolean p4; + enum viewcontext_e splitnum; // save view number to account for splitscreen } drawitem_t; // The internal structure of a drawlist. @@ -202,6 +204,7 @@ void LUA_HUD_AddDraw( item->patch = patch; item->flags = flags; item->colormap = colormap; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddDrawScaled( @@ -223,6 +226,7 @@ void LUA_HUD_AddDrawScaled( item->patch = patch; item->flags = flags; item->colormap = colormap; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddDrawStretched( @@ -246,6 +250,7 @@ void LUA_HUD_AddDrawStretched( item->patch = patch; item->flags = flags; item->colormap = colormap; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddDrawNum( @@ -263,6 +268,7 @@ void LUA_HUD_AddDrawNum( item->y = y; item->num = num; item->flags = flags; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddDrawPaddedNum( @@ -282,6 +288,7 @@ void LUA_HUD_AddDrawPaddedNum( item->num = num; item->digits = digits; item->flags = flags; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddDrawPingNum( @@ -301,6 +308,7 @@ void LUA_HUD_AddDrawPingNum( item->flags = flags; item->num = num; item->colormap = colormap; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddDrawFill( @@ -320,6 +328,7 @@ void LUA_HUD_AddDrawFill( item->w = w; item->h = h; item->c = c; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddDrawString( @@ -339,6 +348,7 @@ void LUA_HUD_AddDrawString( item->stroffset = CopyString(list, str); item->flags = flags; item->align = align; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddFadeScreen( @@ -352,6 +362,7 @@ void LUA_HUD_AddFadeScreen( item->type = DI_FadeScreen; item->color = color; item->strength = strength; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddDrawTitleCardString( @@ -377,6 +388,7 @@ void LUA_HUD_AddDrawTitleCardString( item->timer = timer; item->threshold = threshold; item->p4 = p4; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddDrawKartString( @@ -394,6 +406,7 @@ void LUA_HUD_AddDrawKartString( item->y = y; item->stroffset = CopyString(list, str); item->flags = flags; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddSetClipRect( @@ -413,6 +426,7 @@ void LUA_HUD_AddSetClipRect( item->w = w; item->h = h; item->flags = flags; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_AddClearClipRect( @@ -422,6 +436,7 @@ void LUA_HUD_AddClearClipRect( size_t i = AllocateDrawItem(list); drawitem_t *item = &list->items[i]; item->type = DI_ClearClipRect; + item->splitnum = R_GetViewNumber(); } void LUA_HUD_DrawList(huddrawlist_h list) @@ -436,6 +451,10 @@ void LUA_HUD_DrawList(huddrawlist_h list) { drawitem_t *item = &list->items[i]; const char *itemstr = &list->strbuf[item->stroffset]; + enum viewcontext_e old_viewcontext = viewcontext; + + // Set view context to account for V_SPLITSCREEN + R_SetViewContext(item->splitnum); switch (item->type) { @@ -514,5 +533,8 @@ void LUA_HUD_DrawList(huddrawlist_h list) I_Error("can't draw draw list item: invalid draw list item type"); continue; } + + // Reset view context back, just incase of some stupid shenanigans + R_SetViewContext(old_viewcontext); } } From eb19af6568819616683354ac41eee770ebd9cc3e Mon Sep 17 00:00:00 2001 From: Dante Helmore Date: Wed, 17 Sep 2025 10:41:17 -0700 Subject: [PATCH 4/4] fix dedicated server replicating local players --- src/d_clisrv.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 73595b483..f2da16ebc 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -4303,7 +4303,11 @@ boolean SV_SpawnServer(void) // strictly speaking, i'm not convinced the following is necessary // but I'm not confident enough to remove it entirely in case it breaks something - { + + // in a listen server, this sends the local player information to the server so + // that the client has players replicated on the server. in dedicated, there is + // no local player! + if (!dedicated) { UINT8 *availabilitiesbuffer = R_GetSkinAvailabilities(false, -1); SINT8 node = 0; for (; node < MAXNETNODES; node++)