From 4ec7c0953da3e838dd5018034c122c191e920705 Mon Sep 17 00:00:00 2001 From: JugadorXEI Date: Tue, 3 Mar 2026 00:40:14 +0100 Subject: [PATCH 1/8] Fix left-to-right loops --- src/objects/loops.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/objects/loops.cpp b/src/objects/loops.cpp index 490d80cf5..216480c27 100644 --- a/src/objects/loops.cpp +++ b/src/objects/loops.cpp @@ -60,7 +60,7 @@ set_shiftxy (R_PointToAngle2(0, 0, dx, dy) - a->angle); const fixed_t adj = FixedMul( - abs(FCOS(AbsAngle(th - ANGLE_90))), + FCOS(AbsAngle(th - ANGLE_90)), FixedHypot(dx, dy)) / 2; vector2_t *xy = &player->loop.shift; From ebc63dca426d8af1d088280cd9300916fe12321a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20De=20Grandpr=C3=A9?= Date: Tue, 3 Mar 2026 09:08:07 -0500 Subject: [PATCH 2/8] Fix disabled analog steering and aiming at 0 input deadzone --- src/g_game.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index 07695fd2f..d3755faa2 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1290,7 +1290,7 @@ retrygetcontrol: value = gamekeydown[deviceID][key]; - if (value >= deadzone) + if (value > deadzone) { return value; } @@ -1451,15 +1451,29 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) return; } + fixed_t deadZoneY = cv_deadzoney[forplayer].value; + const double deadZoneYDecimal = (double) deadZoneY / FRACUNIT; joystickvector.xaxis = G_PlayerInputAnalog(forplayer, gc_turnright, false, DEADZONE_X) - G_PlayerInputAnalog(forplayer, gc_turnleft, false, DEADZONE_X); - joystickvector.yaxis = 0; + if (deadZoneYDecimal <= 0) + { + joystickvector.yaxis = G_PlayerInputAnalog(forplayer, gc_aimbackward, false, DEADZONE_Y) - G_PlayerInputAnalog(forplayer, gc_aimforward, false, DEADZONE_Y); + } + else + { + joystickvector.yaxis = 0; + } G_HandleAxisDeadZone(forplayer, &joystickvector); // For kart, I've turned the aim axis into a digital axis because we only // use it for aiming to throw items forward/backward and the vote screen // This mean that the turn axis will still be gradient but up/down will be 0 // until the stick is pushed far enough - joystickvector.yaxis = G_PlayerInputAnalog(forplayer, gc_aimbackward, false, DEADZONE_Y) - G_PlayerInputAnalog(forplayer, gc_aimforward, false, DEADZONE_Y); + // + // When the deadzone is set to 0 or lower, the aim axis returns to analog to avoid breaking the chasecam and freecam controls + if (deadZoneYDecimal > 0) + { + joystickvector.yaxis = G_PlayerInputAnalog(forplayer, gc_aimbackward, false, DEADZONE_Y) - G_PlayerInputAnalog(forplayer, gc_aimforward, false, DEADZONE_Y); + } if (encoremode) { From b4b6e25bdeff07a2aea280967215ddaba2c23dfa Mon Sep 17 00:00:00 2001 From: NepDisk Date: Tue, 3 Mar 2026 09:13:18 -0500 Subject: [PATCH 3/8] Add new RR Programming credit --- src/f_finale.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/f_finale.c b/src/f_finale.c index 78276c57f..bd741d8fb 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -929,6 +929,7 @@ const char *blancredits[] = { "\"Superstarxalien\"", // Horncode "\"Freaky Mutant Man\"", // Color profiles menu "\"blondedradio\"", // Screen-tracking item roulette, lifted near-directly from RadioRacers + "\"Antoine De Grandpré\"", // Zero Deadzone fix "", "\1Item Design", "\"NepDisk\"", From 1a9cb46f6bb242394be20e8b56dea1b1bbaa6d74 Mon Sep 17 00:00:00 2001 From: Alug Date: Tue, 3 Mar 2026 09:20:40 -0500 Subject: [PATCH 4/8] fix openmpt versions strings leaking --- src/sdl/al_sound.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/sdl/al_sound.c b/src/sdl/al_sound.c index 67ad764f6..2bd57b89e 100644 --- a/src/sdl/al_sound.c +++ b/src/sdl/al_sound.c @@ -349,8 +349,8 @@ void I_StartupSound(void) const char *vendor = alGetString(AL_VENDOR); const char *renderer = alGetString(AL_RENDERER); - CONS_Printf("OpenAL Vendor: %s\n", vendor); - CONS_Printf("OpenAL Renderer: %s\n", renderer); + I_OutputMsg("OpenAL Vendor: %s\n", vendor); + I_OutputMsg("OpenAL Renderer: %s\n", renderer); if (!fastcmp("OpenAL Soft", renderer)) @@ -409,8 +409,13 @@ void I_StartupSound(void) music_volume = sfx_volume = 0.f; #ifdef HAVE_OPENMPT - CONS_Printf("libopenmpt version: %s\n", openmpt_get_string("library_version")); - CONS_Printf("libopenmpt build date: %s\n", openmpt_get_string("build")); + const char *openmptstr; + openmptstr = openmpt_get_string("library_version"); + I_OutputMsg("libopenmpt version: %s\n", openmptstr); + openmpt_free_string(openmptstr); + openmptstr = openmpt_get_string("build"); + I_OutputMsg("libopenmpt build date: %s\n", openmptstr); + openmpt_free_string(openmptstr); #endif #ifdef HAVE_THREADS From b210aa783962daa426e15009b00fab5da114f190 Mon Sep 17 00:00:00 2001 From: Alug Date: Tue, 3 Mar 2026 09:29:15 -0500 Subject: [PATCH 5/8] =?UTF-8?q?OpenGL:=20initialize=20all=20FSurfaceInfo?= =?UTF-8?q?=C2=B4s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit seen this a bunch of times now that occasionally something tries to access uninit values from a surface info since those are really small we just always init them now --- src/hardware/hw_main.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 522715c69..c38c5f39f 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -1076,7 +1076,7 @@ static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom FUINT lightnum = 255; extracolormap_t *colormap = gl_frontsector->extra_colormap; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; Surf.PolyColor.s.alpha = 255; tripwire = P_IsLineTripWire(gl_linedef); @@ -2427,7 +2427,7 @@ static void HWR_RenderPolyObjectPlane(polyobj_t *polysector, boolean isceiling, FBITFIELD blendmode, UINT8 lightlevel, levelflat_t *levelflat, sector_t *FOFsector, UINT8 alpha, extracolormap_t *planecolormap) { - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; FOutVector *v3d; INT32 shader = SHADER_NONE; @@ -2576,9 +2576,8 @@ static void HWR_AddPolyObjectPlanes(void) light = R_GetPlaneLight(gl_frontsector, polyobjsector->floorheight, true); if (po_ptrs[i]->translucency > 0) { - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; FBITFIELD blendmode; - memset(&Surf, 0x00, sizeof(Surf)); blendmode = HWR_TranstableToAlpha(po_ptrs[i]->translucency, &Surf); HWR_AddTransparentPolyobjectFloor(&levelflats[polyobjsector->floorpic], po_ptrs[i], false, polyobjsector->floorheight, (light == -1 ? gl_frontsector->lightlevel : *gl_frontsector->lightlist[light].lightlevel), Surf.PolyColor.s.alpha, polyobjsector, blendmode, (light == -1 ? gl_frontsector->extra_colormap : *gl_frontsector->lightlist[light].extra_colormap)); @@ -2599,9 +2598,8 @@ static void HWR_AddPolyObjectPlanes(void) light = R_GetPlaneLight(gl_frontsector, polyobjsector->ceilingheight, true); if (po_ptrs[i]->translucency > 0) { - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; FBITFIELD blendmode; - memset(&Surf, 0x00, sizeof(Surf)); blendmode = HWR_TranstableToAlpha(po_ptrs[i]->translucency, &Surf); HWR_AddTransparentPolyobjectFloor(&levelflats[polyobjsector->ceilingpic], po_ptrs[i], true, polyobjsector->ceilingheight, (light == -1 ? gl_frontsector->lightlevel : *gl_frontsector->lightlist[light].lightlevel), Surf.PolyColor.s.alpha, polyobjsector, blendmode, (light == -1 ? gl_frontsector->extra_colormap : *gl_frontsector->lightlist[light].extra_colormap)); @@ -3126,7 +3124,7 @@ static void HWR_LinkDrawHackAdd(FOutVector *verts, gl_vissprite_t *spr) static void HWR_LinkDrawHackFinish(void) { UINT32 i; - FSurfaceInfo surf; + FSurfaceInfo surf = {}; surf.PolyColor.rgba = 0xFFFFFFFF; surf.TintColor.rgba = 0xFFFFFFFF; surf.FadeColor.rgba = 0xFFFFFFFF; @@ -3395,7 +3393,7 @@ static void HWR_SplitSprite(gl_vissprite_t *spr) FOutVector baseWallVerts[4]; // This is what the verts should end up as patch_t *gpatch; GLPatch_t *hwrpatch; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; extracolormap_t *colormap = NULL; INT32 lightlevel; boolean lightset = true; @@ -3747,7 +3745,7 @@ static void HWR_DrawSprite(gl_vissprite_t *spr) FOutVector wallVerts[4]; patch_t *gpatch; GLPatch_t *hwrpatch; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; const boolean splat = R_ThingIsFloorSprite(spr->mobj); if (!spr->mobj || !spr->mobj->subsector) @@ -4080,7 +4078,7 @@ static inline void HWR_DrawPrecipitationSprite(gl_vissprite_t *spr) FOutVector wallVerts[4]; patch_t *gpatch; GLPatch_t *hwrpatch; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; if (!spr->mobj || !spr->mobj->subsector) return; @@ -6634,7 +6632,7 @@ void HWR_DoPostProcessor(player_t *player) if (player->flashcount && !HWR_ShouldUsePaletteRendering()) { FOutVector v[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; v[0].x = v[2].y = v[3].x = v[3].y = -4.0f; v[0].y = v[1].x = v[1].y = v[2].x = 4.0f; From 9ce6a0f8371152772982d021c8b87b4550f13355 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Tue, 3 Mar 2026 10:59:30 -0500 Subject: [PATCH 6/8] Add RF_NOMODEL for OGL based on https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2747 --- src/deh_tables.c | 5 +++++ src/hardware/hw_main.c | 4 ++-- src/r_defs.h | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/deh_tables.c b/src/deh_tables.c index 72c259f3c..16fc5b4f0 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -1027,6 +1027,11 @@ struct int_const_s const INT_CONST[] = { {"RF_DROPSHADOW",RF_DROPSHADOW}, {"RF_ABSOLUTELIGHTLEVEL",RF_ABSOLUTELIGHTLEVEL}, {"RF_HIDEINSKYBOX",RF_HIDEINSKYBOX}, +#ifdef HWRENDER + {"RF_NOMODEL",RF_NOMODEL}, +#else + {"RF_NOMODEL",0}, +#endif {"RF_DONTDRAW",RF_DONTDRAW}, {"RF_DONTDRAWP1",RF_DONTDRAWP1}, {"RF_DONTDRAWP2",RF_DONTDRAWP2}, diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index c38c5f39f..a0e311371 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -4659,7 +4659,7 @@ static void HWR_DrawSprites(void) if (spr->mobj && spr->mobj->skin && spr->mobj->sprite == SPR_PLAY) { - if (LIKELY(!cv_glmodels.value || md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound || md2_playermodels[(skin_t*)spr->mobj->skin-skins].scale < 0.0f)) + if (LIKELY(!cv_glmodels.value || md2_playermodels[(skin_t*)spr->mobj->skin-skins].notfound || md2_playermodels[(skin_t*)spr->mobj->skin-skins].scale < 0.0f || (spr->renderflags & RF_NOMODEL))) HWR_DrawSprite(spr); else { @@ -4669,7 +4669,7 @@ static void HWR_DrawSprites(void) } else { - if (LIKELY(!cv_glmodels.value || md2_models[spr->mobj->sprite].notfound || md2_models[spr->mobj->sprite].scale < 0.0f)) + if (LIKELY(!cv_glmodels.value || md2_models[spr->mobj->sprite].notfound || md2_models[spr->mobj->sprite].scale < 0.0f || (spr->renderflags & RF_NOMODEL))) HWR_DrawSprite(spr); else { diff --git a/src/r_defs.h b/src/r_defs.h index da3f547c8..375884378 100644 --- a/src/r_defs.h +++ b/src/r_defs.h @@ -1001,6 +1001,9 @@ typedef enum RF_ABSOLUTELIGHTLEVEL = 0x00010000, // mobj_t.lightlevel is absolute instead of relative RF_HIDEINSKYBOX = 0x00020000, // do not render in skybox +#ifdef HWRENDER + RF_NOMODEL = 0x00040000, // do not draw a model for this mobj in opengl, use its sprite instead +#endif RF_HIDESHIFT = (20), RF_DONTDRAW = 0x0F << RF_HIDESHIFT, // --Don't generate a vissprite From 5a3b2157db3af3c78e816e4d65a9370c80be37f4 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Tue, 3 Mar 2026 12:03:29 -0500 Subject: [PATCH 7/8] Port listplayers from saturn --- src/d_clisrv.c | 101 ++++++++++++++++++++++++++++++++++++++++++++++++- src/d_clisrv.h | 1 + src/d_netcmd.c | 1 + 3 files changed, 102 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 91ed84ea1..327927239 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -212,6 +212,8 @@ static textcmdtic_t *textcmds[TEXTCMD_HASH_SIZE] = {NULL}; consvar_t cv_showjoinaddress = CVAR_INIT ("showjoinaddress", "Off", CV_SAVE, CV_OnOff, NULL); +consvar_t cv_shownodeip = CVAR_INIT ("showipinnodelist", "Off", CV_SAVE, CV_OnOff, NULL); + static CV_PossibleValue_t playbackspeed_cons_t[] = {{1, "MIN"}, {10, "MAX"}, {0, NULL}}; consvar_t cv_playbackspeed = CVAR_INIT ("playbackspeed", "1", 0, playbackspeed_cons_t, NULL); @@ -2918,7 +2920,7 @@ static void Command_Nodes(void) if (playernode[i] != UINT8_MAX) { CONS_Printf(" - node %.2d", playernode[i]); - if (I_GetNodeAddress && (address = I_GetNodeAddress(playernode[i])) != NULL) + if ((I_GetNodeAddress && (address = I_GetNodeAddress(playernode[i])) != NULL) && (cv_shownodeip.value)) CONS_Printf(" - %s", address); } @@ -2933,6 +2935,102 @@ static void Command_Nodes(void) } } +static void Command_Listplayers(void) +{ + const char *address; + int width = 0; + + boolean admin; + boolean spectator; + + /* + Mode of player status for an individual player (admin, spectator). + 1 for admin + 2 for spectator + 4 for both + */ + int mode = 0; + + INT32 totalplayers = 0; + + const char *cc; + char pcc[2]; + + INT32 i; + int n; + + for (i = 0; i < MAXPLAYERS; ++i) + if (playeringame[i]) + { + n = strlen(player_names[i]); + if (n > width) + width = n; + + if (mode != 7) + { + admin = IsPlayerAdmin(i); + spectator = players[i].spectator; + + if (admin) + mode |= 1; + if (spectator) + mode |= 2; + if (admin && spectator) + mode |= 4; + } + } + + for (i = 0; i < MAXPLAYERS; ++i) + if (playeringame[i]) + { + admin = IsPlayerAdmin(i); + spectator = players[i].spectator; + + if (admin) + cc = "\x85";/* red */ + else if (spectator) + cc = "\x86";/* gray */ + else + cc = ""; + + UINT16 chatcolor = skincolors[players[i].skincolor].chatcolor; + + if (chatcolor > V_TANMAP) + { + sprintf(pcc, "%c", '\x80'); + } + else + { + sprintf(pcc, "%c", '\x80' + (chatcolor >> V_CHARCOLORSHIFT)); + } + + CONS_Printf("%.2d: ""%s""%-*s""\x80", i, pcc,width, player_names[i]); + + if ((I_GetNodeAddress && (address = I_GetNodeAddress(playernode[i])) != NULL) && (cv_shownodeip.value)) + CONS_Printf(" -- %s", address); + else/* print spacer */ + { + /* ...but not if there's a crammed status and were admin */ + if (mode != 7 || !admin) + CONS_Printf(" -- ");/* -- self */ + } + + if (admin) + CONS_Printf(M_GetText("%s"" (admin)"),cc); + if (spectator) + CONS_Printf(M_GetText("%s"" (spectator)"),cc); + + CONS_Printf("\n"); + + totalplayers++; + } + + if (totalplayers == 1) + CONS_Printf("\nThere is 1 player in the game.\n"); + else + CONS_Printf("\nThere are %d players in the game.\n", totalplayers); +} + static void Command_Ban(void) { if (COM_Argc() < 2) @@ -3542,6 +3640,7 @@ void D_ClientServerInit(void) COM_AddCommand("reloadbans", Command_ReloadBan); COM_AddCommand("connect", Command_connect); COM_AddCommand("nodes", Command_Nodes); + COM_AddCommand("listplayers", Command_Listplayers); #ifdef HAVE_CURL COM_AddCommand("set_http_login", Command_set_http_login); COM_AddCommand("list_http_logins", Command_list_http_logins); diff --git a/src/d_clisrv.h b/src/d_clisrv.h index d8f51c061..2fb831142 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -437,6 +437,7 @@ extern consvar_t cv_httpsource; extern consvar_t cv_kicktime; extern consvar_t cv_showjoinaddress; +extern consvar_t cv_shownodeip; extern consvar_t cv_playbackspeed; extern consvar_t cv_connectawaittime; diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 40f807536..9fb5160f1 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -1132,6 +1132,7 @@ void D_RegisterServerCommands(void) CV_RegisterVar(&cv_joinnextround); #endif CV_RegisterVar(&cv_showjoinaddress); + CV_RegisterVar(&cv_shownodeip); CV_RegisterVar(&cv_blamecfail); COM_AddCommand("ping", Command_Ping_f); From a8b4ad269d8735a0072a5c87a2c3e0d684cf069b Mon Sep 17 00:00:00 2001 From: NepDisk Date: Tue, 3 Mar 2026 20:01:46 -0500 Subject: [PATCH 8/8] Init more surfs --- src/hardware/hw_draw.c | 22 +++++++++++----------- src/hardware/hw_light.c | 8 ++++---- src/hardware/hw_main.c | 2 +- src/hardware/hw_md2.c | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/hardware/hw_draw.c b/src/hardware/hw_draw.c index fb3e9d0b8..27d48ac6d 100644 --- a/src/hardware/hw_draw.c +++ b/src/hardware/hw_draw.c @@ -239,7 +239,7 @@ void HWR_DrawStretchyFixedPatch(patch_t *gpatch, fixed_t x, fixed_t y, fixed_t p blendmode++; // realign to constants if ((alphalevel = ((option & V_ALPHAMASK) >> V_ALPHASHIFT)) || blendmode) { - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; Surf.PolyColor.s.red = Surf.PolyColor.s.green = Surf.PolyColor.s.blue = 0xff; flags |= HWR_GetBlendModeFlag(blendmode); @@ -364,7 +364,7 @@ void HWR_DrawAffinePatch(patch_t *gpatch, fixed_t x, fixed_t y, const affine_t * blendmode++; // realign to constants if (alphalevel || blendmode) { - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; Surf.PolyColor.s.red = Surf.PolyColor.s.green = Surf.PolyColor.s.blue = 0xff; flags |= HWR_GetBlendModeFlag(blendmode); @@ -516,7 +516,7 @@ void HWR_DrawCroppedPatch(patch_t *gpatch, fixed_t x, fixed_t y, fixed_t pscale, blendmode++; // realign to constants if ((alphalevel = ((option & V_ALPHAMASK) >> V_ALPHASHIFT)) || blendmode) { - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; Surf.PolyColor.s.red = Surf.PolyColor.s.green = Surf.PolyColor.s.blue = 0xff; flags |= HWR_GetBlendModeFlag(blendmode); @@ -636,7 +636,7 @@ void HWR_DrawFlatFill(INT32 x, INT32 y, INT32 w, INT32 h, lumpnum_t flatlumpnum) void HWR_FadeScreenMenuBack(UINT16 color, UINT8 strength) { FOutVector v[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; v[0].x = v[3].x = -1.0f; v[2].x = v[1].x = 1.0f; @@ -682,7 +682,7 @@ void HWR_FadeScreenMenuBack(UINT16 color, UINT8 strength) void HWR_DrawFadeFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color, UINT16 actualcolor, UINT8 strength) { FOutVector v[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; float fx, fy, fw, fh; // 3--2 @@ -762,7 +762,7 @@ void HWR_DrawFadeFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color, UINT16 ac void HWR_DrawConsoleBack(UINT32 color, INT32 height) { FOutVector v[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; // setup some neat-o translucency effect if (!height) //cool hack 0 height is full height @@ -788,7 +788,7 @@ void HWR_DrawConsoleBack(UINT32 color, INT32 height) void HWR_EncoreInvertScreen(void) { FOutVector v[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; v[0].x = v[3].x = -1.0f; v[2].x = v[1].x = 1.0f; @@ -810,7 +810,7 @@ void HWR_EncoreInvertScreen(void) void HWR_DrawTutorialBack(UINT32 color, INT32 boxheight) { FOutVector v[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; INT32 height; if (boxheight < 0) height = -boxheight; @@ -867,7 +867,7 @@ void HWR_drawAMline(const fline_t *fl, INT32 color) void HWR_DrawDiag(INT32 x, INT32 y, INT32 wh, INT32 color) { FOutVector v[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; float fx, fy, fw, fh, fwait = 0; if (wh < 0) @@ -961,7 +961,7 @@ void HWR_DrawDiag(INT32 x, INT32 y, INT32 wh, INT32 color) void HWR_DrawConsoleFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color, UINT32 actualcolor) { FOutVector v[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; float fx, fy, fw, fh; // 3--2 @@ -1041,7 +1041,7 @@ void HWR_DrawFill(INT32 x, INT32 y, INT32 w, INT32 h, INT32 color) { FOutVector v[4]; FBITFIELD flags; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; float fx, fy, fw, fh; UINT8 alphalevel = ((color & V_ALPHAMASK) >> V_ALPHASHIFT); UINT8 blendmode = ((color & V_BLENDMASK) >> V_BLENDSHIFT); diff --git a/src/hardware/hw_light.c b/src/hardware/hw_light.c index 9f1a1b75f..c36815b19 100644 --- a/src/hardware/hw_light.c +++ b/src/hardware/hw_light.c @@ -816,7 +816,7 @@ void HWR_WallLighting(FOutVector *wlVerts) for (j = 0; j < dynlights->nb; j++) { FVector inter; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; float dist_p2d, d[4], s; if (!dynlights->mo[j]) @@ -904,7 +904,7 @@ void HWR_PlaneLighting(FOutVector *clVerts, int nrClipVerts) for (j = 0; j < dynlights->nb; j++) { - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; float dist_p2d, s; if (!dynlights->mo[j]) @@ -979,7 +979,7 @@ void HWR_DoCoronasLighting(FOutVector *outVerts, gl_vissprite_t *spr) if (cv_glcoronas.value && (p_lspr->type & CORONA_SPR)) { // it's an object which emits light FOutVector light[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; float cx = 0.0f, cy = 0.0f, cz = 0.0f; // gravity center float size; UINT8 i; @@ -1065,7 +1065,7 @@ void HWR_DrawCoronas(void) for (j = 0;j < dynlights->nb;j++) { FOutVector light[4]; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; float cx = LIGHT_POS(j).x; float cy = LIGHT_POS(j).y; float cz = LIGHT_POS(j).z; // gravity center diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index a0e311371..636d6d852 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3189,7 +3189,7 @@ static void HWR_DrawDropShadow(mobj_t *thing, fixed_t scale) patch_t *gpatch = NULL; GLPatch_t *hwrpatch; FOutVector shadowVerts[4]; - FSurfaceInfo sSurf; + FSurfaceInfo sSurf = {}; float fscale; float fx; float fy; float offset; extracolormap_t *colormap = NULL; FBITFIELD blendmode = PF_ReverseSubtract; diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index b7e7450da..42aff1e76 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1342,7 +1342,7 @@ boolean HWR_DrawModel(gl_vissprite_t *spr) INT32 nextFrame = -1; UINT8 spr2 = 0; FTransform p; - FSurfaceInfo Surf; + FSurfaceInfo Surf = {}; if (!cv_glmodels.value || spr->precip) return false;