From 00112bc4c85e02d83724ecfdf4660d189a4398a0 Mon Sep 17 00:00:00 2001 From: alufolie91 Date: Sat, 26 Aug 2023 07:27:23 +0200 Subject: [PATCH 1/3] Two small things from Snowy-Kart - small position number (has been made toggable) - toggable minimap playernames from: https://github.com/JadenArcm/Snowy-Kart --- src/console.c | 34 +++---- src/d_netcmd.c | 7 ++ src/d_netcmd.h | 3 + src/k_kart.c | 39 ++++---- src/m_menu.c | 13 ++- src/v_video.c | 263 +++++++++++++++++++++++++++++++++++++++++++++++++ src/v_video.h | 6 ++ 7 files changed, 322 insertions(+), 43 deletions(-) diff --git a/src/console.c b/src/console.c index f3e56aae8..99d032b7f 100644 --- a/src/console.c +++ b/src/console.c @@ -153,25 +153,25 @@ consvar_t cons_backcolor = {"con_backcolor", "Black", CV_CALL|CV_SAVE, backcolor static CV_PossibleValue_t menuhighlight_cons_t[] = { - {0, "Game type"}, - {V_YELLOWMAP, "Always yellow"}, - {V_PURPLEMAP, "Always purple"}, - {V_GREENMAP, "Always green"}, - {V_BLUEMAP, "Always blue"}, - {V_REDMAP, "Always red"}, - {V_GRAYMAP, "Always gray"}, - {V_ORANGEMAP, "Always orange"}, - {V_SKYMAP, "Always sky-blue"}, - {V_GOLDMAP, "Always gold"}, - {V_LAVENDERMAP, "Always lavender"}, - {V_TEAMAP, "Always tea-green"}, - {V_STEELMAP, "Always steel-blue"}, - {V_PINKMAP, "Always pink"}, - {V_BROWNMAP, "Always brown"}, - {V_PEACHMAP, "Always peach"}, + {0, "Gametype Default"}, + {V_YELLOWMAP, "Always Yellow"}, + {V_PURPLEMAP, "Always Purple"}, + {V_GREENMAP, "Always Green"}, + {V_BLUEMAP, "Always Blue"}, + {V_REDMAP, "Always Red"}, + {V_GRAYMAP, "Always Gray"}, + {V_ORANGEMAP, "Always Orange"}, + {V_SKYMAP, "Always Sky-Blue"}, + {V_GOLDMAP, "Always Gold"}, + {V_LAVENDERMAP, "Always Lavender"}, + {V_TEAMAP, "Always Tea-Green"}, + {V_STEELMAP, "Always Steel-Blue"}, + {V_PINKMAP, "Always Pink"}, + {V_BROWNMAP, "Always Brown"}, + {V_PEACHMAP, "Always Peach"}, {0, NULL} }; -consvar_t cons_menuhighlight = {"menuhighlight", "Game type", CV_SAVE, menuhighlight_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cons_menuhighlight = {"menuhighlight", "Gametype Default", CV_SAVE, menuhighlight_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; static void CON_Print(char *msg); diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 84bfc364c..2ee2b5cd2 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -466,6 +466,10 @@ consvar_t cv_showping = {"showping", "Always", CV_SAVE, showping_cons_t, NULL, 0 static CV_PossibleValue_t pingmeasurement_cons_t[] = {{0, "Frames"}, {1, "Milliseconds"}, {0, NULL}}; consvar_t cv_pingmeasurement = {"pingmeasurement", "Frames", CV_SAVE, pingmeasurement_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_smallpos = {"smallpositionnumber", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; + +consvar_t cv_showminimapnames = {"showminimapnames", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; + consvar_t cv_showviewpointtext = {"showviewpointtext", "On", CV_SAVE, CV_OnOff, 0, 0, NULL, NULL, 0, 0, NULL}; // Intermission time Tails 04-19-2002 @@ -765,6 +769,9 @@ void D_RegisterServerCommands(void) CV_RegisterVar(&cv_pingtimeout); CV_RegisterVar(&cv_showping); CV_RegisterVar(&cv_pingmeasurement); + + CV_RegisterVar(&cv_smallpos); + CV_RegisterVar(&cv_showminimapnames); CV_RegisterVar(&cv_showtrackaddon); diff --git a/src/d_netcmd.h b/src/d_netcmd.h index e92289397..aece0c319 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -150,6 +150,9 @@ extern consvar_t cv_pingtimeout; extern consvar_t cv_showping; extern consvar_t cv_pingmeasurement; +extern consvar_t cv_smallpos; +extern consvar_t cv_showminimapnames; + extern consvar_t cv_showviewpointtext; extern consvar_t cv_skipmapcheck; diff --git a/src/k_kart.c b/src/k_kart.c index 1f62f7c72..19bc3f774 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -7768,13 +7768,13 @@ static void K_DrawKartPositionNum(INT32 num) // POSI_X = BASEVIDWIDTH - 51; // 269 // POSI_Y = BASEVIDHEIGHT- 64; // 136 - boolean win = (stplyr->exiting && num == 1); - //INT32 X = POSI_X; - INT32 W = SHORT(kp_positionnum[0][0]->width); - fixed_t scale = FRACUNIT; + fixed_t scale = (cv_smallpos.value) ? FRACUNIT / 2 : FRACUNIT; patch_t *localpatch = kp_positionnum[0][0]; - //INT32 splitflags = K_calcSplitFlags(V_SNAPTOBOTTOM|V_SNAPTORIGHT); + INT32 W = SHORT(kp_positionnum[0][0]->width); INT32 fx = 0, fy = 0, fflags = 0; + INT32 xoffs = (cv_smallpos.value) ? -18 : 0; + + boolean win = (stplyr->exiting && num == 1); boolean flipdraw = false; // flip the order we draw it in for MORE splitscreen bs. fun. boolean flipvdraw = false; // used only for 2p splitscreen so overtaking doesn't make 1P's position fly off the screen. boolean overtake = false; @@ -7784,7 +7784,8 @@ static void K_DrawKartPositionNum(INT32 num) scale *= 2; overtake = true; // this is used for splitscreen stuff in conjunction with flipdraw. } - if (splitscreen) + + if ((splitscreen) && (cv_smallpos.value == 0)) scale /= 2; W = FixedMul(W<>FRACBITS; @@ -7792,7 +7793,7 @@ static void K_DrawKartPositionNum(INT32 num) // pain and suffering defined below if (!splitscreen) { - fx = POSI_X; + fx = POSI_X + xoffs; fy = BASEVIDHEIGHT - 8; fflags = V_SNAPTOBOTTOM|V_SNAPTORIGHT; } @@ -8518,28 +8519,24 @@ static void K_drawKartMinimapHead(mobj_t *mo, INT32 x, INT32 y, INT32 flags, pat amxpos = amnumxpos + ((x + AutomapPic->width/2 - (facemmapprefix[skin]->width/2))<height/2 - (facemmapprefix[skin]->height/2))<width/2 + (facemmapprefix[skin]->width/2))<color) // 'default' color V_DrawSciencePatch(amxpos, amypos, flags, facemmapprefix[skin], FRACUNIT); else { - UINT8 *colormap; - if (mo->colorized) - colormap = R_GetTranslationColormap(TC_RAINBOW, mo->color, GTC_CACHE); - else - colormap = R_GetTranslationColormap(skin, mo->color, GTC_CACHE); - V_DrawFixedPatch(amxpos, amypos, FRACUNIT, flags, facemmapprefix[skin], colormap); + UINT8 *colormap = R_GetTranslationColormap((mo->colorized) ? TC_RAINBOW : skin, mo->color, GTC_CACHE); + V_DrawFixedPatch(amxpos + (2 * FRACUNIT), amypos + (2 * FRACUNIT), FRACUNIT / 2, flags, facemmapprefix[skin], colormap); + + if (cv_showminimapnames.value && !(modeattacking || gamestate == GS_TIMEATTACK)) + { + const char *player_name = va("%c%s", V_GetSkincolorChar(mo->color), player_names[mo->player - players]); + V_DrawCenteredSmallStringAtFixed(amxpos + (4 * FRACUNIT), amypos - (3 * FRACUNIT), V_ALLOWLOWERCASE|flags, player_name); + } + if (mo->player && ((G_RaceGametype() && mo->player->kartstuff[k_position] == spbplace) || (G_BattleGametype() && K_IsPlayerWanted(mo->player)))) { - V_DrawFixedPatch(amxpos - (4<= HU_FONTSIZE || !hu_font[c]) + { + cx += (spacewidth * dupx)<width*(dupx/4); + } + else + w = hu_font[c]->width * dupx / 2; + if ((cx>>FRACBITS) > scrwidth) + break; + if ((cx>>FRACBITS)+left + w < 0) //left boundary check + { + cx += w< Date: Sun, 27 Aug 2023 22:33:21 +0200 Subject: [PATCH 2/3] kill smallposition toggle for now and add minimap head size toggle instead eeeeeeeeeeeeeeeeeeee --- src/d_netcmd.c | 7 +++++-- src/d_netcmd.h | 3 ++- src/k_kart.c | 27 ++++++++++++++++----------- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 2ee2b5cd2..63b94c151 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -466,9 +466,10 @@ consvar_t cv_showping = {"showping", "Always", CV_SAVE, showping_cons_t, NULL, 0 static CV_PossibleValue_t pingmeasurement_cons_t[] = {{0, "Frames"}, {1, "Milliseconds"}, {0, NULL}}; consvar_t cv_pingmeasurement = {"pingmeasurement", "Frames", CV_SAVE, pingmeasurement_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_smallpos = {"smallpositionnumber", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +//consvar_t cv_smallpos = {"smallpositionnumber", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_showminimapnames = {"showminimapnames", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_minihead = {"smallminimapplayers", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_showviewpointtext = {"showviewpointtext", "On", CV_SAVE, CV_OnOff, 0, 0, NULL, NULL, 0, 0, NULL}; @@ -770,8 +771,10 @@ void D_RegisterServerCommands(void) CV_RegisterVar(&cv_showping); CV_RegisterVar(&cv_pingmeasurement); - CV_RegisterVar(&cv_smallpos); + //CV_RegisterVar(&cv_smallpos); CV_RegisterVar(&cv_showminimapnames); + CV_RegisterVar(&cv_minihead); + CV_RegisterVar(&cv_showtrackaddon); diff --git a/src/d_netcmd.h b/src/d_netcmd.h index aece0c319..dfde12969 100644 --- a/src/d_netcmd.h +++ b/src/d_netcmd.h @@ -150,8 +150,9 @@ extern consvar_t cv_pingtimeout; extern consvar_t cv_showping; extern consvar_t cv_pingmeasurement; -extern consvar_t cv_smallpos; +//extern consvar_t cv_smallpos; extern consvar_t cv_showminimapnames; +extern consvar_t cv_minihead; extern consvar_t cv_showviewpointtext; diff --git a/src/k_kart.c b/src/k_kart.c index 19bc3f774..e48fef9c2 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -7768,13 +7768,14 @@ static void K_DrawKartPositionNum(INT32 num) // POSI_X = BASEVIDWIDTH - 51; // 269 // POSI_Y = BASEVIDHEIGHT- 64; // 136 - fixed_t scale = (cv_smallpos.value) ? FRACUNIT / 2 : FRACUNIT; - patch_t *localpatch = kp_positionnum[0][0]; - INT32 W = SHORT(kp_positionnum[0][0]->width); - INT32 fx = 0, fy = 0, fflags = 0; - INT32 xoffs = (cv_smallpos.value) ? -18 : 0; - boolean win = (stplyr->exiting && num == 1); + //INT32 X = POSI_X; + INT32 W = SHORT(kp_positionnum[0][0]->width); + fixed_t scale = FRACUNIT; + patch_t *localpatch = kp_positionnum[0][0]; + //INT32 splitflags = K_calcSplitFlags(V_SNAPTOBOTTOM|V_SNAPTORIGHT); + INT32 fx = 0, fy = 0, fflags = 0; + INT32 xoffs = (cv_showinput.value) ? -48 : 0; boolean flipdraw = false; // flip the order we draw it in for MORE splitscreen bs. fun. boolean flipvdraw = false; // used only for 2p splitscreen so overtaking doesn't make 1P's position fly off the screen. boolean overtake = false; @@ -7784,8 +7785,9 @@ static void K_DrawKartPositionNum(INT32 num) scale *= 2; overtake = true; // this is used for splitscreen stuff in conjunction with flipdraw. } - - if ((splitscreen) && (cv_smallpos.value == 0)) + if (splitscreen) + scale /= 2; + if (cv_showinput.value && !splitscreen) // anuther one. scale /= 2; W = FixedMul(W<>FRACBITS; @@ -8524,19 +8526,22 @@ static void K_drawKartMinimapHead(mobj_t *mo, INT32 x, INT32 y, INT32 flags, pat else { UINT8 *colormap = R_GetTranslationColormap((mo->colorized) ? TC_RAINBOW : skin, mo->color, GTC_CACHE); - V_DrawFixedPatch(amxpos + (2 * FRACUNIT), amypos + (2 * FRACUNIT), FRACUNIT / 2, flags, facemmapprefix[skin], colormap); + + if (cv_minihead.value == 1) + V_DrawFixedPatch(amxpos + (2 * FRACUNIT), amypos + (2 * FRACUNIT), FRACUNIT/2, flags, facemmapprefix[skin], colormap); + else if (cv_minihead.value == 0) + V_DrawFixedPatch(amxpos + (2 * FRACUNIT), amypos + (2 * FRACUNIT), FRACUNIT, flags, facemmapprefix[skin], colormap); if (cv_showminimapnames.value && !(modeattacking || gamestate == GS_TIMEATTACK)) { const char *player_name = va("%c%s", V_GetSkincolorChar(mo->color), player_names[mo->player - players]); V_DrawCenteredSmallStringAtFixed(amxpos + (4 * FRACUNIT), amypos - (3 * FRACUNIT), V_ALLOWLOWERCASE|flags, player_name); } - if (mo->player && ((G_RaceGametype() && mo->player->kartstuff[k_position] == spbplace) || (G_BattleGametype() && K_IsPlayerWanted(mo->player)))) { - V_DrawFixedPatch(amxpos, amypos, FRACUNIT / 2, flags, kp_wantedreticle, NULL); + V_DrawFixedPatch(amxpos - (4< Date: Mon, 28 Aug 2023 22:28:41 +0200 Subject: [PATCH 3/3] fix the wanted recticle also small fix to big players --- src/k_kart.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/k_kart.c b/src/k_kart.c index e48fef9c2..f270718a5 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -8530,7 +8530,7 @@ static void K_drawKartMinimapHead(mobj_t *mo, INT32 x, INT32 y, INT32 flags, pat if (cv_minihead.value == 1) V_DrawFixedPatch(amxpos + (2 * FRACUNIT), amypos + (2 * FRACUNIT), FRACUNIT/2, flags, facemmapprefix[skin], colormap); else if (cv_minihead.value == 0) - V_DrawFixedPatch(amxpos + (2 * FRACUNIT), amypos + (2 * FRACUNIT), FRACUNIT, flags, facemmapprefix[skin], colormap); + V_DrawFixedPatch(amxpos, amypos, FRACUNIT, flags, facemmapprefix[skin], colormap); if (cv_showminimapnames.value && !(modeattacking || gamestate == GS_TIMEATTACK)) { @@ -8541,6 +8541,9 @@ static void K_drawKartMinimapHead(mobj_t *mo, INT32 x, INT32 y, INT32 flags, pat && ((G_RaceGametype() && mo->player->kartstuff[k_position] == spbplace) || (G_BattleGametype() && K_IsPlayerWanted(mo->player)))) { + if (cv_minihead.value == 1) + V_DrawFixedPatch(amxpos, amypos, FRACUNIT / 2, flags, kp_wantedreticle, NULL); + else if (cv_minihead.value == 0) V_DrawFixedPatch(amxpos - (4<