[Scummvm-cvs-logs] scummvm master -> 273e37f7263ab30b445a8123af52fe81ddb762d0

sev- sev at scummvm.org
Sun Aug 14 19:52:51 CEST 2011


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
273e37f726 AGI: Renamed some #defines to our code conventions and moved them to enums


Commit: 273e37f7263ab30b445a8123af52fe81ddb762d0
    https://github.com/scummvm/scummvm/commit/273e37f7263ab30b445a8123af52fe81ddb762d0
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2011-08-14T10:48:59-07:00

Commit Message:
AGI: Renamed some #defines to our code conventions and moved them to enums

Changed paths:
    engines/agi/checks.cpp
    engines/agi/cycle.cpp
    engines/agi/keyboard.cpp
    engines/agi/motion.cpp
    engines/agi/op_cmd.cpp
    engines/agi/op_test.cpp
    engines/agi/saveload.cpp
    engines/agi/sprite.cpp
    engines/agi/view.cpp
    engines/agi/view.h



diff --git a/engines/agi/checks.cpp b/engines/agi/checks.cpp
index 2027665..c3b31f6 100644
--- a/engines/agi/checks.cpp
+++ b/engines/agi/checks.cpp
@@ -31,7 +31,7 @@ int AgiEngine::checkPosition(VtEntry *v) {
 			v->xPos + v->xSize > _WIDTH ||
 			v->yPos - v->ySize + 1 < 0 ||
 			v->yPos >= _HEIGHT ||
-			((~v->flags & IGNORE_HORIZON) && v->yPos <= _game.horizon)) {
+			((~v->flags & fIgnoreHorizon) && v->yPos <= _game.horizon)) {
 		debugC(4, kDebugLevelSprites, "check position failed: x=%d, y=%d, h=%d, w=%d",
 				v->xPos, v->yPos, v->xSize, v->ySize);
 		return 0;
@@ -52,14 +52,14 @@ int AgiEngine::checkPosition(VtEntry *v) {
 int AgiEngine::checkCollision(VtEntry *v) {
 	VtEntry *u;
 
-	if (v->flags & IGNORE_OBJECTS)
+	if (v->flags & fIgnoreObjects)
 		return 0;
 
 	for (u = _game.viewTable; u < &_game.viewTable[MAX_VIEWTABLE]; u++) {
-		if ((u->flags & (ANIMATED | DRAWN)) != (ANIMATED | DRAWN))
+		if ((u->flags & (fAnimated | fDrawn)) != (fAnimated | fDrawn))
 			continue;
 
-		if (u->flags & IGNORE_OBJECTS)
+		if (u->flags & fIgnoreObjects)
 			continue;
 
 		// Same object, check next
@@ -92,7 +92,7 @@ int AgiEngine::checkPriority(VtEntry *v) {
 	int i, trigger, water, pass, pri;
 	uint8 *p0;
 
-	if (~v->flags & FIXED_PRIORITY) {
+	if (~v->flags & fFixedPriority) {
 		// Priority bands
 		v->priority = _game.priTable[v->yPos];
 	}
@@ -129,7 +129,7 @@ int AgiEngine::checkPriority(VtEntry *v) {
 		water = 0;
 
 		if (pri == 1) {	// conditional blue
-			if (v->flags & IGNORE_BLOCKS)
+			if (v->flags & fIgnoreBlocks)
 				continue;
 
 			debugC(4, kDebugLevelSprites, "Blocks observed!");
@@ -145,9 +145,9 @@ int AgiEngine::checkPriority(VtEntry *v) {
 	}
 
 	if (pass) {
-		if (!water && v->flags & ON_WATER)
+		if (!water && v->flags & fOnWater)
 			pass = 0;
-		if (water && v->flags & ON_LAND)
+		if (water && v->flags & fOnLand)
 			pass = 0;
 	}
 
@@ -180,7 +180,7 @@ void AgiEngine::updatePosition() {
 	_game.vars[vBorderTouchObj] = 0;
 
 	for (v = _game.viewTable; v < &_game.viewTable[MAX_VIEWTABLE]; v++) {
-		if ((v->flags & (ANIMATED | UPDATE | DRAWN)) != (ANIMATED | UPDATE | DRAWN)) {
+		if ((v->flags & (fAnimated | fUpdate | fDrawn)) != (fAnimated | fUpdate | fDrawn)) {
 			continue;
 		}
 
@@ -195,7 +195,7 @@ void AgiEngine::updatePosition() {
 		y = oldY = v->yPos;
 
 		// If object has moved, update its position
-		if (~v->flags & UPDATE_POS) {
+		if (~v->flags & fUpdatePos) {
 			int dx[9] = { 0, 0, 1, 1, 1, 0, -1, -1, -1 };
 			int dy[9] = { 0, -1, -1, 0, 1, 1, 1, 0, -1 };
 			x += v->stepSize * dx[v->direction];
@@ -212,7 +212,7 @@ void AgiEngine::updatePosition() {
 		} else if (x <= 0 && getVersion() == 0x3086) {	// KQ4
 			x = 0;	// See Sarien bug #590462
 			border = 4;
-		} else if (v->entry == 0 && x == 0 && v->flags & ADJ_EGO_XY) {
+		} else if (v->entry == 0 && x == 0 && v->flags & fAdjEgoXY) {
 			// Extra test to walk west clicking the mouse
 			x = 0;
 			border = 4;
@@ -228,7 +228,7 @@ void AgiEngine::updatePosition() {
 		} else if (y > _HEIGHT - 1) {
 			y = _HEIGHT - 1;
 			border = 3;
-		} else if ((~v->flags & IGNORE_HORIZON) && y <= _game.horizon) {
+		} else if ((~v->flags & fIgnoreHorizon) && y <= _game.horizon) {
 			debugC(4, kDebugLevelSprites, "y = %d, horizon = %d", y, _game.horizon);
 			y = _game.horizon + 1;
 			border = 1;
@@ -251,12 +251,12 @@ void AgiEngine::updatePosition() {
 				_game.vars[vBorderCode] = v->entry;
 				_game.vars[vBorderTouchObj] = border;
 			}
-			if (v->motion == MOTION_MOVE_OBJ) {
+			if (v->motion == kMotionMoveObj) {
 				inDestination(v);
 			}
 		}
 
-		v->flags &= ~UPDATE_POS;
+		v->flags &= ~fUpdatePos;
 	}
 }
 
@@ -276,7 +276,7 @@ void AgiEngine::fixPosition(int n) {
 	debugC(4, kDebugLevelSprites, "adjusting view table entry #%d (%d,%d)", n, v->xPos, v->yPos);
 
 	// test horizon
-	if ((~v->flags & IGNORE_HORIZON) && v->yPos <= _game.horizon)
+	if ((~v->flags & fIgnoreHorizon) && v->yPos <= _game.horizon)
 		v->yPos = _game.horizon + 1;
 
 	dir = 0;
diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp
index d86fb36..e6f122f 100644
--- a/engines/agi/cycle.cpp
+++ b/engines/agi/cycle.cpp
@@ -47,8 +47,8 @@ void AgiEngine::newRoom(int n) {
 	i = 0;
 	for (v = _game.viewTable; v < &_game.viewTable[MAX_VIEWTABLE]; v++) {
 		v->entry = i++;
-		v->flags &= ~(ANIMATED | DRAWN);
-		v->flags |= UPDATE;
+		v->flags &= ~(fAnimated | fDrawn);
+		v->flags |= fUpdate;
 		v->stepTime = 1;
 		v->stepTimeCount = 1;
 		v->cycleTime = 1;
@@ -220,7 +220,7 @@ int AgiEngine::mainCycle() {
 	}
 
 	// Click-to-walk mouse interface
-	if (_game.playerControl && v->flags & ADJ_EGO_XY) {
+	if (_game.playerControl && v->flags & fAdjEgoXY) {
 		int toX = v->parm1;
 		int toY = v->parm2;
 
diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp
index f5810a6..d899a6e 100644
--- a/engines/agi/keyboard.cpp
+++ b/engines/agi/keyboard.cpp
@@ -180,7 +180,7 @@ int AgiEngine::handleController(int key) {
 		if (!(getFeatures() & GF_AGIMOUSE)) {
 			// Handle mouse button events
 			if (key == BUTTON_LEFT) {
-				v->flags |= ADJ_EGO_XY;
+				v->flags |= fAdjEgoXY;
 				v->parm1 = WIN_TO_PIC_X(_mouse.x);
 				v->parm2 = WIN_TO_PIC_Y(_mouse.y);
 				return true;
@@ -188,7 +188,7 @@ int AgiEngine::handleController(int key) {
 		}
 
 		if (d || key == KEY_STATIONARY) {
-			v->flags &= ~ADJ_EGO_XY;
+			v->flags &= ~fAdjEgoXY;
 			v->direction = v->direction == d ? 0 : d;
 			return true;
 		}
diff --git a/engines/agi/motion.cpp b/engines/agi/motion.cpp
index 261a7f3..e4de232 100644
--- a/engines/agi/motion.cpp
+++ b/engines/agi/motion.cpp
@@ -52,9 +52,9 @@ void AgiEngine::changePos(VtEntry *v) {
 	y += v->stepSize * dy[v->direction];
 
 	if (checkBlock(x, y) == b) {
-		v->flags &= ~MOTION;
+		v->flags &= ~fMotion;
 	} else {
-		v->flags |= MOTION;
+		v->flags |= fMotion;
 		v->direction = 0;
 		if (isEgoView(v))
 			_game.vars[vEgoDir] = 0;
@@ -63,7 +63,7 @@ void AgiEngine::changePos(VtEntry *v) {
 
 void AgiEngine::motionWander(VtEntry *v) {
 	if (v->parm1--) {
-		if (~v->flags & DIDNT_MOVE)
+		if (~v->flags & fDidntMove)
 			return;
 	}
 
@@ -94,14 +94,14 @@ void AgiEngine::motionFollowEgo(VtEntry *v) {
 	// Already at ego coordinates
 	if (dir == 0) {
 		v->direction = 0;
-		v->motion = MOTION_NORMAL;
+		v->motion = kMotionNormal;
 		setflag(v->parm2, true);
 		return;
 	}
 
 	if (v->parm3 == 0xff) {
 		v->parm3 = 0;
-	} else if (v->flags & DIDNT_MOVE) {
+	} else if (v->flags & fDidntMove) {
 		int d;
 
 		while ((v->direction = _rnd->getRandomNumber(8)) == 0) {
@@ -152,18 +152,20 @@ void AgiEngine::motionMoveObj(VtEntry *v) {
 
 void AgiEngine::checkMotion(VtEntry *v) {
 	switch (v->motion) {
-	case MOTION_WANDER:
+	case kMotionNormal:
+		break;
+	case kMotionWander:
 		motionWander(v);
 		break;
-	case MOTION_FOLLOW_EGO:
+	case kMotionFollowEgo:
 		motionFollowEgo(v);
 		break;
-	case MOTION_MOVE_OBJ:
+	case kMotionMoveObj:
 		motionMoveObj(v);
 		break;
 	}
 
-	if ((_game.block.active && (~v->flags & IGNORE_BLOCKS)) && v->direction)
+	if ((_game.block.active && (~v->flags & fIgnoreBlocks)) && v->direction)
 		changePos(v);
 }
 
@@ -178,7 +180,7 @@ void AgiEngine::checkAllMotions() {
 	VtEntry *v;
 
 	for (v = _game.viewTable; v < &_game.viewTable[MAX_VIEWTABLE]; v++) {
-		if ((v->flags & (ANIMATED | UPDATE | DRAWN)) == (ANIMATED | UPDATE | DRAWN)
+		if ((v->flags & (fAnimated | fUpdate | fDrawn)) == (fAnimated | fUpdate | fDrawn)
 				&& v->stepTimeCount == 1) {
 			checkMotion(v);
 		}
@@ -192,11 +194,11 @@ void AgiEngine::checkAllMotions() {
  * @param  v  Pointer to view table entry
  */
 void AgiEngine::inDestination(VtEntry *v) {
-	if (v->motion == MOTION_MOVE_OBJ) {
+	if (v->motion == kMotionMoveObj) {
 		v->stepSize = v->parm3;
 		setflag(v->parm4, true);
 	}
-	v->motion = MOTION_NORMAL;
+	v->motion = kMotionNormal;
 	if (isEgoView(v))
 		_game.playerControl = true;
 }
@@ -204,7 +206,7 @@ void AgiEngine::inDestination(VtEntry *v) {
 /**
  * Wrapper for static function motion_moveobj().
  * This function is used by cmd_move_object() in the first motion cycle
- * after setting the motion mode to MOTION_MOVE_OBJ.
+ * after setting the motion mode to kMotionMoveObj.
  * @param  v  Pointer to view table entry
  */
 void AgiEngine::moveObj(VtEntry *v) {
diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp
index 7148ef6..80b150d 100644
--- a/engines/agi/op_cmd.cpp
+++ b/engines/agi/op_cmd.cpp
@@ -209,39 +209,39 @@ void cmdDiscardView(AgiGame *state, uint8 *p) {
 }
 
 void cmdObjectOnAnything(AgiGame *state, uint8 *p) {
-	vt.flags &= ~(ON_WATER | ON_LAND);
+	vt.flags &= ~(fOnWater | fOnLand);
 }
 
 void cmdObjectOnLand(AgiGame *state, uint8 *p) {
-	vt.flags |= ON_LAND;
+	vt.flags |= fOnLand;
 }
 
 void cmdObjectOnWater(AgiGame *state, uint8 *p) {
-	vt.flags |= ON_WATER;
+	vt.flags |= fOnWater;
 }
 
 void cmdObserveHorizon(AgiGame *state, uint8 *p) {
-	vt.flags &= ~IGNORE_HORIZON;
+	vt.flags &= ~fIgnoreHorizon;
 }
 
 void cmdIgnoreHorizon(AgiGame *state, uint8 *p) {
-	vt.flags |= IGNORE_HORIZON;
+	vt.flags |= fIgnoreHorizon;
 }
 
 void cmdObserveObjs(AgiGame *state, uint8 *p) {
-	vt.flags &= ~IGNORE_OBJECTS;
+	vt.flags &= ~fIgnoreObjects;
 }
 
 void cmdIgnoreObjs(AgiGame *state, uint8 *p) {
-	vt.flags |= IGNORE_OBJECTS;
+	vt.flags |= fIgnoreObjects;
 }
 
 void cmdObserveBlocks(AgiGame *state, uint8 *p) {
-	vt.flags &= ~IGNORE_BLOCKS;
+	vt.flags &= ~fIgnoreBlocks;
 }
 
 void cmdIgnoreBlocks(AgiGame *state, uint8 *p) {
-	vt.flags |= IGNORE_BLOCKS;
+	vt.flags |= fIgnoreBlocks;
 }
 
 void cmdSetHorizon(AgiGame *state, uint8 *p) {
@@ -253,7 +253,7 @@ void cmdGetPriority(AgiGame *state, uint8 *p) {
 }
 
 void cmdSetPriority(AgiGame *state, uint8 *p) {
-	vt.flags |= FIXED_PRIORITY;
+	vt.flags |= fFixedPriority;
 	vt.priority = p1;
 
 	// WORKAROUND: this fixes bug #1712585 in KQ4 (dwarf sprite priority)
@@ -270,18 +270,18 @@ void cmdSetPriority(AgiGame *state, uint8 *p) {
 	// Therefore, this workaround only affects that specific part of this scene
 	// Ego is set to object 19 by script 54
 	if (getGameID() == GID_KQ4 && vt.currentView == 152) {
-		state->viewTable[19].flags |= FIXED_PRIORITY;
+		state->viewTable[19].flags |= fFixedPriority;
 		state->viewTable[19].priority = 7;
 	}
 }
 
 void cmdSetPriorityF(AgiGame *state, uint8 *p) {
-	vt.flags |= FIXED_PRIORITY;
+	vt.flags |= fFixedPriority;
 	vt.priority = _v[p1];
 }
 
 void cmdReleasePriority(AgiGame *state, uint8 *p) {
-	vt.flags &= ~FIXED_PRIORITY;
+	vt.flags &= ~fFixedPriority;
 }
 
 void cmdSetUpperLeft(AgiGame *state, uint8 *p) {				// do nothing (AGI 2.917)
@@ -316,13 +316,13 @@ void cmdSetCel(AgiGame *state, uint8 *p) {
 	state->_vm->setCel(&vt, p1);
 
 	if (getVersion() >= 0x2000) {
-		vt.flags &= ~DONTUPDATE;
+		vt.flags &= ~fDontupdate;
 	}
 }
 
 void cmdSetCelF(AgiGame *state, uint8 *p) {
 	state->_vm->setCel(&vt, _v[p1]);
-	vt.flags &= ~DONTUPDATE;
+	vt.flags &= ~fDontupdate;
 }
 
 void cmdSetView(AgiGame *state, uint8 *p) {
@@ -346,11 +346,11 @@ void cmdNumberOfLoops(AgiGame *state, uint8 *p) {
 }
 
 void cmdFixLoop(AgiGame *state, uint8 *p) {
-	vt.flags |= FIX_LOOP;
+	vt.flags |= fFixLoop;
 }
 
 void cmdReleaseLoop(AgiGame *state, uint8 *p) {
-	vt.flags &= ~FIX_LOOP;
+	vt.flags &= ~fFixLoop;
 }
 
 void cmdStepSize(AgiGame *state, uint8 *p) {
@@ -366,21 +366,21 @@ void cmdCycleTime(AgiGame *state, uint8 *p) {
 }
 
 void cmdStopCycling(AgiGame *state, uint8 *p) {
-	vt.flags &= ~CYCLING;
+	vt.flags &= ~fCycling;
 }
 
 void cmdStartCycling(AgiGame *state, uint8 *p) {
-	vt.flags |= CYCLING;
+	vt.flags |= fCycling;
 }
 
 void cmdNormalCycle(AgiGame *state, uint8 *p) {
-	vt.cycle = CYCLE_NORMAL;
-	vt.flags |= CYCLING;
+	vt.cycle = kCycleNormal;
+	vt.flags |= fCycling;
 }
 
 void cmdReverseCycle(AgiGame *state, uint8 *p) {
-	vt.cycle = CYCLE_REVERSE;
-	vt.flags |= CYCLING;
+	vt.cycle = kCycleReverse;
+	vt.flags |= fCycling;
 }
 
 void cmdSetDir(AgiGame *state, uint8 *p) {
@@ -540,16 +540,16 @@ void cmdObjStatusF(AgiGame *state, uint8 *p) {
 
 	// Generate cycle description line
 	switch (vt_v.cycle) {
-	case CYCLE_NORMAL:
+	case kCycleNormal:
 		cycleDesc = "normal cycle";
 		break;
-	case CYCLE_END_OF_LOOP:
+	case kCycleEndOfLoop:
 		cycleDesc = "end of loop";
 		break;
-	case CYCLE_REV_LOOP:
+	case kCycleRevLoop:
 		cycleDesc = "reverse loop";
 		break;
-	case CYCLE_REVERSE:
+	case kCycleReverse:
 		cycleDesc = "reverse cycle";
 		break;
 	default:
@@ -559,16 +559,16 @@ void cmdObjStatusF(AgiGame *state, uint8 *p) {
 
 	// Generate motion description line
 	switch (vt_v.motion) {
-	case MOTION_NORMAL:
+	case kMotionNormal:
 		motionDesc = "normal motion";
 		break;
-	case MOTION_WANDER:
+	case kMotionWander:
 		motionDesc = "wandering";
 		break;
-	case MOTION_FOLLOW_EGO:
+	case kMotionFollowEgo:
 		motionDesc = "following ego";
 		break;
-	case MOTION_MOVE_OBJ:
+	case kMotionMoveObj:
 		// Amiga's Gold Rush! most probably uses "move to (x, y)"
 		// here with real values for x and y. The same output
 		// is used when moving the ego around using the mouse.
@@ -655,7 +655,7 @@ void cmdHideMouse(AgiGame *state, uint8 *p) {
 	// to walk somewhere else than to the right using the mouse.
 	// FIXME: Write a proper implementation using disassembly and
 	//        apply it to other games as well if applicable.
-	state->viewTable[0].flags &= ~ADJ_EGO_XY;
+	state->viewTable[0].flags &= ~fAdjEgoXY;
 
 	g_system->showMouse(false);
 }
@@ -705,7 +705,7 @@ void cmdAdjEgoMoveToXY(AgiGame *state, uint8 *p) {
 		// by something else because this command doesn't do any flag manipulations
 		// in the Amiga version - checked it with disassembly).
 		if (x != state->adjMouseX || y != state->adjMouseY)
-			state->viewTable[EGO_VIEW_TABLE].flags &= ~ADJ_EGO_XY;
+			state->viewTable[EGO_VIEW_TABLE].flags &= ~fAdjEgoXY;
 
 		state->adjMouseX = x;
 		state->adjMouseY = y;
@@ -715,7 +715,7 @@ void cmdAdjEgoMoveToXY(AgiGame *state, uint8 *p) {
 	// TODO: Check where (if anywhere) the 0 arguments version is used
 	case 0:
 	default:
-		state->viewTable[0].flags |= ADJ_EGO_XY;
+		state->viewTable[0].flags |= fAdjEgoXY;
 		break;
 	}
 }
@@ -838,22 +838,22 @@ void cmdShowPriScreen(AgiGame *state, uint8 *p) {
 
 void cmdAnimateObj(AgiGame *state, uint8 *p) {
 	if (getVersion() < 0x2000) {
-		if (vt.flags & DIDNT_MOVE)
+		if (vt.flags & fDidntMove)
 			return;
 	} else {
-		if (vt.flags & ANIMATED)
+		if (vt.flags & fAnimated)
 			return;
 	}
 
 	debugC(4, kDebugLevelScripts, "animate vt entry #%d", p0);
-	vt.flags = ANIMATED | UPDATE | CYCLING;
+	vt.flags = fAnimated | fUpdate | fCycling;
 
 	if (getVersion() < 0x2000) {
-		vt.flags |= DIDNT_MOVE;
+		vt.flags |= fDidntMove;
 	}
 
-	vt.motion = MOTION_NORMAL;
-	vt.cycle = CYCLE_NORMAL;
+	vt.motion = kMotionNormal;
+	vt.cycle = kCycleNormal;
 	vt.direction = 0;
 }
 
@@ -861,11 +861,11 @@ void cmdUnanimateAll(AgiGame *state, uint8 *p) {
 	int i;
 
 	for (i = 0; i < MAX_VIEWTABLE; i++)
-		state->viewTable[i].flags &= ~(ANIMATED | DRAWN);
+		state->viewTable[i].flags &= ~(fAnimated | fDrawn);
 }
 
 void cmdDraw(AgiGame *state, uint8 *p) {
-	if (vt.flags & DRAWN)
+	if (vt.flags & fDrawn)
 		return;
 
 	if (vt.ySize <= 0 || vt.xSize <= 0)
@@ -873,7 +873,7 @@ void cmdDraw(AgiGame *state, uint8 *p) {
 
 	debugC(4, kDebugLevelScripts, "draw entry %d", vt.entry);
 
-	vt.flags |= UPDATE;
+	vt.flags |= fUpdate;
 	if (getVersion() >= 0x3000) {
 		state->_vm->setLoop(&vt, vt.currentLoop);
 		state->_vm->setCel(&vt, vt.currentCel);
@@ -884,7 +884,7 @@ void cmdDraw(AgiGame *state, uint8 *p) {
 	vt.yPos2 = vt.yPos;
 	vt.celData2 = vt.celData;
 	state->_vm->_sprites->eraseUpdSprites();
-	vt.flags |= DRAWN;
+	vt.flags |= fDrawn;
 
 	// WORKAROUND: This fixes a bug with AGI Fanmade _game Space Trek.
 	// The original workaround checked if AGI version was <= 2.440, which could
@@ -898,10 +898,10 @@ void cmdDraw(AgiGame *state, uint8 *p) {
 	// games are affected. If yes, then it'd be best to set this for Space
 	// Trek only
 	if (getFeatures() & GF_FANMADE)	// See Sarien bug #546562
-		vt.flags |= ANIMATED;
+		vt.flags |= fAnimated;
 
 	state->_vm->_sprites->blitUpdSprites();
-	vt.flags &= ~DONTUPDATE;
+	vt.flags &= ~fDontupdate;
 
 	state->_vm->_sprites->commitBlock(vt.xPos, vt.yPos - vt.ySize + 1, vt.xPos + vt.xSize - 1, vt.yPos, true);
 
@@ -909,16 +909,16 @@ void cmdDraw(AgiGame *state, uint8 *p) {
 }
 
 void cmdErase(AgiGame *state, uint8 *p) {
-	if (~vt.flags & DRAWN)
+	if (~vt.flags & fDrawn)
 		return;
 
 	state->_vm->_sprites->eraseUpdSprites();
 
-	if (vt.flags & UPDATE) {
-		vt.flags &= ~DRAWN;
+	if (vt.flags & fUpdate) {
+		vt.flags &= ~fDrawn;
 	} else {
 		state->_vm->_sprites->eraseNonupdSprites();
-		vt.flags &= ~DRAWN;
+		vt.flags &= ~fDrawn;
 		state->_vm->_sprites->blitNonupdSprites();
 	}
 	state->_vm->_sprites->blitUpdSprites();
@@ -984,7 +984,7 @@ void cmdReposition(AgiGame *state, uint8 *p) {
 	int dx = (int8) _v[p1], dy = (int8) _v[p2];
 
 	debugC(4, kDebugLevelScripts, "dx=%d, dy=%d", dx, dy);
-	vt.flags |= UPDATE_POS;
+	vt.flags |= fUpdatePos;
 
 	if (dx < 0 && vt.xPos < -dx)
 		vt.xPos = 0;
@@ -1002,7 +1002,7 @@ void cmdReposition(AgiGame *state, uint8 *p) {
 void cmdRepositionV1(AgiGame *state, uint8 *p) {
 	vt.xPos2 = vt.xPos;
 	vt.yPos2 = vt.yPos;
-	vt.flags |= UPDATE_POS;
+	vt.flags |= fUpdatePos;
 
 	vt.xPos = (vt.xPos + p1) & 0xff;
 	vt.yPos = (vt.yPos + p2) & 0xff;
@@ -1011,14 +1011,14 @@ void cmdRepositionV1(AgiGame *state, uint8 *p) {
 void cmdRepositionTo(AgiGame *state, uint8 *p) {
 	vt.xPos = p1;
 	vt.yPos = p2;
-	vt.flags |= UPDATE_POS;
+	vt.flags |= fUpdatePos;
 	state->_vm->fixPosition(p0);
 }
 
 void cmdRepositionToF(AgiGame *state, uint8 *p) {
 	vt.xPos = _v[p1];
 	vt.yPos = _v[p2];
-	vt.flags |= UPDATE_POS;
+	vt.flags |= fUpdatePos;
 	state->_vm->fixPosition(p0);
 }
 
@@ -1038,34 +1038,34 @@ void cmdForceUpdate(AgiGame *state, uint8 *p) {
 
 void cmdReverseLoop(AgiGame *state, uint8 *p) {
 	debugC(4, kDebugLevelScripts, "o%d, f%d", p0, p1);
-	vt.cycle = CYCLE_REV_LOOP;
-	vt.flags |= (DONTUPDATE | UPDATE | CYCLING);
+	vt.cycle = kCycleRevLoop;
+	vt.flags |= (fDontupdate | fUpdate | fCycling);
 	vt.parm1 = p1;
 	setflag(p1, false);
 }
 
 void cmdReverseLoopV1(AgiGame *state, uint8 *p) {
 	debugC(4, kDebugLevelScripts, "o%d, f%d", p0, p1);
-	vt.cycle = CYCLE_REV_LOOP;
+	vt.cycle = kCycleRevLoop;
 	state->_vm->setCel(&vt, 0);
-	vt.flags |= (DONTUPDATE | UPDATE | CYCLING);
+	vt.flags |= (fDontupdate | fUpdate | fCycling);
 	vt.parm1 = p1;
 	vt.parm3 = 0;
 }
 
 void cmdEndOfLoop(AgiGame *state, uint8 *p) {
 	debugC(4, kDebugLevelScripts, "o%d, f%d", p0, p1);
-	vt.cycle = CYCLE_END_OF_LOOP;
-	vt.flags |= (DONTUPDATE | UPDATE | CYCLING);
+	vt.cycle = kCycleEndOfLoop;
+	vt.flags |= (fDontupdate | fUpdate | fCycling);
 	vt.parm1 = p1;
 	setflag(p1, false);
 }
 
 void cmdEndOfLoopV1(AgiGame *state, uint8 *p) {
 	debugC(4, kDebugLevelScripts, "o%d, f%d", p0, p1);
-	vt.cycle = CYCLE_END_OF_LOOP;
+	vt.cycle = kCycleEndOfLoop;
 	state->_vm->setCel(&vt, 0);
-	vt.flags |= (DONTUPDATE | UPDATE | CYCLING);
+	vt.flags |= (fDontupdate | fUpdate | fCycling);
 	vt.parm1 = p1;
 	vt.parm3 = 0;
 }
@@ -1084,12 +1084,12 @@ void cmdUnblock(AgiGame *state, uint8 *p) {
 }
 
 void cmdNormalMotion(AgiGame *state, uint8 *p) {
-	vt.motion = MOTION_NORMAL;
+	vt.motion = kMotionNormal;
 }
 
 void cmdStopMotion(AgiGame *state, uint8 *p) {
 	vt.direction = 0;
-	vt.motion = MOTION_NORMAL;
+	vt.motion = kMotionNormal;
 	if (p0 == 0) {		// ego only
 		_v[vEgoDir] = 0;
 		state->playerControl = false;
@@ -1097,11 +1097,11 @@ void cmdStopMotion(AgiGame *state, uint8 *p) {
 }
 
 void cmdStopMotionV1(AgiGame *state, uint8 *p) {
-	vt.flags &= ~ANIMATED;
+	vt.flags &= ~fAnimated;
 }
 
 void cmdStartMotion(AgiGame *state, uint8 *p) {
-	vt.motion = MOTION_NORMAL;
+	vt.motion = kMotionNormal;
 	if (p0 == 0) {		// ego only
 		_v[vEgoDir] = 0;
 		state->playerControl = true;
@@ -1109,12 +1109,12 @@ void cmdStartMotion(AgiGame *state, uint8 *p) {
 }
 
 void cmdStartMotionV1(AgiGame *state, uint8 *p) {
-	vt.flags |= ANIMATED;
+	vt.flags |= fAnimated;
 }
 
 void cmdPlayerControl(AgiGame *state, uint8 *p) {
 	state->playerControl = true;
-	state->viewTable[0].motion = MOTION_NORMAL;
+	state->viewTable[0].motion = kMotionNormal;
 }
 
 void cmdProgramControl(AgiGame *state, uint8 *p) {
@@ -1122,24 +1122,24 @@ void cmdProgramControl(AgiGame *state, uint8 *p) {
 }
 
 void cmdFollowEgo(AgiGame *state, uint8 *p) {
-	vt.motion = MOTION_FOLLOW_EGO;
+	vt.motion = kMotionFollowEgo;
 	vt.parm1 = p1 > vt.stepSize ? p1 : vt.stepSize;
 	vt.parm2 = p2;
 	vt.parm3 = 0xff;
 	
 	if (getVersion() < 0x2000) {
 		_v[p2] = 0;
-		vt.flags |= UPDATE | ANIMATED;
+		vt.flags |= fUpdate | fAnimated;
 	} else {
 		setflag(p2, false);
-		vt.flags |= UPDATE;
+		vt.flags |= fUpdate;
 	}
 }
 
 void cmdMoveObj(AgiGame *state, uint8 *p) {
 	// _D (_D_WARN "o=%d, x=%d, y=%d, s=%d, f=%d", p0, p1, p2, p3, p4);
 
-	vt.motion = MOTION_MOVE_OBJ;
+	vt.motion = kMotionMoveObj;
 	vt.parm1 = p1;
 	vt.parm2 = p2;
 	vt.parm3 = vt.stepSize;
@@ -1150,10 +1150,10 @@ void cmdMoveObj(AgiGame *state, uint8 *p) {
 
 	if (getVersion() < 0x2000) {
 		_v[p4] = 0;
-		vt.flags |= UPDATE | ANIMATED;
+		vt.flags |= fUpdate | fAnimated;
 	} else {
 		setflag(p4, false);
-		vt.flags |= UPDATE;
+		vt.flags |= fUpdate;
 	}
 
 	if (p0 == 0)
@@ -1165,7 +1165,7 @@ void cmdMoveObj(AgiGame *state, uint8 *p) {
 }
 
 void cmdMoveObjF(AgiGame *state, uint8 *p) {
-	vt.motion = MOTION_MOVE_OBJ;
+	vt.motion = kMotionMoveObj;
 	vt.parm1 = _v[p1];
 	vt.parm2 = _v[p2];
 	vt.parm3 = vt.stepSize;
@@ -1175,7 +1175,7 @@ void cmdMoveObjF(AgiGame *state, uint8 *p) {
 		vt.stepSize = _v[p3];
 
 	setflag(p4, false);
-	vt.flags |= UPDATE;
+	vt.flags |= fUpdate;
 
 	if (p0 == 0)
 		state->playerControl = false;
@@ -1189,11 +1189,11 @@ void cmdWander(AgiGame *state, uint8 *p) {
 	if (p0 == 0)
 		state->playerControl = false;
 
-	vt.motion = MOTION_WANDER;
+	vt.motion = kMotionWander;
 	if (getVersion() < 0x2000) {
-		vt.flags |= UPDATE | ANIMATED;
+		vt.flags |= fUpdate | fAnimated;
 	} else {
-		vt.flags |= UPDATE;
+		vt.flags |= fUpdate;
 	}
 }
 
@@ -1357,7 +1357,7 @@ void cmdDistance(AgiGame *state, uint8 *p) {
 	VtEntry *v0 = &state->viewTable[p0];
 	VtEntry *v1 = &state->viewTable[p1];
 
-	if (v0->flags & DRAWN && v1->flags & DRAWN) {
+	if (v0->flags & fDrawn && v1->flags & fDrawn) {
 		x1 = v0->xPos + v0->xSize / 2;
 		y1 = v0->yPos;
 		x2 = v1->xPos + v1->xSize / 2;
diff --git a/engines/agi/op_test.cpp b/engines/agi/op_test.cpp
index bc71165..a44c68e 100644
--- a/engines/agi/op_test.cpp
+++ b/engines/agi/op_test.cpp
@@ -188,7 +188,7 @@ void condUnknown13(AgiGame *state, uint8 *p) {
 	// This command is used at least in the Amiga version of Gold Rush! v2.05 1989-03-09
 	// (AGI 2.316) in logics 1, 3, 5, 6, 137 and 192 (Logic.192 revealed this command's nature).
 	// TODO: Check this command's implementation using disassembly just to be sure.
-	int ec = state->viewTable[0].flags & ADJ_EGO_XY;
+	int ec = state->viewTable[0].flags & fAdjEgoXY;
 	debugC(7, kDebugLevelScripts, "op_test: in.motion.using.mouse = %s (Amiga-specific testcase 19)", ec ? "true" : "false");
 	state->testResult = ec;
 }
diff --git a/engines/agi/saveload.cpp b/engines/agi/saveload.cpp
index f0d976b..28dd0a5 100644
--- a/engines/agi/saveload.cpp
+++ b/engines/agi/saveload.cpp
@@ -474,8 +474,8 @@ int AgiEngine::loadGame(const char *fileName, bool checkId) {
 		v->cycleTimeCount = in->readByte();
 		v->direction = in->readByte();
 
-		v->motion = in->readByte();
-		v->cycle = in->readByte();
+		v->motion = (MotionType)in->readByte();
+		v->cycle = (CycleType)in->readByte();
 		v->priority = in->readByte();
 
 		v->flags = in->readUint16BE();
diff --git a/engines/agi/sprite.cpp b/engines/agi/sprite.cpp
index ea0b07f..cb08106 100644
--- a/engines/agi/sprite.cpp
+++ b/engines/agi/sprite.cpp
@@ -257,7 +257,7 @@ bool SpritesMgr::testUpdating(VtEntry *v, AgiEngine *agi) {
 	if (~agi->_game.dirView[v->currentView].flags & RES_LOADED)
 		return false;
 
-	return (v->flags & (ANIMATED | UPDATE | DRAWN)) == (ANIMATED | UPDATE | DRAWN);
+	return (v->flags & (fAnimated | fUpdate | fDrawn)) == (fAnimated | fUpdate | fDrawn);
 }
 
 /**
@@ -268,7 +268,7 @@ bool SpritesMgr::testNotUpdating(VtEntry *v, AgiEngine *vm) {
 	if (~vm->_game.dirView[v->currentView].flags & RES_LOADED)
 		return false;
 
-	return (v->flags & (ANIMATED | UPDATE | DRAWN)) == (ANIMATED | DRAWN);
+	return (v->flags & (fAnimated | fUpdate | fDrawn)) == (fAnimated | fDrawn);
 }
 
 /**
@@ -332,7 +332,7 @@ void SpritesMgr::buildList(SpriteList &l, bool (*test)(VtEntry *, AgiEngine *))
 	for (v = _vm->_game.viewTable; v < &_vm->_game.viewTable[MAX_VIEWTABLE]; v++) {
 		if ((*test)(v, _vm)) {
 			entry[i] = v;
-			yVal[i] = v->flags & FIXED_PRIORITY ? prioToY(v->priority) : v->yPos;
+			yVal[i] = v->flags & fFixedPriority ? prioToY(v->priority) : v->yPos;
 			i++;
 		}
 	}
@@ -407,13 +407,13 @@ void SpritesMgr::commitSprites(SpriteList &l, bool immediate) {
 			continue;
 
 		if (s->v->xPos == s->v->xPos2 && s->v->yPos == s->v->yPos2) {
-			s->v->flags |= DIDNT_MOVE;
+			s->v->flags |= fDidntMove;
 			continue;
 		}
 
 		s->v->xPos2 = s->v->xPos;
 		s->v->yPos2 = s->v->yPos;
-		s->v->flags &= ~DIDNT_MOVE;
+		s->v->flags &= ~fDidntMove;
 	}
 }
 
diff --git a/engines/agi/view.cpp b/engines/agi/view.cpp
index 956d398..3f36865 100644
--- a/engines/agi/view.cpp
+++ b/engines/agi/view.cpp
@@ -47,7 +47,7 @@ void AgiEngine::lSetCel(VtEntry *v, int n) {
 	// in the KQ4 introduction
 	// It seems there's either a bug with KQ4's logic script 120 (the intro script)
 	// or flag 64 is not set correctly, which causes the erroneous behavior from the actors
-	if (getGameID() == GID_KQ4 && !(v->flags & UPDATE) && (v->currentView == 172))
+	if (getGameID() == GID_KQ4 && !(v->flags & fUpdate) && (v->currentView == 172))
 		return;
 
 	currentVc = &currentVl->cel[n];
@@ -78,8 +78,8 @@ void AgiEngine::lSetLoop(VtEntry *v, int n) {
 void AgiEngine::updateView(VtEntry *v) {
 	int cel, lastCel;
 
-	if (v->flags & DONTUPDATE) {
-		v->flags &= ~DONTUPDATE;
+	if (v->flags & fDontupdate) {
+		v->flags &= ~fDontupdate;
 		return;
 	}
 
@@ -87,32 +87,32 @@ void AgiEngine::updateView(VtEntry *v) {
 	lastCel = v->numCels - 1;
 
 	switch (v->cycle) {
-	case CYCLE_NORMAL:
+	case kCycleNormal:
 		if (++cel > lastCel)
 			cel = 0;
 		break;
-	case CYCLE_END_OF_LOOP:
+	case kCycleEndOfLoop:
 		if (cel < lastCel) {
 			debugC(5, kDebugLevelResources, "cel %d (last = %d)", cel + 1, lastCel);
 			if (++cel != lastCel)
 				break;
 		}
 		setflag(v->parm1, true);
-		v->flags &= ~CYCLING;
+		v->flags &= ~fCycling;
 		v->direction = 0;
-		v->cycle = CYCLE_NORMAL;
+		v->cycle = kCycleNormal;
 		break;
-	case CYCLE_REV_LOOP:
+	case kCycleRevLoop:
 		if (cel) {
 			if (--cel)
 				break;
 		}
 		setflag(v->parm1, true);
-		v->flags &= ~CYCLING;
+		v->flags &= ~fCycling;
 		v->direction = 0;
-		v->cycle = CYCLE_NORMAL;
+		v->cycle = kCycleNormal;
 		break;
-	case CYCLE_REVERSE:
+	case kCycleReverse:
 		if (cel == 0) {
 			cel = lastCel;
 		} else {
@@ -259,20 +259,20 @@ void AgiEngine::setCel(VtEntry *v, int n) {
  */
 void AgiEngine::clipViewCoordinates(VtEntry *v) {
 	if (v->xPos + v->xSize > _WIDTH) {
-		v->flags |= UPDATE_POS;
+		v->flags |= fUpdatePos;
 		v->xPos = _WIDTH - v->xSize;
 	}
 	if (v->yPos - v->ySize + 1 < 0) {
-		v->flags |= UPDATE_POS;
+		v->flags |= fUpdatePos;
 		v->yPos = v->ySize - 1;
 	}
-	if (v->yPos <= _game.horizon && (~v->flags & IGNORE_HORIZON)) {
-		v->flags |= UPDATE_POS;
+	if (v->yPos <= _game.horizon && (~v->flags & fIgnoreHorizon)) {
+		v->flags |= fUpdatePos;
 		v->yPos = _game.horizon + 1;
 	}
 
 	if (getVersion() < 0x2000) {
-		v->flags |= DONTUPDATE;
+		v->flags |= fDontupdate;
 	}
 
 }
@@ -313,10 +313,10 @@ void AgiEngine::setView(VtEntry *v, int n) {
  * @param v pointer to view table entry
  */
 void AgiEngine::startUpdate(VtEntry *v) {
-	if (~v->flags & UPDATE) {
+	if (~v->flags & fUpdate) {
 		_sprites->eraseBoth();
 
-		v->flags |= UPDATE;
+		v->flags |= fUpdate;
 		_sprites->blitBoth();
 		_sprites->commitBoth();
 	}
@@ -327,10 +327,10 @@ void AgiEngine::startUpdate(VtEntry *v) {
  * @param v pointer to view table entry
  */
 void AgiEngine::stopUpdate(VtEntry *v) {
-	if (v->flags & UPDATE) {
+	if (v->flags & fUpdate) {
 		_sprites->eraseBoth();
 
-		v->flags &= ~UPDATE;
+		v->flags &= ~fUpdate;
 		_sprites->blitBoth();
 		_sprites->commitBoth();
 	}
@@ -357,14 +357,14 @@ void AgiEngine::updateViewtable() {
 
 	i = 0;
 	for (v = _game.viewTable; v < &_game.viewTable[MAX_VIEWTABLE]; v++) {
-		if ((v->flags & (ANIMATED | UPDATE | DRAWN)) != (ANIMATED | UPDATE | DRAWN)) {
+		if ((v->flags & (fAnimated | fUpdate | fDrawn)) != (fAnimated | fUpdate | fDrawn)) {
 			continue;
 		}
 
 		i++;
 
 		loop = 4;
-		if (~v->flags & FIX_LOOP) {
+		if (~v->flags & fFixLoop) {
 			switch (v->numLoops) {
 			case 2:
 			case 3:
@@ -389,7 +389,7 @@ void AgiEngine::updateViewtable() {
 			}
 		}
 
-		if (~v->flags & CYCLING)
+		if (~v->flags & fCycling)
 			continue;
 
 		if (v->cycleTimeCount == 0)
@@ -406,7 +406,7 @@ void AgiEngine::updateViewtable() {
 		updatePosition();
 		_sprites->blitUpdSprites();
 		_sprites->commitUpdSprites();
-		_game.viewTable[0].flags &= ~(ON_WATER | ON_LAND);
+		_game.viewTable[0].flags &= ~(fOnWater | fOnLand);
 	}
 }
 
diff --git a/engines/agi/view.h b/engines/agi/view.h
index 0ef443f..5cf59d7 100644
--- a/engines/agi/view.h
+++ b/engines/agi/view.h
@@ -50,6 +50,39 @@ struct AgiView {
 	uint8 *rdata;
 };
 
+enum MotionType {
+	kMotionNormal = 0,
+	kMotionWander = 1,
+	kMotionFollowEgo = 2,
+	kMotionMoveObj = 3
+};
+
+enum CycleType {
+	kCycleNormal = 0,
+	kCycleEndOfLoop = 1,
+	kCycleRevLoop = 2,
+	kCycleReverse = 3
+ };
+
+enum ViewFlags {
+	fDrawn 			= (1 << 0),
+	fIgnoreBlocks 	= (1 << 1),
+	fFixedPriority	= (1 << 2),
+	fIgnoreHorizon	= (1 << 3),
+	fUpdate			= (1 << 4),
+	fCycling		= (1 << 5),
+	fAnimated		= (1 << 6),
+	fMotion			= (1 << 7),
+	fOnWater		= (1 << 8),
+	fIgnoreObjects	= (1 << 9),
+	fUpdatePos		= (1 << 10),
+	fOnLand			= (1 << 11),
+	fDontupdate		= (1 << 12),
+	fFixLoop		= (1 << 13),
+	fDidntMove		= (1 << 14),
+	fAdjEgoXY		= (1 << 15)
+};
+
 /**
  * AGI view table entry
  */
@@ -78,39 +111,10 @@ struct VtEntry {
 	uint8 cycleTime;
 	uint8 cycleTimeCount;
 	uint8 direction;
-
-#define MOTION_NORMAL		0
-#define MOTION_WANDER		1
-#define	MOTION_FOLLOW_EGO	2
-#define	MOTION_MOVE_OBJ		3
-	uint8 motion;
-
-#define	CYCLE_NORMAL		0
-#define CYCLE_END_OF_LOOP	1
-#define	CYCLE_REV_LOOP		2
-#define	CYCLE_REVERSE		3
-	uint8 cycle;
-
+	MotionType motion;
+	CycleType cycle;
 	uint8 priority;
-
-#define DRAWN		0x0001
-#define IGNORE_BLOCKS	0x0002
-#define FIXED_PRIORITY	0x0004
-#define IGNORE_HORIZON	0x0008
-#define UPDATE		0x0010
-#define CYCLING		0x0020
-#define ANIMATED	0x0040
-#define MOTION		0x0080
-#define ON_WATER	0x0100
-#define IGNORE_OBJECTS	0x0200
-#define UPDATE_POS	0x0400
-#define ON_LAND		0x0800
-#define DONTUPDATE	0x1000
-#define FIX_LOOP	0x2000
-#define DIDNT_MOVE	0x4000
-#define	ADJ_EGO_XY	0x8000
 	uint16 flags;
-
 	uint8 parm1;
 	uint8 parm2;
 	uint8 parm3;






More information about the Scummvm-git-logs mailing list