Christian Costa : d3dxof: Prepare support for objects binary format.

Alexandre Julliard julliard at winehq.org
Tue Nov 11 08:35:54 CST 2008


Module: wine
Branch: master
Commit: 86d7f9f58c839e89995e230ee660605ca2be7572
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=86d7f9f58c839e89995e230ee660605ca2be7572

Author: Christian Costa <titan.costa at wanadoo.fr>
Date:   Tue Nov 11 12:41:11 2008 +0100

d3dxof: Prepare support for objects binary format.

---

 dlls/d3dxof/d3dxof.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/dlls/d3dxof/d3dxof.c b/dlls/d3dxof/d3dxof.c
index 6479e21..25d4834 100644
--- a/dlls/d3dxof/d3dxof.c
+++ b/dlls/d3dxof/d3dxof.c
@@ -306,7 +306,7 @@ static HRESULT WINAPI IDirectXFileImpl_CreateEnumObject(IDirectXFile* iface, LPV
   object->hFile = hFile;
   object->pDirectXFile = This;
   object->buf.pdxf = This;
-  object->buf.txt = TRUE;
+  object->buf.txt = (header[2] == XOFFILE_FORMAT_TEXT);
   object->buf.token_present = FALSE;
   object->buf.cur_subobject = 0;
 
@@ -1803,7 +1803,7 @@ static BOOL parse_object_members_list(parse_buffer * buf)
 
     for (k = 0; k < nb_elems; k++)
     {
-      if (k)
+      if (buf->txt && k)
       {
         token = check_TOKEN(buf);
         if (token == TOKEN_COMMA)
@@ -1937,13 +1937,16 @@ static BOOL parse_object_members_list(parse_buffer * buf)
       }
     }
 
-    token = get_TOKEN(buf);
-    if (token != TOKEN_SEMICOLON)
+    if (buf->txt)
     {
-      /* Allow comma instead of semicolon in some specific cases */
-      if (!((token == TOKEN_COMMA) && ((i+1) < pt->nb_members) && (pt->members[i].type == pt->members[i+1].type)
-        && (!pt->members[i].nb_dims) && (!pt->members[i+1].nb_dims)))
-        return FALSE;
+      token = get_TOKEN(buf);
+      if (token != TOKEN_SEMICOLON)
+      {
+        /* Allow comma instead of semicolon in some specific cases */
+        if (!((token == TOKEN_COMMA) && ((i+1) < pt->nb_members) && (pt->members[i].type == pt->members[i+1].type)
+          && (!pt->members[i].nb_dims) && (!pt->members[i+1].nb_dims)))
+          return FALSE;
+      }
     }
   }
 




More information about the wine-cvs mailing list