Okay lets ACTUALLY fix it now :V

This commit is contained in:
TehRealSalt 2017-12-24 09:19:59 -05:00
parent ae1fc244c5
commit 9c7aad2929
1 changed files with 25 additions and 16 deletions

View File

@ -4144,13 +4144,15 @@ static INT32 K_calcSplitFlags(INT32 snapflags)
{ {
INT32 splitflags = 0; INT32 splitflags = 0;
if (!splitscreen) if (splitscreen == 0)
return snapflags; return snapflags;
if (stplyr != &players[displayplayer]) if (stplyr != &players[displayplayer])
{ {
if (splitscreen == 1 && stplyr == &players[secondarydisplayplayer]) if (splitscreen == 1 && stplyr == &players[secondarydisplayplayer])
{
splitflags |= V_SPLITSCREEN; splitflags |= V_SPLITSCREEN;
}
else if (splitscreen > 1) else if (splitscreen > 1)
{ {
if (stplyr == &players[thirddisplayplayer] || stplyr == &players[fourthdisplayplayer]) if (stplyr == &players[thirddisplayplayer] || stplyr == &players[fourthdisplayplayer])
@ -4165,10 +4167,13 @@ static INT32 K_calcSplitFlags(INT32 snapflags)
else else
snapflags &= ~V_SNAPTOBOTTOM; snapflags &= ~V_SNAPTOBOTTOM;
if (splitflags & V_HORZSCREEN) if (splitscreen > 1)
snapflags &= ~V_SNAPTOLEFT; {
else if (splitflags & V_HORZSCREEN)
snapflags &= ~V_SNAPTORIGHT; snapflags &= ~V_SNAPTOLEFT;
else
snapflags &= ~V_SNAPTORIGHT;
}
return (splitflags|snapflags); return (splitflags|snapflags);
} }
@ -4181,9 +4186,11 @@ static void K_drawKartItemClose(void)
// Why write V_DrawScaledPatch calls over and over when they're all the same? // Why write V_DrawScaledPatch calls over and over when they're all the same?
// Set to 'no draw' just in case. // Set to 'no draw' just in case.
patch_t *localpatch = kp_nodraw; patch_t *localpatch = kp_nodraw;
INT32 X = ITEM_X;
INT32 splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTORIGHT); INT32 splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTORIGHT);
if (splitscreen > 1)
splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTOLEFT);
/*if () /*if ()
switch (stplyr->kartstuff[k_itemclose]) switch (stplyr->kartstuff[k_itemclose])
{ {
@ -4206,7 +4213,7 @@ static void K_drawKartItemClose(void)
} }
if (localpatch != kp_nodraw) if (localpatch != kp_nodraw)
V_DrawScaledPatch(X, ITEM_Y, splitflags, localpatch); V_DrawScaledPatch(ITEM_X, ITEM_Y, splitflags, localpatch);
} }
static void K_drawKartItemRoulette(void) static void K_drawKartItemRoulette(void)
@ -4218,12 +4225,13 @@ static void K_drawKartItemRoulette(void)
// Set to 'no item' just in case. // Set to 'no item' just in case.
patch_t *localpatch = kp_nodraw; patch_t *localpatch = kp_nodraw;
patch_t *localbg = kp_itembg; patch_t *localbg = kp_itembg;
INT32 X = ITEM_X; INT32 splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTORIGHT);
INT32 splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTOLEFT);
if (splitscreen > 1) if (splitscreen > 1)
{
localbg = kp_itemused1; localbg = kp_itemused1;
else splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTOLEFT);
splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTORIGHT); }
/*if () /*if ()
switch(stplyr->kartstuff[k_itemroulette] % 53) switch(stplyr->kartstuff[k_itemroulette] % 53)
@ -4279,8 +4287,8 @@ static void K_drawKartItemRoulette(void)
if (localpatch == kp_nodraw) if (localpatch == kp_nodraw)
return; return;
V_DrawScaledPatch(X, ITEM_Y, splitflags, localbg); V_DrawScaledPatch(ITEM_X, ITEM_Y, splitflags, localbg);
V_DrawScaledPatch(X, ITEM_Y, splitflags, localpatch); V_DrawScaledPatch(ITEM_X, ITEM_Y, splitflags, localpatch);
} }
static void K_drawKartRetroItem(void) static void K_drawKartRetroItem(void)
@ -4293,12 +4301,13 @@ static void K_drawKartRetroItem(void)
patch_t *localpatch = kp_nodraw; patch_t *localpatch = kp_nodraw;
patch_t *localbg = kp_itembg; patch_t *localbg = kp_itembg;
INT32 X = ITEM_X; INT32 X = ITEM_X;
INT32 splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTOLEFT); INT32 splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTORIGHT);
if (splitscreen > 1) if (splitscreen > 1)
{
localbg = kp_itemused1; localbg = kp_itemused1;
else splitflags = K_calcSplitFlags(V_SNAPTOTOP|V_SNAPTOLEFT);
splitflags = V_SNAPTOTOP|V_SNAPTORIGHT; }
// I'm doing this a little weird and drawing mostly in reverse order // I'm doing this a little weird and drawing mostly in reverse order
// The only actual reason is to make triple/double/single mushrooms line up this way in the code below // The only actual reason is to make triple/double/single mushrooms line up this way in the code below