Sign in to follow this  

xnacollision.h,xnamath,h and DirectXMath.h mismatch

This topic is 1921 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

When I use the xnamath,h collision functions,I get an error at all the places where XMVectorPermute() is used,like for instance:

[CODE]d = XMVector3Dot(t, XMVectorPermute(RX2, -RX2, Permute1Y0X0W0Z));
d_A = XMVector3Dot(h_A, XMVectorPermute(ARX2, ARX2, PermuteYXWZ));
d_B = XMVector3Dot(h_B, XMVectorPermute(AR2X, AR2X, PermuteYXWZ));[/CODE]

The error is:

[quote]Error:No instance of overloaded function "XMVectorPermute" matches the argument list
argument types are: (DirectX::XMVECTOR, DirectX::XMVECTOR, const DirectX::XMVECTORI32)[/quote]

Now this all used to work fine back on DirectX 10 apps,so I thought that maybe microsoft changed the function in DirectXMath.h,so it won't match the way it's used in xnacollision.h(also made by microsoft if I'm not mistaken).So I removed DirectXMath.h and included xnamath.h again,but it now all the math functions give me that same error and the weirdest part is,that even after saving,cleaning and restarting,when I click ''go to definition'' on any of those functions,they go to one of the DirectXMath#####.inl files,even when DirectXMath,h is not included anywhere in the solution.

Has anyone had such an issue when migrating to DirectXMath.h?I also found it hard to use XMFLOAT structures with x3daudio,I guess Microsoft doesn't support it anymore or something.

EDIT:It seems they made it some kind of template in one header and a normal function in another one.

Share this post


Link to post
Share on other sites
Sign in to follow this