[Scummvm-cvs-logs] CVS: scummvm actor.cpp,1.43,1.44 script.cpp,1.43,1.44 script_v1.cpp,1.68,1.69

James Brown ender at users.sourceforge.net
Fri Apr 5 19:44:03 CEST 2002


Update of /cvsroot/scummvm/scummvm
In directory usw-pr-cvs1:/tmp/cvs-serv30654

Modified Files:
	actor.cpp script.cpp script_v1.cpp 
Log Message:
Final loom fixes. LoomCD is now completable, apart from sound glitches and lack of masking.



Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/actor.cpp,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** actor.cpp	29 Mar 2002 12:15:41 -0000	1.43
--- actor.cpp	6 Apr 2002 03:43:53 -0000	1.44
***************
*** 796,800 ****
  			break;
  		j = getPathToDestBox(a->walkbox,a->walkdata.destbox);
! 		if (j==-1) {
  			a->walkdata.destbox = a->walkbox;
  			a->moving |= 8;
--- 796,800 ----
  			break;
  		j = getPathToDestBox(a->walkbox,a->walkdata.destbox);
! 		if (j==-1 || j>0xF0) {
  			a->walkdata.destbox = a->walkbox;
  			a->moving |= 8;

Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/script.cpp,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** script.cpp	6 Apr 2002 01:14:42 -0000	1.43
--- script.cpp	6 Apr 2002 03:43:54 -0000	1.44
***************
*** 409,412 ****
--- 409,413 ----
  	if (x>319) return;
  	if (x<0) x=0;
+ 	if (y<0) y=0;
  	if (x2<0) return;
  	if (x2>320) x2=320;
***************
*** 443,451 ****
  
  	if (ss->where!=WIO_GLOBAL && ss->where!=WIO_LOCAL) {
! 		if (ss->cutsceneOverride)
! 			error("Object %d ending with active cutscene/override", ss->number);
  	} else {
! 		if (ss->cutsceneOverride) 
! 			error("Script %d ending with active cutscene/override (%d)", ss->number, ss->cutsceneOverride);
  	}
  	ss->number = 0;
--- 444,456 ----
  
  	if (ss->where!=WIO_GLOBAL && ss->where!=WIO_LOCAL) {
! 		if (ss->cutsceneOverride) {
! 			warning("Object %d ending with active cutscene/override", ss->number);
! 			ss->cutsceneOverride = 0;
! 		}
  	} else {
! 		if (ss->cutsceneOverride) {
! 			warning("Script %d ending with active cutscene/override (%d)", ss->number, ss->cutsceneOverride);
! 			ss->cutsceneOverride = 0;
! 		}
  	}
  	ss->number = 0;

Index: script_v1.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/script_v1.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -C2 -d -r1.68 -r1.69
*** script_v1.cpp	5 Apr 2002 16:41:02 -0000	1.68
--- script_v1.cpp	6 Apr 2002 03:43:54 -0000	1.69
***************
*** 1023,1027 ****
  void Scumm::o5_drawBox() {
  	int x,y,x2,y2,color;
! 
  	x = getVarOrDirectWord(0x80);
  	y = getVarOrDirectWord(0x40);
--- 1023,1027 ----
  void Scumm::o5_drawBox() {
  	int x,y,x2,y2,color;
! 	
  	x = getVarOrDirectWord(0x80);
  	y = getVarOrDirectWord(0x40);
***************
*** 2352,2355 ****
--- 2352,2358 ----
  	int nr2 = getVarOrDirectByte(0x80);
  	a = derefActorSafe(nr2, "o5_walkActorToActor");
+ 	if (!a)
+ 		return;
+ 
  	if (a->room != _currentRoom) {
  		getVarOrDirectByte(0x40);
***************
*** 2366,2369 ****
--- 2369,2375 ----
  	// warning("walk actor %d to actor %d", nr, nr2);
  	a2 = derefActorSafe(nr, "o5_walkActorToActor(2)");
+ 	if (!a2)
+ 		return;
+ 
  	if (a2->room != _currentRoom) {
  		fetchScriptByte();





More information about the Scummvm-git-logs mailing list