Merge pull request #3743 from Garux/Q1MDLgroup
Fix Q1 MDL group frame loading, e.g. Q1 progs/flame2.mdlkimkulling-issues-3726
commit
2f5a31110c
|
@ -696,14 +696,16 @@ struct GroupFrame
|
|||
//! 0 = simple frame, !0 = group frame
|
||||
int32_t type;
|
||||
|
||||
int32_t numframes;
|
||||
|
||||
//! Minimum vertex for all single frames
|
||||
Vertex min;
|
||||
|
||||
//! Maximum vertex for all single frames
|
||||
Vertex max;
|
||||
|
||||
//! Time for all single frames
|
||||
float *time;
|
||||
//! List of times for all single frames
|
||||
float *times;
|
||||
|
||||
//! List of single frames
|
||||
SimpleFrame *frames;
|
||||
|
|
|
@ -439,8 +439,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 = &(pcFrames2->frames[0]);
|
||||
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));
|
||||
|
|
Loading…
Reference in New Issue