ddraw patch
Lionel Ulmer
lionel.ulmer at free.fr
Thu Jul 24 13:20:41 CDT 2003
Some comments :
+ case D3DRENDERSTATE_LINEPATTERN: {
+ D3DLINEPATTERN pattern;
+ #ifdef WORDS_BIGENDIAN
+ pattern.wRepeatFactor = *((WORD*)&pattern + 2);
+ pattern.wLinePattern = *((WORD*)&pattern);
+ #else
+ pattern.wRepeatFactor = *((WORD*)&pattern);
+ pattern.wLinePattern = *((WORD*)&pattern + 2);
+ #endif
Why not someting 'simple' as pattern = *((D3DLINEPATTERN *) &dwRenderState); ?
Your code is not working anyway because (AFAICS) you never actually store
something in 'pattern'.
+ if(pattern.wRepeatFactor) {
+ glEnable(GL_LINE_STIPPLE);
+ FIXME("implement wRepeatFactor parameter for glLineStipple\n");
+ glLineStipple(1, pattern.wLinePattern);
+ } else {
+ glDisable(GL_LINE_STIPPLE);
+ }
+ break;
+ }
+
Well, as long as you are here, I would rather do something like that :
if(pattern.wRepeatFactor > 256) {
FIXME("not supported in OpenGL - clamping to 256");
}
glLineStipple(pattern.wRepeatFactor, pattern.wLinePattern);
Because, from what I can see in the man page, the first parameter of the
LineStipple call is exactly equivalent to 'pattern.wRepeatFactor'.
By the way, which game uses this rendering state ?
@@ -921,16 +940,16 @@
case CONVERT_PALETTED: {
IDirectDrawPaletteImpl* pal = current_surface->palette;
BYTE table[256][4];
- int i;
- int x, y;
+ unsigned int x, y;
BYTE *src = (BYTE *) (((BYTE *) src_d->lpSurface) + (bpp * rect->left) + (src_d->u1.lPitch * rect->top)), *dst;
-
+
if (pal == NULL) {
/* Upload a black texture. The real one will be uploaded on palette change */
WARN("Palettized texture Loading with a NULL palette !\n");
memset(table, 0, 256 * 4);
} else {
/* Get the surface's palette */
+ unsigned int i;
for (i = 0; i < 256; i++) {
table[i][0] = pal->palents[i].peRed;
table[i][1] = pal->palents[i].peGreen;
And what are the reasons for all these changes ? I do not see why it's
better to have the loop variables signed instead of unsigned (except if you
have a compiler warning about signed / unsigned comparison).
Lionel
--
Lionel Ulmer - http://www.bbrox.org/
More information about the wine-devel
mailing list