[Scummvm-git-logs] scummvm master -> 85123819a88aed53b6e905fbb70ff2c88f2ee28a

bluegr noreply at scummvm.org
Thu Dec 30 15:16:24 UTC 2021


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

Summary:
07775d1f6b BURIED: Reduce cases with global flag access via offsets. Some cleanup
85123819a8 BURIED: Remove unused global flag access methods


Commit: 07775d1f6b01ff05309505228af3a3245a9058b6
    https://github.com/scummvm/scummvm/commit/07775d1f6b01ff05309505228af3a3245a9058b6
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2021-12-30T17:15:31+02:00

Commit Message:
BURIED: Reduce cases with global flag access via offsets. Some cleanup

Changed paths:
    engines/buried/environ/ai_lab.cpp
    engines/buried/environ/castle.cpp
    engines/buried/environ/future_apartment.cpp
    engines/buried/environ/scene_common.cpp
    engines/buried/environ/scene_common.h


diff --git a/engines/buried/environ/ai_lab.cpp b/engines/buried/environ/ai_lab.cpp
index d81c53c8bcc..80a65398bf6 100644
--- a/engines/buried/environ/ai_lab.cpp
+++ b/engines/buried/environ/ai_lab.cpp
@@ -3636,28 +3636,29 @@ int MachineRoomEntry::timerCallback(Window *viewWindow) {
 class DockingBayPlaySoundEntering : public SceneBase {
 public:
 	DockingBayPlaySoundEntering(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-			int soundFileNameID = -1, int flagOffset = -1);
+			int soundFileNameID = -1);
 	int postEnterRoom(Window *viewWindow, const Location &priorLocation) override;
 
 private:
 	int _soundFileNameID;
-	int _flagOffset;
 };
 
 DockingBayPlaySoundEntering::DockingBayPlaySoundEntering(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-		int soundFileNameID, int flagOffset) :
