[Scummvm-cvs-logs] SF.net SVN: scummvm:[49595] scummvm/trunk/engines/m4

dreammaster at users.sourceforge.net dreammaster at users.sourceforge.net
Fri Jun 11 13:03:51 CEST 2010


Revision: 49595
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49595&view=rev
Author:   dreammaster
Date:     2010-06-11 11:03:51 +0000 (Fri, 11 Jun 2010)

Log Message:
-----------
Clarified various incorrectly named parameters, and fixed code for loading the correct art file backgrounds when running animation sequences

Modified Paths:
--------------
    scummvm/trunk/engines/m4/animation.cpp
    scummvm/trunk/engines/m4/animation.h
    scummvm/trunk/engines/m4/mads_anim.cpp
    scummvm/trunk/engines/m4/mads_anim.h
    scummvm/trunk/engines/m4/mads_scene.cpp
    scummvm/trunk/engines/m4/mads_views.h

Modified: scummvm/trunk/engines/m4/animation.cpp
===================================================================
--- scummvm/trunk/engines/m4/animation.cpp	2010-06-11 10:54:49 UTC (rev 49594)
+++ scummvm/trunk/engines/m4/animation.cpp	2010-06-11 11:03:51 UTC (rev 49595)
@@ -63,7 +63,7 @@
 /**
  * Initialises and loads the data of an animation
  */
-void MadsAnimation::initialise(const Common::String &filename, uint16 flags, M4Surface *interfaceSurface, M4Surface *sceneSurface) {
+void MadsAnimation::initialise(const Common::String &filename, uint16 flags, M4Surface *surface, M4Surface *depthSurface) {
 	MadsPack anim(filename.c_str(), _vm);
 	bool madsRes = filename[0] == '*';
 	char buffer[20];
@@ -114,7 +114,7 @@
 	if (_animMode == 4)
 		flags |= 0x4000;
 	if (flags & 0x100)
-		loadInterface(interfaceSurface, sceneSurface);
+		loadInterface(surface, depthSurface);
 
 	// Initialise the reference list
 	for (int i = 0; i < spriteListCount; ++i)

Modified: scummvm/trunk/engines/m4/animation.h
===================================================================
--- scummvm/trunk/engines/m4/animation.h	2010-06-11 10:54:49 UTC (rev 49594)
+++ scummvm/trunk/engines/m4/animation.h	2010-06-11 11:03:51 UTC (rev 49595)
@@ -108,7 +108,7 @@
 	MadsAnimation(MadsM4Engine *vm, MadsView *view);
 	virtual ~MadsAnimation();
 
-	virtual void initialise(const Common::String &filename, uint16 flags, M4Surface *interfaceSurface, M4Surface *sceneSurface);
+	virtual void initialise(const Common::String &filename, uint16 flags, M4Surface *surface, M4Surface *depthSurface);
 	virtual void load(const Common::String &filename, int abortTimers);
 	virtual void update();
 	virtual void setCurrentFrame(int frameNumber);

Modified: scummvm/trunk/engines/m4/mads_anim.cpp
===================================================================
--- scummvm/trunk/engines/m4/mads_anim.cpp	2010-06-11 10:54:49 UTC (rev 49594)
+++ scummvm/trunk/engines/m4/mads_anim.cpp	2010-06-11 11:03:51 UTC (rev 49595)
@@ -458,6 +458,8 @@
 	_previousUpdate = 0;
 	_transition = kTransitionNone;
 	_activeAnimation = NULL;
+	_bgLoadFlag = true;
+	
 	reset();
 
 	// Set up system palette colors
@@ -572,13 +574,13 @@
 	if (strchr(_currentLine, '.') == NULL)
 		strcat(_currentLine, ".aa");
 
+	uint16 flags = 0;
+	if (_bgLoadFlag)
+		flags |= 0x100;
+
 	_activeAnimation = new MadsAnimation(_vm, this);
-	_activeAnimation->load(_currentLine, 0);
+	_activeAnimation->initialise(_currentLine, flags, &_backgroundSurface, &_codeSurface);
 
-	_backgroundSurface.loadBackground(_activeAnimation->roomNumber());
-	_codeSurface.setSize(_backgroundSurface.width(), _backgroundSurface.height());
-	_codeSurface.fillRect(_codeSurface.bounds(), 0xff);
-
 	_spriteSlots.fullRefresh();
 /*
 	// Handle scene transition
@@ -675,7 +677,10 @@
 	str_upper(commandStr);
 	char *param = commandStr;
 
-	if (!strncmp(commandStr, "X", 1)) {
+	if (!strncmp(commandStr, "B", 1)) {
+		// Toggle background load flag
+		_bgLoadFlag = !_bgLoadFlag;
+	} else if (!strncmp(commandStr, "X", 1)) {
 		//printf("X ");
 	} else if (!strncmp(commandStr, "W", 1)) {
 		//printf("W ");

Modified: scummvm/trunk/engines/m4/mads_anim.h
===================================================================
--- scummvm/trunk/engines/m4/mads_anim.h	2010-06-11 10:54:49 UTC (rev 49594)
+++ scummvm/trunk/engines/m4/mads_anim.h	2010-06-11 11:03:51 UTC (rev 49595)
@@ -90,6 +90,7 @@
 	RGBList *_palData;
 	int _transition;
 	MadsAnimation *_activeAnimation;
+	bool _bgLoadFlag;
 
 	void reset();
 	void readNextCommand();

Modified: scummvm/trunk/engines/m4/mads_scene.cpp
===================================================================
--- scummvm/trunk/engines/m4/mads_scene.cpp	2010-06-11 10:54:49 UTC (rev 49594)
+++ scummvm/trunk/engines/m4/mads_scene.cpp	2010-06-11 11:03:51 UTC (rev 49595)
@@ -720,7 +720,7 @@
 	_vm->_resourceManager->toss(sceneName);
 
 	// Load the surface artwork
-	surface->loadBackground(sceneNumber);
+	surface->loadBackground(artFileNum);
 
 	// Final cleanup
 	if (ssFlag)

Modified: scummvm/trunk/engines/m4/mads_views.h
===================================================================
--- scummvm/trunk/engines/m4/mads_views.h	2010-06-11 10:54:49 UTC (rev 49594)
+++ scummvm/trunk/engines/m4/mads_views.h	2010-06-11 11:03:51 UTC (rev 49595)
@@ -367,7 +367,7 @@
 public:
 	Animation(MadsM4Engine *vm);
 	virtual ~Animation();
-	virtual void initialise(const Common::String &filename, uint16 flags, M4Surface *walkSurface, M4Surface *sceneSurface) = 0;
+	virtual void initialise(const Common::String &filename, uint16 flags, M4Surface *surface, M4Surface *depthSurface) = 0;
 	virtual void load(const Common::String &filename, int v0) = 0;
 	virtual void update() = 0;
 	virtual void setCurrentFrame(int frameNumber) = 0;


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