[Scummvm-cvs-logs] CVS: tools queenrebuild.c,1.2,1.3

Joost Peters joostp at users.sourceforge.net
Tue Oct 28 06:42:49 CET 2003


Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1:/tmp/cvs-serv16449

Modified Files:
	queenrebuild.c 
Log Message:
add OGG support to compression tool

Index: queenrebuild.c
===================================================================
RCS file: /cvsroot/scummvm/tools/queenrebuild.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- queenrebuild.c	20 Oct 2003 23:30:22 -0000	1.2
+++ queenrebuild.c	28 Oct 2003 13:50:31 -0000	1.3
@@ -41,6 +41,7 @@
 #define TEMP_TBL	"tempfile.tbl"
 #define TEMP_SB		"tempfile.sb"
 #define TEMP_MP3	"tempfile.mp3"
+#define TEMP_OGG	"tempfile.ogg"
 
 #define EXTRA_TBL_HEADER 8
 #define SB_HEADER_SIZE	110
@@ -103,9 +104,10 @@
 
 void showhelp(char *exename)
 {
-	printf("\nUsage: %s [--mp3 <args>] queen.1\n", exename);
+	printf("\nUsage: %s [--mp3/--ogg <args>] queen.1\n", exename);
 	printf("\nParams:\n");
 	printf(" --mp3 <args>         encode to MP3 format\n"); 
+	printf(" --ogg <args>         encode to Ogg Vorbis Format\n");
 	printf("                      (Optional: <args> are passed on to the encoder)\n");
 	printf("\nExample: %s --mp3 -q 5 queen.1\n", exename);
 	exit(2);
@@ -273,7 +275,7 @@
 
 int main(int argc, char *argv[])
 {
-	FILE *inputData, *inputTbl, *outputTbl, *outputData, *tmpFile, *mp3File;
+	FILE *inputData, *inputTbl, *outputTbl, *outputData, *tmpFile, *compFile;
 	uint8 compressionType = COMPRESSION_NONE;
 	char tmp[5];
 	char sysBuf[1024];
@@ -281,20 +283,29 @@
 	int size, i = 1;
 	uint32 prevOffset;
 
-	if (argc < 2 || !strcmp(argv[argc-1], "--mp3"))
+	if (argc < 2 || (!strcmp(argv[argc-1], "--mp3") && !strcmp(argv[argc-1], "--ogg")))
 		showhelp(argv[0]);
 	
 	if (strcmp(argv[1], "--mp3") == 0) {
 		compressionType = COMPRESSION_MP3;
 		i++;
+		ptr += sprintf(ptr, "lame -r -h -s 11 --bitwidth 8 -m m ");
+		for (; i < (argc - 1); i++) {
+			/* Append optional encoder arguments */
+			ptr += sprintf(ptr, "%s ", argv[i]);
+		}
+		ptr += sprintf(ptr, "%s %s", TEMP_SB, TEMP_MP3);
 	}
-	
-	ptr += sprintf(ptr, "lame -r -h -s 11 --bitwidth 8 -m m ");
-	for (; i < (argc - 1); i++) {
-		/* Append optional encoder arguments */
-		ptr += sprintf(ptr, "%s ", argv[i]);
+
+	if (strcmp(argv[1], "--ogg") == 0) {
+		compressionType = COMPRESSION_OGG;
+		i++;
+		ptr += sprintf(ptr, "oggenc -r -B 8 -C 1 -R 11025 %s -o %s ", TEMP_SB, TEMP_OGG);
+		for (; i < (argc - 1); i++) {
+			/* Append optional encoder arguments */
+			ptr += sprintf(ptr, "%s ", argv[i]);
+		}
 	}
-	ptr += sprintf(ptr, "%s %s", TEMP_SB, TEMP_MP3);
 
 	/* Open input file (QUEEN.1) */
 	inputData = fopen(argv[argc-1], "rb");
@@ -354,15 +365,15 @@
 				exit(-1);
 			}
 
-			/* Append MP3 to data file */
-			mp3File = fopen(TEMP_MP3, "rb");
-			entry.size = fileSize(mp3File);
-			fromFileToFile(mp3File, outputData, entry.size);
-			fclose(mp3File);
+			/* Append MP3/OGG to data file */
+			compFile = fopen((compressionType == COMPRESSION_MP3) ? TEMP_MP3 : TEMP_OGG, "rb");
+			entry.size = fileSize(compFile);
+			fromFileToFile(compFile, outputData, entry.size);
+			fclose(compFile);
 
 			/* Delete temporary files */
 			unlink(TEMP_SB);
-			unlink(TEMP_MP3);
+			unlink((compressionType == COMPRESSION_MP3) ? TEMP_MP3 : TEMP_OGG);
 		} else {
 			/* Non .SB file */
 			fromFileToFile(inputData, outputData, entry.size);





More information about the Scummvm-git-logs mailing list