[Scummvm-cvs-logs] CVS: tools extract_mm_nes.c,1.6,1.7

Eugene Sandulenko sev at users.sourceforge.net
Sat Mar 12 15:32:03 CET 2005


Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14201

Modified Files:
	extract_mm_nes.c 
Log Message:
Another patch from Quietust. Made roomGFX (currently unhandled) another
kind of special costumes. Without this abuse ScummVM code will be clobbered 
a lot. Also removed duplicate entries in resource tables.


Index: extract_mm_nes.c
===================================================================
RCS file: /cvsroot/scummvm/tools/extract_mm_nes.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- extract_mm_nes.c	12 Mar 2005 22:44:44 -0000	1.6
+++ extract_mm_nes.c	12 Mar 2005 23:31:22 -0000	1.7
@@ -501,25 +501,7 @@
 	{ {0x17F90,0x0FF23,0x17EE5,0x13EC2}, {0x003A,0x003A,0x003A,0x003A}, RES_COSTUME },
 	{ {0x17F90,0x0FF23,0x17EE5,0x13EC2}, {0x003A,0x003A,0x003A,0x003A}, RES_COSTUME },
 	{ {0x17F05,0x0BEFF,0x0FEF5,0x0BF17}, {0x0055,0x0055,0x0055,0x0055}, RES_COSTUME },
-	{ {0x13FAB,0x0FEA2,0x17E9A,0x13E77}, {0x004B,0x004B,0x004B,0x004B}, RES_COSTUME },
-	/* 25 */
-	{ {0x0FFB7,0x0BEC2,0x0BF1B,0x07EF8}, {0x0031,0x0031,0x0031,0x0031}, RES_SPRDESC },
-	{ {0x0BFE1,0x07F71,0x07F75,0x07F29}, {0x0009,0x0009,0x0009,0x0009}, RES_SPRDESC },
-	/* 27 */
-	{ {0x0FEA2,0x1BE32,0x13E6A,0x0FE61}, {0x0115,0x0115,0x0115,0x0115}, RES_SPRLENS },
-	{ {0x07FF5,0x07F5B,0x07F4F,0x07ED2}, {0x0006,0x0006,0x0006,0x0006}, RES_SPRLENS },
-	/* 29 */
-	{ {0x2BDC5,0x2FD42,0x2BCE0,0x2F959}, {0x022A,0x022A,0x022A,0x022A}, RES_SPROFFS },
-	{ {0x0BFEA,0x0BEF3,0x0BF4C,0x07F32}, {0x000C,0x000C,0x000C,0x000C}, RES_SPROFFS },
-	/* 31 */
-	{ {0x2CE11,0x2CE11,0x2C401,0x2CA28}, {0x2BE0,0x2BE0,0x2BE0,0x2BE0}, RES_SPRDATA },
-	{ {0x07F6B,0x0BE28,0x0FE6B,0x07E48}, {0x008A,0x008A,0x008A,0x008A}, RES_SPRDATA },
-	/* 33 */
-	{ {0x30001,0x30001,0x2EFE1,0x30001}, {0x0EC9,0x0EC9,0x0EC9,0x0EC9}, RES_COSTUMEGFX },
-	{ {0x2F9F1,0x2F9F1,0x30001,0x2F608}, {0x0351,0x0351,0x0351,0x0351}, RES_COSTUMEGFX },
-	/* 35 */
-	{ {0x0BFC1,0x07F61,0x07F55,0x07ED8}, {0x0010,0x0010,0x0010,0x0010}, RES_SPRPALS },
-	{ {0x0BFD1,0x0BEB2,0x07F65,0x07EE8}, {0x0010,0x0010,0x0010,0x0010}, RES_SPRPALS }
+	{ {0x13FAB,0x0FEA2,0x17E9A,0x13E77}, {0x004B,0x004B,0x004B,0x004B}, RES_COSTUME }
 };
 t_resource res_globdata =
 	{ {0x2CA11,0x2CA11,0x2C001,0x2C628}, {0x0307,0x0307,0x0307,0x0307}, RES_GLOBDATA };
