Fixed some anonymous union accesses.

This commit is contained in:
Ove Kaaven 1999-10-23 18:52:17 +00:00 committed by Alexandre Julliard
parent 889a3be68f
commit 1d4bccc691
3 changed files with 62 additions and 62 deletions

View file

@ -436,21 +436,21 @@ static HRESULT enum_texture_format_OpenGL(LPD3DENUMTEXTUREFORMATSCALLBACK cb,
TRACE("Enumerating GL_RGBA unpacked (32)\n"); TRACE("Enumerating GL_RGBA unpacked (32)\n");
pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS; pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
pformat->x.dwRGBBitCount = 32; pformat->u.dwRGBBitCount = 32;
pformat->y.dwRBitMask = 0xFF000000; pformat->u1.dwRBitMask = 0xFF000000;
pformat->z.dwGBitMask = 0x00FF0000; pformat->u2.dwGBitMask = 0x00FF0000;
pformat->xx.dwBBitMask = 0x0000FF00; pformat->u3.dwBBitMask = 0x0000FF00;
pformat->xy.dwRGBAlphaBitMask = 0x000000FF; pformat->u4.dwRGBAlphaBitMask = 0x000000FF;
if (cb(&sdesc, context) == 0) if (cb(&sdesc, context) == 0)
return DD_OK; return DD_OK;
TRACE("Enumerating GL_RGB unpacked (24)\n"); TRACE("Enumerating GL_RGB unpacked (24)\n");
pformat->dwFlags = DDPF_RGB; pformat->dwFlags = DDPF_RGB;
pformat->x.dwRGBBitCount = 24; pformat->u.dwRGBBitCount = 24;
pformat->y.dwRBitMask = 0x00FF0000; pformat->u1.dwRBitMask = 0x00FF0000;
pformat->z.dwGBitMask = 0x0000FF00; pformat->u2.dwGBitMask = 0x0000FF00;
pformat->xx.dwBBitMask = 0x000000FF; pformat->u3.dwBBitMask = 0x000000FF;
pformat->xy.dwRGBAlphaBitMask = 0x00000000; pformat->u4.dwRGBAlphaBitMask = 0x00000000;
if (cb(&sdesc, context) == 0) if (cb(&sdesc, context) == 0)
return DD_OK; return DD_OK;
@ -459,52 +459,52 @@ static HRESULT enum_texture_format_OpenGL(LPD3DENUMTEXTUREFORMATSCALLBACK cb,
so that future version will work great. */ so that future version will work great. */
TRACE("Enumerating GL_RGB packed GL_UNSIGNED_SHORT_5_6_5 (16)\n"); TRACE("Enumerating GL_RGB packed GL_UNSIGNED_SHORT_5_6_5 (16)\n");
pformat->dwFlags = DDPF_RGB; pformat->dwFlags = DDPF_RGB;
pformat->x.dwRGBBitCount = 16; pformat->u.dwRGBBitCount = 16;
pformat->y.dwRBitMask = 0x0000F800; pformat->u1.dwRBitMask = 0x0000F800;
pformat->z.dwGBitMask = 0x000007E0; pformat->u2.dwGBitMask = 0x000007E0;
pformat->xx.dwBBitMask = 0x0000001F; pformat->u3.dwBBitMask = 0x0000001F;
pformat->xy.dwRGBAlphaBitMask = 0x00000000; pformat->u4.dwRGBAlphaBitMask = 0x00000000;
if (cb(&sdesc, context) == 0) if (cb(&sdesc, context) == 0)
return DD_OK; return DD_OK;
TRACE("Enumerating GL_RGBA packed GL_UNSIGNED_SHORT_5_5_5_1 (16)\n"); TRACE("Enumerating GL_RGBA packed GL_UNSIGNED_SHORT_5_5_5_1 (16)\n");
pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS; pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
pformat->x.dwRGBBitCount = 16; pformat->u.dwRGBBitCount = 16;
pformat->y.dwRBitMask = 0x0000F800; pformat->u1.dwRBitMask = 0x0000F800;
pformat->z.dwGBitMask = 0x000007C0; pformat->u2.dwGBitMask = 0x000007C0;
pformat->xx.dwBBitMask = 0x0000003E; pformat->u3.dwBBitMask = 0x0000003E;
pformat->xy.dwRGBAlphaBitMask = 0x00000001; pformat->u4.dwRGBAlphaBitMask = 0x00000001;
if (cb(&sdesc, context) == 0) if (cb(&sdesc, context) == 0)
return DD_OK; return DD_OK;
TRACE("Enumerating GL_RGBA packed GL_UNSIGNED_SHORT_4_4_4_4 (16)\n"); TRACE("Enumerating GL_RGBA packed GL_UNSIGNED_SHORT_4_4_4_4 (16)\n");
pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS; pformat->dwFlags = DDPF_RGB | DDPF_ALPHAPIXELS;
pformat->x.dwRGBBitCount = 16; pformat->u.dwRGBBitCount = 16;
pformat->y.dwRBitMask = 0x0000F000; pformat->u1.dwRBitMask = 0x0000F000;
pformat->z.dwGBitMask = 0x00000F00; pformat->u2.dwGBitMask = 0x00000F00;
pformat->xx.dwBBitMask = 0x000000F0; pformat->u3.dwBBitMask = 0x000000F0;
pformat->xy.dwRGBAlphaBitMask = 0x0000000F; pformat->u4.dwRGBAlphaBitMask = 0x0000000F;
if (cb(&sdesc, context) == 0) if (cb(&sdesc, context) == 0)
return DD_OK; return DD_OK;
TRACE("Enumerating GL_RGB packed GL_UNSIGNED_BYTE_3_3_2 (8)\n"); TRACE("Enumerating GL_RGB packed GL_UNSIGNED_BYTE_3_3_2 (8)\n");
pformat->dwFlags = DDPF_RGB; pformat->dwFlags = DDPF_RGB;
pformat->x.dwRGBBitCount = 8; pformat->u.dwRGBBitCount = 8;
pformat->y.dwRBitMask = 0x0000F800; pformat->u1.dwRBitMask = 0x0000F800;
pformat->z.dwGBitMask = 0x000007C0; pformat->u2.dwGBitMask = 0x000007C0;
pformat->xx.dwBBitMask = 0x0000003E; pformat->u3.dwBBitMask = 0x0000003E;
pformat->xy.dwRGBAlphaBitMask = 0x00000001; pformat->u4.dwRGBAlphaBitMask = 0x00000001;
if (cb(&sdesc, context) == 0) if (cb(&sdesc, context) == 0)
return DD_OK; return DD_OK;
#endif #endif
TRACE("Enumerating Paletted (8)\n"); TRACE("Enumerating Paletted (8)\n");
pformat->dwFlags = DDPF_PALETTEINDEXED8; pformat->dwFlags = DDPF_PALETTEINDEXED8;
pformat->x.dwRGBBitCount = 8; pformat->u.dwRGBBitCount = 8;
pformat->y.dwRBitMask = 0x00000000; pformat->u1.dwRBitMask = 0x00000000;
pformat->z.dwGBitMask = 0x00000000; pformat->u2.dwGBitMask = 0x00000000;
pformat->xx.dwBBitMask = 0x00000000; pformat->u3.dwBBitMask = 0x00000000;
pformat->xy.dwRGBAlphaBitMask = 0x00000000; pformat->u4.dwRGBAlphaBitMask = 0x00000000;
if (cb(&sdesc, context) == 0) if (cb(&sdesc, context) == 0)
return DD_OK; return DD_OK;

View file

@ -139,7 +139,7 @@ HRESULT WINAPI SetColorKey_cb(IDirect3DTexture2Impl *texture, DWORD dwFlags, LP
tex_d = &(texture->surface->s.surface_desc); tex_d = &(texture->surface->s.surface_desc);
bpp = (tex_d->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8 ? bpp = (tex_d->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8 ?
1 /* 8 bit of palette index */: 1 /* 8 bit of palette index */:
tex_d->ddpfPixelFormat.x.dwRGBBitCount / 8 /* RGB bits for each colors */ ); tex_d->ddpfPixelFormat.u.dwRGBBitCount / 8 /* RGB bits for each colors */ );
/* Now, save the current texture */ /* Now, save the current texture */
ENTER_GL(); ENTER_GL();
@ -156,15 +156,15 @@ HRESULT WINAPI SetColorKey_cb(IDirect3DTexture2Impl *texture, DWORD dwFlags, LP
if (tex_d->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8) { if (tex_d->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8) {
FIXME("Todo Paletted\n"); FIXME("Todo Paletted\n");
} else if (tex_d->ddpfPixelFormat.dwFlags & DDPF_RGB) { } else if (tex_d->ddpfPixelFormat.dwFlags & DDPF_RGB) {
if (tex_d->ddpfPixelFormat.x.dwRGBBitCount == 8) { if (tex_d->ddpfPixelFormat.u.dwRGBBitCount == 8) {
FIXME("Todo 3_3_2_0\n"); FIXME("Todo 3_3_2_0\n");
} else if (tex_d->ddpfPixelFormat.x.dwRGBBitCount == 16) { } else if (tex_d->ddpfPixelFormat.u.dwRGBBitCount == 16) {
if (tex_d->ddpfPixelFormat.xy.dwRGBAlphaBitMask == 0x00000000) { if (tex_d->ddpfPixelFormat.u4.dwRGBAlphaBitMask == 0x00000000) {
/* Now transform the 5_6_5 into a 5_5_5_1 surface to support color keying */ /* Now transform the 5_6_5 into a 5_5_5_1 surface to support color keying */
unsigned short *dest = (unsigned short *) HeapAlloc(GetProcessHeap(), unsigned short *dest = (unsigned short *) HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY, HEAP_ZERO_MEMORY,
tex_d->dwWidth * tex_d->dwHeight * bpp); tex_d->dwWidth * tex_d->dwHeight * bpp);
unsigned short *src = (unsigned short *) tex_d->y.lpSurface; unsigned short *src = (unsigned short *) tex_d->u1.lpSurface;
int x, y; int x, y;
for (y = 0; y < tex_d->dwHeight; y++) { for (y = 0; y < tex_d->dwHeight; y++) {
@ -191,16 +191,16 @@ HRESULT WINAPI SetColorKey_cb(IDirect3DTexture2Impl *texture, DWORD dwFlags, LP
/* Frees the temporary surface */ /* Frees the temporary surface */
HeapFree(GetProcessHeap(),0,dest); HeapFree(GetProcessHeap(),0,dest);
} else if (tex_d->ddpfPixelFormat.xy.dwRGBAlphaBitMask == 0x00000001) { } else if (tex_d->ddpfPixelFormat.u4.dwRGBAlphaBitMask == 0x00000001) {
FIXME("Todo 5_5_5_1\n"); FIXME("Todo 5_5_5_1\n");
} else if (tex_d->ddpfPixelFormat.xy.dwRGBAlphaBitMask == 0x0000000F) { } else if (tex_d->ddpfPixelFormat.u4.dwRGBAlphaBitMask == 0x0000000F) {
FIXME("Todo 4_4_4_4\n"); FIXME("Todo 4_4_4_4\n");
} else { } else {
ERR("Unhandled texture format (bad Aplha channel for a 16 bit texture)\n"); ERR("Unhandled texture format (bad Aplha channel for a 16 bit texture)\n");
} }
} else if (tex_d->ddpfPixelFormat.x.dwRGBBitCount == 24) { } else if (tex_d->ddpfPixelFormat.u.dwRGBBitCount == 24) {
FIXME("Todo 8_8_8_0\n"); FIXME("Todo 8_8_8_0\n");
} else if (tex_d->ddpfPixelFormat.x.dwRGBBitCount == 32) { } else if (tex_d->ddpfPixelFormat.u.dwRGBBitCount == 32) {
FIXME("Todo 8_8_8_8\n"); FIXME("Todo 8_8_8_8\n");
} else { } else {
ERR("Unhandled texture format (bad RGB count)\n"); ERR("Unhandled texture format (bad RGB count)\n");
@ -373,12 +373,12 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
/* I should put a macro for the calculus of bpp */ /* I should put a macro for the calculus of bpp */
int bpp = (src_d->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8 ? int bpp = (src_d->ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8 ?
1 /* 8 bit of palette index */: 1 /* 8 bit of palette index */:
src_d->ddpfPixelFormat.x.dwRGBBitCount / 8 /* RGB bits for each colors */ ); src_d->ddpfPixelFormat.u.dwRGBBitCount / 8 /* RGB bits for each colors */ );
GLuint current_texture; GLuint current_texture;
/* Copy the main memry texture into the surface that corresponds to the OpenGL /* Copy the main memry texture into the surface that corresponds to the OpenGL
texture object. */ texture object. */
memcpy(dst_d->y.lpSurface, src_d->y.lpSurface, src_d->dwWidth * src_d->dwHeight * bpp); memcpy(dst_d->u1.lpSurface, src_d->u1.lpSurface, src_d->dwWidth * src_d->dwHeight * bpp);
ENTER_GL(); ENTER_GL();
@ -436,12 +436,12 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
0, /* border */ 0, /* border */
GL_COLOR_INDEX, /* texture format */ GL_COLOR_INDEX, /* texture format */
GL_UNSIGNED_BYTE, /* texture type */ GL_UNSIGNED_BYTE, /* texture type */
src_d->y.lpSurface); /* the texture */ src_d->u1.lpSurface); /* the texture */
} else if (src_d->ddpfPixelFormat.dwFlags & DDPF_RGB) { } else if (src_d->ddpfPixelFormat.dwFlags & DDPF_RGB) {
/* ************ /* ************
RGB Textures RGB Textures
************ */ ************ */
if (src_d->ddpfPixelFormat.x.dwRGBBitCount == 8) { if (src_d->ddpfPixelFormat.u.dwRGBBitCount == 8) {
/* ********************** /* **********************
GL_UNSIGNED_BYTE_3_3_2 GL_UNSIGNED_BYTE_3_3_2
********************** */ ********************** */
@ -452,9 +452,9 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
0, 0,
GL_RGB, GL_RGB,
GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_3_3_2,
src_d->y.lpSurface); src_d->u1.lpSurface);
} else if (src_d->ddpfPixelFormat.x.dwRGBBitCount == 16) { } else if (src_d->ddpfPixelFormat.u.dwRGBBitCount == 16) {
if (src_d->ddpfPixelFormat.xy.dwRGBAlphaBitMask == 0x00000000) { if (src_d->ddpfPixelFormat.u4.dwRGBAlphaBitMask == 0x00000000) {
/* Texture snooping */ /* Texture snooping */
SNOOP_5650(); SNOOP_5650();
@ -466,8 +466,8 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
0, 0,
GL_RGB, GL_RGB,
GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5,
src_d->y.lpSurface); src_d->u1.lpSurface);
} else if (src_d->ddpfPixelFormat.xy.dwRGBAlphaBitMask == 0x00000001) { } else if (src_d->ddpfPixelFormat.u4.dwRGBAlphaBitMask == 0x00000001) {
/* Texture snooping */ /* Texture snooping */
SNOOP_5551(); SNOOP_5551();
@ -478,8 +478,8 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
0, 0,
GL_RGBA, GL_RGBA,
GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_5_5_5_1,
src_d->y.lpSurface); src_d->u1.lpSurface);
} else if (src_d->ddpfPixelFormat.xy.dwRGBAlphaBitMask == 0x0000000F) { } else if (src_d->ddpfPixelFormat.u4.dwRGBAlphaBitMask == 0x0000000F) {
glTexImage2D(GL_TEXTURE_2D, glTexImage2D(GL_TEXTURE_2D,
0, 0,
GL_RGBA, GL_RGBA,
@ -487,11 +487,11 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
0, 0,
GL_RGBA, GL_RGBA,
GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4,
src_d->y.lpSurface); src_d->u1.lpSurface);
} else { } else {
ERR("Unhandled texture format (bad Aplha channel for a 16 bit texture)\n"); ERR("Unhandled texture format (bad Aplha channel for a 16 bit texture)\n");
} }
} else if (src_d->ddpfPixelFormat.x.dwRGBBitCount == 24) { } else if (src_d->ddpfPixelFormat.u.dwRGBBitCount == 24) {
glTexImage2D(GL_TEXTURE_2D, glTexImage2D(GL_TEXTURE_2D,
0, 0,
GL_RGB, GL_RGB,
@ -499,8 +499,8 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
0, 0,
GL_RGB, GL_RGB,
GL_UNSIGNED_BYTE, GL_UNSIGNED_BYTE,
src_d->y.lpSurface); src_d->u1.lpSurface);
} else if (src_d->ddpfPixelFormat.x.dwRGBBitCount == 32) { } else if (src_d->ddpfPixelFormat.u.dwRGBBitCount == 32) {
glTexImage2D(GL_TEXTURE_2D, glTexImage2D(GL_TEXTURE_2D,
0, 0,
GL_RGBA, GL_RGBA,
@ -508,7 +508,7 @@ static HRESULT WINAPI IDirect3DTexture2Impl_Load(LPDIRECT3DTEXTURE2 iface,
0, 0,
GL_RGBA, GL_RGBA,
GL_UNSIGNED_BYTE, GL_UNSIGNED_BYTE,
src_d->y.lpSurface); src_d->u1.lpSurface);
} else { } else {
ERR("Unhandled texture format (bad RGB count)\n"); ERR("Unhandled texture format (bad RGB count)\n");
} }

View file

@ -1051,8 +1051,8 @@ static HRESULT WINAPI IDirectDrawSurface4Impl_Blt(
GLboolean ztest; GLboolean ztest;
/* Clears the screen */ /* Clears the screen */
TRACE(" Filling depth buffer with %ld\n", lpbltfx->b.dwFillDepth); TRACE(" Filling depth buffer with %ld\n", lpbltfx->u4.dwFillDepth);
glClearDepth(lpbltfx->b.dwFillDepth / 65535.0); /* We suppose a 16 bit Z Buffer */ glClearDepth(lpbltfx->u4.dwFillDepth / 65535.0); /* We suppose a 16 bit Z Buffer */
glGetBooleanv(GL_DEPTH_TEST, &ztest); glGetBooleanv(GL_DEPTH_TEST, &ztest);
glDepthMask(GL_TRUE); /* Enables Z writing to be sure to delete also the Z buffer */ glDepthMask(GL_TRUE); /* Enables Z writing to be sure to delete also the Z buffer */
glClear(GL_DEPTH_BUFFER_BIT); glClear(GL_DEPTH_BUFFER_BIT);