D3DXLoadMeshFromX doesn't work together with DirectPlay :(

Started by
4 comments, last by pi256 21 years, 7 months ago
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
Advertisement
should send a bug report to directx@microsoft.com

xyzzy
sounds fishy, why would D3DX and DirectPlay conflict ??
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.
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.
~phil
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

This topic is closed to new replies.

Advertisement