mirror of
https://notabug.org/scuti/lib3ddevil1
synced 2024-11-25 16:28:57 +05:30
Moved loop to its own function - gettextures()
This commit is contained in:
parent
91103da410
commit
6f915237b4
@ -51,4 +51,10 @@ unsigned int gettexturebatch(
|
||||
struct TextureBatchDescriptor**,
|
||||
const char*,
|
||||
unsigned int);
|
||||
|
||||
void gettextures(struct Texture **,
|
||||
struct TexturePack*,
|
||||
struct TextureBatch**,
|
||||
struct TextureBatchDescriptor**);
|
||||
|
||||
#endif
|
||||
|
@ -83,3 +83,22 @@ unsigned int gettexturebatch(
|
||||
return totaltextures;
|
||||
}
|
||||
|
||||
void gettextures(struct Texture **t,
|
||||
struct TexturePack *tp,
|
||||
struct TextureBatch **tb,
|
||||
struct TextureBatchDescriptor **bds) {
|
||||
unsigned int i;
|
||||
unsigned int j;
|
||||
// k is access to index of textures.
|
||||
unsigned int k = 0;
|
||||
unsigned int offset = 0;
|
||||
for (i = 0; i < tp -> batchNumber; i++) {
|
||||
for (j = 0; j < bds[i] -> texNumber; j++) {
|
||||
printf("texture offsets %x\n", offset + tp -> firstBatchOffset);
|
||||
t[k] = (struct Texture*)tb + offset;
|
||||
offset += bds[i] -> textureSize;
|
||||
k++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
14
test/main.c
14
test/main.c
@ -126,19 +126,7 @@ void unpacktextures(const char *filedata,
|
||||
struct Texture **textures = NULL;
|
||||
textures = (struct Texture**)malloc(
|
||||
sizeof(struct Texture**) * texturecount);
|
||||
unsigned int i;
|
||||
unsigned int j;
|
||||
// k is access to index of textures.
|
||||
unsigned int k = 0;
|
||||
unsigned int offset = 0;
|
||||
for (i = 0; i < tp -> batchNumber; i++) {
|
||||
for (j = 0; j < descripts[i] -> texNumber; j++) {
|
||||
printf("texture offsets %x\n", offset + tp -> firstBatchOffset);
|
||||
textures[k] = (struct Texture*)batches + offset;
|
||||
offset += descripts[i] -> textureSize;
|
||||
k++;
|
||||
}
|
||||
}
|
||||
gettextures(textures, tp, batches, descripts);
|
||||
free(textures);
|
||||
free(descripts);
|
||||
free(batches);
|
||||
|
Loading…
Reference in New Issue
Block a user