* Fixed a bug in the shaders code. (Thanks Dethernal.)

* Ported ZDoom revisions r2490 to 2492:
- Added "SoundSequence" UDMF sector property. This is the name of the sound sequence to play for the sector. Note that this contrasts with sound sequence things in that it takes a name and not a number. Also, placing a sound sequence thing in a sector will override this property.
- Added r_clearbuffer cvar. [GL code updated as well.] Valid values are:
  * 0. Do not clear. This is the standard behavior.
  * 1. Clear to black.
  * 2. Clear to white.
  * 3. Alternate between black and white every 128 ms.
  * 4. Step through the palette one color at a time every 32 ms.
  * 5. Epileptic seizure inducing random colors every frame.
- Fixed: Floor_RaiseAndCrush did not subtract 8 from the lowest ceiling's height when determining a destination height. (It did subtract 8, but in the wrong place.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@866 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
gez 2010-08-07 13:12:28 +00:00
parent d321c7012a
commit 9e5793977e
18 changed files with 209 additions and 23 deletions

View file

@ -104,6 +104,7 @@ static float CurrentVisibility = 8.f;
static fixed_t MaxVisForWall;
static fixed_t MaxVisForFloor;
static FRandom pr_torchflicker ("TorchFlicker");
static FRandom pr_hom ("HOM-Flasher");
static TArray<InterpolationViewer> PastViewers;
static int centerxwide;
static bool polyclipped;
@ -115,6 +116,7 @@ bool r_dontmaplines;
CVAR (String, r_viewsize, "", CVAR_NOSET)
CVAR (Int, r_polymost, 0, 0)
CVAR (Bool, r_deathcamera, false, CVAR_ARCHIVE)
CVAR (Int, r_clearbuffer, 0, 0)
fixed_t r_BaseVisibility;
fixed_t r_WallVisibility;
@ -1275,6 +1277,34 @@ void R_SetupFrame (AActor *actor)
{
polyclipped = RP_SetupFrame (false);
}
if (RenderTarget == screen && r_clearbuffer != 0)
{
int color;
int hom = r_clearbuffer;
if (hom == 3)
{
hom = ((I_FPSTime() / 128) & 1) + 1;
}
if (hom == 1)
{
color = GPalette.BlackIndex;
}
else if (hom == 2)
{
color = GPalette.WhiteIndex;
}
else if (hom == 4)
{
color = (I_FPSTime() / 32) & 255;
}
else
{
color = pr_hom();
}
memset(RenderTarget->GetBuffer(), color, RenderTarget->GetPitch() * RenderTarget->GetHeight());
}
}
//==========================================================================