[Scummvm-cvs-logs] SF.net SVN: scummvm: [21464] scummvm/trunk/engines/simon

kirben at users.sourceforge.net kirben at users.sourceforge.net
Mon Mar 27 04:50:02 CEST 2006


Revision: 21464
Author:   kirben
Date:     2006-03-27 04:49:17 -0800 (Mon, 27 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=21464&view=rev

Log Message:
-----------
Add FF support to dump_bitmap()

Modified Paths:
--------------
    scummvm/trunk/engines/simon/debug.cpp
    scummvm/trunk/engines/simon/items.cpp
    scummvm/trunk/engines/simon/module.mk
    scummvm/trunk/engines/simon/simon.h
Modified: scummvm/trunk/engines/simon/debug.cpp
===================================================================
--- scummvm/trunk/engines/simon/debug.cpp	2006-03-26 22:11:40 UTC (rev 21463)
+++ scummvm/trunk/engines/simon/debug.cpp	2006-03-27 12:49:17 UTC (rev 21464)
@@ -332,7 +332,7 @@
 	fclose(out);
 }
 
-static void dump_bitmap(const char *filename, const byte *offs, int w, int h, int flags, const byte *palette,
+void SimonEngine::dump_bitmap(const char *filename, const byte *offs, int w, int h, int flags, const byte *palette,
 								 byte base)
 {
 	/* allocate */
@@ -346,14 +346,23 @@
 	state.dh = h;
 	state.y_skip = 0;
 
-	for (i = 0; i != w; i += 2) {
-		byte *c = vc10_depack_column(&state);
-		for (j = 0; j != h; j++) {
-			byte pix = c[j];
-			b[j * w + i] = (pix >> 4) | base;
-			b[j * w + i + 1] = (pix & 0xF) | base;
-
+	if (getGameType() == GType_FF) {
+		for (i = 0; i != w; i++) {
+			byte *c = vc10_depack_column(&state);
+			for (j = 0; j != h; j++) {
+				byte pix = c[j];
+				b[j * w + i] = pix;
+			}
 		}
+	} else {
+		for (i = 0; i != w; i += 2) {
+			byte *c = vc10_depack_column(&state);
+			for (j = 0; j != h; j++) {
+				byte pix = c[j];
+				b[j * w + i] = (pix >> 4) | base;
+				b[j * w + i + 1] = (pix & 0xF) | base;
+			}
+		}
 	}
 
 	dump_bmp(filename, w, h, b, (const uint32 *)palette);

Modified: scummvm/trunk/engines/simon/items.cpp
===================================================================
--- scummvm/trunk/engines/simon/items.cpp	2006-03-26 22:11:40 UTC (rev 21463)
+++ scummvm/trunk/engines/simon/items.cpp	2006-03-27 12:49:17 UTC (rev 21464)
@@ -23,6 +23,7 @@
 // Item script opcodes for Simon1/Simon2
 
 #include "common/stdafx.h"
+#include "simon/dxa_player.h"
 #include "simon/simon.h"
 #include "simon/intern.h"
 
@@ -1079,6 +1080,12 @@
 
 		case 183:{									/* unload beard */
 				if (getGameType() == GType_FF) {
+					DXA_Player p;
+					if (p.open((const char *)"icetrench.dxa")) {
+						p.play();
+						p.close();
+					}
+
 					// Play video
 					debug(1, "Play video");
 				} else if (getGameType() == GType_SIMON2) {

Modified: scummvm/trunk/engines/simon/module.mk
===================================================================
--- scummvm/trunk/engines/simon/module.mk	2006-03-26 22:11:40 UTC (rev 21463)
+++ scummvm/trunk/engines/simon/module.mk	2006-03-27 12:49:17 UTC (rev 21464)
@@ -5,6 +5,7 @@
 	cursor.o \
 	debug.o \
 	debugger.o \
+	dxa_player.o \
 	game.o \
 	icons.o \
 	items.o \

Modified: scummvm/trunk/engines/simon/simon.h
===================================================================
--- scummvm/trunk/engines/simon/simon.h	2006-03-26 22:11:40 UTC (rev 21463)
+++ scummvm/trunk/engines/simon/simon.h	2006-03-27 12:49:17 UTC (rev 21464)
@@ -840,6 +840,7 @@
 	void dump_vga_script_always(const byte *ptr, uint res, uint sprite_id);
 	void dump_vga_bitmaps(const byte *vga, byte *vga1, int res);
 	void dump_single_bitmap(int file, int image, const byte *offs, int w, int h, byte base);
+	void dump_bitmap(const char *filename, const byte *offs, int w, int h, int flags, const byte *palette, byte base);
 
 	void dx_clear_attached_from_top(uint lines);
 	void dx_copy_from_attached_to_2(uint x, uint y, uint w, uint h);


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