Diablo II - Lord of Destruction Expansion

Bjorn Wesen bjorn at sparta.lu.se.NOSPAM
Mon Jul 30 20:42:34 CDT 2001


Bjorn wrote:
> I'll see if I can hack something out of it.. waiting for winex to
> compile but since there are almost no diffs in the actual ddraw code
> between the winex and winehq versions I don't expect miracles

Right, the winex version didn't work either and in fact it didn't work
without DGA either (probably because the winehq version didn't work
until after june and the winex version is not synced after that).

So I went and disabled the TSXDGACreatePalette call if dga_dev == NULL
in dlls/x11drv/dga2.c and then it booted (but with incorrect palette of
course). Full speed... wow. However neither the keyboard nor the mouse
worked in the game and it was impossible to kill the application.
ctrl-alt-backspace exited X but didn't restore the display... a reboot
was only solution :)

So there are two problems left to solve: 

1. how to fix X11DRV_XF86DGA2_CreatePalette so it can remember the
palette and set it in SetMode. It's not as easy as remembering the
argument pointer because that points to a stack structure when called
through most instances. X11DRV_XF86DGA2_SetPalette needs to remember as
well since it's called directly after CreatePalette while still not DGA
being initialized.. I guess the data->lpColorTable should be copied into
a static structure and used when the DGA is enabled ?

2. there must be a better way to hook SIGTERM or something so that there
can be a controlled return of the screen after DGA. 

/Bjorn



More information about the wine-users mailing list