@@ -709,7 +691,7 @@
 /*	remaining 'standard' resources (not used by any of the original LFL files) */
 p_resource lfl_53[] = { &res_rooms[53], &res_scripts[177], &res_scripts[178], &res_sounds[70], &res_sounds[71], &res_sounds[72], &res_sounds[73], &res_sounds[74], &res_sounds[75], &res_sounds[76], &res_sounds[77], &res_sounds[78], &res_sounds[79], &res_sounds[80], &res_sounds[81], NULL };
 /*	all 'non-standard' resources (the costume-related stuff) */
-p_resource lfl_54[] = { &res_rooms[54], &res_costumes[25], &res_costumes[26], &res_costumes[27], &res_costumes[28], &res_costumes[29], &res_costumes[30], &res_costumes[31], &res_costumes[32], &res_costumes[33], &res_costumes[34], &res_costumes[35], &res_costumes[36], NULL };
+p_resource lfl_54[] = { &res_rooms[54], &res_sprdesc[0], &res_sprdesc[1], &res_sprlens[0], &res_sprlens[1], &res_sproffs[0], &res_sproffs[1], &res_sprdata[0], &res_sprdata[1], &res_costumegfx[0], &res_costumegfx[1], &res_sprpals[0], &res_sprpals[1], NULL };
 
 typedef	struct	_lfl
 {
@@ -787,8 +769,8 @@
 {
 	unsigned char	room_lfl[55];
 	unsigned short	room_addr[55];
-	unsigned char	costume_lfl[37];
-	unsigned short	costume_addr[37];
+	unsigned char	costume_lfl[77];
+	unsigned short	costume_addr[77];
 	unsigned char	script_lfl[200];
 	unsigned short	script_addr[200];
 	unsigned char	sound_lfl[100];
@@ -902,14 +884,36 @@
 				lfl_index.room_addr[entry - res_rooms] = (unsigned short)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);
+				break;
 			case RES_SPRDESC:
+				lfl_index.costume_lfl[entry - res_sprdesc + 25] = lfl->num;
+				lfl_index.costume_addr[entry - res_sprdesc + 25] = (unsigned short)ftell(output);
+				break;
 			case RES_SPRLENS:
+				lfl_index.costume_lfl[entry - res_sprlens + 27] = lfl->num;
+				lfl_index.costume_addr[entry - res_sprlens + 27] = (unsigned short)ftell(output);
+				break;
 			case RES_SPROFFS:
+				lfl_index.costume_lfl[entry - res_sproffs + 29] = lfl->num;
+				lfl_index.costume_addr[entry - res_sproffs + 29] = (unsigned short)ftell(output);
+				break;
 			case RES_SPRDATA:
+				lfl_index.costume_lfl[entry - res_sprdata + 31] = lfl->num;
+				lfl_index.costume_addr[entry - res_sprdata + 31] = (unsigned short)ftell(output);
+				break;
 			case RES_COSTUMEGFX:
+				lfl_index.costume_lfl[entry - res_costumegfx + 33] = lfl->num;
+				lfl_index.costume_addr[entry - res_costumegfx + 33] = (unsigned short)ftell(output);
+				break;
 			case RES_SPRPALS:
-				lfl_index.costume_lfl[entry - res_costumes] = lfl->num;
-				lfl_index.costume_addr[entry - res_costumes] = (unsigned short)ftell(output);
+				lfl_index.costume_lfl[entry - res_sprpals + 35] = lfl->num;
+				lfl_index.costume_addr[entry - res_sprpals + 35] = (unsigned short)ftell(output);
+				break;
+			case RES_ROOMGFX:
+				lfl_index.costume_lfl[entry - res_roomgfx + 37] = lfl->num;
+				lfl_index.costume_addr[entry - res_roomgfx + 37] = (unsigned short)ftell(output);
 				break;
 			case RES_SCRIPT:
 				lfl_index.script_lfl[entry - res_scripts] = lfl->num;
@@ -920,6 +924,7 @@
 				lfl_index.sound_addr[entry - res_sounds] = (unsigned short)ftell(output);
 				break;
 			default:
+				error("Unindexed entry found!");
 				break;
 			}
 			extract_resource(input,output,entry);





More information about the Scummvm-git-logs mailing list