[Scummvm-cvs-logs] CVS: scummvm/saga actor.cpp,1.81,1.82 events.cpp,1.44,1.45 scene.cpp,1.77,1.78 scene.h,1.33,1.34 sfuncs.cpp,1.72,1.73

Eugene Sandulenko sev at users.sourceforge.net
Fri Jan 7 14:20:27 CET 2005


Update of /cvsroot/scummvm/scummvm/saga
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29492

Modified Files:
	actor.cpp events.cpp scene.cpp scene.h sfuncs.cpp 
Log Message:
Eliminate _scene->getMode() and use scene flags instead


Index: actor.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/actor.cpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -d -r1.81 -r1.82
--- actor.cpp	7 Jan 2005 21:24:26 -0000	1.81
+++ actor.cpp	7 Jan 2005 22:18:52 -0000	1.82
@@ -295,7 +295,7 @@
 	ActorData *actor;
 	if (walkFlags & kWalkUseAngle) {
 		// tiled stuff
-		if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+		if (_vm->_scene->getFlags() & kSceneFlagISO) {
 			//todo: it
 		} else {
 			angle = location.x & 15;  
@@ -324,7 +324,7 @@
 	actor = getActor(actorId);
 
 	// tiled stuff
-	if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+	if (_vm->_scene->getFlags() & kSceneFlagISO) {
 		//todo: it
 	} else {
 		toLocation.delta(actor->location, delta);
@@ -415,14 +415,14 @@
 
 /* setup protagonist entry
 	// tiled stuff
-	if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+	if (_vm->_scene->getFlags() & kSceneFlagISO) {
 		//todo: it
 	} else {
 	}
 */
 	_protagonist->currentAction = kActionWait;
 
-	if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+	if (_vm->_scene->getFlags() & kSceneFlagISO) {
 		//todo: it
 	} else {
 		_vm->_scene->initDoorsState();
@@ -440,7 +440,7 @@
 			actor->location.z = _protagonist->location.z;
 				
 
-			if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+			if (_vm->_scene->getFlags() & kSceneFlagISO) {
 				//todo: it
 			} else {
 				followerDirection &= 0x07;
@@ -656,7 +656,7 @@
 			case kActionWalkToPoint:
 			case kActionWalkToLink:
 				// tiled stuff
-				if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+				if (_vm->_scene->getFlags() & kSceneFlagISO) {
 					//todo: it
 				} else {
 					actor->partialTarget.delta(actor->location, delta);
@@ -735,7 +735,7 @@
 
 			case kActionWalkDir:
 				// tiled stuff
-				if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+				if (_vm->_scene->getFlags() & kSceneFlagISO) {
 					//todo: it
 				} else {
 					actor->location.x += directionLUT[actor->actionDirection][0] * 2;
@@ -859,7 +859,7 @@
 
 void Actor::calcActorScreenPosition(ActorData *actor) {
 	int	beginSlope, endSlope, middle;
-	if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+	if (_vm->_scene->getFlags() & kSceneFlagISO) {
 		//todo: it
 	} else {
 		middle = _vm->getStatusYOffset() - actor->location.y / ACTOR_LMULT;
@@ -935,7 +935,7 @@
 			continue;
 		}
 		
-		if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+		if (_vm->_scene->getFlags() & kSceneFlagISO) {
 			//todo: it
 		} else {
 			_vm->_sprite->drawOccluded(back_buf, spriteList, frameNumber, actor->screenPosition, actor->screenScale, actor->screenDepth);
@@ -1003,7 +1003,7 @@
 	protagonistLocation = _protagonist->location;
 	calcActorScreenPosition(_protagonist);
 
-	if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+	if (_vm->_scene->getFlags() & kSceneFlagISO) {
 		//todo: it
 	} else {		
 		prefer1.x = (100 * _protagonist->screenScale) >> 8;
@@ -1136,7 +1136,7 @@
 		_vm->_scene->setDoorState(3, 0xff);
 	}
 
-	if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+	if (_vm->_scene->getFlags() & kSceneFlagISO) {
 		//todo: it
 	} else {
 		

Index: events.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/events.cpp,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- events.cpp	7 Jan 2005 00:57:43 -0000	1.44
+++ events.cpp	7 Jan 2005 22:18:52 -0000	1.45
@@ -305,7 +305,7 @@
 		 BUFFER_INFO rbuf_info;
 			Point bg_pt;
 
-			if (_vm->_scene->getMode() == SCENE_MODE_NORMAL) {
+			if (!(_vm->_scene->getFlags() & kSceneFlagISO)) {
 
 				back_buf = _vm->_gfx->getBackBuffer();
 

Index: scene.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.cpp,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -d -r1.77 -r1.78
--- scene.cpp	7 Jan 2005 21:24:26 -0000	1.77
+++ scene.cpp	7 Jan 2005 22:18:52 -0000	1.78
@@ -112,7 +112,6 @@
 	}
 
 	_sceneLoaded = false;
-	_sceneMode = 0;
 	_sceneNumber = 0;
 	_sceneResNum = 0;
 	_inGame = false;
@@ -315,12 +314,6 @@
 	return SUCCESS;
 }
 
-int Scene::getMode() {
-	assert(_initialized);
-
-	return _sceneMode;
-}
-
 void Scene::getSlopes(int &beginSlope, int &endSlope) {
 	beginSlope = _vm->getStatusYOffset() - _desc.beginSlope; 
 	endSlope = _vm->getStatusYOffset() - _desc.endSlope;
@@ -532,7 +525,6 @@
 		return FAILURE;
 	}
 
-	_sceneMode = 0;
 	_loadDesc = true;
 	_sceneNumber = -1;
 
@@ -796,7 +788,6 @@
 
 			pal_p = _vm->getImagePal(_bg.res_buf, _bg.res_len);
 			memcpy(_bg.pal, pal_p, sizeof(_bg.pal));
-			_sceneMode = SCENE_MODE_NORMAL;
 			break;
 		case SAGA_BG_MASK: // Scene background mask resource
 			if (_bgMask.loaded) {
@@ -827,7 +818,7 @@
 			_actionMap->load(res_data, res_data_len);
 			break;
 		case SAGA_ISO_TILESET:
-			if (_sceneMode == SCENE_MODE_NORMAL) {
+			if (!(_vm->_scene->getFlags() & kSceneFlagISO)) {
 				warning("Scene::ProcessSceneResources(): Isometric tileset incompatible with normal scene mode");
 				return FAILURE;
 			}
@@ -838,11 +829,9 @@
 				warning("Scene::ProcessSceneResources(): Error loading isometric tileset resource");
 				return FAILURE;
 			}
-
-			_sceneMode = SCENE_MODE_ISO;
 			break;
 		case SAGA_ISO_METAMAP:
-			if (_sceneMode == SCENE_MODE_NORMAL) {
+			if (!(_vm->_scene->getFlags() & kSceneFlagISO)) {
 				warning("Scene::ProcessSceneResources(): Isometric metamap incompatible with normal scene mode");
 				return FAILURE;
 			}
@@ -853,11 +842,9 @@
 				warning("Scene::ProcessSceneResources(): Error loading isometric metamap resource");
 				return FAILURE;
 			}
-
-			_sceneMode = SCENE_MODE_ISO;
 			break;
 		case SAGA_ISO_METATILESET:
-			if (_sceneMode == SCENE_MODE_NORMAL) {
+			if (!(_vm->_scene->getFlags() & kSceneFlagISO)) {
 				warning("Scene::ProcessSceneResources(): Isometric metatileset incompatible with normal scene mode");
 				return FAILURE;
 			}
@@ -868,8 +855,6 @@
 				warning("Scene::ProcessSceneResources(): Error loading isometric tileset resource");
 				return FAILURE;
 			}
-
-			_sceneMode = SCENE_MODE_ISO;
 			break;
 		case SAGA_ANIM_1:
 		case SAGA_ANIM_2:
@@ -929,20 +914,11 @@
 	bg_pt.x = 0;
 	bg_pt.y = 0;
 
-	switch (_sceneMode) {
-
-	case SCENE_MODE_NORMAL:
+	if (_vm->_scene->getFlags() & kSceneFlagISO)
+		_vm->_isoMap->draw(dst_s);
+	else
 		bufToSurface(dst_s, buf_info.bg_buf, disp_info.logical_w,
 						MAX(disp_info.scene_h, _bg.h), NULL, &bg_pt);
-		break;
-	case SCENE_MODE_ISO:
-		_vm->_isoMap->draw(dst_s);
-		break;
-	default:
-		// Unknown scene mode
-		return FAILURE;
-		break;
-	};
 
 	return SUCCESS;
 }

Index: scene.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/scene.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- scene.h	7 Jan 2005 21:13:26 -0000	1.33
+++ scene.h	7 Jan 2005 22:18:53 -0000	1.34
@@ -36,13 +36,6 @@
 class ActionMap;
 class ObjectMap;
 
-enum SCENE_MODES {
-	SCENE_MODE_INVALID,
-	SCENE_MODE_NORMAL,
-	SCENE_MODE_ISO
-};
-
-
 struct SCENE_BGINFO {
 	int bg_x;
 	int bg_y;
@@ -232,7 +225,6 @@
 	int endScene();
 	int queueScene(SCENE_QUEUE *scene_queue);
 	int draw(SURFACE *);
-	int getMode();
 	int getFlags() { return _desc.flags; }
 	bool isInDemo() { return !_inGame; }
 	
@@ -279,7 +271,6 @@
 	SceneQueueList _sceneQueue;
 	int _firstScene;
 	bool _sceneLoaded;
-	int _sceneMode;
 	int _sceneNumber;
 	int _sceneResNum;
 	bool _inGame;

Index: sfuncs.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/saga/sfuncs.cpp,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -d -r1.72 -r1.73
--- sfuncs.cpp	7 Jan 2005 00:57:43 -0000	1.72
+++ sfuncs.cpp	7 Jan 2005 22:18:53 -0000	1.73
@@ -494,7 +494,7 @@
 	int doorNumber;
 	doorNumber = getUWord(thread->pop());
 
-	if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+	if (_vm->_scene->getFlags() & kSceneFlagISO) {
 		//todo: it
 	} else {
 		_vm->_scene->setDoorState(doorNumber, 0);
@@ -508,7 +508,7 @@
 	int doorNumber;
 	doorNumber = getUWord(thread->pop());
 
-	if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+	if (_vm->_scene->getFlags() & kSceneFlagISO) {
 		//todo: it
 	} else {
 		_vm->_scene->setDoorState(doorNumber, 0xff);
@@ -1251,7 +1251,7 @@
 	doorNumber = getUWord(thread->pop());
 	doorState = getUWord(thread->pop());
 
-	if (_vm->_scene->getMode() == SCENE_MODE_ISO) {
+	if (_vm->_scene->getFlags() & kSceneFlagISO) {
 		//todo: it
 	} else {
 		_vm->_scene->setDoorState(doorNumber, doorState);





More information about the Scummvm-git-logs mailing list