mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-18 07:22:28 +00:00
Disable the GL sprite shadows behind a #define.
Reasoning: * They're horribly broken (they completely ignore slopes). * A similar final demo GL-only feature (coronas) has been completely disabled. * Nobody's going to bugfix them before release because not even the devteam's resident GL users use them. * They look ugly.
This commit is contained in:
parent
d0fac1988a
commit
4cc1b2b327
3 changed files with 22 additions and 1 deletions
|
@ -4068,6 +4068,7 @@ static gr_vissprite_t *HWR_NewVisSprite(void)
|
||||||
return HWR_GetVisSprite(gr_visspritecount++);
|
return HWR_GetVisSprite(gr_visspritecount++);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef GLBADSHADOWS
|
||||||
// Finds a floor through which light does not pass.
|
// Finds a floor through which light does not pass.
|
||||||
static fixed_t HWR_OpaqueFloorAtPos(fixed_t x, fixed_t y, fixed_t z, fixed_t height)
|
static fixed_t HWR_OpaqueFloorAtPos(fixed_t x, fixed_t y, fixed_t z, fixed_t height)
|
||||||
{
|
{
|
||||||
|
@ -4098,6 +4099,7 @@ static fixed_t HWR_OpaqueFloorAtPos(fixed_t x, fixed_t y, fixed_t z, fixed_t hei
|
||||||
|
|
||||||
return floorz;
|
return floorz;
|
||||||
}
|
}
|
||||||
|
#endif //#ifdef GLBADSHADOWS
|
||||||
|
|
||||||
//
|
//
|
||||||
// HWR_DoCulling
|
// HWR_DoCulling
|
||||||
|
@ -4139,6 +4141,7 @@ static boolean HWR_DoCulling(line_t *cullheight, line_t *viewcullheight, float v
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef GLBADSHADOWS
|
||||||
static void HWR_DrawSpriteShadow(gr_vissprite_t *spr, GLPatch_t *gpatch, float this_scale)
|
static void HWR_DrawSpriteShadow(gr_vissprite_t *spr, GLPatch_t *gpatch, float this_scale)
|
||||||
{
|
{
|
||||||
FOutVector swallVerts[4];
|
FOutVector swallVerts[4];
|
||||||
|
@ -4311,6 +4314,7 @@ static void HWR_DrawSpriteShadow(gr_vissprite_t *spr, GLPatch_t *gpatch, float t
|
||||||
HWD.pfnDrawPolygon(&sSurf, swallVerts, 4, PF_Translucent|PF_Modulated|PF_Clip);
|
HWD.pfnDrawPolygon(&sSurf, swallVerts, 4, PF_Translucent|PF_Modulated|PF_Clip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif //#ifdef GLBADSHADOWS
|
||||||
|
|
||||||
// This is expecting a pointer to an array containing 4 wallVerts for a sprite
|
// This is expecting a pointer to an array containing 4 wallVerts for a sprite
|
||||||
static void HWR_RotateSpritePolyToAim(gr_vissprite_t *spr, FOutVector *wallVerts)
|
static void HWR_RotateSpritePolyToAim(gr_vissprite_t *spr, FOutVector *wallVerts)
|
||||||
|
@ -4386,6 +4390,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
|
||||||
//Hurdler: 25/04/2000: now support colormap in hardware mode
|
//Hurdler: 25/04/2000: now support colormap in hardware mode
|
||||||
HWR_GetMappedPatch(gpatch, spr->colormap);
|
HWR_GetMappedPatch(gpatch, spr->colormap);
|
||||||
|
|
||||||
|
#ifdef GLBADSHADOWS
|
||||||
// Draw shadow BEFORE sprite
|
// Draw shadow BEFORE sprite
|
||||||
if (cv_shadow.value // Shadows enabled
|
if (cv_shadow.value // Shadows enabled
|
||||||
&& (spr->mobj->flags & (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY)) != (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY) // Ceiling scenery have no shadow.
|
&& (spr->mobj->flags & (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY)) != (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY) // Ceiling scenery have no shadow.
|
||||||
|
@ -4401,6 +4406,7 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
|
||||||
////////////////////
|
////////////////////
|
||||||
HWR_DrawSpriteShadow(spr, gpatch, this_scale);
|
HWR_DrawSpriteShadow(spr, gpatch, this_scale);
|
||||||
}
|
}
|
||||||
|
#endif //#ifdef GLBADSHADOWS
|
||||||
|
|
||||||
baseWallVerts[0].x = baseWallVerts[3].x = spr->x1;
|
baseWallVerts[0].x = baseWallVerts[3].x = spr->x1;
|
||||||
baseWallVerts[2].x = baseWallVerts[1].x = spr->x2;
|
baseWallVerts[2].x = baseWallVerts[1].x = spr->x2;
|
||||||
|
@ -4788,6 +4794,7 @@ static void HWR_DrawSprite(gr_vissprite_t *spr)
|
||||||
//Hurdler: 25/04/2000: now support colormap in hardware mode
|
//Hurdler: 25/04/2000: now support colormap in hardware mode
|
||||||
HWR_GetMappedPatch(gpatch, spr->colormap);
|
HWR_GetMappedPatch(gpatch, spr->colormap);
|
||||||
|
|
||||||
|
#ifdef GLBADSHADOWS
|
||||||
// Draw shadow BEFORE sprite
|
// Draw shadow BEFORE sprite
|
||||||
if (cv_shadow.value // Shadows enabled
|
if (cv_shadow.value // Shadows enabled
|
||||||
&& (spr->mobj->flags & (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY)) != (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY) // Ceiling scenery have no shadow.
|
&& (spr->mobj->flags & (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY)) != (MF_SCENERY|MF_SPAWNCEILING|MF_NOGRAVITY) // Ceiling scenery have no shadow.
|
||||||
|
@ -4803,6 +4810,7 @@ static void HWR_DrawSprite(gr_vissprite_t *spr)
|
||||||
////////////////////
|
////////////////////
|
||||||
HWR_DrawSpriteShadow(spr, gpatch, this_scale);
|
HWR_DrawSpriteShadow(spr, gpatch, this_scale);
|
||||||
}
|
}
|
||||||
|
#endif //#ifdef GLBADSHADOWS
|
||||||
|
|
||||||
// if it has a dispoffset, push it a little towards the camera
|
// if it has a dispoffset, push it a little towards the camera
|
||||||
if (spr->dispoffset) {
|
if (spr->dispoffset) {
|
||||||
|
|
|
@ -123,8 +123,12 @@ consvar_t cv_chasecam2 = {"chasecam2", "On", CV_CALL, CV_OnOff, ChaseCam2_OnChan
|
||||||
consvar_t cv_flipcam = {"flipcam", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_flipcam = {"flipcam", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
consvar_t cv_flipcam2 = {"flipcam2", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam2_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_flipcam2 = {"flipcam2", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam2_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
|
#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
|
||||||
consvar_t cv_shadow = {"shadow", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_shadow = {"shadow", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
#endif //#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
|
||||||
|
#ifdef GLBADSHADOWS
|
||||||
consvar_t cv_shadowoffs = {"offsetshadows", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_shadowoffs = {"offsetshadows", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
#endif //#ifdef GLBADSHADOWS
|
||||||
consvar_t cv_skybox = {"skybox", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_skybox = {"skybox", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
consvar_t cv_allowmlook = {"allowmlook", "Yes", CV_NETVAR, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_allowmlook = {"allowmlook", "Yes", CV_NETVAR, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
consvar_t cv_showhud = {"showhud", "Yes", CV_CALL, CV_YesNo, R_SetViewSize, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_showhud = {"showhud", "Yes", CV_CALL, CV_YesNo, R_SetViewSize, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
@ -1172,8 +1176,12 @@ void R_RegisterEngineStuff(void)
|
||||||
|
|
||||||
CV_RegisterVar(&cv_chasecam);
|
CV_RegisterVar(&cv_chasecam);
|
||||||
CV_RegisterVar(&cv_chasecam2);
|
CV_RegisterVar(&cv_chasecam2);
|
||||||
|
#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
|
||||||
CV_RegisterVar(&cv_shadow);
|
CV_RegisterVar(&cv_shadow);
|
||||||
|
#endif //#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
|
||||||
|
#ifdef GLBADSHADOWS
|
||||||
CV_RegisterVar(&cv_shadowoffs);
|
CV_RegisterVar(&cv_shadowoffs);
|
||||||
|
#endif //#ifdef GLBADSHADOWS
|
||||||
CV_RegisterVar(&cv_skybox);
|
CV_RegisterVar(&cv_skybox);
|
||||||
|
|
||||||
CV_RegisterVar(&cv_cam_dist);
|
CV_RegisterVar(&cv_cam_dist);
|
||||||
|
|
|
@ -76,7 +76,12 @@ extern consvar_t cv_showhud, cv_translucenthud;
|
||||||
extern consvar_t cv_homremoval;
|
extern consvar_t cv_homremoval;
|
||||||
extern consvar_t cv_chasecam, cv_chasecam2;
|
extern consvar_t cv_chasecam, cv_chasecam2;
|
||||||
extern consvar_t cv_flipcam, cv_flipcam2;
|
extern consvar_t cv_flipcam, cv_flipcam2;
|
||||||
extern consvar_t cv_shadow, cv_shadowoffs;
|
#if defined(FLOORSPLATS) || defined(GLBADSHADOWS)
|
||||||
|
extern consvar_t cv_shadow;
|
||||||
|
#endif
|
||||||
|
#ifdef GLBADSHADOWS
|
||||||
|
extern conscar_t cv_shadowoffs;
|
||||||
|
#endif //#ifdef GLBADSHADOWS
|
||||||
extern consvar_t cv_translucency;
|
extern consvar_t cv_translucency;
|
||||||
extern consvar_t cv_drawdist, cv_drawdist_nights, cv_drawdist_precip;
|
extern consvar_t cv_drawdist, cv_drawdist_nights, cv_drawdist_precip;
|
||||||
extern consvar_t cv_skybox;
|
extern consvar_t cv_skybox;
|
||||||
|
|
Loading…
Reference in a new issue