[Scummvm-cvs-logs] CVS: scummvm verbs.cpp,1.8,1.9 sound.cpp,1.5,1.6 scummvm.cpp,1.24,1.25 scumm.h,1.25,1.26 script_v2.cpp,1.9,1.10 script_v1.cpp,1.11,1.12 script.cpp,1.10,1.11 saveload.cpp,1.13,1.14 object.cpp,1.13,1.14 debug.cpp,1.7,1.8

Ludvig Strigeus strigeus at users.sourceforge.net
Mon Nov 12 12:51:03 CET 2001


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

Modified Files:
	verbs.cpp sound.cpp scummvm.cpp scumm.h script_v2.cpp 
	script_v1.cpp script.cpp saveload.cpp object.cpp debug.cpp 
Log Message:
readability patches, some by janssen

Index: verbs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/verbs.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** verbs.cpp	2001/11/08 18:37:42	1.8
--- verbs.cpp	2001/11/12 20:50:36	1.9
***************
*** 251,255 ****
  	RoomHeader *roomhdr;
  
! 	if (whereIsObject(object) == 4)
  		error("Can't grab verb image from flobject");
  
--- 251,255 ----
  	RoomHeader *roomhdr;
  
! 	if (whereIsObject(object) == WIO_FLOBJECT)
  		error("Can't grab verb image from flobject");
  

Index: sound.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sound.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** sound.cpp	2001/11/06 20:25:08	1.5
--- sound.cpp	2001/11/12 20:50:36	1.6
***************
*** 39,43 ****
  void Scumm::addSoundToQueue(int sound) {
  	_vars[VAR_LAST_SOUND] = sound;
! 	ensureResourceLoaded(4, sound);
  	addSoundToQueue2(sound);
  }
--- 39,43 ----
  void Scumm::addSoundToQueue(int sound) {
  	_vars[VAR_LAST_SOUND] = sound;
! 	ensureResourceLoaded(rtSound, sound);
  	addSoundToQueue2(sound);
  }
***************
*** 202,206 ****
  		return 1;
  
! 	if (!isResourceLoaded(4, sound))
  		return 0;
  
--- 202,206 ----
  		return 1;
  
! 	if (!isResourceLoaded(rtSound, sound))
  		return 0;
  
***************
*** 291,295 ****
  	SoundEngine *se = (SoundEngine*)_soundDriver;
  	if (se) {
! 		se->_base_sounds = res.address[4];
  	}
  	_soundTagTable = (byte*)sound_tags;
--- 291,295 ----
  	SoundEngine *se = (SoundEngine*)_soundDriver;
  	if (se) {
! 		se->_base_sounds = res.address[rtSound];
  	}
  	_soundTagTable = (byte*)sound_tags;

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scummvm.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** scummvm.cpp	2001/11/11 16:54:45	1.24
--- scummvm.cpp	2001/11/12 20:50:36	1.25
***************
*** 170,174 ****
  	_vars[VAR_SOUNDCARD] = _soundCardType;
  	_vars[VAR_VIDEOMODE] = 0x13;
! 	_vars[VAR_HEAPSPACE] = 600;
  	_vars[VAR_MOUSEPRESENT] = _mousePresent;
  	_vars[VAR_SOUNDPARAM] = _soundParam;
--- 170,174 ----
  	_vars[VAR_SOUNDCARD] = _soundCardType;
  	_vars[VAR_VIDEOMODE] = 0x13;
! 	_vars[VAR_HEAPSPACE] = 630;
  	_vars[VAR_MOUSEPRESENT] = _mousePresent;
  	_vars[VAR_SOUNDPARAM] = _soundParam;
***************
*** 418,423 ****
  	{"atlantis", "Indiana Jones 4 and the Fate of Atlantis", GID_INDY4, 5, 5, 0},
  	{"playfate", "Indiana Jones 4 and the Fate of Atlantis (Demo)", GID_INDY4, 5, 5, 0},
! 	{"tentacle", "Day Of The Tenctacle", GID_TENTACLE, 6, 4, 2},
! 	{"dottdemo", "Day Of The Tenctacle (Demo)", GID_TENTACLE, 6, 3, 2},
  	{"samnmax", "Sam & Max", GID_SAMNMAX, 6, 4, 2},
  	{"snmdemo", "Sam & Max (Demo)", GID_SAMNMAX, 6, 3, 0},
--- 418,423 ----
  	{"atlantis", "Indiana Jones 4 and the Fate of Atlantis", GID_INDY4, 5, 5, 0},
  	{"playfate", "Indiana Jones 4 and the Fate of Atlantis (Demo)", GID_INDY4, 5, 5, 0},
