Direct Draw "palette_convert"

Roderick Colenbrander thunderbird2k at gmx.net
Thu Feb 15 01:52:06 CST 2007


Use this patch which I made a while ago. I still need to fix some things in it but it handles the conversion using fragment shaders. You need to set the DirectDrawRenderer to opengl and RenderTargetLockMode to readtex. I hope to clean it up soon.

Roderick

> 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
> 

-- 
"Feel free" - 5 GB Mailbox, 50 FreeSMS/Monat ...
Jetzt GMX ProMail testen: www.gmx.net/de/go/mailfooter/promail-out



More information about the wine-devel mailing list