[Scummvm-cvs-logs] CVS: scummvm object.cpp,1.40,1.41 script_v1.cpp,1.45,1.46 scumm.h,1.79,1.80

James Brown ender at users.sourceforge.net
Tue Mar 12 20:58:03 CET 2002


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

Modified Files:
	object.cpp script_v1.cpp scumm.h 
Log Message:
Fix an OB1 and typecast. Need to find out cause of invalid object index to begin with..



Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/object.cpp,v
retrieving revision 1.40
retrieving revision 1.41
diff -C2 -d -r1.40 -r1.41
*** object.cpp	13 Mar 2002 04:33:40 -0000	1.40
--- object.cpp	13 Mar 2002 04:57:32 -0000	1.41
***************
*** 95,103 ****
  		return WIO_NOT_FOUND;
  
- 	if (object < 0) {
- 		warning("FIXME! Negative object index! Very bad..");
- 		return WIO_NOT_FOUND;
- 	}
- 
  	if (_objectOwnerTable[object] != OF_OWNER_ROOM) {
  		for (i=0; i<_maxInventoryItems; i++)
--- 95,98 ----

Index: script_v1.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/script_v1.cpp,v
retrieving revision 1.45
retrieving revision 1.46
diff -C2 -d -r1.45 -r1.46
*** script_v1.cpp	11 Mar 2002 14:24:48 -0000	1.45
--- script_v1.cpp	13 Mar 2002 04:57:32 -0000	1.46
***************
*** 1295,1299 ****
  void Scumm::o5_getObjectState() {
  	if(_features & GF_SMALL_HEADER) {
! 		if((getState(getVarOrDirectWord(0x80)) &0x0F >>4) != getVarOrDirectByte(0x40))
  			o5_jumpRelative();
  		else
--- 1295,1299 ----
  void Scumm::o5_getObjectState() {
  	if(_features & GF_SMALL_HEADER) {
! 		if((getState(getVarOrDirectWord(0x80)) &0x0F >>4) != (int)getVarOrDirectByte(0x40))
  			o5_jumpRelative();
  		else
***************
*** 1320,1323 ****
--- 1320,1324 ----
  	a = getVarOrDirectWord(0x80);
  	b = getVarOrDirectWord(0x40);
+ 
  	setResult(getVerbEntrypoint(a, b));
  }
***************
*** 2378,2388 ****
  }
  
! int Scumm::getVarOrDirectWord(byte mask) {
  	if (_opcode&mask)
  		return readVar(fetchScriptWord());
! 	return (int16)fetchScriptWord();
  }
  
! int Scumm::getVarOrDirectByte(byte mask) {
  	if (_opcode&mask)
  		return readVar(fetchScriptWord());
--- 2379,2389 ----
  }
  
! uint Scumm::getVarOrDirectWord(byte mask) {
  	if (_opcode&mask)
  		return readVar(fetchScriptWord());
! 	return (uint16)fetchScriptWord();
  }
  
! uint Scumm::getVarOrDirectByte(byte mask) {
  	if (_opcode&mask)
  		return readVar(fetchScriptWord());

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
retrieving revision 1.79
retrieving revision 1.80
diff -C2 -d -r1.79 -r1.80
*** scumm.h	11 Mar 2002 13:15:07 -0000	1.79
--- scumm.h	13 Mar 2002 04:57:32 -0000	1.80
***************
*** 1321,1326 ****
  	void ignoreScriptWord() { fetchScriptWord(); }
  	void ignoreScriptByte() { fetchScriptByte(); }
! 	int getVarOrDirectWord(byte mask);
! 	int getVarOrDirectByte(byte mask);
  	int readVar(uint var);
  	void writeVar(uint var, int value);
--- 1321,1326 ----
  	void ignoreScriptWord() { fetchScriptWord(); }
  	void ignoreScriptByte() { fetchScriptByte(); }
! 	uint getVarOrDirectWord(byte mask);
! 	uint getVarOrDirectByte(byte mask);
  	int readVar(uint var);
  	void writeVar(uint var, int value);





More information about the Scummvm-git-logs mailing list