d3dxof: Get rid of cur_subobject.
This commit is contained in:
parent
b5290bde98
commit
24d6c0a90d
|
@ -280,7 +280,6 @@ static HRESULT WINAPI IDirectXFileImpl_CreateEnumObject(IDirectXFile* iface, LPV
|
||||||
object->buf.pdxf = This;
|
object->buf.pdxf = This;
|
||||||
object->buf.txt = (header[2] == XOFFILE_FORMAT_TEXT);
|
object->buf.txt = (header[2] == XOFFILE_FORMAT_TEXT);
|
||||||
object->buf.token_present = FALSE;
|
object->buf.token_present = FALSE;
|
||||||
object->buf.cur_subobject = 0;
|
|
||||||
|
|
||||||
TRACE("File size is %d bytes\n", file_size);
|
TRACE("File size is %d bytes\n", file_size);
|
||||||
|
|
||||||
|
@ -1044,7 +1043,6 @@ static HRESULT WINAPI IDirectXFileEnumObjectImpl_GetNextDataObject(IDirectXFileE
|
||||||
|
|
||||||
This->buf.pxo_globals = This->xobjects;
|
This->buf.pxo_globals = This->xobjects;
|
||||||
This->buf.nb_pxo_globals = This->nb_xobjects;
|
This->buf.nb_pxo_globals = This->nb_xobjects;
|
||||||
This->buf.cur_subobject = 1;
|
|
||||||
This->buf.level = 0;
|
This->buf.level = 0;
|
||||||
|
|
||||||
This->buf.pxo_tab = HeapAlloc(GetProcessHeap(), 0, sizeof(xobject)*MAX_SUBOBJECTS);
|
This->buf.pxo_tab = HeapAlloc(GetProcessHeap(), 0, sizeof(xobject)*MAX_SUBOBJECTS);
|
||||||
|
@ -1059,6 +1057,7 @@ static HRESULT WINAPI IDirectXFileEnumObjectImpl_GetNextDataObject(IDirectXFileE
|
||||||
This->buf.pxo->pdata = This->buf.pdata = NULL;
|
This->buf.pxo->pdata = This->buf.pdata = NULL;
|
||||||
This->buf.capacity = 0;
|
This->buf.capacity = 0;
|
||||||
This->buf.cur_pos_data = 0;
|
This->buf.cur_pos_data = 0;
|
||||||
|
This->buf.pxo->nb_subobjects = 1;
|
||||||
|
|
||||||
pstrings = HeapAlloc(GetProcessHeap(), 0, MAX_STRINGS_BUFFER);
|
pstrings = HeapAlloc(GetProcessHeap(), 0, MAX_STRINGS_BUFFER);
|
||||||
if (!pstrings)
|
if (!pstrings)
|
||||||
|
@ -1076,10 +1075,9 @@ static HRESULT WINAPI IDirectXFileEnumObjectImpl_GetNextDataObject(IDirectXFileE
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
This->buf.pxo->nb_subobjects = This->buf.cur_subobject;
|
if (This->buf.pxo->nb_subobjects > MAX_SUBOBJECTS)
|
||||||
if (This->buf.cur_subobject > MAX_SUBOBJECTS)
|
|
||||||
{
|
{
|
||||||
FIXME("Too many suobjects %d\n", This->buf.cur_subobject);
|
FIXME("Too many subobjects %d\n", This->buf.pxo->nb_subobjects);
|
||||||
hr = DXFILEERR_BADALLOC;
|
hr = DXFILEERR_BADALLOC;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,7 +128,6 @@ typedef struct {
|
||||||
WORD current_token;
|
WORD current_token;
|
||||||
BOOL token_present;
|
BOOL token_present;
|
||||||
BOOL txt;
|
BOOL txt;
|
||||||
ULONG cur_subobject;
|
|
||||||
ULONG cur_pos_data;
|
ULONG cur_pos_data;
|
||||||
LPBYTE cur_pstrings;
|
LPBYTE cur_pstrings;
|
||||||
BYTE value[100];
|
BYTE value[100];
|
||||||
|
|
|
@ -1212,14 +1212,14 @@ _exit:
|
||||||
ERR("Reference to unknown object %s\n", (char*)buf->value);
|
ERR("Reference to unknown object %s\n", (char*)buf->value);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
buf->pxo->childs[buf->pxo->nb_childs] = &buf->pxo_tab[buf->cur_subobject++];
|
buf->pxo->childs[buf->pxo->nb_childs] = &buf->pxo_tab[buf->pxo->root->nb_subobjects++];
|
||||||
buf->pxo->childs[buf->pxo->nb_childs]->ptarget = &(buf->pxo_globals[i])[j];
|
buf->pxo->childs[buf->pxo->nb_childs]->ptarget = &(buf->pxo_globals[i])[j];
|
||||||
buf->pxo->nb_childs++;
|
buf->pxo->nb_childs++;
|
||||||
}
|
}
|
||||||
else if (check_TOKEN(buf) == TOKEN_NAME)
|
else if (check_TOKEN(buf) == TOKEN_NAME)
|
||||||
{
|
{
|
||||||
xobject* pxo = buf->pxo;
|
xobject* pxo = buf->pxo;
|
||||||
buf->pxo = buf->pxo->childs[buf->pxo->nb_childs] = &buf->pxo_tab[buf->cur_subobject++];
|
buf->pxo = buf->pxo->childs[buf->pxo->nb_childs] = &buf->pxo_tab[buf->pxo->root->nb_subobjects++];
|
||||||
|
|
||||||
TRACE("Enter optional %s\n", (char*)buf->value);
|
TRACE("Enter optional %s\n", (char*)buf->value);
|
||||||
buf->level++;
|
buf->level++;
|
||||||
|
|
Loading…
Reference in New Issue