Direct Draw "palette_convert"

Nathan Williams nathan.andrew.williams at gmail.com
Wed Feb 14 16:51:17 CST 2007


I'm working on some direct draw code to get Carmageddon working.

I think I have found my issue in IWineD3DPaletteImpl_SetEntries

Carmageddon runs in 8 bit mode, my x windows is set at 24bit.

If I drop xorg to 8bit, wine refuses to load.
If i set it to 16bit, the Carmageddon menus are still bad, but
noticeably better then running in 24bit.

In SetEntries there is a bit of code idef'd out:

#if 0
    /* Now, if we are in 'depth conversion mode', update the screen palette */
    /* FIXME: we need to update the image or we won't get palette fading. */
    if (This->ddraw->d->palette_convert != NULL)
        This->ddraw->d->palette_convert(palent,This->screen_palents,start,count);
#endif

Uncommenting the above only leads to compile errors.
Dredging through the wine archives, I see that the palette convert
functions haven't been there since 2000.

Can anyone give me an idea on why they were removed & what might be
the best way to reimplement some form of palette conversion?
(Even just in a hacky way right now, so i can test my assumptions)

-- 
Nathan



More information about the wine-devel mailing list