You were right: The crash in HL 1.1.1.0 is fixed with this :) :)
Thanks,
Stefan
pgpwIk5k1G0tJ.pgp
Description: PGP signature
> Well, an object can have multiple interfaces and still be the same object.
> So basically if at each new 'QueryInterface' call you allocation a new
> IImpl structure it's wrong regarding COM too...
>
> For example, you could create a surface1, query interface it to be a
> surface2. Then if you ch
On Sat, Jan 07, 2006 at 12:02:27PM +0100, Stefan Dösinger wrote:
> When creating the Interface, I allocate a IImpl structure, and I
> assign the VTable of the requested version:
>
> if(DD7)
> object->lpVtbl = &IDirectDraw7_Vtbl;
> else if(DD4)
> (IDirectDraw4Vtbl *) object->lpVtbl =
Stefan Dösinger wrote:
IDirectDraw7Vtbl IDirectDraw7_Vtbl = {
/* IUnknown */
...
/* IDirectDraw7 */
...
IDirectDrawImpl_SetCooperativeLevel,
IDirectDrawImpl_SetDisplayMode,
...
}
IDirectDraw4Vtbl IDirectDraw4_Vtbl = {
/* IUnknown *
Hi,
> Best would to see the actual code for that as I do not really understand
> what you did by reading your description of it.
I only have to implement D3D Textures, IDirect3DVertexBuffer and
IDirect3DExecuteBuffer, then my new patch will be more or less complete and
I'll post it here. Shouldn'
On Tue, Jan 03, 2006 at 09:17:14PM +0100, Stefan Dösinger wrote:
> To create interfaces for IDirectDraw1 to 7, I created 4 lpVtbl structures for
> each version, and I cast most DD7 funtions info the older versions. Only
> where the type or the number of parameters is different, I use a wrapper
>
Are there any other ways to debug this? Does anyone know why setting the
breakpoints fails?
when winedbg cannot set a bp (when continuing or something) it tells it
with a message like "invalid addr for bp, disabling it".
but, are you sure of the addresses? I mean, how did you get the 0x428a35
ad
Hello,
I am working on a DDraw rewrite with WineD3D, and I've hit a problem with
Half-Life, which looks like a stack corruption. HL makes a ret from a
function which leads into sensless code, and I wasn't able to debug it.
That's what happens: From 0x00428a35 there's a call to a function at
0x0