Back to the Vavoom Forum Archives
Firebrand
Index: progs/common/uibase/MenuScreenAdvancedVideoOptions.vc =================================================================== --- progs/common/uibase/MenuScreenAdvancedVideoOptions.vc (revision 4178) +++ progs/common/uibase/MenuScreenAdvancedVideoOptions.vc (working copy) @@ -70,6 +70,16 @@ Slider.ValueChanging = ChangeFactor; currentY += Slider.Height; + Slider = NewChild(MenuChoiceSlider); + Slider.SetOrigin(ChoicesStartX, currentY); + Slider.Text = "Sky Brightness Factor"; + Slider.ValueDelta = 0.1; + Slider.MaxValue = 1.0; + Slider.MinValue = 0.1; + Slider.SetInitialValue(GetCvarF('r_sky_bright_factor')); + Slider.ValueChanging = ChangeSkyFactor; + currentY += Slider.Height; + Enum = MenuChoiceEnum(NewChild(MenuChoice_OnOff)); Enum.SetOrigin(ChoicesStartX, currentY); Enum.Text = "Extra samples"; @@ -253,6 +263,18 @@ //========================================================================== // +// ChangeSkyFactor +// +//========================================================================== + +bool ChangeSkyFactor(Object Sender, float newValue) +{ + SetCvarF('r_sky_bright_factor', newValue); + return true; +} + +//========================================================================== +// // ChangeExtraSamples // //========================================================================== @@ -458,6 +480,7 @@ defaultproperties { Width = 360; + Height = 210; ChoicesStartX = 200; ChoicesStartY = 26; TitleX = 180; Index: source/d3d_poly.cpp =================================================================== --- source/d3d_poly.cpp (revision 4178) +++ source/d3d_poly.cpp (working copy) @@ -548,7 +548,8 @@ TexStage = 0; for (i = 0; i < surf->count; i++) { - out = MyD3DVertex(surf->verts + vieworg, 0xffffffff, + out = MyD3DVertex(surf->verts + vieworg, 0xff000000 | (int(r_sky_bright_factor * 255) << 16) & 0x00ff0000 | + (int(r_sky_bright_factor * 255) << 8) & 0x0000ff00 | int(r_sky_bright_factor * 255) & 0x000000ff, (DotProduct(surf->verts[sidx], tex->saxis) + tex->soffs - offs1) * tex_iw, (DotProduct(surf->verts, tex->taxis) + tex->toffs) * tex_ih, (DotProduct(surf->verts[sidx], tex->saxis) + tex->soffs - offs2) * tex_iw, @@ -564,7 +565,8 @@ SetTexture(Texture1, CMap); for (i = 0; i < surf->count; i++) { - out = MyD3DVertex(surf->verts + vieworg, 0xffffffff, + out = MyD3DVertex(surf->verts + vieworg, 0xff000000 | (int(r_sky_bright_factor * 255) << 16) & 0x00ff0000 | + (int(r_sky_bright_factor * 255) << 8) & 0x0000ff00 | int(r_sky_bright_factor * 255) & 0x000000ff, (DotProduct(surf->verts[sidx], tex->saxis) + tex->soffs - offs1) * tex_iw, (DotProduct(surf->verts, tex->taxis) + tex->toffs) * tex_ih); } @@ -575,7 +577,8 @@ SetTexture(Texture2, CMap); for (i = 0; i < surf->count; i++) { - out = MyD3DVertex(surf->verts + vieworg, 0xffffffff, + out = MyD3DVertex(surf->verts + vieworg, 0xff000000 | (int(r_sky_bright_factor * 255) << 16) & 0x00ff0000 | + (int(r_sky_bright_factor * 255) << 8) & 0x0000ff00 | int(r_sky_bright_factor * 255) & 0x000000ff, (DotProduct(surf->verts[sidx], tex->saxis) + tex->soffs - offs2) * tex_iw, (DotProduct(surf->verts, tex->taxis) + tex->toffs) * tex_ih); } Index: source/gl_poly.cpp =================================================================== --- source/gl_poly.cpp (revision 4178) +++ source/gl_poly.cpp (working copy) @@ -508,7 +508,7 @@ SetTexture(Texture2, CMap); SelectTexture(0); - glColor4f(1, 1, 1, 1); + glColor4f(r_sky_bright_factor * 1, r_sky_bright_factor * 1, r_sky_bright_factor * 1, 1); glBegin(GL_POLYGON); for (i = 0; i < surf->count; i++) { @@ -530,7 +530,7 @@ { SetTexture(Texture1, CMap); glBegin(GL_POLYGON); - glColor4f(1, 1, 1, 1); + glColor4f(r_sky_bright_factor * 1, r_sky_bright_factor * 1, r_sky_bright_factor * 1, 1); for (i = 0; i < surf->count; i++) { glTexCoord2f( Index: source/r_main.cpp =================================================================== --- source/r_main.cpp (revision 4178) +++ source/r_main.cpp (working copy) @@ -75,6 +75,7 @@ VCvarI r_vsync("r_vsync", "1", CVAR_Archive); VCvarI r_fade_light("r_fade_light", "0", CVAR_Archive); VCvarF r_fade_factor("r_fade_factor", "4.0", CVAR_Archive); +VCvarF r_sky_bright_factor("r_sky_bright_factor", "1.0", CVAR_Archive); VDrawer *Drawer; Index: source/r_shared.h =================================================================== --- source/r_shared.h (revision 4178) +++ source/r_shared.h (working copy) @@ -177,6 +177,8 @@ extern VCvarI r_fade_light; extern VCvarF r_fade_factor; +extern VCvarF r_sky_bright_factor; + extern "C" { extern TClipPlane view_clipplanes[5]; } Index: source/r_sky.cpp =================================================================== --- source/r_sky.cpp (revision 4178) +++ source/r_sky.cpp (working copy) @@ -231,7 +231,7 @@ s.plane.Set(normal, DotProduct(s.surf.verts[1], normal)); s.texinfo.saxis = hdir * (1024 / HDIVS / DotProduct(hdir, hdir)); -float tk = skyh / RADIUS; + float tk = skyh / RADIUS; s.texinfo.taxis = TVec(0, 0, -tk); s.texinfo.soffs = -DotProduct(s.surf.verts[j < VDIVS / 2 ? 0 : 1], s.texinfo.saxis);
Janis Legzdinsh