D3DXLoadMeshFromX doesn't work together with DirectPlay :(
Hi!
I discovered a very strange problem under winxp. While under win2k my program works fine, D3DXLoadMeshFromX fails loading a
mesh under winxp (I tried it with diffrent meshes so it should not be the mesh''s fault). After a lot of debugging I found out
that the function does it''s job when it''s called before a IDirectPlay8Client function is called.
Simple example:
// ...
hr = m_dpClient->EnumHosts
(
&dpnAppDesc, pDP8AddressHost,
pDP8AddressLocal, NULL,
0, INFINITE, 0, INFINITE, NULL,
&m_enumHandle, 0
);
hr = D3DXLoadMeshFromX
(
filename,
D3DXMESH_SYSTEMMEM, ge->m_d3dDev, NULL,
&tmpMaterials, &m_numMaterials, &m_mesh
);
// ...
Now when D3DXLoadMeshFromX() returns everything has worked fine except one thing: the vertices in the mesh are totally
screwed up! If I place the D3DXLoadMeshFromX() call in front of a IDirectPlay8Client:: function call, it works:
// ...
hr = CoCreateInstance // This function can be called without affecting the D3DXLoadMeshFromX() function ?!?!
(
CLSID_DirectPlay8Client, NULL,
CLSCTX_INPROC_SERVER,
IID_IDirectPlay8Client,
(LPVOID*) &m_dpClient
);
hr = D3DXLoadMeshFromX
(
filename,
D3DXMESH_SYSTEMMEM, ge->m_d3dDev, NULL,
&tmpMaterials, &m_numMaterials, &m_mesh
);
hr = m_dpClient->EnumHosts
(
&dpnAppDesc, pDP8AddressHost,
pDP8AddressLocal, NULL,
0, INFINITE, 0, INFINITE, NULL,
&m_enumHandle, 0
);
// ...
Can anybody tell me why?? Everything in my program works except this one function ((((
Under win2k everything works...?!?!
By the way: I''m using the DirectX 8.1 SDK
Thx for help
- pi256
sounds fishy, why would D3DX and DirectPlay conflict ??
better check microsoft knowledge base.
Its my duty, to please that booty ! - John Shaft
better check microsoft knowledge base.
Its my duty, to please that booty ! - John Shaft
There are some faulty DX-dll''s shipping with XP.
Download the DirectX package from microsoft and reinstall it.
--
MFC is sorta like the swedish police... It''''s full of crap, and nothing can communicate with anything else.
Download the DirectX package from microsoft and reinstall it.
--
MFC is sorta like the swedish police... It''''s full of crap, and nothing can communicate with anything else.
It even says so in the SDK readmes that there are some dodgy DirectX runtimes shipped with XP, with problems especially in DirectPlay. I''m assuming this is because XP uses a new kind of sockets... Getting DX 8.1b should do the trick.
- JQ
Full Speed Games. Coming soon.
- JQ
Full Speed Games. Coming soon.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement