Sfoglia il codice sorgente

fix -Waddress-of-packed-member

Garux 4 anni fa
parent
commit
c776924adf
2 ha cambiato i file con 5 aggiunte e 4 eliminazioni
  1. 2 2
      code/AssetLib/MDL/MDLFileData.h
  2. 3 2
      code/AssetLib/MDL/MDLLoader.cpp

+ 2 - 2
code/AssetLib/MDL/MDLFileData.h

@@ -704,8 +704,8 @@ struct GroupFrame
     //! Maximum vertex for all single frames
     Vertex max;
 
-    //! Time for all single frames
-    float time;    // float[numframes]
+    //! List of times for all single frames
+    float *times;
 
     //! List of single frames
     SimpleFrame *frames;

+ 3 - 2
code/AssetLib/MDL/MDLLoader.cpp

@@ -427,8 +427,9 @@ void MDLImporter::InternReadFile_Quake1() {
         pcFirstFrame = (MDL::SimpleFrame *)&pcFrames->frame;
     } else {
         // get the first frame in the group
-        BE_NCONST MDL::GroupFrame *pcFrames2 = (BE_NCONST MDL::GroupFrame *)pcFrames;
-        pcFirstFrame = (MDL::SimpleFrame *)( &pcFrames2->time + pcFrames2->numframes );
+        BE_NCONST MDL::GroupFrame *pcFrames2 = (BE_NCONST MDL::GroupFrame *)szCurrent;
+        pcFirstFrame = (MDL::SimpleFrame *)( szCurrent + sizeof(MDL::GroupFrame::type) + sizeof(MDL::GroupFrame::numframes)
+        + sizeof(MDL::GroupFrame::min) + sizeof(MDL::GroupFrame::max) + sizeof(*MDL::GroupFrame::times) * pcFrames2->numframes );
     }
     BE_NCONST MDL::Vertex *pcVertices = (BE_NCONST MDL::Vertex *)((pcFirstFrame->name) + sizeof(pcFirstFrame->name));
     VALIDATE_FILE_SIZE((const unsigned char *)(pcVertices + pcHeader->num_verts));