! 	{"tentacle", "Day Of The Tentacle", GID_TENTACLE, 6, 4, 2},
! 	{"dottdemo", "Day Of The Tentacle (Demo)", GID_TENTACLE, 6, 3, 2},
  	{"samnmax", "Sam & Max", GID_SAMNMAX, 6, 4, 2},
  	{"snmdemo", "Sam & Max (Demo)", GID_SAMNMAX, 6, 3, 0},
***************
*** 458,462 ****
  
  void Scumm::startScene(int room, Actor *a, int objectNr) {
! 	int i;
  	Actor *at;
  
--- 458,462 ----
  
  void Scumm::startScene(int room, Actor *a, int objectNr) {
! 	int i,where;
  	Actor *at;
  
***************
*** 471,479 ****
  
  	if (_currentScript!=0xFF) {
! 		if (vm.slot[_currentScript].type==1 || vm.slot[_currentScript].type==4) {
  			if(vm.slot[_currentScript].cutsceneOverride!=0)
  				error("Object %d stopped with active cutscene/override in exit", vm.slot[_currentScript].number);
  			_currentScript = 0xFF;
! 		} else if (vm.slot[_currentScript].type==3) {
  			if (vm.slot[_currentScript].cutsceneOverride!=0)
  				error("Script %d stopped with active cutscene/override in exit", vm.slot[_currentScript].number);	
--- 471,480 ----
  
  	if (_currentScript!=0xFF) {
! 		if (vm.slot[_currentScript].where==WIO_ROOM || 
! 			vm.slot[_currentScript].where==WIO_FLOBJECT) {
  			if(vm.slot[_currentScript].cutsceneOverride!=0)
  				error("Object %d stopped with active cutscene/override in exit", vm.slot[_currentScript].number);
  			_currentScript = 0xFF;
! 		} else if (vm.slot[_currentScript].where==WIO_LOCAL) {
  			if (vm.slot[_currentScript].cutsceneOverride!=0)
  				error("Script %d stopped with active cutscene/override in exit", vm.slot[_currentScript].number);	
***************
*** 544,550 ****
  
  	if (a) {
! 		if (whereIsObject(objectNr)!=1 &&
! 			whereIsObject(objectNr)!=4)
! 				error("startScene: Object %d is not in room %d", objectNr, _currentRoom);
  		getObjectXYPos(objectNr);
  		putActor(a, _xPos, _yPos, _currentRoom);
--- 545,551 ----
  
  	if (a) {
! 		where = whereIsObject(objectNr);
! 		if (where != WIO_ROOM && where!=WIO_FLOBJECT)
! 			error("startScene: Object %d is not in room %d", objectNr, _currentRoom);
  		getObjectXYPos(objectNr);
  		putActor(a, _xPos, _yPos, _currentRoom);

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** scumm.h	2001/11/11 16:54:45	1.25
--- scumm.h	2001/11/12 20:50:36	1.26
***************
*** 204,208 ****
  	uint16 newfield;
  	byte status;
! 	byte type;
  	byte unk1,unk2,freezeCount,didexec;
  	byte cutsceneOverride;
--- 204,208 ----
  	uint16 newfield;
  	byte status;
! 	byte where;
  	byte unk1,unk2,freezeCount,didexec;
  	byte cutsceneOverride;
***************
*** 212,216 ****
  struct NestedScript {
  	uint16 number;
! 	uint8 type;
  	uint8 slot;
  };
--- 212,216 ----
  struct NestedScript {
  	uint16 number;
! 	uint8 where;
  	uint8 slot;
  };
***************
*** 321,327 ****
  	rtObjectName = 16,
  	rtLast = 16,
- 
  	rtNumTypes = 17,
  
  };
  
--- 321,332 ----
  	rtObjectName = 16,
  	rtLast = 16,
  	rtNumTypes = 17,
+ };
  
+ enum {
+ 	OF_OWNER_MASK = 0x0F,
+ 	OF_STATE_MASK = 0xF0,
+ 	OF_OWNER_ROOM = 0x0F,
+ 	OF_STATE_SHL = 4
  };
  
***************
*** 603,606 ****
--- 608,620 ----
  struct ScummDebugger;
  struct Serializer;
+ 
+ enum WhereIsObject {
+ 	WIO_NOT_FOUND = -1,
+ 	WIO_INVENTORY = 0,
+ 	WIO_ROOM = 1,
+ 	WIO_GLOBAL = 2,
+ 	WIO_LOCAL = 3,
+ 	WIO_FLOBJECT = 4,
+ };
  
  struct Scumm {

Index: script_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/script_v2.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** script_v2.cpp	2001/11/11 16:54:45	1.9
--- script_v2.cpp	2001/11/12 20:50:36	1.10
***************
*** 853,857 ****
  
  	if (obj >= 17) {
! 		if (whereIsObject(obj)==-1)
  			return;
  		getObjectXYPos(obj);
--- 853,857 ----
  
  	if (obj >= 17) {
! 		if (whereIsObject(obj)==WIO_NOT_FOUND)
  			return;
  		getObjectXYPos(obj);
***************
*** 910,914 ****
  
  	a = derefActorSafe(pop(), "o6_putActorAtObject");
! 	if (whereIsObject(obj)!=-1) {
  		getObjectXYPos(obj);
  		x = _xPos;
--- 910,914 ----
  
  	a = derefActorSafe(pop(), "o6_putActorAtObject");
! 	if (whereIsObject(obj)!=WIO_NOT_FOUND) {
  		getObjectXYPos(obj);
  		x = _xPos;

Index: script_v1.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/script_v1.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** script_v1.cpp	2001/11/10 23:30:12	1.11
--- script_v1.cpp	2001/11/12 20:50:36	1.12
***************
*** 1202,1206 ****
  	a = derefActorSafe(getVarOrDirectByte(0x80), "o5_putActorAtObject");
  	obj = getVarOrDirectWord(0x40);
! 	if (whereIsObject(obj)!=-1)
  		getObjectXYPos(obj);
  	else {
--- 1202,1206 ----
  	a = derefActorSafe(getVarOrDirectByte(0x80), "o5_putActorAtObject");
  	obj = getVarOrDirectWord(0x40);
! 	if (whereIsObject(obj)!=WIO_NOT_FOUND)
  		getObjectXYPos(obj);
  	else {
***************
*** 1885,1889 ****
  	a = derefActorSafe(getVarOrDirectByte(0x80), "o5_walkActorToObject");
  	obj = getVarOrDirectWord(0x40);
! 	if (whereIsObject(obj)!=-1) {
  		getObjectXYPos(obj);
  		startWalkActor(a, _xPos, _yPos, _dir);
--- 1885,1889 ----
  	a = derefActorSafe(getVarOrDirectByte(0x80), "o5_walkActorToObject");
  	obj = getVarOrDirectWord(0x40);
! 	if (whereIsObject(obj)!=WIO_NOT_FOUND) {
  		getObjectXYPos(obj);
  		startWalkActor(a, _xPos, _yPos, _dir);

Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/script.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** script.cpp	2001/11/09 18:54:14	1.10
--- script.cpp	2001/11/12 20:50:36	1.11
***************
*** 46,50 ****
  		scriptPtr = getResourceAddress(rtScript, script);
  		scriptOffs = 8;
! 		scriptType = 2;
  	} else {
  		scriptOffs = _localScriptList[script - _numGlobalScripts];
--- 46,50 ----
  		scriptPtr = getResourceAddress(rtScript, script);
  		scriptOffs = 8;
! 		scriptType = WIO_GLOBAL;
  	} else {
  		scriptOffs = _localScriptList[script - _numGlobalScripts];
***************
*** 52,56 ****
  			error("Local script %d is not in room %d", script, _roomResource);
  		scriptOffs += 9;
! 		scriptType = 3;
  	}
  
--- 52,56 ----
  			error("Local script %d is not in room %d", script, _roomResource);
  		scriptOffs += 9;
! 		scriptType = WIO_LOCAL;
  	}
  
***************
*** 61,65 ****
  	s->offs = scriptOffs;
  	s->status = 2;
! 	s->type = scriptType;
  	s->unk1 = a;
  	s->unk2 = b;
--- 61,65 ----
  	s->offs = scriptOffs;
  	s->status = 2;
! 	s->where = scriptType;
  	s->unk1 = a;
  	s->unk2 = b;
***************
*** 82,86 ****
  	
  	for (i=1; i<NUM_SCRIPT_SLOT; i++,ss++) {
! 		if (script!=ss->number || ss->type!=2 && ss->type!=3 || ss->status==0)
  			continue;
  
--- 82,87 ----
  	
  	for (i=1; i<NUM_SCRIPT_SLOT; i++,ss++) {
! 		if (script!=ss->number || 
! 				ss->where!=WIO_GLOBAL && ss->where!=WIO_LOCAL || ss->status==0)
  			continue;
  
***************
*** 100,107 ****
  
  	do {
! 		if (nest->number == script && (nest->type==2 || nest->type==3)) {
  			nest->number = 0xFF;
  			nest->slot = 0xFF;
! 			nest->type = 0xFF;
  		}
  	} while(nest++,--num);
--- 101,108 ----
  
  	do {
! 		if (nest->number == script && (nest->where==WIO_GLOBAL || nest->where==WIO_LOCAL)) {
  			nest->number = 0xFF;
  			nest->slot = 0xFF;
! 			nest->where = 0xFF;
  		}
  	} while(nest++,--num);
***************
*** 119,123 ****
  	
  	for (i=1; i<NUM_SCRIPT_SLOT; i++,ss++) {
! 		if (script==ss->number && (ss->type==1 || ss->type==0 || ss->type==4) && ss->status!=0) {
  			if (ss->cutsceneOverride)
  				error("Object %d stopped with active cutscene/override", script);
--- 120,125 ----
  	
  	for (i=1; i<NUM_SCRIPT_SLOT; i++,ss++) {
! 		if (script==ss->number && (ss->where==WIO_ROOM || 
! 			ss->where==WIO_INVENTORY || ss->where==WIO_FLOBJECT) && ss->status!=0) {
  			if (ss->cutsceneOverride)
  				error("Object %d stopped with active cutscene/override", script);
***************
*** 136,143 ****
  
  	do {
! 		if (nest->number == script && (nest->type==1 || nest->type==4 || nest->type==0)) {
  			nest->number = 0xFF;
  			nest->slot = 0xFF;
! 			nest->type = 0xFF;
  		}
  	} while(nest++,--num);
--- 138,147 ----
  
  	do {
! 		if (nest->number == script && 
! 			 (nest->where==WIO_ROOM || nest->where==WIO_FLOBJECT || 
! 			 nest->where==WIO_INVENTORY)) {
  			nest->number = 0xFF;
  			nest->slot = 0xFF;
! 			nest->where = 0xFF;
  		}
  	} while(nest++,--num);
***************
*** 166,174 ****
  	if (_currentScript==0xFF) {
  		nest->number = 0xFF;
! 		nest->type = 0xFF;
  	} else {
  		slot = &vm.slot[_currentScript];
  		nest->number = slot->number;
! 		nest->type = slot->type;
  		nest->slot = _currentScript;
  	}
--- 170,178 ----
  	if (_currentScript==0xFF) {
  		nest->number = 0xFF;
! 		nest->where = 0xFF;
  	} else {
  		slot = &vm.slot[_currentScript];
  		nest->number = slot->number;
! 		nest->where = slot->where;
  		nest->slot = _currentScript;
  	}
***************
*** 189,193 ****
  	if (nest->number != 0xFF) {
  		slot = &vm.slot[nest->slot];
! 		if (slot->number == nest->number && slot->type==nest->type &&
  			slot->status != 0 && slot->freezeCount==0) {
  			_currentScript = nest->slot;
--- 193,197 ----
  	if (nest->number != 0xFF) {
  		slot = &vm.slot[nest->slot];
! 		if (slot->number == nest->number && slot->where==nest->where &&
  			slot->status != 0 && slot->freezeCount==0) {
  			_currentScript = nest->slot;
***************
*** 215,220 ****
  
  	ss = &vm.slot[_currentScript];
! 	switch(ss->type) {
! 	case 0: /* inventory script **/
  		index = getObjectIndex(ss->number);
  		_scriptOrgPointer = getResourceAddress(rtInventory, index);
--- 219,224 ----
  
  	ss = &vm.slot[_currentScript];
! 	switch(ss->where) {
! 	case WIO_INVENTORY: /* inventory script **/
  		index = getObjectIndex(ss->number);
  		_scriptOrgPointer = getResourceAddress(rtInventory, index);
***************
*** 223,237 ****
  
  	case 3:
! 	case 1: /* room script */
  		_scriptOrgPointer = getResourceAddress(rtRoom, _roomResource);
  		_lastCodePtr = &_baseRooms[_roomResource];
  		break;
  
! 	case 2: /* global script */
  		_scriptOrgPointer = getResourceAddress(rtScript, ss->number);
  		_lastCodePtr = &_baseScripts[ss->number];
  		break;
  
! 	case 4: /* flobject script */
  		index = getObjectIndex(ss->number);
  		_scriptOrgPointer = getResourceAddress(rtFlObject,_objs[index].fl_object_index);
--- 227,241 ----
  
  	case 3:
! 	case WIO_ROOM: /* room script */
  		_scriptOrgPointer = getResourceAddress(rtRoom, _roomResource);
  		_lastCodePtr = &_baseRooms[_roomResource];
  		break;
  
! 	case WIO_GLOBAL: /* global script */
  		_scriptOrgPointer = getResourceAddress(rtScript, ss->number);
  		_lastCodePtr = &_baseScripts[ss->number];
  		break;
  
! 	case WIO_FLOBJECT: /* flobject script */
  		index = getObjectIndex(ss->number);
  		_scriptOrgPointer = getResourceAddress(rtFlObject,_objs[index].fl_object_index);
***************
*** 420,424 ****
  	ss = &vm.slot[_currentScript];
  
! 	if (ss->type!=2 && ss->type!=3) {
  		if (ss->cutsceneOverride)
  			error("Object %d ending with active cutscene/override", ss->number);
--- 424,428 ----
  	ss = &vm.slot[_currentScript];
  
! 	if (ss->where!=WIO_GLOBAL && ss->where!=WIO_LOCAL) {
  		if (ss->cutsceneOverride)
  			error("Object %d ending with active cutscene/override", ss->number);
***************
*** 516,520 ****
  		vm.slot[slot].status = 2;
  		vm.slot[slot].number = 10001;
! 		vm.slot[slot].type = 1;
  		vm.slot[slot].offs = _EXCD_offs + 8;
  		vm.slot[slot].unk1 = 0;
--- 520,524 ----
  		vm.slot[slot].status = 2;
  		vm.slot[slot].number = 10001;
! 		vm.slot[slot].where = WIO_ROOM;
  		vm.slot[slot].offs = _EXCD_offs + 8;
  		vm.slot[slot].unk1 = 0;
***************
*** 534,538 ****
  		vm.slot[slot].status = 2;
  		vm.slot[slot].number = 10002;
! 		vm.slot[slot].type = 1;
  		vm.slot[slot].offs = _ENCD_offs + 8;
  		vm.slot[slot].unk1 = 0;
--- 538,542 ----
  		vm.slot[slot].status = 2;
  		vm.slot[slot].number = 10002;
! 		vm.slot[slot].where = WIO_ROOM;
  		vm.slot[slot].offs = _ENCD_offs + 8;
  		vm.slot[slot].unk1 = 0;
***************
*** 552,560 ****
  	
  	for (i=1; i<NUM_SCRIPT_SLOT; i++,ss++) {
! 		if (ss->type==1 || ss->type==4) {
  			if(ss->cutsceneOverride)
  				error("Object %d stopped with active cutscene/override in exit", ss->number);
  			ss->status = 0;
! 		} else if (ss->type==3) {
  			if(ss->cutsceneOverride)
  				error("Script %d stopped with active cutscene/override in exit", ss->number);
--- 556,564 ----
  	
  	for (i=1; i<NUM_SCRIPT_SLOT; i++,ss++) {
! 		if (ss->where==WIO_ROOM || ss->where==WIO_FLOBJECT) {
  			if(ss->cutsceneOverride)
  				error("Object %d stopped with active cutscene/override in exit", ss->number);
  			ss->status = 0;
! 		} else if (ss->where==WIO_LOCAL) {
  			if(ss->cutsceneOverride)
  				error("Script %d stopped with active cutscene/override in exit", ss->number);
***************
*** 574,578 ****
  		for (i=0; i<50; i++) {
  			int j = _newNames[i];
! 			if (j && (getOwner(j)&0xF) == 0) {
  				_newNames[i] = 0;
  				nukeResource(rtObjectName, i);
--- 578,582 ----
  		for (i=0; i<50; i++) {
  			int j = _newNames[i];
! 			if (j && (getOwner(j)&OF_OWNER_MASK) == 0) {
  				_newNames[i] = 0;
  				nukeResource(rtObjectName, i);
***************
*** 646,650 ****
  	where = whereIsObject(object);
  
! 	if (where == -1) {
  		error("Code for object %d not in room %d", object, _roomResource);
  	}
--- 650,654 ----
  	where = whereIsObject(object);
  
! 	if (where == WIO_NOT_FOUND) {
  		error("Code for object %d not in room %d", object, _roomResource);
  	}
***************
*** 660,664 ****
  	vm.slot[slot].offs = obcd + offs;
  	vm.slot[slot].status = 2;
! 	vm.slot[slot].type = where;
  	vm.slot[slot].unk1 = a;
  	vm.slot[slot].unk2 = b;
--- 664,668 ----
  	vm.slot[slot].offs = obcd + offs;
  	vm.slot[slot].status = 2;
! 	vm.slot[slot].where = where;
  	vm.slot[slot].unk1 = a;
  	vm.slot[slot].unk2 = b;
***************
*** 686,690 ****
  	int verboffs;
  
! 	if (whereIsObject(obj)==-1)
  		return 0;
  
--- 690,694 ----
  	int verboffs;
  
! 	if (whereIsObject(obj)==WIO_NOT_FOUND)
  		return 0;
  
***************
*** 823,827 ****
  	ScriptSlot *ss = vm.slot;
  	for (i=0; i<NUM_SCRIPT_SLOT; i++,ss++)
! 		if (ss->number==script && (ss->type==2 || ss->type==3) && ss->status)
  			return 1;
  	return 0;
--- 827,832 ----
  	ScriptSlot *ss = vm.slot;
  	for (i=0; i<NUM_SCRIPT_SLOT; i++,ss++)
! 		if (ss->number==script && (ss->where==WIO_GLOBAL || 
! 			  ss->where==WIO_LOCAL) && ss->status)
  			return 1;
  	return 0;

Index: saveload.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saveload.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** saveload.cpp	2001/11/10 19:12:32	1.13
--- saveload.cpp	2001/11/12 20:50:36	1.14
***************
*** 387,391 ****
  		MKLINE(ScriptSlot,newfield,sleUint16),
  		MKLINE(ScriptSlot,status,sleByte),
! 		MKLINE(ScriptSlot,type,sleByte),
  		MKLINE(ScriptSlot,unk1,sleByte),
  		MKLINE(ScriptSlot,unk2,sleByte),
--- 387,391 ----
  		MKLINE(ScriptSlot,newfield,sleUint16),
  		MKLINE(ScriptSlot,status,sleByte),
! 		MKLINE(ScriptSlot,where,sleByte),
  		MKLINE(ScriptSlot,unk1,sleByte),
  		MKLINE(ScriptSlot,unk2,sleByte),
***************
*** 399,403 ****
  	const SaveLoadEntry nestedScriptEntries[] = {
  		MKLINE(NestedScript,number,sleUint16),
! 		MKLINE(NestedScript,type,sleByte),
  		MKLINE(NestedScript,slot,sleByte),
  		MKEND()
--- 399,403 ----
  	const SaveLoadEntry nestedScriptEntries[] = {
  		MKLINE(NestedScript,number,sleUint16),
! 		MKLINE(NestedScript,where,sleByte),
  		MKLINE(NestedScript,slot,sleByte),
  		MKEND()

Index: object.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/object.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** object.cpp	2001/11/11 16:54:45	1.13
--- object.cpp	2001/11/12 20:50:36	1.14
***************
*** 46,50 ****
  int Scumm::getOwner(int obj) {
  	checkRange(_numGlobalObjects-1, 0, obj, "Object %d out of range in getOwner");
! 	return _objectFlagTable[obj]&0xF;
  }
  
--- 46,50 ----
  int Scumm::getOwner(int obj) {
  	checkRange(_numGlobalObjects-1, 0, obj, "Object %d out of range in getOwner");
! 	return _objectFlagTable[obj]&OF_OWNER_MASK;
  }
  
***************
*** 52,56 ****
  	checkRange(_numGlobalObjects-1, 0, act, "Object %d out of range in putOwner");
  	checkRange(15, 0, owner, "Owner %d out of range in putOwner");
! 	_objectFlagTable[act] = (_objectFlagTable[act]&0xF0) | owner;
  }
  
--- 52,56 ----
  	checkRange(_numGlobalObjects-1, 0, act, "Object %d out of range in putOwner");
  	checkRange(15, 0, owner, "Owner %d out of range in putOwner");
! 	_objectFlagTable[act] = (_objectFlagTable[act]&~OF_OWNER_MASK) | owner;
  }
  
***************
*** 63,67 ****
  	checkRange(_numGlobalObjects-1, 0, act, "Object %d out of range in putState");
  	checkRange(15, 0, state, "State %d out of range in putState");
! 	_objectFlagTable[act] = (_objectFlagTable[act]&0x0F) | (state<<4);
  }
  
--- 63,68 ----
  	checkRange(_numGlobalObjects-1, 0, act, "Object %d out of range in putState");
  	checkRange(15, 0, state, "State %d out of range in putState");
! 	_objectFlagTable[act] = (_objectFlagTable[act]&~OF_STATE_MASK) |
! 		(state<<OF_STATE_SHL);
  }
  
***************
*** 69,73 ****
  	int i;
  
! 	if ((_objectFlagTable[object]&0xF)!=0xF) {
  		for (i=0; i<_maxInventoryItems; i++)
  			if (_inventory[i] == object)
--- 70,74 ----
  	int i;
  
! 	if ((_objectFlagTable[object]&OF_OWNER_MASK)!=OF_OWNER_ROOM) {
  		for (i=0; i<_maxInventoryItems; i++)
  			if (_inventory[i] == object)
***************
*** 87,97 ****
  
  	if (object >= _numGlobalObjects)
! 		return -1;
  
! 	if ((_objectFlagTable[object]&0xF)!=0xF) {
  		for (i=0; i<_maxInventoryItems; i++)
  			if (_inventory[i] == object)
! 				return 0;
! 		return -1;
  	}
  
--- 88,98 ----
  
  	if (object >= _numGlobalObjects)
! 		return WIO_NOT_FOUND;
  
! 	if ((_objectFlagTable[object]&OF_OWNER_MASK)!=OF_OWNER_ROOM) {
  		for (i=0; i<_maxInventoryItems; i++)
  			if (_inventory[i] == object)
! 				return WIO_INVENTORY;
! 		return WIO_NOT_FOUND;
  	}
  
***************
*** 99,106 ****
  		if (_objs[i].obj_nr == object) {
  			if (_objs[i].fl_object_index)
! 				return 4;
! 			return 1;
  		}
! 	return -1;
  }
  
--- 100,107 ----
  		if (_objs[i].obj_nr == object) {
  			if (_objs[i].fl_object_index)
! 				return WIO_FLOBJECT;
! 			return WIO_ROOM;
  		}
! 	return WIO_NOT_FOUND;
  }
  
***************
*** 110,117 ****
  	}
  	switch(whereIsObject(object)) {
! 	case -1:
  		return -1;
! 	case 0:
! 		return getActorXYPos(derefActorSafe(_objectFlagTable[object]&0xF,"getObjectOrActorXY(2)"));
  	}
  	getObjectXYPos(object);
--- 111,118 ----
  	}
  	switch(whereIsObject(object)) {
! 	case WIO_NOT_FOUND:
  		return -1;
! 	case WIO_INVENTORY:
! 		return getActorXYPos(derefActorSafe(_objectFlagTable[object]&OF_OWNER_MASK,"getObjectOrActorXY(2)"));
  	}
  	getObjectXYPos(object);
***************
*** 209,213 ****
  				break;
  			}
! 		} while ( (_objs[b].ownerstate&0xF0) == a);
  	}
  	return 0;
--- 210,214 ----
  				break;
  			}
! 		} while ( (_objs[b].ownerstate&OF_STATE_MASK) == a);
  	}
  	return 0;
***************
*** 224,228 ****
  	do {
  		od = &_objs[num];
! 		if (!od->obj_nr || !(od->ownerstate&0xF0))
  			continue;
  		
--- 225,229 ----
  	do {
  		od = &_objs[num];
! 		if (!od->obj_nr || !(od->ownerstate&OF_STATE_MASK))
  			continue;
  		
***************
*** 234,238 ****
  			}
  			od = &_objs[od->parent];
! 		} while ((od->ownerstate & 0xF0)==a);
  
  	} while (--num);
--- 235,239 ----
  			}
  			od = &_objs[od->parent];
! 		} while ((od->ownerstate & OF_STATE_MASK)==a);
  
  	} while (--num);
***************
*** 388,392 ****
  				od->parentstate = 1<<4;
  			} else {
! 				od->parentstate = (cdhd->v6.flags&0xF)<<4;
  			}
  			od->parent = cdhd->v6.parent;
--- 389,393 ----
  				od->parentstate = 1<<4;
  			} else {
! 				od->parentstate = (cdhd->v6.flags&0xF)<<OF_STATE_SHL;
  			}
  			od->parent = cdhd->v6.parent;
***************
*** 400,404 ****
  				od->parentstate = 1<<4;
  			} else {
! 				od->parentstate = (cdhd->v5.flags&0xF)<<4;
  			}
  			od->parent = cdhd->v5.parent;
--- 401,405 ----
  				od->parentstate = 1<<4;
  			} else {
! 				od->parentstate = (cdhd->v5.flags&0xF)<<OF_STATE_SHL;
  			}
  			od->parent = cdhd->v5.parent;
***************
*** 438,442 ****
  	stopObjectScript(obj);
  	
! 	if (getOwner(obj)==0xF) {
  		i = 0;
  		do {
--- 439,443 ----
  	stopObjectScript(obj);
  	
! 	if (getOwner(obj)==OF_OWNER_ROOM) {
  		i = 0;
  		do {
***************
*** 454,458 ****
  		if (_inventory[i] == obj) {
  			j = whereIsObject(obj);
! 			if (j==0) {
  				nukeResource(rtInventory, i);
  				_inventory[i] = 0;
--- 455,459 ----
  		if (_inventory[i] == obj) {
  			j = whereIsObject(obj);
! 			if (j==WIO_INVENTORY) {
  				nukeResource(rtInventory, i);
  				_inventory[i] = 0;
***************
*** 519,523 ****
  	int i;
  
! 	if ((_objectFlagTable[object]&0xF)!=0xF)
  		return 0;
  	for (i=_numObjectsInRoom; i>0; i--) {
--- 520,524 ----
  	int i;
  
! 	if ((_objectFlagTable[object]&OF_OWNER_MASK)!=OF_OWNER_ROOM)
  		return 0;
  	for (i=_numObjectsInRoom; i>0; i--) {
***************
*** 534,538 ****
  	int i;
  
! 	if ((_objectFlagTable[obj]&0xF)!=0xF) {
  		for(i=0; i<_maxInventoryItems; i++) {
  			if (_inventory[i] == obj)
--- 535,539 ----
  	int i;
  
! 	if ((_objectFlagTable[obj]&OF_OWNER_MASK)!=OF_OWNER_ROOM) {
  		for(i=0; i<_maxInventoryItems; i++) {
  			if (_inventory[i] == obj)
***************
*** 564,568 ****
  	CHECK_HEAP
  
! 	if (whereIsObject(obj)==4) {
  		i = getObjectIndex(obj);
  		ptr = getResourceAddress(rtFlObject, _objs[i].fl_object_index) + 64;
--- 565,569 ----
  	CHECK_HEAP
  
! 	if (whereIsObject(obj)==WIO_FLOBJECT) {
  		i = getObjectIndex(obj);
  		ptr = getResourceAddress(rtFlObject, _objs[i].fl_object_index) + 64;
***************
*** 620,624 ****
  		clearOwnerOf(obj);
  		ss = &vm.slot[_currentScript];
! 		if (ss->type==0 && _inventory[ss->number]==obj) {
  			putOwner(obj, 0);
  			runHook(0);
--- 621,625 ----
  		clearOwnerOf(obj);
  		ss = &vm.slot[_currentScript];
! 		if (ss->where==WIO_INVENTORY && _inventory[ss->number]==obj) {
  			putOwner(obj, 0);
  			runHook(0);
***************
*** 635,639 ****
  		return derefActorSafe(obj,"getObjX")->x;
  	} else {
! 		if (whereIsObject(obj)==-1)
  			return -1;
  		getObjectOrActorXY(obj);
--- 636,640 ----
  		return derefActorSafe(obj,"getObjX")->x;
  	} else {
! 		if (whereIsObject(obj)==WIO_NOT_FOUND)
  			return -1;
  		getObjectOrActorXY(obj);
***************
*** 646,650 ****
  		return derefActorSafe(obj,"getObjY")->y;
  	} else {
! 		if (whereIsObject(obj)==-1)
  			return -1;
  		getObjectOrActorXY(obj);
--- 647,651 ----
  		return derefActorSafe(obj,"getObjY")->y;
  	} else {
! 		if (whereIsObject(obj)==WIO_NOT_FOUND)
  			return -1;
  		getObjectOrActorXY(obj);

Index: debug.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/debug.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** debug.cpp	2001/11/10 19:12:32	1.7
--- debug.cpp	2001/11/12 20:50:36	1.8
***************
*** 188,192 ****
  		if (ss->number) {
  			printf("|%2d|%3d|%3d|%3d|%3d|%3d|%2d|%3d|%3d|\n",
! 				i, ss->number, ss->status, ss->type, ss->unk1, ss->unk2, ss->freezeCount, ss->cutsceneOverride, ss->unk5);
  		}
  	}
--- 188,192 ----
  		if (ss->number) {
  			printf("|%2d|%3d|%3d|%3d|%3d|%3d|%2d|%3d|%3d|\n",
! 				i, ss->number, ss->status, ss->where, ss->unk1, ss->unk2, ss->freezeCount, ss->cutsceneOverride, ss->unk5);
  		}
  	}





More information about the Scummvm-git-logs mailing list