Module: wine Branch: master Commit: af935a24022df11e39d09b8513e6d01146e213fd URL: http://source.winehq.org/git/wine.git/?a=commit;h=af935a24022df11e39d09b8513...
Author: Stefan Dösinger stefan@codeweavers.com Date: Fri Dec 8 18:52:30 2006 +0100
wined3d: Move WINED3DRS_FOGCOLOR to the state table.
---
dlls/wined3d/device.c | 11 +---------- dlls/wined3d/state.c | 10 +++++++++- 2 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index ac1e7a8..1ef7cec 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -3379,17 +3379,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl case WINED3DRS_FOGSTART : case WINED3DRS_FOGEND : case WINED3DRS_RANGEFOGENABLE : - StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock); - break; - case WINED3DRS_FOGCOLOR : - { - float col[4]; - D3DCOLORTOGLFLOAT4(Value, col); - /* Set the default alpha blend color */ - glFogfv(GL_FOG_COLOR, &col[0]); - checkGLcall("glFog GL_FOG_COLOR"); - } + StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock); break;
case WINED3DRS_FOGDENSITY : diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index 026418c..36c6311 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -792,6 +792,14 @@ static void state_fog(DWORD state, IWine } }
+static void state_fogcolor(DWORD state, IWineD3DStateBlockImpl *stateblock) { + float col[4]; + D3DCOLORTOGLFLOAT4(stateblock->renderState[WINED3DRS_FOGCOLOR], col); + /* Set the default alpha blend color */ + glFogfv(GL_FOG_COLOR, &col[0]); + checkGLcall("glFog GL_FOG_COLOR"); +} + const struct StateEntry StateTable[] = { /* State name representative, apply function */ @@ -829,7 +837,7 @@ const struct StateEntry StateTable[] = { /* 31, WINED3DRS_SUBPIXEL */ STATE_RENDER(WINED3DRS_SUBPIXEL), state_unknown }, { /* 32, WINED3DRS_SUBPIXELX */ STATE_RENDER(WINED3DRS_SUBPIXELX), state_unknown }, { /* 33, WINED3DRS_STIPPLEDALPHA */ STATE_RENDER(WINED3DRS_STIPPLEDALPHA), state_unknown }, - { /* 34, WINED3DRS_FOGCOLOR */ STATE_RENDER(WINED3DRS_FOGCOLOR), state_unknown }, + { /* 34, WINED3DRS_FOGCOLOR */ STATE_RENDER(WINED3DRS_FOGCOLOR), state_fogcolor }, { /* 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 },