[Scummvm-cvs-logs] SF.net SVN: scummvm: [26349] scummvm/trunk/engines/parallaction

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Sun Apr 1 16:35:35 CEST 2007


Revision: 26349
          http://scummvm.svn.sourceforge.net/scummvm/?rev=26349&view=rev
Author:   peres001
Date:     2007-04-01 07:35:33 -0700 (Sun, 01 Apr 2007)

Log Message:
-----------
Added code for resource loading and fixed the bug having Amiga demo crashing. It is now limitedly playable, although graphics is still heavily messed up.

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/disk.cpp
    scummvm/trunk/engines/parallaction/graphics.cpp

Modified: scummvm/trunk/engines/parallaction/disk.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/disk.cpp	2007-04-01 14:05:50 UTC (rev 26348)
+++ scummvm/trunk/engines/parallaction/disk.cpp	2007-04-01 14:35:33 UTC (rev 26349)
@@ -882,11 +882,29 @@
 StaticCnv* AmigaDisk::loadStatic(const char* name) {
 	debugC(1, kDebugDisk, "AmigaDisk::loadStatic '%s'", name);
 
-	if (!_archive.openArchivedFile(name))
-		error("can't open static '%s' from archive", name);
+	Common::SeekableReadStream *s;
+	bool dispose = false;
 
-	DecrunchStream stream(_archive);
-	return makeStaticCnv(stream);
+	char path[PATH_LEN];
+	sprintf(path, "%s.pp", name);
+	if (!_archive.openArchivedFile(path)) {
+		if (!_archive.openArchivedFile(name))
+			error("can't open static '%s' from archive", name);
+
+		s = &_archive;
+	} else {
+		DecrunchStream *stream = new DecrunchStream(_archive);
+		s = stream;
+
+		dispose = true;
+	}
+
+	StaticCnv *cnv = makeStaticCnv(*s);
+
+	if (dispose)
+		delete s;
+
+	return cnv;
 }
 
 Cnv* AmigaDisk::loadFrames(const char* name) {

Modified: scummvm/trunk/engines/parallaction/graphics.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/graphics.cpp	2007-04-01 14:05:50 UTC (rev 26348)
+++ scummvm/trunk/engines/parallaction/graphics.cpp	2007-04-01 14:35:33 UTC (rev 26349)
@@ -147,7 +147,7 @@
 //	FIXME: the effect is different from the original
 //
 void Gfx::animatePalette() {
-// printf("Gfx::animatePalette()\n");
+//	printf("Gfx::animatePalette()\n");
 
 	byte tmp[3];
 
@@ -903,6 +903,8 @@
 
 	setBlackPalette();
 
+	memset(_palettefx, 0, sizeof(_palettefx));
+
 	initMouse( 0 );
 
 	_font = NULL;


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