diff --git a/src/d_main.cpp b/src/d_main.cpp index 0ff725651..2343a837c 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -510,6 +510,29 @@ static void D_Display(void) ps_rendercalltime = I_GetPreciseTime(); + if (rendermode == render_soft) + { + if (cv_homremoval.value) + { + if (cv_homremoval.value == 1) + { + // Clear the software screen buffer to remove HOM + memset(screens[0], 31, vid.width * vid.height * vid.bpp); + } + else + { + //'development' HOM removal -- makes it blindingly obvious if HOM is spotted. + memset(screens[0], 32+(timeinmap&15), vid.width * vid.height * vid.bpp); + } + } + + if (r_splitscreen == 2) + { + // Draw over the fourth screen so you don't have to stare at a HOM :V + V_DrawFill(viewwidth, viewheight, viewwidth, viewheight, 31|V_NOSCALESTART); + } + } + for (i = 0; i <= r_splitscreen; i++) { if (players[displayplayers[i]].mo || players[displayplayers[i]].playerstate == PST_DEAD) diff --git a/src/r_main.c b/src/r_main.c index c852b08d4..929175e1c 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1475,26 +1475,6 @@ void R_RenderPlayerView(void) INT32 nummasks = 1; maskcount_t* masks = malloc(sizeof(maskcount_t)); - // if this is display player 1 - if (cv_homremoval.value && player == &players[displayplayers[0]]) - { - if (cv_homremoval.value == 1) - { - // Clear the software screen buffer to remove HOM - memset(screens[0], 31, vid.width * vid.height * vid.bpp); - } - else - { - //'development' HOM removal -- makes it blindingly obvious if HOM is spotted. - memset(screens[0], 32+(timeinmap&15), vid.width * vid.height * vid.bpp); - } - } - else if (r_splitscreen == 2 && player == &players[displayplayers[2]]) - { - // Draw over the fourth screen so you don't have to stare at a HOM :V - V_DrawFill(viewwidth, viewheight, viewwidth, viewheight, 31|V_NOSCALESTART); - } - R_SetupFrame(viewssnum); framecount++; validcount++;