[Bug 9030] army men hangs on black screen

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Jul 12 07:50:05 CDT 2010


--- Comment #30 from Boran Car <boran.car at gmail.com>  2010-07-12 07:50:03 ---
(In reply to comment #28)
> Created an attachment (id=29544)
 --> (http://bugs.winehq.org/attachment.cgi?id=29544) [details]
> Armymen menu - with faked palette
> I had created a simple faked palette just in CreatePalette, so I recieved some
> usable pictures. I had stepped through army men initialization process and i
> had discovered that this program gives a pretty odd palette to CreatePalette
> call - 256-times R:0 G:0 B:0. Maybe Armymen relies on a default palette, maybe
> not. Once more interesting article i found is that army men does all the
> rendering through GetDC and ReleaseDC, so the palette is not probably needed.
> Then the problem is in X11DRV_DIB_MapColor, because the search for acceptable
> color fails and the function returns zero index - allways black color. This is
> probably more general problem with translating colors between palette and DC.

Yes, you are completely right. I had abandoned this for a while, promising to
return to it later. I remember using hw breakpoints to see if anything gets
copied to the surface memory, and indeed, zeros were copied all the time so I
dismissed it as no copying. This might prove the fact that all rendering is
done through GetDC and ReleaseDC which in fact call Lock and Unlock and do the
translation themselves, hence, we get 24-bit RGB (0,0,0) = 0. Maybe this
palette gets input as a result of another function call and game logic. I was
planning to make a proxy ddraw.dll on windows and trace the calls to ddraw to
get more insight. Can you please provide me with that article?
It's possible to obtain the correct default palette from windows and use it in
wine. One more thing that might prove this is an odd result while playing Air
Tactics on Windows XP. Sometimes, the screen turns into a color noise (probably
as a result of a palette change). If we can fix this on Wine, we might provide
a ddraw.dll that will make the game (and similar games to it) runnable once
more on Windows.

Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.

More information about the wine-bugs mailing list