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

peres001 at users.sourceforge.net peres001 at users.sourceforge.net
Fri Jul 25 10:27:45 CEST 2008


Revision: 33273
          http://scummvm.svn.sourceforge.net/scummvm/?rev=33273&view=rev
Author:   peres001
Date:     2008-07-25 08:27:44 +0000 (Fri, 25 Jul 2008)

Log Message:
-----------
Made character visible in BRA.

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/gui_br.cpp
    scummvm/trunk/engines/parallaction/parallaction_br.cpp

Modified: scummvm/trunk/engines/parallaction/gui_br.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/gui_br.cpp	2008-07-25 06:35:02 UTC (rev 33272)
+++ scummvm/trunk/engines/parallaction/gui_br.cpp	2008-07-25 08:27:44 UTC (rev 33273)
@@ -283,6 +283,8 @@
 
 	delete _menuHelper;
 	_menuHelper = 0;
+
+	_input->_inputMode = Input::kInputModeGame;
 }
 
 

Modified: scummvm/trunk/engines/parallaction/parallaction_br.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/parallaction_br.cpp	2008-07-25 06:35:02 UTC (rev 33272)
+++ scummvm/trunk/engines/parallaction/parallaction_br.cpp	2008-07-25 08:27:44 UTC (rev 33273)
@@ -232,7 +232,7 @@
 	// free open location stuff
 	clearSubtitles();
 	freeBackground();
-	_gfx->clearGfxObjects(kGfxObjNormal | kGfxObjCharacter);
+	_gfx->clearGfxObjects(kGfxObjNormal);
 	_location._programs.clear();
 
 	_location._animations.remove(_char._ani);
@@ -244,12 +244,17 @@
 
 //	free(_location._comment);
 //	_location._comment = 0;
-//	_location._commands.clear();
-//	_location._aCommands.clear();
+	_location._commands.clear();
+	_location._aCommands.clear();
 
-
 	// load new location
 	parseLocation(location);
+
+	// kFlagsRemove is cleared because the character defaults to visible on new locations
+	// script command can hide the character, anyway, so that's why the flag is cleared
+	// before _location._commands are executed
+	_char._ani->_flags &= ~kFlagsRemove;
+
 	_cmdExec->run(_location._commands);
 //	doLocationEnterTransition();
 	_cmdExec->run(_location._aCommands);
@@ -301,17 +306,19 @@
 
 
 void Parallaction_br::changeCharacter(const char *name) {
-	printf("changeCharacter(%s)\n", name);
+	const char *charName = _char.getName();
 
-	const char *charName = _char.getName();
-	if (!scumm_stricmp(charName, name)) {
-		return;
+	if (scumm_stricmp(charName, name)) {
+		debugC(1, kDebugExec, "changeCharacter(%s)", name);
+
+		_char.setName(name);
+		_char._ani->gfxobj = _gfx->loadAnim(name);
+		_char._ani->gfxobj->setFlags(kGfxObjCharacter);
+		_char._ani->gfxobj->clearFlags(kGfxObjNormal);
+		_char._talk = _disk->loadTalk(name);
 	}
 
-	_char.setName(name);
-	_char._ani->gfxobj = _gfx->loadAnim(name);
-	_char._ani->gfxobj->setFlags(kGfxObjCharacter);
-	_char._talk = _disk->loadTalk(name);
+	_char._ani->_flags |= kFlagsActive;
 }
 
 


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