[Scummvm-cvs-logs] SF.net SVN: scummvm: [25913] tools/trunk/extract_loom_tg16.c

kirben at users.sourceforge.net kirben at users.sourceforge.net
Thu Mar 1 04:29:56 CET 2007


Revision: 25913
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25913&view=rev
Author:   kirben
Date:     2007-02-28 19:29:54 -0800 (Wed, 28 Feb 2007)

Log Message:
-----------
Minor cleanup.

Modified Paths:
--------------
    tools/trunk/extract_loom_tg16.c

Modified: tools/trunk/extract_loom_tg16.c
===================================================================
--- tools/trunk/extract_loom_tg16.c	2007-02-28 21:25:05 UTC (rev 25912)
+++ tools/trunk/extract_loom_tg16.c	2007-03-01 03:29:54 UTC (rev 25913)
@@ -50,29 +50,24 @@
 	fprintf(stdout, "%s\n", buf);
 }
 
-unsigned char	read_cbyte (FILE *input, short *ctr)
-{
+uint8	read_cbyte (FILE *input, short *ctr) {
 	(*ctr) += 1;
 	return readByte(input);
 }
-unsigned short	read_cword (FILE *input, short *ctr)
-{
+uint16	read_cword (FILE *input, short *ctr) {
 	(*ctr) += 2;
 	return readUint16LE(input);
 }
 
-void	write_cbyte (FILE *output, uint8 val, short *ctr)
-{
+void	write_cbyte (FILE *output, uint8 val, short *ctr) {
 	writeByte(output, val);
 	(*ctr) += 1;
 }
-void	write_cword (FILE *output, uint16 val, short *ctr)
-{
+void	write_cword (FILE *output, uint16 val, short *ctr) {
 	writeUint16LE(output, val);
 	(*ctr) += 2;
 }
-void	write_clong (FILE *output, uint32 val, short *ctr)
-{
+void	write_clong (FILE *output, uint32 val, short *ctr) {
 	writeUint32LE(output, val);
 	(*ctr) += 4;
 }
@@ -83,10 +78,9 @@
 
 t_iso ISO = NUM_ISOS;
 
-typedef	struct	_resource
-{
-	unsigned long offset[NUM_ISOS];
-	unsigned short length[NUM_ISOS];
+typedef	struct	_resource {
+	uint32 offset[NUM_ISOS];
+	uint16 length[NUM_ISOS];
 	res_type type;
 }	t_resource, *p_resource;
 
@@ -697,20 +691,19 @@
 	{ {0x2B4000}, {0x0155}, RES_COSTUME }	/* Duplicate of Costume 155 */
 };
 
-unsigned long r_offset (p_resource res)
-{
+uint32 r_offset (p_resource res) {
 	return res->offset[ISO];
 }
-signed short r_length (p_resource res)
-{
+signed short r_length (p_resource res) {
 	return res->length[ISO];
 }
 
-void	extract_resource (FILE *input, FILE *output, p_resource res)
-{
-	unsigned short j, off;
+void	extract_resource (FILE *input, FILE *output, p_resource res) {
+#ifdef MAKE_LFLS
+	uint16 j, off;
+#endif
 	signed short i, rlen;
-	unsigned char junk, rtype, rid;
+	uint8 junk, rtype, rid;
 
 	if (res == NULL)
 		error("extract_resource - no resource specified");
@@ -718,11 +711,10 @@
 		return;	/* if offset/length are both 0, skip it */
 	fseek(input,r_offset(res),SEEK_SET);
 
-	switch (res->type)
-	{
+	switch (res->type) {
 	case RES_CHARSET:
 		rlen = r_length(res);
-		writeUint16LE(output,(unsigned short)(rlen+4));
+		writeUint16LE(output,(uint16)(rlen+4));
 		writeUint16LE(output,0);
 		for (i = 0; i < rlen; i++)
 			writeByte(output,readByte(input));
@@ -736,7 +728,7 @@
 			error("extract_resource(globdata) - length mismatch while extracting resource (was %04X, expected %04X)",rlen,r_length(res));
 		if (rtype != 0x11)
 			error("extract_resource(globdata) - resource tag is incorrect!");
-		writeUint32LE(output,(unsigned short)(rlen + 1));
+		writeUint32LE(output,(uint16)(rlen + 1));
 		writeUint16LE(output,'O0');	/* 0O - Object Index */
 		for (i = 5; i < rlen; i++)
 			writeByte(output,readByte(input));
@@ -760,10 +752,9 @@
 			rlen = 0;
 			write_clong(output,0,&rlen);
 			write_cword(output,'OR',&rlen);	/* RO - Room */
-			while (1)
-			{
-				unsigned short slen;
-				unsigned char stype;
+			while (1) {
+				uint16 slen;
+				uint8 stype;
 /* BM, HD, SL, NL, PA - current unknowns
 				notice("reading local resource at offset %04X of %04X",i,len);
 */
@@ -854,7 +845,7 @@
 			error("extract_resource(costume) - length mismatch while extracting resource (was %04X, expected %04X)",rlen,r_length(res));
 		if (rtype != 0x03)
 			error("extract_resource(costume) - resource tag is incorrect!");
-		writeUint32LE(output,(unsigned short)(rlen + 1));
+		writeUint32LE(output,(uint16)(rlen + 1));
 		writeUint16LE(output,'OC');	/* CO - Costume */
 		for (i = 5; i < rlen; i++)
 			writeByte(output,readByte(input));
@@ -868,7 +859,7 @@
 			error("extract_resource(script) - length mismatch while extracting resource (was %04X, expected %04X)",rlen,r_length(res));
 		if (rtype != 0x02)
 			error("extract_resource(script) - resource tag is incorrect!");
-		writeUint32LE(output,(unsigned short)(rlen + 1));
+		writeUint32LE(output,(uint16)(rlen + 1));
 		writeUint16LE(output,'CS');	/* SC - Script */
 		for (i = 5; i < rlen; i++)
 			writeByte(output,readByte(input));
@@ -975,8 +966,7 @@
 p_resource lfl_86[] = { &res_rooms[86], &res_scripts[111], &res_costumes[155], NULL };
 p_resource lfl_87[] = { &res_rooms[87], NULL };
 
-typedef	struct	_lfl
-{
+typedef	struct	_lfl {
 	int num;
 	p_resource *entries;
 }	t_lfl, *p_lfl;
@@ -1063,26 +1053,24 @@
 	{ -1, NULL }
 };
 
-struct	_index
-{
-	unsigned short	num_rooms;
-	unsigned char	room_lfl[NUM_ROOMS];
-	unsigned long	room_addr[NUM_ROOMS];
+struct	_index {
+	uint16	num_rooms;
+	uint8	room_lfl[NUM_ROOMS];
+	uint32	room_addr[NUM_ROOMS];
 
-	unsigned short	num_costumes;
-	unsigned char	costume_lfl[NUM_COSTUMES];
-	unsigned long	costume_addr[NUM_COSTUMES];
+	uint16	num_costumes;
+	uint8	costume_lfl[NUM_COSTUMES];
+	uint32	costume_addr[NUM_COSTUMES];
 
-	unsigned short	num_scripts;
-	unsigned char	script_lfl[NUM_SCRIPTS];
-	unsigned long	script_addr[NUM_SCRIPTS];
-	unsigned short	num_sounds;
-	unsigned char	sound_lfl[NUM_SOUNDS];
-	unsigned long	sound_addr[NUM_SOUNDS];
+	uint16	num_scripts;
+	uint8	script_lfl[NUM_SCRIPTS];
+	uint32	script_addr[NUM_SCRIPTS];
+	uint16	num_sounds;
+	uint8	sound_lfl[NUM_SOUNDS];
+	uint32	sound_addr[NUM_SOUNDS];
 }	lfl_index;
 #else	/* !MAKE_LFLS */
-void	dump_resource (FILE *input, char *fn_template, int num, p_resource res)
-{
+void	dump_resource (FILE *input, const char *fn_template, int num, p_resource res) {
 	char fname[256];
 	FILE *output;
 	sprintf(fname,fn_template,num);
@@ -1093,24 +1081,21 @@
 }
 #endif	/* MAKE_LFLS */
 
-unsigned long	CRCtable[256];
-void	InitCRC (void)
-{
-	const unsigned long poly = 0xEDB88320;
+uint32	CRCtable[256];
+void	InitCRC (void) {
+	const uint32 poly = 0xEDB88320;
 	int i, j;
-	unsigned long n;
-	for (i = 0; i < 256; i++)
-	{
+	uint32 n;
+	for (i = 0; i < 256; i++) {
 		n = i;
 		for (j = 0; j < 8; j++)
 			n = (n & 1) ? ((n >> 1) ^ poly) : (n >> 1);
 		CRCtable[i] = n;
 	}
 }
-unsigned long	ISO_CRC (FILE *file)
-{
-	unsigned long CRC = 0xFFFFFFFF;
-	unsigned long i, len;
+uint32	ISO_CRC (FILE *file) {
+	uint32 CRC = 0xFFFFFFFF;
+	uint32 i, len;
 	fseek(file,0,SEEK_END);
 	len = ftell(file);
 	fseek(file,0,SEEK_SET);
@@ -1119,15 +1104,18 @@
 	return CRC ^ 0xFFFFFFFF;
 }
 
-int main (int argc, char **argv)
-{
+int main (int argc, char **argv) {
+#ifdef	MAKE_LFLS
 	FILE *input, *output;
 	char fname[256];
 	int i, j;
-	unsigned long CRC;
+#else
+	FILE *input;
+	int i;
+#endif
+	uint32 CRC;
 
-	if (argc < 2)
-	{
+	if (argc < 2) {
 		printf("Syntax: %s <code_##.ISO>\n",argv[0]);
 		return 1;
 	}
@@ -1149,33 +1137,30 @@
 #ifdef	MAKE_LFLS
 	memset(&lfl_index,0xFF,sizeof(lfl_index));
 
-	for (i = 0; lfls[i].num != -1; i++)
-	{
+	for (i = 0; lfls[i].num != -1; i++) {
 		p_lfl lfl = &lfls[i];
 		sprintf(fname,"%02i.LFL",lfl->num);
 		if (!(output = fopen(fname,"wb")))
 			error("Error: unable to create %s!",fname);
 		notice("Creating %s...",fname);
-		for (j = 0; lfl->entries[j] != NULL; j++)
-		{
+		for (j = 0; lfl->entries[j] != NULL; j++) {
 			p_resource entry = lfl->entries[j];
-			switch (entry->type)
-			{
+			switch (entry->type) {
 			case RES_ROOM:
 				lfl_index.room_lfl[entry - res_rooms] = lfl->num;
-				lfl_index.room_addr[entry - res_rooms] = (unsigned short)ftell(output);
+				lfl_index.room_addr[entry - res_rooms] = (uint16)ftell(output);
 				break;
 			case RES_COSTUME:
 				lfl_index.costume_lfl[entry - res_costumes] = lfl->num;
-				lfl_index.costume_addr[entry - res_costumes] = (unsigned short)ftell(output);
+				lfl_index.costume_addr[entry - res_costumes] = (uint16)ftell(output);
 				break;
 			case RES_SCRIPT:
 				lfl_index.script_lfl[entry - res_scripts] = lfl->num;
-				lfl_index.script_addr[entry - res_scripts] = (unsigned short)ftell(output);
+				lfl_index.script_addr[entry - res_scripts] = (uint16)ftell(output);
 				break;
 			case RES_SOUND:
 				lfl_index.sound_lfl[entry - res_sounds] = lfl->num;
-				lfl_index.sound_addr[entry - res_sounds] = (unsigned short)ftell(output);
+				lfl_index.sound_addr[entry - res_sounds] = (uint16)ftell(output);
 				break;
 			default:
 				notice("Unknown resource type %d detected in LFL index!",entry->type);
@@ -1197,8 +1182,7 @@
 	writeUint32LE(output,8+5*lfl_index.num_rooms);
 	writeUint16LE(output,'R0');	/* 0R - room index */
 	writeUint16LE(output,lfl_index.num_rooms);
-	for (i = 0; i < lfl_index.num_rooms; i++)
-	{
+	for (i = 0; i < lfl_index.num_rooms; i++) {
 		writeByte(output,lfl_index.room_lfl[i]);
 		writeUint32LE(output,lfl_index.room_addr[i]);
 	}
@@ -1206,8 +1190,7 @@
 	writeUint32LE(output,8+5*lfl_index.num_scripts);
 	writeUint16LE(output,'S0');	/* 0S - script index */
 	writeUint16LE(output,lfl_index.num_scripts);
-	for (i = 0; i < lfl_index.num_scripts; i++)
-	{
+	for (i = 0; i < lfl_index.num_scripts; i++) {
 		writeByte(output,lfl_index.script_lfl[i]);
 		writeUint32LE(output,lfl_index.script_addr[i]);
 	}
@@ -1215,8 +1198,7 @@
 	writeUint32LE(output,8+5*lfl_index.num_costumes);
 	writeUint16LE(output,'C0');	/* 0C - costume index */
 	writeUint16LE(output,lfl_index.num_costumes);
-	for (i = 0; i < lfl_index.num_costumes; i++)
-	{
+	for (i = 0; i < lfl_index.num_costumes; i++) {
 		writeByte(output,lfl_index.costume_lfl[i]);
 		writeUint32LE(output,lfl_index.costume_addr[i]);
 	}
@@ -1225,8 +1207,7 @@
 	writeUint32LE(output,8+5*lfl_index.num_sounds);
 	writeUint16LE(output,'N0');	0N - sounds index
 	writeUint16LE(output,lfl_index.num_sounds);
-	for (i = 0; i < lfl_index.num_sounds; i++)
-	{
+	for (i = 0; i < lfl_index.num_sounds; i++) {
 		writeByte(output,lfl_index.sound_lfl[i]);
 		writeUint32LE(output,lfl_index.sound_addr[i]);
 	}


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list