From e53c2a9c4cb0339918298e03c02a8e6672d183cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Sun, 10 Dec 2006 16:34:45 +0100 Subject: [PATCH] wined3d: Move wined3drs_fogdensity to the state table. --- dlls/wined3d/device.c | 9 +-------- dlls/wined3d/state.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 1ef7ceccebc..18e2a291f21 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -3380,15 +3380,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl_SetRenderState(IWineD3DDevice *iface, W case WINED3DRS_FOGEND : case WINED3DRS_RANGEFOGENABLE : case WINED3DRS_FOGCOLOR : - StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock); - break; - case WINED3DRS_FOGDENSITY : - { - tmpvalue.d = Value; - glFogfv(GL_FOG_DENSITY, &tmpvalue.f); - checkGLcall("glFogf(GL_FOG_DENSITY, (float) Value)"); - } + StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock); break; case WINED3DRS_VERTEXBLEND : diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index 36c63119c8a..b4397954830 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -800,6 +800,16 @@ static void state_fogcolor(DWORD state, IWineD3DStateBlockImpl *stateblock) { checkGLcall("glFog GL_FOG_COLOR"); } +static void state_fogdensity(DWORD state, IWineD3DStateBlockImpl *stateblock) { + union { + DWORD d; + float f; + } tmpvalue; + tmpvalue.d = stateblock->renderState[WINED3DRS_FOGDENSITY]; + glFogfv(GL_FOG_DENSITY, &tmpvalue.f); + checkGLcall("glFogf(GL_FOG_DENSITY, (float) Value)"); +} + const struct StateEntry StateTable[] = { /* State name representative, apply function */ @@ -841,7 +851,7 @@ const struct StateEntry StateTable[] = { /* 35, WINED3DRS_FOGTABLEMODE */ STATE_RENDER(WINED3DRS_FOGENABLE), state_fog }, { /* 36, WINED3DRS_FOGSTART */ STATE_RENDER(WINED3DRS_FOGENABLE), state_fog }, { /* 37, WINED3DRS_FOGEND */ STATE_RENDER(WINED3DRS_FOGENABLE), state_fog }, - { /* 38, WINED3DRS_FOGDENSITY */ STATE_RENDER(WINED3DRS_FOGDENSITY), state_unknown }, + { /* 38, WINED3DRS_FOGDENSITY */ STATE_RENDER(WINED3DRS_FOGDENSITY), state_fogdensity }, { /* 39, WINED3DRS_STIPPLEENABLE */ STATE_RENDER(WINED3DRS_STIPPLEENABLE), state_unknown }, { /* 40, WINED3DRS_EDGEANTIALIAS */ STATE_RENDER(WINED3DRS_ALPHABLENDENABLE), state_blend }, { /* 41, WINED3DRS_COLORKEYENABLE */ STATE_RENDER(WINED3DRS_ALPHATESTENABLE), state_alpha },