Module: wine Branch: master Commit: 28cc3c8d6b3ab9fd500f94aa3976c0b47eda8fcf URL: http://source.winehq.org/git/wine.git/?a=commit;h=28cc3c8d6b3ab9fd500f94aa39...
Author: Stefan Dösinger stefan@codeweavers.com Date: Fri Dec 8 01:45:26 2006 +0100
wined3d: Move WINED3DRS_AMBIENT to the state table.
---
dlls/wined3d/device.c | 12 +----------- dlls/wined3d/state.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index b51f32d..36dd77d 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -3444,18 +3444,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl case WINED3DRS_DITHERENABLE : case WINED3DRS_ZWRITEENABLE : case WINED3DRS_ZFUNC : - StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock); - break; - case WINED3DRS_AMBIENT : - { - float col[4]; - D3DCOLORTOGLFLOAT4(Value, col); - TRACE("Setting ambient to (%f,%f,%f,%f)\n", col[0], col[1], col[2], col[3]); - glLightModelfv(GL_LIGHT_MODEL_AMBIENT, col); - checkGLcall("glLightModel for MODEL_AMBIENT"); - - } + StateTable[STATE_RENDER(State)].apply(STATE_RENDER(State), This->stateBlock); break;
case WINED3DRS_ALPHABLENDENABLE : diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c index 684ff94..83e05bc 100644 --- a/dlls/wined3d/state.c +++ b/dlls/wined3d/state.c @@ -204,6 +204,15 @@ static void state_zfunc(DWORD state, IWi } }
+static void state_ambient(DWORD state, IWineD3DStateBlockImpl *stateblock) { + float col[4]; + D3DCOLORTOGLFLOAT4(stateblock->renderState[WINED3DRS_AMBIENT], col); + + TRACE("Setting ambient to (%f,%f,%f,%f)\n", col[0], col[1], col[2], col[3]); + glLightModelfv(GL_LIGHT_MODEL_AMBIENT, col); + checkGLcall("glLightModel for MODEL_AMBIENT"); +} + const struct StateEntry StateTable[] = { /* State name representative, apply function */ @@ -348,7 +357,7 @@ const struct StateEntry StateTable[] = { /*136, WINED3DRS_CLIPPING */ STATE_RENDER(WINED3DRS_CLIPPING), state_unknown }, { /*137, WINED3DRS_LIGHTING */ STATE_RENDER(WINED3DRS_LIGHTING) /* Vertex decl! */,state_lighting }, { /*138, WINED3DRS_EXTENTS */ STATE_RENDER(WINED3DRS_EXTENTS), state_unknown }, - { /*139, WINED3DRS_AMBIENT */ STATE_RENDER(WINED3DRS_AMBIENT), state_unknown }, + { /*139, WINED3DRS_AMBIENT */ STATE_RENDER(WINED3DRS_AMBIENT), state_ambient }, { /*140, WINED3DRS_FOGVERTEXMODE */ STATE_RENDER(WINED3DRS_FOGENABLE), state_unknown }, { /*141, WINED3DRS_COLORVERTEX */ STATE_RENDER(WINED3DRS_COLORVERTEX), state_unknown }, { /*142, WINED3DRS_LOCALVIEWER */ STATE_RENDER(WINED3DRS_LOCALVIEWER), state_unknown },