Jump to content
  • Advertisement
Sign in to follow this  
dx_maniac_dx

Register a Template in DirectX

This topic is 2474 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

Hello everybody,

i have problems to register a template in directx. I've tried two things to solve this problem but it's impossible.

I have set the LPD3DXFILE interface:

LPD3DXFILE xFile;

create it with the D3DXFileCreate( ID3DXFile** lplpDirectXFile ) function:

D3DXFileCreate(&xFile);

i check the return value and it returns S_OK... thats a good message but now my problem.....

i want use the xFile interface to set the templates i want to use with the RegisterTemplates function like this:

xFile->RegisterTemplates(XSKINEXP_TEMPLATES, strlen(XSKINEXP_TEMPLATES));

return value:

D3DXFERR_PARSEERROR

then ive tried this:

xFile->RegisterTemplates((LPVOID)XSKINEXP_TEMPLATES, sizeof( XSKINEXP_TEMPLATES ) - 1 );

again the same return value:

D3DXFERR_PARSEERROR

I'm just watching my listing and think about what i have done wrong at the moment and cant go further...

I hope you can help me.....

best regards

dx_maniac_dx

Share this post


Link to post
Share on other sites
Advertisement
What is XSKINEXP_TEMPLATES? A char array? Your second call doesn't make sense because the function wants to know the buffer size, and not the buffer size - 1. (Edit: I guess the -1 is to subtract the string terminating symbol?)

Does the example from the docs work for you? http://msdn.microsof...v=vs.85%29.aspx


TIDirectXFile * pDXFile;
char *szTemplates = "xof 0303txt 0032\
template SimpleData { \
<2b934580-9e9a-11cf-ab39-0020af71e433> \
DWORD item1;DWORD item2;DWORD item3;} \
template ArrayData { \
<2b934581-9e9a-11cf-ab39-0020af71e433> \
DWORD cItems; array DWORD aItem[2][cItems]; [...] } \
template RestrictedData { \
<2b934582-9e9a-11cf-ab39-0020af71e433> \
DWORD item; [SimpleData]}";
hr = pDXFile->RegisterTemplates(szTemplates, strlen(szTemplates));

Share this post


Link to post
Share on other sites

Hi froop.

Yeah, this example from the docs works but for some reason the template definition

XSKINEXP_TEMPLATES from the d3dx9mesh.h doesn't work.



[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]I dont know what I have done wrong. Im still thinking about it. i hope you can give me a hint.[/font]




[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]best regards[/font]




[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]dx_maniac_dx[/font]



EDIT: Yeah, thats right.I thought that could be the problem so I've used [color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

-1 to subtract the string terminating symbol but that wasn't the problem.

[/font] Edited by dx_maniac_dx

Share this post


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

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!