* For testing purposes, show Encoremaps on the level select icons.

* HOWEVER, we should seriously address this again later, because the antialiasing DOES result in some unfortunate bullshit...
* Encoremap maces per Oni's request and Sal's suggestion
This commit is contained in:
toaster 2018-08-10 21:11:45 +01:00
parent 500b71c0b3
commit 202e98957d
2 changed files with 49 additions and 12 deletions

View file

@ -8022,7 +8022,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags MF_NOGRAVITY|MF_SPECIAL|MF_NOCLIPHEIGHT, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -8049,7 +8049,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags MF_NOGRAVITY|MF_SPECIAL|MF_NOCLIPHEIGHT, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -8076,7 +8076,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_mswing, // activesound sfx_mswing, // activesound
MF_PAIN|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags MF_PAIN|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -8103,7 +8103,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_mswing, // activesound sfx_mswing, // activesound
MF_PAIN|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags MF_PAIN|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags
S_NULL // raisestate S_NULL // raisestate
}, },

View file

@ -6749,9 +6749,11 @@ static void M_DrawLevelSelectOnly(boolean leftfade, boolean rightfade)
lumpnum_t lumpnum; lumpnum_t lumpnum;
patch_t *PictureOfLevel; patch_t *PictureOfLevel;
INT32 x, y, w, i, oldval, trans, dupadjust = ((vid.width/vid.dupx) - BASEVIDWIDTH)>>1; INT32 x, y, w, i, oldval, trans, dupadjust = ((vid.width/vid.dupx) - BASEVIDWIDTH)>>1;
const char *mapname = G_BuildMapName(cv_nextmap.value);
boolean doencore = (cv_kartencore.value && cv_newgametype.value == GT_RACE);
// A 160x100 image of the level as entry MAPxxP // A 160x100 image of the level as entry MAPxxP
lumpnum = W_CheckNumForName(va("%sP", G_BuildMapName(cv_nextmap.value))); lumpnum = W_CheckNumForName(va("%sP", mapname));
if (lumpnum != LUMPERROR) if (lumpnum != LUMPERROR)
PictureOfLevel = W_CachePatchNum(lumpnum, PU_CACHE); PictureOfLevel = W_CachePatchNum(lumpnum, PU_CACHE);
@ -6770,13 +6772,24 @@ static void M_DrawLevelSelectOnly(boolean leftfade, boolean rightfade)
V_DrawFill(x-1, y-1, w+2, i+2, trans); // variable reuse... V_DrawFill(x-1, y-1, w+2, i+2, trans); // variable reuse...
if (!doencore)
V_DrawSmallScaledPatch(x, y, 0, PictureOfLevel); V_DrawSmallScaledPatch(x, y, 0, PictureOfLevel);
else
{
UINT8 *mappingforencore = NULL;
if ((lumpnum = W_CheckNumForName(va("%sE", mapname))) != LUMPERROR)
mappingforencore = W_CachePatchNum(lumpnum, PU_CACHE);
V_DrawFixedPatch((x+w)<<FRACBITS, (y)<<FRACBITS, FRACUNIT/2, V_FLIP, PictureOfLevel, mappingforencore);
}
/*V_DrawDiag(x, y, 12, 31); /*V_DrawDiag(x, y, 12, 31);
V_DrawDiag(x, y, 10, G_GetGametypeColor(cv_newgametype.value));*/ V_DrawDiag(x, y, 10, G_GetGametypeColor(cv_newgametype.value));*/
y += i/4; y += i/4;
i = cv_nextmap.value - 1; i = cv_nextmap.value - 1;
trans = (leftfade ? V_TRANSLUCENT : 0); trans = (leftfade ? V_TRANSLUCENT : 0);
if (doencore)
trans |= V_FLIP;
#define horizspac 2 #define horizspac 2
do do
@ -6797,20 +6810,33 @@ static void M_DrawLevelSelectOnly(boolean leftfade, boolean rightfade)
} while (!M_CanShowLevelInList(i, cv_newgametype.value)); } while (!M_CanShowLevelInList(i, cv_newgametype.value));
// A 160x100 image of the level as entry MAPxxP // A 160x100 image of the level as entry MAPxxP
lumpnum = W_CheckNumForName(va("%sP", G_BuildMapName(i+1))); mapname = G_BuildMapName(i+1);
lumpnum = W_CheckNumForName(va("%sP", mapname));
if (lumpnum != LUMPERROR) if (lumpnum != LUMPERROR)
PictureOfLevel = W_CachePatchNum(lumpnum, PU_CACHE); PictureOfLevel = W_CachePatchNum(lumpnum, PU_CACHE);
else else
PictureOfLevel = W_CachePatchName("BLANKLVL", PU_CACHE); PictureOfLevel = W_CachePatchName("BLANKLVL", PU_CACHE);
x -= horizspac + SHORT(PictureOfLevel->width)/4; x -= horizspac + w/2;
if (!doencore)
V_DrawTinyScaledPatch(x, y, trans, PictureOfLevel); V_DrawTinyScaledPatch(x, y, trans, PictureOfLevel);
else
{
UINT8 *mappingforencore = NULL;
if ((lumpnum = W_CheckNumForName(va("%sE", mapname))) != LUMPERROR)
mappingforencore = W_CachePatchNum(lumpnum, PU_CACHE);
V_DrawFixedPatch((x+(w/2))<<FRACBITS, (y)<<FRACBITS, FRACUNIT/4, trans, PictureOfLevel, mappingforencore);
}
} while (x > horizspac-dupadjust); } while (x > horizspac-dupadjust);
x = (BASEVIDWIDTH + w)/2 + horizspac; x = (BASEVIDWIDTH + w)/2 + horizspac;
i = cv_nextmap.value - 1; i = cv_nextmap.value - 1;
trans = (rightfade ? V_TRANSLUCENT : 0); trans = (rightfade ? V_TRANSLUCENT : 0);
if (doencore)
trans |= V_FLIP;
while (x < BASEVIDWIDTH+dupadjust-horizspac) while (x < BASEVIDWIDTH+dupadjust-horizspac)
{ {
@ -6830,15 +6856,26 @@ static void M_DrawLevelSelectOnly(boolean leftfade, boolean rightfade)
} while (!M_CanShowLevelInList(i, cv_newgametype.value)); } while (!M_CanShowLevelInList(i, cv_newgametype.value));
// A 160x100 image of the level as entry MAPxxP // A 160x100 image of the level as entry MAPxxP
lumpnum = W_CheckNumForName(va("%sP", G_BuildMapName(i+1))); mapname = G_BuildMapName(i+1);
lumpnum = W_CheckNumForName(va("%sP", mapname));
if (lumpnum != LUMPERROR) if (lumpnum != LUMPERROR)
PictureOfLevel = W_CachePatchNum(lumpnum, PU_CACHE); PictureOfLevel = W_CachePatchNum(lumpnum, PU_CACHE);
else else
PictureOfLevel = W_CachePatchName("BLANKLVL", PU_CACHE); PictureOfLevel = W_CachePatchName("BLANKLVL", PU_CACHE);
if (!doencore)
V_DrawTinyScaledPatch(x, y, trans, PictureOfLevel); V_DrawTinyScaledPatch(x, y, trans, PictureOfLevel);
x += horizspac + SHORT(PictureOfLevel->width)/4; else
{
UINT8 *mappingforencore = NULL;
if ((lumpnum = W_CheckNumForName(va("%sE", mapname))) != LUMPERROR)
mappingforencore = W_CachePatchNum(lumpnum, PU_CACHE);
V_DrawFixedPatch((x+(w/2))<<FRACBITS, (y)<<FRACBITS, FRACUNIT/4, trans, PictureOfLevel, mappingforencore);
}
x += horizspac + w/2;
} }
#undef horizspac #undef horizspac
} }