Meshes with multiple batches handled

This commit is contained in:
surkeh 2018-04-13 17:22:07 -07:00
parent 4df1024a55
commit ad32d3d10a
3 changed files with 8 additions and 8 deletions

View File

@ -87,7 +87,7 @@ bool getmeshheader(struct MeshHeader**, unsigned int i, const char * const);
// ** = 'pass by reference' of a pointer to struct
bool getmeshbatch(struct Batch*,
struct MeshHeader*,
unsigned int offset,
const char * const);
#endif

View File

@ -69,13 +69,12 @@ bool getmeshheader(struct MeshHeader **hs,
}
bool getmeshbatch(struct Batch *b,
struct MeshHeader *h,
unsigned int offset,
const char * const filedata) {
bool done = false;
if (b == NULL || h == NULL || filedata == NULL) {
if (b == NULL || filedata == NULL) {
return done;
}
unsigned int offset = h -> offsetBatches;
struct BatchData *d1 = NULL;
struct VertexData d2;
d1 = (struct BatchData*) (filedata + offset);

View File

@ -117,14 +117,15 @@ void extractmeshes(const char *filedata,
unsigned int i;
unsigned int j;
bool ok;
//h -> numMesh
//for (i = 0; i < 5; i++) {
for (i = 0; i < h -> numMesh; i++) {
ok = getmeshheader(&mh, i, filedata);
if (ok) {
// for (j = 0; j < mh -> numBatch; j++) {
getmeshbatch(&b, mh, filedata);
for (j = 0; j < mh -> numBatch; j++) {
unsigned int offset = mh->offsetBatches + j * sizeof(struct BatchData);
getmeshbatch(&b, offset, filedata);
printmeshbatch(&b);
// } // end for
} // end for
} // end if
} // end for
}