Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void MainWindow::writeToFile(const QString& fileName)
- {
- FILE* file = fopen(fileName.toAscii(), "w+");
- char header[4] = { 'C', 'H', 'B', 'G' };
- fwrite(header, 1, 4, file);
- unsigned short swidth = ui->widthBox->value();
- fwrite(&swidth, 1, 2, file);
- unsigned short sheight = ui->heightBox->value();
- fwrite(&sheight, 1, 2, file);
- unsigned char tileColorBits = 0x08;
- fwrite(&tileColorBits, 1, 1, file);
- BinFile palfile;
- if (!palfile.read(ui->paletteBox->text()))
- {
- QErrorMessage errorMessage;
- errorMessage.showMessage("Failed to open palette file.");
- errorMessage.exec();
- fclose(file);
- return;
- }
- unsigned char numberOfColors = palfile.size / 2;
- unsigned char colorLines = numberOfColors / 16;
- fwrite(&colorLines, 1, 1, file);
- BinFile imgfile;
- if (!imgfile.read(ui->imageBox->text()))
- {
- QErrorMessage errorMessage;
- errorMessage.showMessage("Failed to open image file.");
- errorMessage.exec();
- fclose(file);
- return;
- }
- unsigned short numberOfTiles = imgfile.size / 64;
- fwrite(&numberOfTiles, 1, 2, file);
- int emptyPart = 0;
- fwrite(&emptyPart, 1, 4, file);
- BinFile mapfile;
- if (!mapfile.read(ui->imageBox->text()))
- {
- QErrorMessage errorMessage;
- errorMessage.showMessage("Failed to open map file.");
- errorMessage.exec();
- fclose(file);
- return;
- }
- int written = fwrite(palfile.data, 1, palfile.size, file);
- printf("wrote %d bytes to palette.\n", written);
- written = fwrite(mapfile.data, 1, mapfile.size, file);
- printf("wrote %d bytes to puzzle.\n", written);
- written = fwrite(imgfile.data, 1, imgfile.size, file);
- printf("wrote %d bytes to tiles.\n", written);
- palfile.freeData();
- imgfile.freeData();
- mapfile.freeData();
- fclose(file);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement