diff --git a/src/r_plane.cpp b/src/r_plane.cpp index 1bddfc685..7df68044b 100644 --- a/src/r_plane.cpp +++ b/src/r_plane.cpp @@ -65,7 +65,7 @@ #pragma warning(disable:4244) #endif -CVAR(Bool, r_capsky, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG); +EXTERN_CVAR(Int, r_skymode) CVAR(Bool, r_cubesky, false, 0) //EXTERN_CVAR (Int, tx) @@ -1268,7 +1268,7 @@ static void R_DrawSky (visplane_t *pl) R_DrawCubeSky(pl); return; } - else if (r_capsky) + else if (r_skymode == 2) { R_DrawCapSky(pl); return; diff --git a/src/r_sky.cpp b/src/r_sky.cpp index cf3f37367..58caa09bd 100644 --- a/src/r_sky.cpp +++ b/src/r_sky.cpp @@ -49,7 +49,8 @@ fixed_t sky1cyl, sky2cyl; double sky1pos, sky2pos; // [RH] Stretch sky texture if not taller than 128 pixels? -CUSTOM_CVAR (Bool, r_stretchsky, false, CVAR_ARCHIVE) +// Also now controls capped skies. 0 = normal, 1 = stretched, 2 = capped +CUSTOM_CVAR (Int, r_skymode, 2, CVAR_ARCHIVE) { R_InitSkyMap (); } @@ -99,7 +100,7 @@ void R_InitSkyMap () skytexturemid = 0; if (skyheight >= 128 && skyheight < 200) { - skystretch = (r_stretchsky + skystretch = (r_skymode == 1 && skyheight >= 128 && level.IsFreelookAllowed() && !(level.flags & LEVEL_FORCENOSKYSTRETCH)) ? 1 : 0; diff --git a/wadsrc/static/language.enu b/wadsrc/static/language.enu index 1db0510a1..26575e9c8 100644 --- a/wadsrc/static/language.enu +++ b/wadsrc/static/language.enu @@ -1786,8 +1786,7 @@ DSPLYMNU_BLOODFADE = "Blood Flash Intensity"; DSPLYMNU_PICKUPFADE = "Pickup Flash Intensity"; DSPLYMNU_PALLETEHACK = "DirectDraw palette hack"; // Not used DSPLYMNU_ATTACHEDSURFACES = "Use attached surfaces"; // Not used -DSPLYMNU_CAPSKY = "Cap skies with solid color"; -DSPLYMNU_STRETCHSKY = "Stretch short skies"; +DSPLYMNU_SKYMODE = "Sky render mode"; DSPLYMNU_LINEARSKY = "Linear skies"; DSPLYMNU_GZDFULLBRIGHT = "Emulate GZDoom FullBright"; DSPLYMNU_DRAWFUZZ = "Use fuzz effect"; @@ -2197,6 +2196,9 @@ OPTVAL_INVERTED = "Inverted"; OPTVAL_NOTINVERTED = "Not Inverted"; OPTVAL_ORIGINAL = "Original"; OPTVAL_OPTIMIZED = "Optimized"; +OPTVAL_NORMAL = "Normal"; +OPTVAL_STRETCH = "Stretch"; +OPTVAL_CAPPED = "Capped"; OPTVAL_PARTICLES = "Particles"; OPTVAL_SPRITES = "Sprites"; OPTVAL_SPRITESPARTICLES = "Sprites & Particles"; diff --git a/wadsrc/static/menudef.txt b/wadsrc/static/menudef.txt index 1f79c24c3..8c1bb5481 100644 --- a/wadsrc/static/menudef.txt +++ b/wadsrc/static/menudef.txt @@ -600,6 +600,13 @@ OptionValue ColumnMethods 1.0, "$OPTVAL_OPTIMIZED" } +OptionValue SkyModes +{ + 0.0, "$OPTVAL_NORMAL" + 1.0, "$OPTVAL_STRETCH" + 2.0, "$OPTVAL_CAPPED" +} + OptionValue RocketTrailTypes { 0.0, "$OPTVAL_OFF" @@ -700,8 +707,7 @@ OptionMenu "VideoOptions" //Option "$DSPLYMNU_ATTACHEDSURFACES", "vid_attachedsurfaces", "OnOff" } - Option "$DSPLYMNU_CAPSKY", "r_capsky", "OnOff" - Option "$DSPLYMNU_STRETCHSKY", "r_stretchsky", "OnOff" + Option "$DSPLYMNU_SKYMODE", "r_skymode", "SkyModes" Option "$DSPLYMNU_LINEARSKY", "r_linearsky", "OnOff" Option "$DSPLYMNU_GZDFULLBRIGHT", "r_fullbrightignoresectorcolor", "OnOff" Option "$DSPLYMNU_DRAWFUZZ", "r_drawfuzz", "Fuzziness"