I want to get my hands dirty in the wine source code but I need a little guidance, hopefully from someone working on the DirectX sections of wine.
I've decided I want to get Carmageddon working properly. I have already added it to the appdb (http://appdb.winehq.org/appview.php?iVersionId=6993) for the windows version. My main question is, how can I go about linking the visual bugs that I see with the area of code that needs work? I have worked with DirectX before and I am capable of coding tests and hooking directx on windows if needed.
Am Dienstag 13 Februar 2007 02:43 schrieb Nathan Williams:
I want to get my hands dirty in the wine source code but I need a little guidance, hopefully from someone working on the DirectX sections of wine.
I've decided I want to get Carmageddon working properly. I have already added it to the appdb (http://appdb.winehq.org/appview.php?iVersionId=6993) for the windows version. My main question is, how can I go about linking the visual bugs that I see with the area of code that needs work? I have worked with DirectX before and I am capable of coding tests and hooking directx on windows if needed.
I am working on Direct3D and DirectDraw, and I wrote the new DirectDraw over WineD3D implementation.
From looking at the (tiny) description in the appdb it seems that there are 3 different issues. The "lenght not multiple" messages are sound related - I hardly know about that. The "managed" issue, do you mean it only runs in a virtual desktop, or when you allow the window to be controlled by the linux window manager? Last, the flawky menus and cutscenes could be because of the lack of a proper GDI engine. You can test that by enabling the ddraw debug channel and searching for GetDC calls.
Yeah, I'm not too interested in the sound right now, but I aim to work on that eventually.
As for managed mode, unless I'm mangling the wine terminology, what i mean is that it will only show up if I use a command such as:
wine explorer /desktop=foo,640x480 CARM95.EXE
I'll do some looking into the GetDC calls now. Thank you!
On 2/13/07, Stefan Dösinger stefandoesinger@gmx.at wrote:
Am Dienstag 13 Februar 2007 02:43 schrieb Nathan Williams:
I want to get my hands dirty in the wine source code but I need a little guidance, hopefully from someone working on the DirectX sections of wine.
I've decided I want to get Carmageddon working properly. I have already added it to the appdb (http://appdb.winehq.org/appview.php?iVersionId=6993) for the windows version. My main question is, how can I go about linking the visual bugs that I see with the area of code that needs work? I have worked with DirectX before and I am capable of coding tests and hooking directx on windows if needed.
I am working on Direct3D and DirectDraw, and I wrote the new DirectDraw over WineD3D implementation.
From looking at the (tiny) description in the appdb it seems that there are 3 different issues. The "lenght not multiple" messages are sound related - I hardly know about that. The "managed" issue, do you mean it only runs in a
virtual desktop, or when you allow the window to be controlled by the linux window manager? Last, the flawky menus and cutscenes could be because of the lack of a proper GDI engine. You can test that by enabling the ddraw debug
channel and searching for GetDC calls.
Am Dienstag 13 Februar 2007 03:39 schrieb Nathan Williams:
Yeah, I'm not too interested in the sound right now, but I aim to work on that eventually.
As for managed mode, unless I'm mangling the wine terminology, what i mean is that it will only show up if I use a command such as:
wine explorer /desktop=foo,640x480 CARM95.EXE
Yes, you're mangling the terminology here. What you do here is a virtual desktop. Managed mode means that the windows are managed by the X11 window manager(so they have the window decorations like Linux apps and can be minimized as normal), while unmanaged mode means that wine manages them, they have windows 95-style decos and stay on top of all Linux apps. Managed mode is the default, I think you can enable unmanaged mode with a registry switch.
Oh, my apologies, i thought i had the terminology down pat, but i guess not! I added a comment correcting myself on the appdb.
On the actual code, i think the bug lies somewhere in: IWineD3DPaletteImpl_SetEntries
During the menus this is called repeatedly.
Which looking at the source (wined3d/palette.c) there is a comment about problems with depth conversion (which Carmageddon runs in 8 bit) so I'm working on the assumption thats where the problem lies.
Tonight I plan to do some testing on that to see what i can find.
On 2/13/07, Stefan Dösinger stefandoesinger@gmx.at wrote:
wine explorer /desktop=foo,640x480 CARM95.EXE
Yes, you're mangling the terminology here. What you do here is a virtual desktop. Managed mode means that the windows are managed by the X11 window manager(so they have the window decorations like Linux apps and can be minimized as normal), while unmanaged mode means that wine manages them, they have windows 95-style decos and stay on top of all Linux apps. Managed mode is the default, I think you can enable unmanaged mode with a registry switch.