mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-12-01 00:21:43 +00:00
- Fixed: D3DFB::Reset() also needs to restore the texture border color,
otherwise it gets reset to black and unused. - Fixed: I_SetWndProc() needs to be called before any of the DirectX interfaces are initialized, because DirectX subclasses the window itself, and I_SetWndProc() undoes that subclassing. SVN r419 (trunk)
This commit is contained in:
parent
43ddce519c
commit
c8d07f3883
4 changed files with 17 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
December 19, 2006
|
||||||
|
- Fixed: D3DFB::Reset() also needs to restore the texture border color,
|
||||||
|
otherwise it gets reset to black and unused.
|
||||||
|
- Fixed: I_SetWndProc() needs to be called before any of the DirectX
|
||||||
|
interfaces are initialized, because DirectX subclasses the window itself,
|
||||||
|
and I_SetWndProc() undoes that subclassing.
|
||||||
|
|
||||||
December 19, 2006 (Changes by Graf Zahl)
|
December 19, 2006 (Changes by Graf Zahl)
|
||||||
- Fixed: Inventory.Icon printed error message for all the missing icons in
|
- Fixed: Inventory.Icon printed error message for all the missing icons in
|
||||||
Strife's teaser.
|
Strife's teaser.
|
||||||
|
|
|
@ -277,7 +277,6 @@ void D3DFB::FillPresentParameters (D3DPRESENT_PARAMETERS *pp, bool fullscreen, b
|
||||||
|
|
||||||
bool D3DFB::CreateResources ()
|
bool D3DFB::CreateResources ()
|
||||||
{
|
{
|
||||||
I_SetWndProc();
|
|
||||||
if (!Windowed)
|
if (!Windowed)
|
||||||
{
|
{
|
||||||
// Remove the window border in fullscreen mode
|
// Remove the window border in fullscreen mode
|
||||||
|
@ -373,6 +372,14 @@ bool D3DFB::Reset ()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (OffByOneAt < 256)
|
||||||
|
{
|
||||||
|
D3DDevice->SetSamplerState (1, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER);
|
||||||
|
D3DDevice->SetSamplerState (1, D3DSAMP_BORDERCOLOR,
|
||||||
|
D3DCOLOR_XRGB(GammaTable[SourcePalette[255].r],
|
||||||
|
GammaTable[SourcePalette[255].g],
|
||||||
|
GammaTable[SourcePalette[255].b]));
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -383,7 +390,7 @@ bool D3DFB::Reset ()
|
||||||
// Since NVidia hardware has an off-by-one error in the pixel shader.
|
// Since NVidia hardware has an off-by-one error in the pixel shader.
|
||||||
// On a Geforce 7950GT and a 6200, I have witnessed it skip palette entry
|
// On a Geforce 7950GT and a 6200, I have witnessed it skip palette entry
|
||||||
// 240. I have a report that an FX card skips in a totally different spot.
|
// 240. I have a report that an FX card skips in a totally different spot.
|
||||||
// So rather than try and detect it in the shader, we do it here and
|
// So rather than try and correct it in the shader, we detect it here and
|
||||||
// compensate when uploading the palette and when drawing by setting the
|
// compensate when uploading the palette and when drawing by setting the
|
||||||
// sampler mode for the palette to border and making the border color the
|
// sampler mode for the palette to border and making the border color the
|
||||||
// final color in the palette.
|
// final color in the palette.
|
||||||
|
|
|
@ -230,8 +230,6 @@ bool DDrawFB::CreateResources ()
|
||||||
|
|
||||||
BufferCount = 1;
|
BufferCount = 1;
|
||||||
|
|
||||||
I_SetWndProc();
|
|
||||||
|
|
||||||
if (!Windowed)
|
if (!Windowed)
|
||||||
{
|
{
|
||||||
// Remove the window border in fullscreen mode
|
// Remove the window border in fullscreen mode
|
||||||
|
|
|
@ -110,6 +110,7 @@ Win32Video::Win32Video (int parm)
|
||||||
: m_Modes (NULL),
|
: m_Modes (NULL),
|
||||||
m_IsFullscreen (false)
|
m_IsFullscreen (false)
|
||||||
{
|
{
|
||||||
|
I_SetWndProc();
|
||||||
if (!InitD3D9())
|
if (!InitD3D9())
|
||||||
{
|
{
|
||||||
InitDDraw();
|
InitDDraw();
|
||||||
|
|
Loading…
Reference in a new issue