2015-01-17 4:13 GMT-07:00 Stefan Dösinger stefandoesinger@gmail.com:
Right. Very little of dpvoice is implemented right now, but this semi-stub gives us a starting point for building the rest.
That's fine with me, but you'll have to convince Alexandre that this is a step in the right direction. To phrase it another way: How much effort would a proper enumeration take?
A proper enumeration would take a lot of effort because it changes depending on whether certain DLLs are present, and not all of those DLLs are present in Wine. Also, the strings would have to be localized.
Do you have plans to implement bigger parts of dpvoice?
Most of dpvoice is patent-protected in the United States:
https://www.google.com/patents/US7720908 https://www.google.com/patents/US7730206
GetCompressionTypes is one of the few pieces that we can legally implement.
Fortunately, practically nothing actually uses dpvoice. Star Trek Armada II doesn't even use dpvoice, it's just a dependency of its game engine.
Does avoiding this crash improve usability of the game? For example, does single player work without installing native dplay?
Single player works fine. Multiplayer crashes without warning, leaving the X server at 800x600 resolution.
I copied and pasted the variable names from dpvclient_GetCompressionTypes and dpvserver_GetCompressionTypes, so I am merely matching the variable conventions already present in this DLL.
Yeah, I know they exist in many places (and probably originate from the headers). Hungarian notation is something we want to get rid of from all of Wine, so deviating from existing code in that regard is fine.
Getting rid of the Hungarian notation in DPVOICE_GetCompressionTypes would make it look odd next to the other 3 functions declared in dvoice_private.h. Maybe after these two patches are committed, we could work on another patch to uniformly eliminate the Hungarian notation throughout dpvoice.
-Alex