Christian Costa : d3dxof: Allow templates to be defined anywhere in objects file.
Module: wine Branch: master Commit: 074465b6751189bf61cefc77850bb03f919b8a52 URL: http://source.winehq.org/git/wine.git/?a=commit;h=074465b6751189bf61cefc7785... Author: Christian Costa <titan.costa(a)wanadoo.fr> Date: Mon Mar 1 09:36:19 2010 +0100 d3dxof: Allow templates to be defined anywhere in objects file. --- dlls/d3dxof/d3dxof.c | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/dlls/d3dxof/d3dxof.c b/dlls/d3dxof/d3dxof.c index 0f800bf..eccdf98 100644 --- a/dlls/d3dxof/d3dxof.c +++ b/dlls/d3dxof/d3dxof.c @@ -1034,6 +1034,23 @@ static HRESULT WINAPI IDirectXFileEnumObjectImpl_GetNextDataObject(IDirectXFileE return DXFILEERR_NOMOREOBJECTS; } + /* Check if there are templates defined before the object */ + while (This->buf.rem_bytes && is_template_available(&This->buf)) + { + if (!parse_template(&This->buf)) + { + TRACE("Template is not correct\n"); + hr = DXFILEERR_BADVALUE; + goto error; + } + else + { + TRACE("Template successfully parsed:\n"); + if (TRACE_ON(d3dxof)) + dump_template(This->pDirectXFile->xtemplates, &This->pDirectXFile->xtemplates[This->pDirectXFile->nb_xtemplates - 1]); + } + } + if (!This->buf.rem_bytes) return DXFILEERR_NOMOREOBJECTS;
participants (1)
-
Alexandre Julliard