mirror of
https://notabug.org/scuti/lib3ddevil1
synced 2025-05-31 14:11:42 +05:30
Implemented correct initialization of batch and positions array
This commit is contained in:
@@ -24,6 +24,31 @@ void printmeshheader(struct MeshHeader *mh) {
|
||||
printf("flags %x\n\n", mh -> flags);
|
||||
}
|
||||
|
||||
void printmeshbatch(struct Batch *b) {
|
||||
if (b == NULL) {
|
||||
return;
|
||||
}
|
||||
printf("number of vertices %x\n", b -> numVertex);
|
||||
printf("unknown byte %x\n", b -> uB);
|
||||
printf("padding %x\n", b -> padding);
|
||||
printf("offsetPositions %x\n", b -> offsetPositions);
|
||||
printf("offsetNormals %x\n", b -> offsetNormals);
|
||||
printf("offsetUVs %x\n", b -> offsetUVs);
|
||||
printf("offsetBoneIndexes %x\n", b -> offsetBoneIndexes);
|
||||
printf("offsetBoneWeights %x\n", b -> offsetBoneWeights);
|
||||
printf("offsets %x\n\n", b -> offsets[0]);
|
||||
}
|
||||
|
||||
void printpositions(struct Positions *p, unsigned int count) {
|
||||
if (p == NULL) {
|
||||
return;
|
||||
}
|
||||
unsigned int i;
|
||||
for (i = 0; i < count; i++) {
|
||||
printf("(%f, %f, %f)\n", (p[i]).x, (p[i]).y, (p[i]).z);
|
||||
}
|
||||
}
|
||||
|
||||
bool getmeshheader(struct MeshHeader **hs,
|
||||
unsigned int i,
|
||||
const char * const filedata) {
|
||||
@@ -40,3 +65,23 @@ bool getmeshheader(struct MeshHeader **hs,
|
||||
done = true;
|
||||
return done;
|
||||
}
|
||||
|
||||
bool getmeshbatch(struct Batch **b,
|
||||
struct MeshHeader *h,
|
||||
const char * const filedata) {
|
||||
bool done = false;
|
||||
if (b == NULL || h == NULL || filedata == NULL) {
|
||||
return done;
|
||||
}
|
||||
unsigned int offset = h -> offsetBatches;
|
||||
*b = (struct Batch*)(filedata + offset);
|
||||
(*b) -> p = (struct Positions*)(filedata + ((*b) -> offsetPositions));
|
||||
printf("p = %x\n", (*b) -> offsetPositions);
|
||||
printpositions((*b) -> p, 3);
|
||||
(*b) -> n = NULL;
|
||||
(*b) -> u = NULL;
|
||||
(*b) -> bi = NULL;
|
||||
(*b) -> bw = NULL;
|
||||
done = true;
|
||||
return done;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user