diff options
Diffstat (limited to 'tools/create_toon/create_toon.cpp')
-rw-r--r-- | tools/create_toon/create_toon.cpp | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/tools/create_toon/create_toon.cpp b/tools/create_toon/create_toon.cpp deleted file mode 100644 index 3cf252cbcd..0000000000 --- a/tools/create_toon/create_toon.cpp +++ /dev/null @@ -1,166 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - * - * This is a utility for storing all the hardcoded data of Toonstruck in a separate - * data file, used by the game engine - */ - -// Disable symbol overrides so that we can use system headers. -#define FORBIDDEN_SYMBOL_ALLOW_ALL - -// HACK to allow building with the SDL backend on MinGW -// see bug #1800764 "TOOLS: MinGW tools building broken" -#ifdef main -#undef main -#endif // main - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include "common/scummsys.h" -#include "common/events.h" - -#include "create_toon.h" -#include "staticdata.h" - -static void writeByte(FILE *fp, uint8 b) { - fwrite(&b, 1, 1, fp); -} - -static void writeUint16BE(FILE *fp, uint16 value) { - writeByte(fp, (uint8)(value >> 8)); - writeByte(fp, (uint8)(value & 0xFF)); -} - -void writeSint16BE(FILE *fp, int16 value) { - writeUint16BE(fp, (uint16)value); -} - -static void writeUint32BE(FILE *fp, uint32 value) { - writeByte(fp, (uint8)(value >> 24)); - writeByte(fp, (uint8)((value >> 16) & 0xFF)); - writeByte(fp, (uint8)((value >> 8) & 0xFF)); - writeByte(fp, (uint8)(value & 0xFF)); -} - -void writeSint32BE(FILE *fp, int32 value) { - writeUint32BE(fp, (uint16)value); -} - -int main(int argc, char *argv[]) { - FILE *outFile; - int nbrElem; - - outFile = fopen("toon.dat", "wb"); - - // Write header - fwrite("TOON", 4, 1, outFile); - - writeByte(outFile, TOON_DAT_VER_MAJ); - writeByte(outFile, TOON_DAT_VER_MIN); - - // game versions/variantes - writeUint16BE(outFile, NUM_VARIANTE); - - // Write locationDirNotVisited - nbrElem = sizeof(locationDirNotVisited_EN) / sizeof(char *); - writeTextArray(outFile, locationDirNotVisited_EN, nbrElem); - - nbrElem = sizeof(locationDirNotVisited_FR) / sizeof(char *); - writeTextArray(outFile, locationDirNotVisited_FR, nbrElem); - - nbrElem = sizeof(locationDirNotVisited_DE) / sizeof(char *); - writeTextArray(outFile, locationDirNotVisited_DE, nbrElem); - - nbrElem = sizeof(locationDirNotVisited_RU) / sizeof(char *); - writeTextArray(outFile, locationDirNotVisited_RU, nbrElem); - - nbrElem = sizeof(locationDirNotVisited_SP) / sizeof(char *); - writeTextArray(outFile, locationDirNotVisited_SP, nbrElem); - - // Write locationDirVisited - nbrElem = sizeof(locationDirVisited_EN) / sizeof(char *); - writeTextArray(outFile, locationDirVisited_EN, nbrElem); - - nbrElem = sizeof(locationDirVisited_FR) / sizeof(char *); - writeTextArray(outFile, locationDirVisited_FR, nbrElem); - - nbrElem = sizeof(locationDirVisited_DE) / sizeof(char *); - writeTextArray(outFile, locationDirVisited_DE, nbrElem); - - nbrElem = sizeof(locationDirVisited_RU) / sizeof(char *); - writeTextArray(outFile, locationDirVisited_RU, nbrElem); - - nbrElem = sizeof(locationDirVisited_SP) / sizeof(char *); - writeTextArray(outFile, locationDirVisited_SP, nbrElem); - - // Write specialInfoLine - nbrElem = sizeof(specialInfoLine_EN) / sizeof(char *); - writeTextArray(outFile, specialInfoLine_EN, nbrElem); - - nbrElem = sizeof(specialInfoLine_FR) / sizeof(char *); - writeTextArray(outFile, specialInfoLine_FR, nbrElem); - - nbrElem = sizeof(specialInfoLine_DE) / sizeof(char *); - writeTextArray(outFile, specialInfoLine_DE, nbrElem); - - nbrElem = sizeof(specialInfoLine_RU) / sizeof(char *); - writeTextArray(outFile, specialInfoLine_RU, nbrElem); - - nbrElem = sizeof(specialInfoLine_SP) / sizeof(char *); - writeTextArray(outFile, specialInfoLine_SP, nbrElem); - -// Not yet handled : miscTexts, endingLine and exitLine. Are they useful? - - fclose(outFile); - return 0; -} - -void writeTextArray(FILE *outFile, const char *textArray[], int nbrText) { - int len, len1, pad; - uint8 padBuf[DATAALIGNMENT]; - - for (int i = 0; i < DATAALIGNMENT; i++) - padBuf[i] = 0; - - writeUint16BE(outFile, nbrText); - len = DATAALIGNMENT - 2; - for (int i = 0; i < nbrText; i++) { - len1 = strlen(textArray[i]) + 1; - pad = DATAALIGNMENT - (len1 + 2) % DATAALIGNMENT; - len += 2 + len1 + pad; - } - writeUint16BE(outFile, len); - - fwrite(padBuf, DATAALIGNMENT - 2, 1, outFile); // padding - for (int i = 0; i < nbrText; i++) { - len = strlen(textArray[i]) + 1; - pad = DATAALIGNMENT - (len + 2) % DATAALIGNMENT; - - writeUint16BE(outFile, len + pad + 2); - fwrite(textArray[i], len, 1, outFile); - fwrite(padBuf, pad, 1, outFile); - } -} - |