Archived

This topic is now archived and is closed to further replies.

pi256

D3DXLoadMeshFromX doesn't work together with DirectPlay :(

Recommended Posts

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

Share this post


Link to post
Share on other sites
sounds fishy, why would D3DX and DirectPlay conflict ??
better check microsoft knowledge base.

Its my duty, to please that booty ! - John Shaft

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
hi all together!!

as our chief programmer is busy because of his military service, I thank you a lot for yer replys...

in substitution michael for pi256

Share this post


Link to post
Share on other sites