st/nine: Fix enabled lights in stateblocks
Reviewed-by: Axel Davy <axel.davy@ens.fr> Signed-off-by: Tiziano Bacocco <tizbac2@gmail.com>
This commit is contained in:
parent
1543defc5e
commit
a1d369e804
|
@ -1965,7 +1965,9 @@ NineDevice9_GetLightEnable( struct NineDevice9 *This,
|
|||
for (i = 0; i < state->ff.num_lights_active; ++i)
|
||||
if (state->ff.active_light[i] == Index)
|
||||
break;
|
||||
*pEnable = i != state->ff.num_lights_active;
|
||||
|
||||
*pEnable = i != state->ff.num_lights_active ? 128 : 0; // Taken from wine
|
||||
|
||||
return D3D_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -275,7 +275,8 @@ nine_state_copy_common(struct nine_state *dst,
|
|||
if (mask->ff.light[i].Type != NINED3DLIGHT_INVALID)
|
||||
dst->ff.light[i] = src->ff.light[i];
|
||||
|
||||
DBG("TODO: active lights\n");
|
||||
memcpy(dst->ff.active_light, src->ff.active_light, sizeof(src->ff.active_light) );
|
||||
dst->ff.num_lights_active = src->ff.num_lights_active;
|
||||
}
|
||||
if (mask->changed.group & NINE_STATE_FF_VSTRANSF) {
|
||||
for (i = 0; i < Elements(mask->ff.changed.transform); ++i) {
|
||||
|
@ -415,7 +416,8 @@ nine_state_copy_common_all(struct nine_state *dst,
|
|||
memcpy(dst->ff.light,
|
||||
src->ff.light, src->ff.num_lights * sizeof(dst->ff.light[0]));
|
||||
|
||||
DBG("TODO: active lights\n");
|
||||
memcpy(dst->ff.active_light, src->ff.active_light, sizeof(src->ff.active_light) );
|
||||
dst->ff.num_lights_active = src->ff.num_lights_active;
|
||||
}
|
||||
|
||||
/* Transforms. */
|
||||
|
|
Loading…
Reference in New Issue