I have problem with Allegro 4.2.4 running palette mode (256 colors) in Windows 7. I found over Internet solution of killing explorer and it's working indeed, however it would be ridiculous to expect that end user will kill explorer when trying to play game.
Then I found solution to replace DDraw.dll with hacked version, but it doesn't work either - DDHack just results in no screen being shown at all after application launch.
Then I found solution of adding registry hack:
Windows Registry Editor Version 5.00
;This file has been created with DirectDraw Compatibility Tool (http://crappybitter.livejournal.com/tag/ddc_tool)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\Compatibility\MyApp]
"Name"="MyApp.exe"
"ID"=dword:4E7B8A88
"Flags"=hex:00,08,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility\MyApp]
"Name"="MyApp.exe"
"ID"=dword:4E7B8A88
"Flags"=hex:00,08,00,00
But sadly it won't work either, the palette keeps flickering with all rainbow colors.
Do I have any other solution other than porting entire application to different programming lib? Is it possible to fix DDraw problem on Vista/W7 without touching palettes? If not, what library will give me palette programming (I am doing game that requires palettes) without such problems on Vista/W7?
I know of one more solution - I can compile Allegro 4.2.4 application as DOS application and run in DosBox. Sadly, but that's all I can think of now...
Thanks in advance for other solutions!