-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 2015-01-16 um 20:15 schrieb Alex Henrie:
No. *pdwNumElements has to be at least 1 or the game crashes.
Ok
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? Do you have plans to implement bigger parts of dpvoice?
Does avoiding this crash improve usability of the game? For example, does single player work without installing native dplay?
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.
struct { DVCOMPRESSIONINFO info; const WCHAR name[]; } codec = { {80, {0x8de12fd4,0x7cb3,0x48ce {0xa7,0xe8,0x9c,0x47,0xa2,0x2e,0x8a,0xc5}}, &codec.name, NULL, 0, 64000}}, {'M','S','-','P','C','M',' ','6','4',' ','k','b','i','t','/','s',0}; };
There are a couple of problems with this suggestion:
- C only allows one flexible array per struct. We would have to
switch to fixed, manually hardcoded array sizes in order to add more codecs to the list. Also, ANSI C does not allow flexible arrays in structs at all, so this syntax could be a problem for some compilers.
- In Windows, the codec names are localized and stored in
resource files in other DLLs.
Overall it is a bit related to the first problem. I can live with either way if we decide to keep the semi-stub.