+		int soundFileNameID) :
 		SceneBase(vm, viewWindow, sceneStaticData, priorLocation) {
 	_soundFileNameID = soundFileNameID;
-	_flagOffset = flagOffset;
 
 	if (((SceneViewWindow *)viewWindow)->getGlobalFlags().generalWalkthroughMode == 1)
 		_staticData.destForward.destinationScene = Location(-1, -1, -1, -1, -1, -1);
 }
 
 int DockingBayPlaySoundEntering::postEnterRoom(Window *viewWindow, const Location &priorLocation) {
-	if (_flagOffset >= 0 && ((SceneViewWindow *)viewWindow)->getGlobalFlagByte(_flagOffset) == 0) {
+	SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+	GlobalFlags &globalFlags = sceneView->getGlobalFlags();
+
+	if (globalFlags.aiDBPlayedMomComment == 0) {
 		_vm->_sound->playSynchronousSoundEffect(_vm->getFilePath(_staticData.location.timeZone, _staticData.location.environment, _soundFileNameID));
-		((SceneViewWindow *)viewWindow)->setGlobalFlagByte(_flagOffset, 1);
+		globalFlags.aiDBPlayedMomComment = 1;
 	}
 
 	return SC_TRUE;
@@ -3825,7 +3826,7 @@ SceneBase *SceneViewWindow::constructAILabSceneObject(Window *viewWindow, const
 	case 33:
 		return new SpaceDoor(_vm, viewWindow, sceneStaticData, priorLocation, 185, 42, 253, 110, 167, -1, 1, TRANSITION_VIDEO, 1, -1, -1, -1, 0);
 	case 35:
-		return new DockingBayPlaySoundEntering(_vm, viewWindow, sceneStaticData, priorLocation, 4, offsetof(GlobalFlags, aiDBPlayedMomComment));
+		return new DockingBayPlaySoundEntering(_vm, viewWindow, sceneStaticData, priorLocation, 4);
 	case 36:
 		return new PlaySoundEnteringScene(_vm, viewWindow, sceneStaticData, priorLocation, 6, offsetof(GlobalFlags, aiDBPlayedSecondArthur));
 	case 37:
diff --git a/engines/buried/environ/castle.cpp b/engines/buried/environ/castle.cpp
index 859a369e656..6bae492e97f 100644
--- a/engines/buried/environ/castle.cpp
+++ b/engines/buried/environ/castle.cpp
@@ -96,6 +96,9 @@ TowerStairsGuardEncounter::TowerStairsGuardEncounter(BuriedEngine *vm, Window *v
 }
 
 int TowerStairsGuardEncounter::timerCallback(Window *viewWindow) {
+	SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+	GlobalFlags &globalFlags = sceneView->getGlobalFlags();
+
 	if (_frameCycleCount < 0 || _busy)
 		return SC_FALSE;
 
@@ -103,7 +106,7 @@ int TowerStairsGuardEncounter::timerCallback(Window *viewWindow) {
 		_frameCycleCount++;
 		viewWindow->invalidateWindow(false);
 	} else {
-		if (((SceneViewWindow *)viewWindow)->getGlobalFlags().bcCloakingEnabled == 0) {
+		if (globalFlags.bcCloakingEnabled == 0) {
 			((SceneViewWindow *)viewWindow)->playSynchronousAnimation(0);
 			_busy = true;
 			((SceneViewWindow *)viewWindow)->showDeathScene(0);
@@ -790,7 +793,7 @@ class StorageRoomDoor : public SceneBase {
 public:
 	StorageRoomDoor(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
 			int left = -1, int top = -1, int right = -1, int bottom = -1, int timeZone = -1, int environment = -1, int node = -1,
-			int facing = -1, int orientation = -1, int depth = -1, int flagOffset = 0, int data = -1, int startFrame = -1,
+			int facing = -1, int orientation = -1, int depth = -1, int data = -1, int startFrame = -1,
 			int length = -1, int animDB = -1);
 	int mouseDown(Window *viewWindow, const Common::Point &pointLocation) override;
 	int mouseUp(Window *viewWindow, const Common::Point &pointLocation) override;
@@ -799,19 +802,20 @@ public:
 private:
 	bool _clicked;
 	Common::Rect _clickable;
-	int _flagOffset;
 	DestinationScene _destData;
 	int _agent3VideoID;
 };
 
 StorageRoomDoor::StorageRoomDoor(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
 		int left, int top, int right, int bottom, int timeZone, int environment, int node,
-		int facing, int orientation, int depth, int flagOffset, int data, int startFrame,
+		int facing, int orientation, int depth, int data, int startFrame,
 		int length, int animDB) :
 		SceneBase(vm, viewWindow, sceneStaticData, priorLocation) {
+	SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+	GlobalFlags &globalFlags = sceneView->getGlobalFlags();
+
 	_agent3VideoID = animDB;
 	_clicked = false;
-	_flagOffset = flagOffset;
 	_clickable = Common::Rect(left, top, right, bottom);
 
 	_destData.destinationScene.timeZone = timeZone;
@@ -821,7 +825,7 @@ StorageRoomDoor::StorageRoomDoor(BuriedEngine *vm, Window *viewWindow, const Loc
 	_destData.destinationScene.orientation = orientation;
 	_destData.destinationScene.depth = depth;
 
-	if (((SceneViewWindow *)viewWindow)->getGlobalFlagByte(flagOffset) != 0) {
+	if (globalFlags.cgStorageRoomVisit != 0) {
 		_destData.transitionType = 2; // constant?
 		_destData.transitionData = data;
 		_destData.transitionStartFrame = startFrame;
@@ -843,22 +847,22 @@ int StorageRoomDoor::mouseDown(Window *viewWindow, const Common::Point &pointLoc
 
 int StorageRoomDoor::mouseUp(Window *viewWindow, const Common::Point &pointLocation) {
 	if (_clicked) {
+		SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+		GlobalFlags &globalFlags = sceneView->getGlobalFlags();
 		BuriedEngine *vm = _vm;
-		int flagOffset = _flagOffset;
-
 		if (_clickable.contains(pointLocation)) {
 			((SceneViewWindow *)viewWindow)->moveToDestination(_destData);
 		} else {
 			_clicked = false;
 		}
 
-		if (((SceneViewWindow *)viewWindow)->getGlobalFlagByte(flagOffset) == 0) {
+		if (globalFlags.cgStorageRoomVisit == 0) {
 			if (((SceneViewWindow *)viewWindow)->addNumberToGlobalFlagTable(offsetof(GlobalFlags, evcapBaseID), offsetof(GlobalFlags, evcapNumCaptured), 12, CASTLE_EVIDENCE_AGENT3))
 				((SceneViewWindow *)viewWindow)->displayLiveText(vm->getString(IDS_MBT_EVIDENCE_ACQUIRED));
 			else
 				((SceneViewWindow *)viewWindow)->displayLiveText(vm->getString(IDS_MBT_EVIDENCE_ALREADY_ACQUIRED));
 
-			((SceneViewWindow *)viewWindow)->setGlobalFlagByte(flagOffset, 1);
+			globalFlags.cgStorageRoomVisit = 1;
 		}
 	}
 
@@ -875,7 +879,7 @@ int StorageRoomDoor::specifyCursor(Window *viewWindow, const Common::Point &poin
 class StorageRoomCheckUnlock : public SceneBase {
 public:
 	StorageRoomCheckUnlock(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-			int flagOffset = 0, int itemID = 0, int filledFrameIndex = 0, int animID = 0, int depthA = 0, int depthB = 0,
+			int itemID = 0, int filledFrameIndex = 0, int animID = 0, int depthA = 0, int depthB = 0,
 			int left = 0, int top = 0, int right = 0, int bottom = 0);
 	int mouseUp(Window *viewWindow, const Common::Point &pointLocation) override;
 	int draggingItem(Window *viewWindow, int itemID, const Common::Point &pointLocation, int itemFlags) override;
@@ -883,7 +887,6 @@ public:
 	int specifyCursor(Window *viewWindow, const Common::Point &pointLocation) override;
 
 private:
-	int _flagOffset;
 	int _itemID;
 	int _filledFrameIndex;
 	int _animID;
@@ -894,10 +897,9 @@ private:
 };
 
 StorageRoomCheckUnlock::StorageRoomCheckUnlock(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-		int flagOffset, int itemID, int filledFrameIndex, int animID, int depthA, int depthB,
+		int itemID, int filledFrameIndex, int animID, int depthA, int depthB,
 		int left, int top, int right, int bottom) :
 		SceneBase(vm, viewWindow, sceneStaticData, priorLocation) {
-	_flagOffset = flagOffset;
 	_itemID = itemID;
 	_filledFrameIndex = filledFrameIndex;
 	_depthA = depthA;
@@ -930,13 +932,16 @@ int StorageRoomCheckUnlock::draggingItem(Window *viewWindow, int itemID, const C
 }
 
 int StorageRoomCheckUnlock::droppedItem(Window *viewWindow, int itemID, const Common::Point &pointLocation, int itemFlags) {
+	SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+	GlobalFlags &globalFlags = sceneView->getGlobalFlags();
+
 	if (_dropRegion.contains(pointLocation) && _itemID == itemID) {
 		((SceneViewWindow *)viewWindow)->playSynchronousAnimation(_animID);
 		_staticData.navFrameIndex = _filledFrameIndex;
 
 		Location newDest = _staticData.location;
 
-		if (((SceneViewWindow *)viewWindow)->getGlobalFlagByte(_flagOffset) != 0)
+		if (globalFlags.cgTapestryFlag != 0)
 			newDest.depth = _depthB;
 		else
 			newDest.depth = _depthA;
@@ -1025,34 +1030,34 @@ int KingsChamberGuardEncounter::timerCallback(Window *viewWindow) {
 bool SceneViewWindow::initializeCastleTimeZoneAndEnvironment(Window *viewWindow, int environment) {
 	// If we passed -1, initialize time zone, otherwise the environment
 	if (environment == -1) {
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgWallExploded = 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgHookPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemGrapplingHook) ? 1 : 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgArrowPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemBloodyArrow) ? 1 : 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgHammerPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemHammer) ? 1 : 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgSmithyStatus = 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgSmithyGuard = 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgBaileyOneWayGuard = 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgBaileyTwoWayGuards = 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgTapestryFlag = 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgStorageRoomVisit = 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgBurnedLetterPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemBurnedLetter) ? 1 : 0;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgGoldCoinsPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemGoldCoins) ? 1 : 0;
-
-		if (((SceneViewWindow *)viewWindow)->getGlobalFlags().generalWalkthroughMode == 1) {
-			((SceneViewWindow *)viewWindow)->getGlobalFlags().cgSmithyStatus = 6;
-			((SceneViewWindow *)viewWindow)->getGlobalFlags().cgTapestryFlag = 1;
+		_globalFlags.cgWallExploded = 0;
+		_globalFlags.cgHookPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemGrapplingHook) ? 1 : 0;
+		_globalFlags.cgArrowPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemBloodyArrow) ? 1 : 0;
+		_globalFlags.cgHammerPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemHammer) ? 1 : 0;
+		_globalFlags.cgSmithyStatus = 0;
+		_globalFlags.cgSmithyGuard = 0;
+		_globalFlags.cgBaileyOneWayGuard = 0;
+		_globalFlags.cgBaileyTwoWayGuards = 0;
+		_globalFlags.cgTapestryFlag = 0;
+		_globalFlags.cgStorageRoomVisit = 0;
+		_globalFlags.cgBurnedLetterPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemBurnedLetter) ? 1 : 0;
+		_globalFlags.cgGoldCoinsPresent = ((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemGoldCoins) ? 1 : 0;
+
+		if (_globalFlags.generalWalkthroughMode == 1) {
+			_globalFlags.cgSmithyStatus = 6;
+			_globalFlags.cgTapestryFlag = 1;
 		}
 	}
 
 	// Environment-specific
 	if (environment == 4) {
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().scoreEnteredKeep = 1;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgMBVisited = 1;
+		_globalFlags.scoreEnteredKeep = 1;
+		_globalFlags.cgMBVisited = 1;
 	} else if (environment == 6) {
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgKCVisited = 1;
+		_globalFlags.cgKCVisited = 1;
 	} else if (environment == 10) {
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().scoreEnteredTreasureRoom = 1;
-		((SceneViewWindow *)viewWindow)->getGlobalFlags().cgTRVisited = 1;
+		_globalFlags.scoreEnteredTreasureRoom = 1;
+		_globalFlags.cgTRVisited = 1;
 	}
 
 	return true;
@@ -1226,7 +1231,7 @@ SceneBase *SceneViewWindow::constructCastleSceneObject(Window *viewWindow, const
 	case 33:
 		return new OneShotEntryVideoWarning(_vm, viewWindow, sceneStaticData, priorLocation, _vm->isDemo() ? 2 : 6, offsetof(GlobalFlags, cgBaileyOneWayGuard), IDS_HUMAN_PRESENCE_10METERS);
 	case 34:
-		return new CycleEntryVideoWarning(_vm, viewWindow, sceneStaticData, priorLocation, _vm->isDemo() ? 5 : 7, _vm->isDemo() ? 6 : 8, offsetof(GlobalFlags, cgBaileyTwoWayGuards), IDS_HUMAN_PRESENCE_10METERS);
+		return new CycleEntryVideoWarning(_vm, viewWindow, sceneStaticData, priorLocation, _vm->isDemo() ? 5 : 7, _vm->isDemo() ? 6 : 8, IDS_HUMAN_PRESENCE_10METERS);
 	case 35:
 		return new ClickPlayVideoSwitch(_vm, viewWindow, sceneStaticData, priorLocation, 3, kCursorFinger, offsetof(GlobalFlags, cgTapestryFlag), 0, 0, 330, 189);
 	case 36:
@@ -1234,9 +1239,9 @@ SceneBase *SceneViewWindow::constructCastleSceneObject(Window *viewWindow, const
 	case 37:
 		return new GenericItemAcquire(_vm, viewWindow, sceneStaticData, priorLocation, 175, 64, 237, 126, kItemBurnedLetter, 84, offsetof(GlobalFlags, cgBurnedLetterPresent));
 	case 38:
-		return new StorageRoomCheckUnlock(_vm, viewWindow, sceneStaticData, priorLocation, offsetof(GlobalFlags, cgTapestryFlag), kItemCopperKey, 51, 1, 2, 1, 258, 100, 320, 185);
+		return new StorageRoomCheckUnlock(_vm, viewWindow, sceneStaticData, priorLocation, kItemCopperKey, 51, 1, 2, 1, 258, 100, 320, 185);
 	case 39:
-		return new StorageRoomDoor(_vm, viewWindow, sceneStaticData, priorLocation, 38, 0, 386, 189, 1, 9, 5, 2, 1, 1, offsetof(GlobalFlags, cgStorageRoomVisit), 11, 130, 12, 0);
+		return new StorageRoomDoor(_vm, viewWindow, sceneStaticData, priorLocation, 38, 0, 386, 189, 1, 9, 5, 2, 1, 1, 11, 130, 12, 0);
 	case 41:
 		return new OpenFirstItemAcquire(_vm, viewWindow, sceneStaticData, priorLocation, 138, 32, 288, 107, 175, 65, 226, 90, 2, 1, kItemGoldCoins, 34, 35, offsetof(GlobalFlags, cgGoldCoinsPresent));
 	case 42:
@@ -1254,7 +1259,7 @@ SceneBase *SceneViewWindow::constructCastleSceneObject(Window *viewWindow, const
 	case 48:
 		return new KingsChamberGuardEncounter(_vm, viewWindow, sceneStaticData, priorLocation);
 	case 50:
-		return new ClickPlaySoundSynchronous(_vm, viewWindow, sceneStaticData, priorLocation, offsetof(GlobalFlags, cgTSTriedDoorA), 14, kCursorFinger, 72, 0, 372, 189);
+		return new ClickPlaySoundSynchronous(_vm, viewWindow, sceneStaticData, priorLocation, 14, kCursorFinger, 72, 0, 372, 189);
 	case 51:
 		return new ClickZoom(_vm, viewWindow, sceneStaticData, priorLocation, 5, 36, 6, 12, kCursorMagnifyingGlass, 0, 0, 432, 189);
 	case 52:
diff --git a/engines/buried/environ/future_apartment.cpp b/engines/buried/environ/future_apartment.cpp
index fc3f54ed30b..0fbc9bed74d 100644
--- a/engines/buried/environ/future_apartment.cpp
+++ b/engines/buried/environ/future_apartment.cpp
@@ -40,7 +40,7 @@ namespace Buried {
 class OvenDoor : public SceneBase {
 public:
 	OvenDoor(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-			int openAnimID = 0, int closeAnimID = 0, int openFrame = 0, int closedFrame = 0, int flagOffset = 0,
+			int openAnimID = 0, int closeAnimID = 0, int openFrame = 0, int closedFrame = 0,
 			int left = 0, int top = 0, int right = 0, int bottom = 0);
 	int postExitRoom(Window *viewWindow, const Location &newLocation) override;
 	int mouseUp(Window *viewWindow, const Common::Point &pointLocation) override;
@@ -51,43 +51,52 @@ private:
 	int _closeAnimationID;
 	int _openFrame;
 	int _closedFrame;
-	int _flagOffset;
 	Common::Rect _clickableRegion;
 };
 
 OvenDoor::OvenDoor(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-		int openAnimID, int closeAnimID, int openFrame, int closedFrame, int flagOffset,
+		int openAnimID, int closeAnimID, int openFrame, int closedFrame,
 		int left, int top, int right, int bottom) :
 		SceneBase(vm, viewWindow, sceneStaticData, priorLocation) {
+	SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+	GlobalFlags &globalFlags = sceneView->getGlobalFlags();
+
 	_openAnimationID = openAnimID;
 	_closeAnimationID = closeAnimID;
 	_openFrame = openFrame;
 	_closedFrame = closedFrame;
-	_flagOffset = flagOffset;
 	_clickableRegion = Common::Rect(left, top, right, bottom);
 
-	if (((SceneViewWindow *)viewWindow)->getGlobalFlagByte(_flagOffset) == 1)
+	if (globalFlags.faKIOvenStatus == 1)
 		_staticData.navFrameIndex = _openFrame;
 	else
 		_staticData.navFrameIndex = _closedFrame;
 }
 
 int OvenDoor::postExitRoom(Window *viewWindow, const Location &newLocation) {
-	if ((newLocation.orientation == 0 || newLocation.facing != _staticData.location.facing || newLocation.node != _staticData.location.node) && ((SceneViewWindow *)viewWindow)->getGlobalFlagByte(_flagOffset) == 1) {
+	SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+	GlobalFlags &globalFlags = sceneView->getGlobalFlags();
+
+	if ((newLocation.orientation == 0 ||
+		newLocation.facing != _staticData.location.facing ||
+		newLocation.node != _staticData.location.node) && globalFlags.faKIOvenStatus == 1) {
 		if (_staticData.location.timeZone == newLocation.timeZone)
 			_vm->_sound->playSoundEffect(_vm->getFilePath(_staticData.location.timeZone, _staticData.location.environment, 7));
 
-		((SceneViewWindow *)viewWindow)->setGlobalFlagByte(_flagOffset, 0);
+		globalFlags.faKIOvenStatus = 0;
 	}
 
 	return SC_TRUE;
 }
 
 int OvenDoor::mouseUp(Window *viewWindow, const Common::Point &pointLocation) {
+	SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+	GlobalFlags &globalFlags = sceneView->getGlobalFlags();
+
 	if (_clickableRegion.contains(pointLocation)) {
-		if (((SceneViewWindow *)viewWindow)->getGlobalFlagByte(_flagOffset) == 1) {
+		if (globalFlags.faKIOvenStatus == 1) {
 			// Change the flag status
-			((SceneViewWindow *)viewWindow)->setGlobalFlagByte(_flagOffset, 0);
+			globalFlags.faKIOvenStatus = 0;
 
 			// Play the specified animation
 			((SceneViewWindow *)viewWindow)->playSynchronousAnimation(_closeAnimationID);
@@ -96,7 +105,7 @@ int OvenDoor::mouseUp(Window *viewWindow, const Common::Point &pointLocation) {
 			return SC_TRUE;
 		} else {
 			// Change the flag status
-			((SceneViewWindow *)viewWindow)->setGlobalFlagByte(_flagOffset, 1);
+			globalFlags.faKIOvenStatus = 1;
 
 			// Play the specified animation
 			((SceneViewWindow *)viewWindow)->playSynchronousAnimation(_openAnimationID);
@@ -1955,9 +1964,9 @@ SceneBase *SceneViewWindow::constructFutureApartmentSceneObject(Window *viewWind
 	case 2:
 		return new ClickPlayVideoSwitchAI(_vm, viewWindow, sceneStaticData, priorLocation, 1, kCursorFinger, offsetof(GlobalFlags, faKIBirdsBobbed), 150, 40, 260, 164);
 	case 3:
-		return new OvenDoor(_vm, viewWindow, sceneStaticData, priorLocation, 2, 3, 37, 25, offsetof(GlobalFlags, faKIOvenStatus), 0, 0, 270, 80);
+		return new OvenDoor(_vm, viewWindow, sceneStaticData, priorLocation, 2, 3, 37, 25, 0, 0, 270, 80);
 	case 4:
-		return new OvenDoor(_vm, viewWindow, sceneStaticData, priorLocation, 4, 5, 38, 26, offsetof(GlobalFlags, faKIOvenStatus), 0, 50, 300, 189);
+		return new OvenDoor(_vm, viewWindow, sceneStaticData, priorLocation, 4, 5, 38, 26, 0, 50, 300, 189);
 	case 5:
 		return new KitchenUnitTurnOn(_vm, viewWindow, sceneStaticData, priorLocation);
 	case 6:
diff --git a/engines/buried/environ/scene_common.cpp b/engines/buried/environ/scene_common.cpp
index bf40f56f30d..5474091afe2 100644
--- a/engines/buried/environ/scene_common.cpp
+++ b/engines/buried/environ/scene_common.cpp
@@ -833,23 +833,25 @@ DisableForwardMovement::DisableForwardMovement(BuriedEngine *vm, Window *viewWin
 }
 
 CycleEntryVideoWarning::CycleEntryVideoWarning(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-		int animIDA, int animIDB, int flagOffset, int warningMessageID) : SceneBase(vm, viewWindow, sceneStaticData, priorLocation) {
+		int animIDA, int animIDB, int warningMessageID) : SceneBase(vm, viewWindow, sceneStaticData, priorLocation) {
 	_animIDA = animIDA;
 	_animIDB = animIDB;
-	_flagOffset = flagOffset;
 	_warningMessageID = warningMessageID;
 }
 
 int CycleEntryVideoWarning::postEnterRoom(Window *viewWindow, const Location &priorLocation) {
+	SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+	GlobalFlags &globalFlags = sceneView->getGlobalFlags();
+
 	if (_warningMessageID >= 0)
 		((SceneViewWindow *)viewWindow)->displayLiveText(_vm->getString(_warningMessageID));
 
-	if (((SceneViewWindow *)viewWindow)->getGlobalFlagByte(_flagOffset) == 0) {
+	if (globalFlags.cgBaileyTwoWayGuards == 0) {
 		((SceneViewWindow *)viewWindow)->playSynchronousAnimation(_animIDA);
-		((SceneViewWindow *)viewWindow)->setGlobalFlagByte(_flagOffset, 1);
+		globalFlags.cgBaileyTwoWayGuards = 1;
 	} else {
 		((SceneViewWindow *)viewWindow)->playSynchronousAnimation(_animIDB);
-		((SceneViewWindow *)viewWindow)->setGlobalFlagByte(_flagOffset, 0);
+		globalFlags.cgBaileyTwoWayGuards = 0;
 	}
 
 	return SC_TRUE;
@@ -1253,20 +1255,21 @@ int BrowseBook::textTranslated(Window *viewWindow) {
 }
 
 ClickPlaySoundSynchronous::ClickPlaySoundSynchronous(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-		int flagOffset, int soundID, int cursorID, int left, int top, int right, int bottom) :
+		int soundID, int cursorID, int left, int top, int right, int bottom) :
 		SceneBase(vm, viewWindow, sceneStaticData, priorLocation) {
 	_cursorID = cursorID;
 	_soundID = soundID;
 	_clickRegion = Common::Rect(left, top, right, bottom);
-	_flagOffset = flagOffset;
 }
 
 int ClickPlaySoundSynchronous::mouseUp(Window *viewWindow, const Common::Point &pointLocation) {
+	SceneViewWindow *sceneView = ((SceneViewWindow *)viewWindow);
+	GlobalFlags &globalFlags = sceneView->getGlobalFlags();
+
 	if (_clickRegion.contains(pointLocation)) {
 		_vm->_sound->playSynchronousSoundEffect(_vm->getFilePath(_staticData.location.timeZone, _staticData.location.environment, _soundID), 127);
 
-		if (_flagOffset >= 0)
-			((SceneViewWindow *)viewWindow)->setGlobalFlagByte(_flagOffset, 1);
+		globalFlags.cgTSTriedDoorA = 1;
 
 		if (((GameUIWindow *)viewWindow->getParent())->_inventoryWindow->isItemInInventory(kItemBioChipAI))
 			((SceneViewWindow *)viewWindow)->playAIComment(_staticData.location, AI_COMMENT_TYPE_SPONTANEOUS);
diff --git a/engines/buried/environ/scene_common.h b/engines/buried/environ/scene_common.h
index 7b2627b15be..d1a5fe304dd 100644
--- a/engines/buried/environ/scene_common.h
+++ b/engines/buried/environ/scene_common.h
@@ -283,13 +283,12 @@ public:
 class CycleEntryVideoWarning : public SceneBase {
 public:
 	CycleEntryVideoWarning(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-			int animIDA = 0, int animIDB = 0, int flagOffset = 0, int warningMessageID = -1);
+			int animIDA = 0, int animIDB = 0, int warningMessageID = -1);
 	int postEnterRoom(Window *viewWindow, const Location &priorLocation);
 
 private:
 	int _animIDA;
 	int _animIDB;
-	int _flagOffset;
 	int _warningMessageID;
 };
 
@@ -396,7 +395,7 @@ private:
 class ClickPlaySoundSynchronous : public SceneBase {
 public:
 	ClickPlaySoundSynchronous(BuriedEngine *vm, Window *viewWindow, const LocationStaticData &sceneStaticData, const Location &priorLocation,
-			int flagOffset = -1, int soundID = 0, int cursorID = 0, int left = 0, int top = 0, int right = 0, int bottom = 0);
+			int soundID = 0, int cursorID = 0, int left = 0, int top = 0, int right = 0, int bottom = 0);
 	int mouseUp(Window *viewWindow, const Common::Point &pointLocation);
 	int specifyCursor(Window *viewWindow, const Common::Point &pointLocation);
 
@@ -404,7 +403,6 @@ private:
 	int _cursorID;
 	int _soundID;
 	Common::Rect _clickRegion;
-	int _flagOffset;
 };
 
 class TrialRecallScene : public SceneBase {


Commit: 85123819a88aed53b6e905fbb70ff2c88f2ee28a
    https://github.com/scummvm/scummvm/commit/85123819a88aed53b6e905fbb70ff2c88f2ee28a
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2021-12-30T17:15:31+02:00

Commit Message:
BURIED: Remove unused global flag access methods

Changed paths:
    engines/buried/scene_view.cpp
    engines/buried/scene_view.h


diff --git a/engines/buried/scene_view.cpp b/engines/buried/scene_view.cpp
index 25d6f1a8641..484cbbfa23f 100644
--- a/engines/buried/scene_view.cpp
+++ b/engines/buried/scene_view.cpp
@@ -1436,12 +1436,6 @@ bool SceneViewWindow::closeCycleFrameMovie() {
 	return true;
 }
 
-int SceneViewWindow::getGlobalFlag(int offset) {
-	// TODO: Verify the offset
-	const byte *data = (const byte *)&_globalFlags;
-	return READ_UINT16(data + offset);
-}
-
 byte SceneViewWindow::getGlobalFlagByte(int offset) {
 	// TODO: Verify the offset
 
@@ -1452,14 +1446,6 @@ byte SceneViewWindow::getGlobalFlagByte(int offset) {
 	return data[offset];
 }
 
-bool SceneViewWindow::setGlobalFlag(int offset, int value) {
-	// TODO: Verify the offset
-
-	byte *data = (byte *)&_globalFlags;
-	WRITE_UINT16(data + offset, value);
-	return true;
-}
-
 bool SceneViewWindow::setGlobalFlagByte(int offset, byte value) {
 	// TODO: Verify the offset
 
diff --git a/engines/buried/scene_view.h b/engines/buried/scene_view.h
index 69b87867274..340b95dccb8 100644
--- a/engines/buried/scene_view.h
+++ b/engines/buried/scene_view.h
@@ -98,9 +98,7 @@ public:
 	bool isCyclingEnabled() const { return _cycleEnabled || _forceCycleEnabled; }
 	bool closeCycleFrameMovie();
 
-	int getGlobalFlag(int offset);
 	byte getGlobalFlagByte(int offset);
-	bool setGlobalFlag(int offset, int value);
 	bool setGlobalFlagByte(int offset, byte value);
 	bool setGlobalFlagDWord(int offset, uint32 value);
 	uint32 getGlobalFlagDWord(int offset);




More information about the Scummvm-git-logs mailing list