1 |
querten |
1.1 |
// Chunk.cpp: Contains everything related to chunk.
|
2 |
|
|
// Functions
|
3 |
|
|
// ...
|
4 |
|
|
//
|
5 |
|
|
//////////////////////////////////////////////////////////////////////
|
6 |
|
|
|
7 |
|
|
#include "../interface/Chunk.h"
|
8 |
|
|
|
9 |
|
|
void ReadChunk(FILE* pFile, stChunk* pChunk)
|
10 |
|
|
{
|
11 |
|
|
pChunk->read = fread(&pChunk->type, 1, 2, pFile);
|
12 |
|
|
pChunk->read += fread(&pChunk->size, 1, 4, pFile);
|
13 |
|
|
// printf("Reader : %i (%i)\n",pChunk->type,pChunk->size);
|
14 |
|
|
}
|
15 |
|
|
|
16 |
|
|
void WriteChunk(FILE* pFile, stChunkToSave* pChunk)
|
17 |
|
|
{
|
18 |
|
|
// printf("Writer : %i (%i)\n",pChunk->type,pChunk->size);
|
19 |
|
|
|
20 |
|
|
fwrite(&pChunk->type,1,2,pFile);
|
21 |
|
|
fwrite(&pChunk->size,1,4,pFile);
|
22 |
|
|
|
23 |
|
|
if(pChunk->daughters.size()==0){
|
24 |
|
|
unsigned int data_size = pChunk->size - 6;
|
25 |
|
|
fwrite(pChunk->data,data_size,1,pFile);
|
26 |
|
|
}else{
|
27 |
|
|
for(unsigned int i=0;i<pChunk->daughters.size();i++){
|
28 |
|
|
WriteChunk(pFile,pChunk->daughters[i]);
|
29 |
|
|
}
|
30 |
|
|
}
|
31 |
|
|
|
32 |
|
|
}
|
33 |
|
|
|