[Scummvm-git-logs] scummvm master -> 2fd23749924d0ee23f0fe9e48b8bc7831df54853

sev- sev at scummvm.org
Sat Sep 10 21:54:48 CEST 2016


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:
786f244929 DM: Rename _B to _Bu to avoid name clashes on some platforms
2fd2374992 DM: Rename _C to _Cu


Commit: 786f2449293faaa914522239fafc74559dfb5c60
    https://github.com/scummvm/scummvm/commit/786f2449293faaa914522239fafc74559dfb5c60
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-09-10T21:50:57+02:00

Commit Message:
DM: Rename _B to _Bu to avoid name clashes on some platforms

Changed paths:
    engines/dm/champion.cpp
    engines/dm/eventman.cpp
    engines/dm/group.cpp
    engines/dm/inventory.cpp
    engines/dm/menus.cpp
    engines/dm/movesens.cpp
    engines/dm/projexpl.cpp
    engines/dm/sounds.cpp
    engines/dm/timeline.cpp
    engines/dm/timeline.h



diff --git a/engines/dm/champion.cpp b/engines/dm/champion.cpp
index 6b89506..3d54fad 100644
--- a/engines/dm/champion.cpp
+++ b/engines/dm/champion.cpp
@@ -130,11 +130,11 @@ void ChampionMan::initConstants() {
 		0x0400    /* Chest 8          Chest */
 	};
 
-	_boxChampionPortrait = Box(0, 31, 0, 28); // @ G0047_s_Graphic562_Box_ChampionPortrait 
+	_boxChampionPortrait = Box(0, 31, 0, 28); // @ G0047_s_Graphic562_Box_ChampionPortrait
 
 	const char **baseSkillName;
 	switch (_vm->getGameLanguage()) { // localized
-	case Common::EN_ANY: 
+	case Common::EN_ANY:
 		baseSkillName = g417_baseSkillName_EN_ANY;
 		break;
 	case Common::DE_DEU:
@@ -927,7 +927,7 @@ void ChampionMan::disableAction(uint16 champIndex, uint16 ticks) {
 	TimelineEvent curEvent;
 	curEvent._type = k11_TMEventTypeEnableChampionAction;
 	curEvent._priority = champIndex;
-	curEvent._B._slotOrdinal = 0;
+	curEvent._Bu._slotOrdinal = 0;
 
 	int16 eventIndex = curChampion->_enableActionEventIndex;
 	if (eventIndex >= 0) {
@@ -1118,7 +1118,7 @@ void ChampionMan::championPoison(int16 champIndex, uint16 attack) {
 		newEvent._type = k75_TMEventTypePoisonChampion;
 		newEvent._priority = champIndex;
 		setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_partyMapIndex, _vm->_gameTime + 36);
-		newEvent._B._attack = attack;
+		newEvent._Bu._attack = attack;
 		_vm->_timeline->addEventGetEventIndex(&newEvent);
 	}
 
@@ -2113,8 +2113,8 @@ uint16 ChampionMan::getMaximumLoad(Champion *champ) {
 }
 
 void ChampionMan::drawChampionState(ChampionIndex champIndex) {
-	static Box boxMouth = Box(55, 72, 12, 29); // @ G0048_s_Graphic562_Box_Mouth 
-	static Box boxEye = Box(11, 28, 12, 29); // @ G0049_s_Graphic562_Box_Eye 
+	static Box boxMouth = Box(55, 72, 12, 29); // @ G0048_s_Graphic562_Box_Mouth
+	static Box boxEye = Box(11, 28, 12, 29); // @ G0049_s_Graphic562_Box_Eye
 
 	int16 championStatusBoxX = champIndex * k69_ChampionStatusBoxSpacing;
 	Champion *curChampion = &_champions[champIndex];
diff --git a/engines/dm/eventman.cpp b/engines/dm/eventman.cpp
index e7095ce..508f959 100644
--- a/engines/dm/eventman.cpp
+++ b/engines/dm/eventman.cpp
@@ -446,8 +446,8 @@ void EventManager::setPointerToObject(byte *bitmap) {
 		120, 120, 120, 120, 0, 120, 120, 120}; // @ K0027_auc_PaletteChanges_MousePointerObjectIconShadow
 	static byte palChangesMousePointerIcon[16] = {120, 10, 20, 30, 40, 50, 60, 70, 80, 90,
 		100, 110, 0, 130, 140, 150}; // @ G0044_auc_Graphic562_PaletteChanges_MousePointerIcon
-	static Box boxMousePointerObjectShadow(2, 17, 2, 17); // @ G0619_s_Box_MousePointer_ObjectShadow 
-	static Box boxMousePointerObject(0, 15, 0, 15); // @ G0620_s_Box_MousePointer_Object 
+	static Box boxMousePointerObjectShadow(2, 17, 2, 17); // @ G0619_s_Box_MousePointer_ObjectShadow
+	static Box boxMousePointerObject(0, 15, 0, 15); // @ G0620_s_Box_MousePointer_Object
 
 	_preventBuildPointerScreenArea = true;
 	_useObjectAsMousePointerBitmap = true;
@@ -1047,8 +1047,8 @@ void EventManager::commandMoveParty(CommandType cmdType) {
 }
 
 bool EventManager::isLeaderHandObjThrown(int16 posX, int16 posY) {
-#define k0_sideLeft 0 // @ C0_SIDE_LEFT 
-#define k1_sideRight 1 // @ C0_SIDE_LEFT 
+#define k0_sideLeft 0 // @ C0_SIDE_LEFT
+#define k1_sideRight 1 // @ C0_SIDE_LEFT
 
 	if ((posY < 47) || (posY > 102))
 		return false;
@@ -1386,8 +1386,8 @@ void EventManager::processType80_clickInDungeonViewDropLeaderHandObject(uint16 v
 		setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_partyMapIndex, _vm->_gameTime + 1);
 		newEvent._type = k13_TMEventTypeViAltarRebirth;
 		newEvent._priority = removedJunk->getChargeCount();
-		newEvent._B._location._mapX = mapX;
-		newEvent._B._location._mapY = mapY;
+		newEvent._Bu._location._mapX = mapX;
+		newEvent._Bu._location._mapY = mapY;
 		newEvent._C.A._cell = currCell;
 		newEvent._C.A._effect = k2_SensorEffToggle;
 		_vm->_timeline->addEventGetEventIndex(&newEvent);
diff --git a/engines/dm/group.cpp b/engines/dm/group.cpp
index 4ec74ef..416c91b 100644
--- a/engines/dm/group.cpp
+++ b/engines/dm/group.cpp
@@ -359,8 +359,8 @@ bool GroupMan::groupIsDoorDestoryedByAttack(uint16 mapX, uint16 mapY, int16 atta
 				setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_currMapIndex, _vm->_gameTime + ticks);
 				newEvent._type = k2_TMEventTypeDoorDestruction;
 				newEvent._priority = 0;
-				newEvent._B._location._mapX = mapX;
-				newEvent._B._location._mapY = mapY;
+				newEvent._Bu._location._mapX = mapX;
+				newEvent._Bu._location._mapY = mapY;
 				_vm->_timeline->addEventGetEventIndex(&newEvent);
 			} else {
 				((Square *)curSquare)->setDoorState(k5_doorState_DESTROYED);
@@ -415,8 +415,8 @@ int16 GroupMan::groupGetDamageCreatureOutcome(Group *group, uint16 creatureIndex
 				for (uint16 eventIndex = 0; eventIndex < _vm->_timeline->_eventMaxCount; eventIndex++) {
 					uint16 curEventType = curEvent->_type;
 					if ((getMap(curEvent->_mapTime) == _vm->_dungeonMan->_currMapIndex) &&
-						(curEvent->_B._location._mapX == mapX) &&
-						(curEvent->_B._location._mapY == mapY) &&
+						(curEvent->_Bu._location._mapX == mapX) &&
+						(curEvent->_Bu._location._mapY == mapY) &&
 						(curEventType > k32_TMEventTypeUpdateAspectGroup) &&
 						(curEventType < k41_TMEventTypeUpdateBehaviour_3 + 1)) {
 						uint16 nextCreatureIndex;
@@ -502,7 +502,7 @@ void GroupMan::groupDeleteEvents(int16 mapX, int16 mapY) {
 		uint16 curEventType = curEvent->_type;
 		if ((getMap(curEvent->_mapTime) == _vm->_dungeonMan->_currMapIndex) &&
 			(curEventType > k29_TMEventTypeGroupReactionDangerOnSquare - 1) && (curEventType < k41_TMEventTypeUpdateBehaviour_3 + 1) &&
-			(curEvent->_B._location._mapX == mapX) && (curEvent->_B._location._mapY == mapY)) {
+			(curEvent->_Bu._location._mapX == mapX) && (curEvent->_Bu._location._mapY == mapY)) {
 			_vm->_timeline->deleteEvent(eventIndex);
 		}
 		curEvent++;
@@ -536,7 +536,7 @@ int16 GroupMan::getDamageAllCreaturesOutcome(Group *group, int16 mapX, int16 map
 		if (killedSomeCreatures)
 			return k1_outcomeKilledSomeCreaturesInGroup;
 	}
-	
+
 	return k0_outcomeKilledNoCreaturesInGroup;
 }
 
@@ -590,8 +590,8 @@ void GroupMan::processEvents29to41(int16 eventMapX, int16 eventMapY, int16 event
 	TimelineEvent nextEvent;
 	setMapAndTime(nextEvent._mapTime, _vm->_dungeonMan->_currMapIndex, _vm->_gameTime);
 	nextEvent._priority = 255 - creatureInfo._movementTicks; /* The fastest creatures (with small MovementTicks value) get higher event priority */
-	nextEvent._B._location._mapX = eventMapX;
-	nextEvent._B._location._mapY = eventMapY;
+	nextEvent._Bu._location._mapX = eventMapX;
+	nextEvent._Bu._location._mapY = eventMapY;
 	/* If the creature is not on the party map then try and move the creature in a random direction and place a new event 37 in the timeline for the next creature movement */
 	if (_vm->_dungeonMan->_currMapIndex != _vm->_dungeonMan->_partyMapIndex) {
 		if (isMovementPossible(&creatureInfo, eventMapX, eventMapY, AL0446_i_Direction = _vm->getRandomNumber(4), false)) { /* BUG0_67 A group that is not on the party map may wrongly move or not move into a teleporter. Normally, a creature type with Wariness >= 10 (Vexirk, Materializer / Zytaz, Demon, Lord Chaos, Red Dragon / Dragon) would only move into a teleporter if the creature type is allowed on the destination map. However, the variable G0380_T_CurrentGroupThing identifying the group is not set before being used by F0139_DUNGEON_IsCreatureAllowedOnMap called by f202_isMovementPossible so the check to see if the creature type is allowed may operate on another creature type and thus return an incorrect result, causing the creature to teleport while it should not, or not to teleport while it should */
@@ -601,8 +601,8 @@ void GroupMan::processEvents29to41(int16 eventMapX, int16 eventMapY, int16 event
 			AL0451_i_DestinationMapY += _vm->_dirIntoStepCountNorth[AL0446_i_Direction];
 			if (_vm->_moveSens->getMoveResult(groupThing, eventMapX, eventMapY, AL0450_i_DestinationMapX, AL0451_i_DestinationMapY))
 				return;
-			nextEvent._B._location._mapX = _vm->_moveSens->_moveResultMapX;
-			nextEvent._B._location._mapY = _vm->_moveSens->_moveResultMapY;
+			nextEvent._Bu._location._mapX = _vm->_moveSens->_moveResultMapX;
+			nextEvent._Bu._location._mapY = _vm->_moveSens->_moveResultMapY;
 		}
 		nextEvent._type = k37_TMEventTypeUpdateBehaviourGroup;
 		AL0446_i_Ticks = MAX(ABS(_vm->_dungeonMan->_currMapIndex - _vm->_dungeonMan->_partyMapIndex) << 4, creatureInfo._movementTicks << 1);
@@ -793,8 +793,8 @@ T0209061_MoveGroup:
 									if (newGroupDirectionFound) {
 										if (_vm->_moveSens->getMoveResult(groupThing, eventMapX, eventMapY, AL0450_i_DestinationMapX, AL0451_i_DestinationMapY))
 											return;
-										nextEvent._B._location._mapX = _vm->_moveSens->_moveResultMapX;
-										nextEvent._B._location._mapY = _vm->_moveSens->_moveResultMapY;;
+										nextEvent._Bu._location._mapX = _vm->_moveSens->_moveResultMapX;
+										nextEvent._Bu._location._mapY = _vm->_moveSens->_moveResultMapY;;
 										activeGroup->_priorMapX = eventMapX;
 										activeGroup->_priorMapY = eventMapY;
 										activeGroup->_lastMoveTime = _vm->_gameTime;
@@ -1199,8 +1199,8 @@ int16 GroupMan::getDistanceBetweenUnblockedSquares(int16 srcMapX, int16 srcMapY,
 	/* 128 when the creature is on the same row or column as the party */
 	do {
 		if (isDistanceXEqualsDistanceY) {
-			if ((   (CALL_MEMBER_FN(*_vm->_groupMan, isBlocked))(pathMapX + axisStepX, pathMapY) 
-				 && (CALL_MEMBER_FN(*_vm->_groupMan, isBlocked))(pathMapX, pathMapY + axisStepY)) 
+			if ((   (CALL_MEMBER_FN(*_vm->_groupMan, isBlocked))(pathMapX + axisStepX, pathMapY)
+				 && (CALL_MEMBER_FN(*_vm->_groupMan, isBlocked))(pathMapX, pathMapY + axisStepY))
 			 || (CALL_MEMBER_FN(*_vm->_groupMan, isBlocked))(pathMapX = pathMapX + axisStepX, pathMapY = pathMapY + axisStepY))
 				return 0;
 		} else {
@@ -1644,8 +1644,8 @@ void GroupMan::startWandering(int16 mapX, int16 mapY) {
 	nextEvent._type = k37_TMEventTypeUpdateBehaviourGroup;
 	nextEvent._priority = 255 - _vm->_dungeonMan->_creatureInfos[L0332_ps_Group->_type]._movementTicks; /* The fastest creatures (with small MovementTicks value) get higher event priority */
 	nextEvent._C._ticks = 0;
-	nextEvent._B._location._mapX = mapX;
-	nextEvent._B._location._mapY = mapY;
+	nextEvent._Bu._location._mapX = mapX;
+	nextEvent._Bu._location._mapY = mapY;
 	_vm->_timeline->addEventGetEventIndex(&nextEvent);
 }
 
@@ -1661,7 +1661,7 @@ void GroupMan::addActiveGroup(Thing thing, int16 mapX, int16 mapY) {
 	_currActiveGroupCount++;
 
 	activeGroup->_groupThingIndex = (thing).getIndex();
-	Group *curGroup = (Group *)(_vm->_dungeonMan->_thingData[k4_GroupThingType] + 
+	Group *curGroup = (Group *)(_vm->_dungeonMan->_thingData[k4_GroupThingType] +
 		_vm->_dungeonMan->_thingDataWordCount[k4_GroupThingType] * activeGroup->_groupThingIndex);
 
 	activeGroup->_cells = curGroup->_cells;
@@ -1888,9 +1888,9 @@ void GroupMan::fluxCageAction(int16 mapX, int16 mapY) {
 	newEvent._type = k24_TMEventTypeRemoveFluxcage;
 	newEvent._priority = 0;
 	newEvent._C._slot = unusedThing.toUint16();
-	newEvent._B._location._mapX = mapX;
-	newEvent._B._location._mapY = mapY;
-	newEvent._B._location._mapY = mapY;
+	newEvent._Bu._location._mapX = mapX;
+	newEvent._Bu._location._mapY = mapY;
+	newEvent._Bu._location._mapY = mapY;
 	_vm->_timeline->addEventGetEventIndex(&newEvent);
 	int16 fluxcageCount;
 	if (isLordChaosOnSquare(mapX, mapY - 1)) {
diff --git a/engines/dm/inventory.cpp b/engines/dm/inventory.cpp
index 7355708..60c6f62 100644
--- a/engines/dm/inventory.cpp
+++ b/engines/dm/inventory.cpp
@@ -466,7 +466,7 @@ void InventoryMan::drawPanelObjectDescriptionString(const char *descString) {
 }
 
 void InventoryMan::drawPanelArrowOrEye(bool pressingEye) {
-	static Box boxArrowOrEye(83, 98, 57, 65); // @ G0033_s_Graphic562_Box_ArrowOrEye 
+	static Box boxArrowOrEye(83, 98, 57, 65); // @ G0033_s_Graphic562_Box_ArrowOrEye
 
 	DisplayMan &dispMan = *_vm->_displayMan;
 	dispMan.blitToViewport(_vm->_displayMan->getNativeBitmapOrGraphic(pressingEye ? k19_EyeForObjectDescriptionIndice : k18_ArrowForChestContentIndice),
@@ -474,7 +474,7 @@ void InventoryMan::drawPanelArrowOrEye(bool pressingEye) {
 }
 
 void InventoryMan::drawPanelObject(Thing thingToDraw, bool pressingEye) {
-	static Box boxObjectDescCircle(105, 136, 53, 79); // @ G0034_s_Graphic562_Box_ObjectDescriptionCircle 
+	static Box boxObjectDescCircle(105, 136, 53, 79); // @ G0034_s_Graphic562_Box_ObjectDescriptionCircle
 
 	DungeonMan &dunMan = *_vm->_dungeonMan;
 	ObjectMan &objMan = *_vm->_objectMan;
@@ -621,7 +621,7 @@ void InventoryMan::drawPanelObject(Thing thingToDraw, bool pressingEye) {
 		}
 		default:
 			break;
-		} // end of switch 
+		} // end of switch
 
 		if (potentialAttribMask) {
 			static const char *attribStringEN[4] = {"CONSUMABLE", "POISONED", "BROKEN", "CURSED"};
@@ -959,7 +959,7 @@ void InventoryMan::clickOnMouth() {
 			newEvent._type = k72_TMEventTypeChampionShield;
 			setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_partyMapIndex, _vm->_gameTime + (adjustedPotionPower * adjustedPotionPower));
 			newEvent._priority = championIndex;
-			newEvent._B._defense = adjustedPotionPower;
+			newEvent._Bu._defense = adjustedPotionPower;
 			_vm->_timeline->addEventGetEventIndex(&newEvent);
 			setFlag(curChampion->_attributes, kDMAttributeStatusBox);
 			}
diff --git a/engines/dm/menus.cpp b/engines/dm/menus.cpp
index e3bc088..20e733b 100644
--- a/engines/dm/menus.cpp
+++ b/engines/dm/menus.cpp
@@ -139,7 +139,7 @@ void MenuMan::initConstants() {
 	_boxActionArea1ActionMenu = Box(224, 319, 77, 97); // @ G0501_s_Graphic560_Box_ActionArea1ActionMenu
 	_boxActionArea2ActionMenu = Box(224, 319, 77, 109); // @ G0500_s_Graphic560_Box_ActionArea2ActionsMenu
 	_boxActionArea3ActionMenu = Box(224, 319, 77, 121); // @ G0499_s_Graphic560_Box_ActionArea3ActionsMenu
-	_boxActionArea = Box(224, 319, 77, 121); // @ G0001_s_Graphic562_Box_ActionArea 
+	_boxActionArea = Box(224, 319, 77, 121); // @ G0001_s_Graphic562_Box_ActionArea
 	_boxSpellArea = Box(224, 319, 42, 74);
 
 	for (int i = 0; i < 44; i++) {
@@ -346,7 +346,7 @@ const char *MenuMan::getActionName(ChampionAction actionIndex) {
 }
 
 void MenuMan::drawSpellAreaControls(ChampionIndex champIndex) {
-	static Box boxSpellAreaControls(233, 319, 42, 49); // @ G0504_s_Graphic560_Box_SpellAreaControls 
+	static Box boxSpellAreaControls(233, 319, 42, 49); // @ G0504_s_Graphic560_Box_SpellAreaControls
 
 	Champion *champ = &_vm->_championMan->_champions[champIndex];
 	_vm->_displayMan->_useByteBoxCoordinates = false;
@@ -421,7 +421,7 @@ void MenuMan::drawSpellAreaControls(ChampionIndex champIndex) {
 }
 
 void MenuMan::buildSpellAreaLine(int16 spellAreaBitmapLine) {
-	static Box boxSpellAreaLine(0, 95, 0, 11); // @ K0074_s_Box_SpellAreaLine 
+	static Box boxSpellAreaLine(0, 95, 0, 11); // @ K0074_s_Box_SpellAreaLine
 
 	char spellSymbolString[2] = {'\0', '\0'};
 	Champion *magicChampion = &_vm->_championMan->_champions[_vm->_championMan->_magicCasterChampionIndex];
@@ -449,8 +449,8 @@ void MenuMan::buildSpellAreaLine(int16 spellAreaBitmapLine) {
 }
 
 void MenuMan::setMagicCasterAndDrawSpellArea(ChampionIndex champIndex) {
-	static Box boxSpellAreaLine2(224, 319, 50, 61); // @ K0075_s_Box_SpellAreaLine2 
-	static Box boxSpellAreaLine3(224, 319, 62, 73); // @ K0076_s_Box_SpellAreaLine3 
+	static Box boxSpellAreaLine2(224, 319, 50, 61); // @ K0075_s_Box_SpellAreaLine2
+	static Box boxSpellAreaLine3(224, 319, 62, 73); // @ K0076_s_Box_SpellAreaLine3
 
 	if ((champIndex == _vm->_championMan->_magicCasterChampionIndex)
 	|| ((champIndex != kDMChampionNone) && !_vm->_championMan->_champions[champIndex]._currHealth))
@@ -624,11 +624,11 @@ int16 MenuMan::getChampionSpellCastResult(uint16 champIndex) {
 			break;
 		case kDMSpellTypeOtherPartyShield: {
 			newEvent._type = k74_TMEventTypePartyShield;
-			newEvent._B._defense = spellPower;
+			newEvent._Bu._defense = spellPower;
 			if (_vm->_championMan->_party._shieldDefense > 50)
-				newEvent._B._defense >>= 2;
+				newEvent._Bu._defense >>= 2;
 
-			_vm->_championMan->_party._shieldDefense += newEvent._B._defense;
+			_vm->_championMan->_party._shieldDefense += newEvent._Bu._defense;
 			_vm->_timeline->refreshAllChampionStatusBoxes();
 			uint16 spellTicks = spellPower * spellPower;
 			setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_partyMapIndex, _vm->_gameTime + spellTicks);
@@ -800,7 +800,7 @@ Potion *MenuMan::getEmptyFlaskInHand(Champion *champ, Thing *potionThing) {
 void MenuMan::createEvent70_light(int16 lightPower, int16 ticks) {
 	TimelineEvent newEvent;
 	newEvent._type = k70_TMEventTypeLight;
-	newEvent._B._lightPower = lightPower;
+	newEvent._Bu._lightPower = lightPower;
 	setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_partyMapIndex, _vm->_gameTime + ticks);
 	newEvent._priority = 0;
 	_vm->_timeline->addEventGetEventIndex(&newEvent);
@@ -821,19 +821,19 @@ bool MenuMan::isPartySpellOrFireShieldSuccessful(Champion *champ, bool spellShie
 			champ->_currMana -= 4;
 	}
 	TimelineEvent newEvent;
-	newEvent._B._defense = ticks >> 5;
+	newEvent._Bu._defense = ticks >> 5;
 	if (spellShield) {
 		newEvent._type = k77_TMEventTypeSpellShield;
 		if (_vm->_championMan->_party._spellShieldDefense > 50)
-			newEvent._B._defense >>= 2;
+			newEvent._Bu._defense >>= 2;
 
-		_vm->_championMan->_party._spellShieldDefense += newEvent._B._defense;
+		_vm->_championMan->_party._spellShieldDefense += newEvent._Bu._defense;
 	} else {
 		newEvent._type = k78_TMEventTypeFireShield;
 		if (_vm->_championMan->_party._fireShieldDefense > 50)
-			newEvent._B._defense >>= 2;
+			newEvent._Bu._defense >>= 2;
 
-		_vm->_championMan->_party._fireShieldDefense += newEvent._B._defense;
+		_vm->_championMan->_party._fireShieldDefense += newEvent._Bu._defense;
 	}
 	newEvent._priority = 0;
 	setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_partyMapIndex, _vm->_gameTime + ticks);
@@ -1310,7 +1310,7 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) {
 		setChampionDirectionToPartyDirection(curChampion);
 		actionPerformed = _vm->_championMan->isObjectThrown(champIndex, kDMSlotActionHand, (curChampion->_cell == returnNextVal(_vm->_dungeonMan->_partyDir)) || (curChampion->_cell == (ViewCell)returnOppositeDir(_vm->_dungeonMan->_partyDir)));
 		if (actionPerformed)
-			_vm->_timeline->_events[curChampion->_enableActionEventIndex]._B._slotOrdinal = _vm->indexToOrdinal(kDMSlotActionHand);
+			_vm->_timeline->_events[curChampion->_enableActionEventIndex]._Bu._slotOrdinal = _vm->indexToOrdinal(kDMSlotActionHand);
 		break;
 	}
 
diff --git a/engines/dm/movesens.cpp b/engines/dm/movesens.cpp
index bca61fe..d28b540 100644
--- a/engines/dm/movesens.cpp
+++ b/engines/dm/movesens.cpp
@@ -81,10 +81,10 @@ bool MovesensMan::sensorIsTriggeredByClickOnWall(int16 mapX, int16 mapY, uint16
 			SensorType processedSensorType = currentSensor->getType();
 			if (processedSensorType == k0_SensorDisabled)
 				continue;
-			
+
 			if ((_vm->_championMan->_leaderIndex == kDMChampionNone) && (processedSensorType != k127_SensorWallChampionPortrait))
 				continue;
-			
+
 			if (cellIdx != cellParam)
 				continue;
 
@@ -205,7 +205,7 @@ bool MovesensMan::sensorIsTriggeredByClickOnWall(int16 mapX, int16 mapY, uint16
 			continue;
 		}
 		if (ProcessedThingType >= k4_GroupThingType)
-			break;		
+			break;
 	}
 	processRotationEffect();
 	return atLeastOneSensorWasTriggered;
@@ -508,7 +508,7 @@ bool MovesensMan::moveIsKilledByProjectileImpact(int16 srcMapX, int16 srcMapY, i
 	Party:      Projectiles on target square:   Incorrect result without the test for the intermediary step (the champion would have passed through the projectile without impact):
 	00    ->    00                         00
 	01          P0                         P1 */
-	byte intermediaryChampionOrCreatureOrdinalInCell[4]; 
+	byte intermediaryChampionOrCreatureOrdinalInCell[4];
 
 	/* This array has an entry for each cell on the source square, containing the ordinal of the champion
 	or creature (0 if there is no champion or creature at this cell) */
@@ -592,8 +592,8 @@ void MovesensMan::addEvent(byte type, byte mapX, byte mapY, byte cell, byte effe
 	setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_currMapIndex, time);
 	newEvent._type = type;
 	newEvent._priority = 0;
-	newEvent._B._location._mapX = mapX;
-	newEvent._B._location._mapY = mapY;
+	newEvent._Bu._location._mapX = mapX;
+	newEvent._Bu._location._mapY = mapY;
 	newEvent._C.A._cell = cell;
 	newEvent._C.A._effect = effect;
 	_vm->_timeline->addEventGetEventIndex(&newEvent);
@@ -665,7 +665,7 @@ int16 MovesensMan::getTeleporterRotatedGroupResult(Teleporter *teleporter, Thing
 			updatedGroupDirections = _vm->_groupMan->getGroupValueUpdatedWithCreatureValue(updatedGroupDirections, creatureIdx, absoluteRotation ? rotation : normalizeModulo4(groupDirections + rotation));
 			if (creatureSize == k0_MaskCreatureSizeQuarter) {
 				relativeRotation = absoluteRotation ? 1 : 0;
-				if (relativeRotation) 
+				if (relativeRotation)
 					relativeRotation = rotation;
 			}
 			if (relativeRotation)
@@ -990,8 +990,8 @@ void MovesensMan::createEventMoveGroup(Thing groupThing, int16 mapX, int16 mapY,
 	setMapAndTime(newEvent._mapTime, mapIndex, _vm->_gameTime + 5);
 	newEvent._type = audible ? k61_TMEventTypeMoveGroupAudible : k60_TMEventTypeMoveGroupSilent;
 	newEvent._priority = 0;
-	newEvent._B._location._mapX = mapX;
-	newEvent._B._location._mapY = mapY;
+	newEvent._Bu._location._mapX = mapX;
+	newEvent._Bu._location._mapY = mapY;
 	newEvent._C._slot = groupThing.toUint16();
 	_vm->_timeline->addEventGetEventIndex(&newEvent);
 }
diff --git a/engines/dm/projexpl.cpp b/engines/dm/projexpl.cpp
index c9682a1..131e015 100644
--- a/engines/dm/projexpl.cpp
+++ b/engines/dm/projexpl.cpp
@@ -64,7 +64,7 @@ void ProjExpl::createProjectile(Thing thing, int16 mapX, int16 mapY, uint16 cell
 		newEvent._type = k48_TMEventTypeMoveProjectileIgnoreImpacts; /* Projectiles created by champions or creatures ignore impacts on their first movement */
 
 	newEvent._priority = 0;
-	newEvent._B._slot = projectileThing.toUint16();
+	newEvent._Bu._slot = projectileThing.toUint16();
 	newEvent._C._projectile.setMapX(mapX);
 	newEvent._C._projectile.setMapY(mapY);
 	newEvent._C._projectile.setStepEnergy(stepEnergy);
@@ -315,8 +315,8 @@ void ProjExpl::createExplosion(Thing explThing, uint16 attack, uint16 mapXCombo,
 	newEvent._type = k25_TMEventTypeExplosion;
 	newEvent._priority = 0;
 	newEvent._C._slot = unusedThing.toUint16();
-	newEvent._B._location._mapX = projectileMapX;
-	newEvent._B._location._mapY = projectileMapY;
+	newEvent._Bu._location._mapX = projectileMapX;
+	newEvent._Bu._location._mapY = projectileMapY;
 	_vm->_timeline->addEventGetEventIndex(&newEvent);
 	if ((explThing == Thing::_explLightningBolt) || (explThing == Thing::_explFireBall)) {
 		projectileMapX = projectileTargetMapX;
@@ -350,7 +350,7 @@ void ProjExpl::createExplosion(Thing explThing, uint16 attack, uint16 mapXCombo,
 int16 ProjExpl::projectileGetImpactCount(int16 impactType, int16 mapX, int16 mapY, int16 cell) {
 	int16 impactCount = 0;
 	_creatureDamageOutcome = k0_outcomeKilledNoCreaturesInGroup;
-	
+
 	for (Thing curThing = _vm->_dungeonMan->getSquareFirstThing(mapX, mapY); curThing != Thing::_endOfList; ) {
 		if (((curThing).getType() == k14_ProjectileThingType) && ((curThing).getCell() == cell) &&
 			hasProjectileImpactOccurred(impactType, mapX, mapY, cell, curThing)) {
@@ -394,7 +394,7 @@ void ProjExpl::processEvents48To49(TimelineEvent *event) {
 	int16 sourceMapY = -1;
 	TimelineEvent firstEvent = *event;
 	TimelineEvent *curEvent = &firstEvent;
-	Thing projectileThingNewCell = Thing(curEvent->_B._slot);
+	Thing projectileThingNewCell = Thing(curEvent->_Bu._slot);
 	Thing projectileThing  = projectileThingNewCell;
 	Projectile *projectile = (Projectile *)_vm->_dungeonMan->getThingData(projectileThing);
 	int16 destinationMapX = curEvent->_C._projectile.getMapX();
@@ -423,7 +423,7 @@ void ProjExpl::processEvents48To49(TimelineEvent *event) {
 			projectile->_attack -= stepEnergy;
 	}
 	uint16 projectileDirection = curEvent->_C._projectile.getDir();
-	projectileThingNewCell = Thing(curEvent->_B._slot);
+	projectileThingNewCell = Thing(curEvent->_Bu._slot);
 	uint16 projectileNewCell = projectileThingNewCell.getCell();
 	bool projectileMovesToOtherSquare = (projectileDirection == projectileNewCell) || (returnNextVal(projectileDirection) == projectileNewCell);
 	if (projectileMovesToOtherSquare) {
@@ -465,13 +465,13 @@ void ProjExpl::processEvents48To49(TimelineEvent *event) {
 	// This code is from CSB20. The projectiles move at the same speed on all maps instead of moving slower on maps other than the party map */
 	curEvent->_mapTime++;
 
-	curEvent->_B._slot = projectileThingNewCell.toUint16();
+	curEvent->_Bu._slot = projectileThingNewCell.toUint16();
 	projectile->_eventIndex = _vm->_timeline->addEventGetEventIndex(curEvent);
 }
 
 void ProjExpl::processEvent25(TimelineEvent *event) {
-	uint16 mapX = event->_B._location._mapX;
-	uint16 mapY = event->_B._location._mapY;
+	uint16 mapX = event->_Bu._location._mapX;
+	uint16 mapY = event->_Bu._location._mapY;
 	Explosion *explosion = &((Explosion *)_vm->_dungeonMan->_thingData[k15_ExplosionThingType])[Thing((event->_C._slot)).getIndex()];
 	int16 curSquareType = Square(_vm->_dungeonMan->_currMapData[mapX][mapY]).getType();
 	bool explosionOnPartySquare = (_vm->_dungeonMan->_currMapIndex == _vm->_dungeonMan->_partyMapIndex) && (mapX == _vm->_dungeonMan->_partyMapX) && (mapY == _vm->_dungeonMan->_partyMapY);
diff --git a/engines/dm/sounds.cpp b/engines/dm/sounds.cpp
index bcc333c..1a8b9a3 100644
--- a/engines/dm/sounds.cpp
+++ b/engines/dm/sounds.cpp
@@ -206,8 +206,8 @@ void SoundMan::requestPlay(uint16 soundIndex, int16 mapX, int16 mapY, uint16 mod
 		newEvent._type = k20_TMEventTypePlaySound;
 		newEvent._priority = sound->_priority;
 		newEvent._C._soundIndex = soundIndex;
-		newEvent._B._location._mapX = mapX;
-		newEvent._B._location._mapY = mapY;
+		newEvent._Bu._location._mapX = mapX;
+		newEvent._Bu._location._mapY = mapY;
 		_vm->_timeline->addEventGetEventIndex(&newEvent);
 		return;
 	}
diff --git a/engines/dm/timeline.cpp b/engines/dm/timeline.cpp
index 8ec70f7..adb8825 100644
--- a/engines/dm/timeline.cpp
+++ b/engines/dm/timeline.cpp
@@ -124,7 +124,7 @@ void Timeline::deleteEvent(uint16 eventIndex) {
 		_firstUnusedEventIndex = eventIndex;
 
 	_eventCount--;
-	
+
 	uint16 eventCount = _eventCount;
 	if (eventCount == 0)
 		return;
@@ -160,7 +160,7 @@ void Timeline::fixChronology(uint16 timelineIndex) {
 			uint16 altTimelineIndex = (timelineIndex << 1) + 1;
 			if (((altTimelineIndex + 1) < _eventCount) && (isEventABeforeB(&_events[_timeline[altTimelineIndex + 1]], &_events[_timeline[altTimelineIndex]])))
 				altTimelineIndex++;
-			
+
 			if (isEventABeforeB(&_events[_timeline[altTimelineIndex]], timelineEvent)) {
 				_timeline[timelineIndex] = _timeline[altTimelineIndex];
 				timelineIndex = altTimelineIndex;
@@ -262,7 +262,7 @@ void Timeline::processTimeline() {
 		_vm->_dungeonMan->setCurrentMap(getMap(newEvent._mapTime));
 		uint16 curEventType = newEvent._type;
 		if ((curEventType > (k29_TMEventTypeGroupReactionDangerOnSquare - 1)) && (curEventType < (k41_TMEventTypeUpdateBehaviour_3 + 1)))
-			_vm->_groupMan->processEvents29to41(newEvent._B._location._mapX, newEvent._B._location._mapY, curEventType, newEvent._C._ticks);
+			_vm->_groupMan->processEvents29to41(newEvent._Bu._location._mapX, newEvent._Bu._location._mapY, curEventType, newEvent._C._ticks);
 		else {
 			switch (curEventType) {
 			case k48_TMEventTypeMoveProjectileIgnoreImpacts:
@@ -304,19 +304,19 @@ void Timeline::processTimeline() {
 				procesEventEnableGroupGenerator(curEvent);
 				break;
 			case k20_TMEventTypePlaySound:
-				_vm->_sound->requestPlay(newEvent._C._soundIndex, newEvent._B._location._mapX, newEvent._B._location._mapY, k1_soundModePlayIfPrioritized);
+				_vm->_sound->requestPlay(newEvent._C._soundIndex, newEvent._Bu._location._mapX, newEvent._Bu._location._mapY, k1_soundModePlayIfPrioritized);
 				break;
 			case k24_TMEventTypeRemoveFluxcage:
 				if (!_vm->_gameWon) {
-					_vm->_dungeonMan->unlinkThingFromList(Thing(newEvent._C._slot), Thing(0), newEvent._B._location._mapX, newEvent._B._location._mapY);
+					_vm->_dungeonMan->unlinkThingFromList(Thing(newEvent._C._slot), Thing(0), newEvent._Bu._location._mapX, newEvent._Bu._location._mapY);
 					curEvent = (TimelineEvent *)_vm->_dungeonMan->getThingData(Thing(newEvent._C._slot));
 					((Explosion *)curEvent)->setNextThing(Thing::_none);
 				}
 				break;
 			case k11_TMEventTypeEnableChampionAction:
 				processEventEnableChampionAction(newEvent._priority);
-				if (newEvent._B._slotOrdinal)
-					processEventMoveWeaponFromQuiverToSlot(newEvent._priority, _vm->ordinalToIndex(newEvent._B._slotOrdinal));
+				if (newEvent._Bu._slotOrdinal)
+					processEventMoveWeaponFromQuiverToSlot(newEvent._priority, _vm->ordinalToIndex(newEvent._Bu._slotOrdinal));
 
 				_vm->_championMan->drawChampionState((ChampionIndex)newEvent._priority);
 				break;
@@ -332,7 +332,7 @@ void Timeline::processTimeline() {
 				_vm->_championMan->_party._event71Count_Invisibility--;
 				break;
 			case k72_TMEventTypeChampionShield:
-				_vm->_championMan->_champions[newEvent._priority]._shieldDefense -= newEvent._B._defense;
+				_vm->_championMan->_champions[newEvent._priority]._shieldDefense -= newEvent._Bu._defense;
 				setFlag(_vm->_championMan->_champions[newEvent._priority]._attributes, kDMAttributeStatusBox);
 				_vm->_championMan->drawChampionState((ChampionIndex)newEvent._priority);
 				break;
@@ -340,21 +340,21 @@ void Timeline::processTimeline() {
 				_vm->_championMan->_party._event73Count_ThievesEye--;
 				break;
 			case k74_TMEventTypePartyShield:
-				_vm->_championMan->_party._shieldDefense -= newEvent._B._defense;
+				_vm->_championMan->_party._shieldDefense -= newEvent._Bu._defense;
 				refreshAllChampionStatusBoxes();
 				break;
 			case k77_TMEventTypeSpellShield:
-				_vm->_championMan->_party._spellShieldDefense -= newEvent._B._defense;
+				_vm->_championMan->_party._spellShieldDefense -= newEvent._Bu._defense;
 				refreshAllChampionStatusBoxes();
 				break;
 			case k78_TMEventTypeFireShield:
-				_vm->_championMan->_party._fireShieldDefense -= newEvent._B._defense;
+				_vm->_championMan->_party._fireShieldDefense -= newEvent._Bu._defense;
 				refreshAllChampionStatusBoxes();
 				break;
 			case k75_TMEventTypePoisonChampion: {
 				uint16 championIndex = newEvent._priority;
 				_vm->_championMan->_champions[championIndex = newEvent._priority]._poisonEventCount--;
-				_vm->_championMan->championPoison(championIndex, newEvent._B._attack);
+				_vm->_championMan->championPoison(championIndex, newEvent._Bu._attack);
 				}
 				break;
 			case k13_TMEventTypeViAltarRebirth:
@@ -380,8 +380,8 @@ void Timeline::extractFirstEvent(TimelineEvent *event) {
 }
 
 void Timeline::processEventDoorAnimation(TimelineEvent *event) {
-	uint16 mapX = event->_B._location._mapX;
-	uint16 mapY = event->_B._location._mapY;
+	uint16 mapX = event->_Bu._location._mapX;
+	uint16 mapY = event->_Bu._location._mapY;
 	Square *curSquare = (Square *)&_vm->_dungeonMan->_currMapData[mapX][mapY];
 	int16 doorState = Square(*curSquare).getDoorState();
 	if (doorState == k5_doorState_DESTROYED)
@@ -444,8 +444,8 @@ void Timeline::processEventDoorAnimation(TimelineEvent *event) {
 }
 
 void Timeline::processEventSquareFakewall(TimelineEvent *event) {
-	uint16 mapX = event->_B._location._mapX;
-	uint16 mapY = event->_B._location._mapY;
+	uint16 mapX = event->_Bu._location._mapX;
+	uint16 mapY = event->_Bu._location._mapY;
 	byte *curSquare = &_vm->_dungeonMan->_currMapData[mapX][mapY];
 	int16 effect = event->_C.A._effect;
 	if (effect == k2_SensorEffToggle)
@@ -468,12 +468,12 @@ void Timeline::processEventSquareFakewall(TimelineEvent *event) {
 }
 
 void Timeline::processEventDoorDestruction(TimelineEvent *event) {
-	Square *square = (Square *)&_vm->_dungeonMan->_currMapData[event->_B._location._mapX][event->_B._location._mapY];
+	Square *square = (Square *)&_vm->_dungeonMan->_currMapData[event->_Bu._location._mapX][event->_Bu._location._mapY];
 	square->setDoorState(k5_doorState_DESTROYED);
 }
 
 void Timeline::processEventSquareDoor(TimelineEvent *event) {
-	int16 doorState = Square(_vm->_dungeonMan->_currMapData[event->_B._location._mapX][event->_B._location._mapY]).getDoorState();
+	int16 doorState = Square(_vm->_dungeonMan->_currMapData[event->_Bu._location._mapX][event->_Bu._location._mapY]).getDoorState();
 	if (doorState == k5_doorState_DESTROYED)
 		return;
 
@@ -488,8 +488,8 @@ void Timeline::processEventSquareDoor(TimelineEvent *event) {
 }
 
 void Timeline::processEventSquarePit(TimelineEvent *event) {
-	uint16 mapX = event->_B._location._mapX;
-	uint16 mapY = event->_B._location._mapY;
+	uint16 mapX = event->_Bu._location._mapX;
+	uint16 mapY = event->_Bu._location._mapY;
 
 	byte *square = &_vm->_dungeonMan->_currMapData[mapX][mapY];
 	if (event->_C.A._effect == k2_SensorEffToggle)
@@ -537,14 +537,14 @@ void Timeline::moveTeleporterOrPitSquareThings(uint16 mapX, uint16 mapY) {
 			newEvent->_C._projectile.setMapX(_vm->_moveSens->_moveResultMapX);
 			newEvent->_C._projectile.setMapY(_vm->_moveSens->_moveResultMapY);
 			newEvent->_C._projectile.setDir((Direction)_vm->_moveSens->_moveResultDir);
-			newEvent->_B._slot = thingWithNewCell(curThing, _vm->_moveSens->_moveResultCell).toUint16();
+			newEvent->_Bu._slot = thingWithNewCell(curThing, _vm->_moveSens->_moveResultCell).toUint16();
 			M31_setMap(newEvent->_mapTime, _vm->_moveSens->_moveResultMapIndex);
 		} else if (curThingType == k15_ExplosionThingType) {
 			TimelineEvent *newEvent = _events;
 			for (uint16 i = 0; i < _eventMaxCount; newEvent++, i++) {
 				if ((newEvent->_type == k25_TMEventTypeExplosion) && (newEvent->_C._slot == curThing.toUint16())) { /* BUG0_23 A Fluxcage explosion remains on a square forever. If you open a pit or teleporter on a square where there is a Fluxcage explosion, the Fluxcage explosion is moved but the associated event is not updated (because Fluxcage explosions do not use k25_TMEventTypeExplosion but rather k24_TMEventTypeRemoveFluxcage) causing the Fluxcage explosion to remain in the dungeon forever on its destination square. When the k24_TMEventTypeRemoveFluxcage expires the explosion thing is not removed, but it is marked as unused. Consequently, any objects placed on the Fluxcage square after it was moved but before it expires become orphans upon expiration. After expiration, any object placed on the fluxcage square is cloned when picked up */
-					newEvent->_B._location._mapX = _vm->_moveSens->_moveResultMapX;
-					newEvent->_B._location._mapY = _vm->_moveSens->_moveResultMapY;
+					newEvent->_Bu._location._mapX = _vm->_moveSens->_moveResultMapX;
+					newEvent->_Bu._location._mapY = _vm->_moveSens->_moveResultMapY;
 					newEvent->_C._slot = thingWithNewCell(curThing, _vm->_moveSens->_moveResultCell).toUint16();
 					M31_setMap(newEvent->_mapTime, _vm->_moveSens->_moveResultMapIndex);
 				}
@@ -555,8 +555,8 @@ void Timeline::moveTeleporterOrPitSquareThings(uint16 mapX, uint16 mapY) {
 }
 
 void Timeline::processEventSquareTeleporter(TimelineEvent *event) {
-	uint16 mapX = event->_B._location._mapX;
-	uint16 mapY = event->_B._location._mapY;
+	uint16 mapX = event->_Bu._location._mapX;
+	uint16 mapY = event->_Bu._location._mapY;
 
 	byte *curSquare = &_vm->_dungeonMan->_currMapData[mapX][mapY];
 	if (event->_C.A._effect == k2_SensorEffToggle)
@@ -570,8 +570,8 @@ void Timeline::processEventSquareTeleporter(TimelineEvent *event) {
 }
 
 void Timeline::processEventSquareWall(TimelineEvent *event) {
-	int16 mapX = event->_B._location._mapX;
-	int16 mapY = event->_B._location._mapY;
+	int16 mapX = event->_Bu._location._mapX;
+	int16 mapY = event->_Bu._location._mapY;
 	Thing curThing = _vm->_dungeonMan->getSquareFirstThing(mapX, mapY);
 	uint16 curCell = event->_C.A._cell;
 	while (curThing != Thing::_endOfList) {
@@ -612,7 +612,7 @@ void Timeline::processEventSquareWall(TimelineEvent *event) {
 					clearFlag(curSensorData, bitMask);
 				else
 					setFlag(curSensorData, bitMask);
-	
+
 				curThingSensor->setData(curSensorData);
 				bool triggerSetEffect = (Sensor::getDataMask1(curSensorData) == Sensor::getDataMask2(curSensorData)) != curThingSensor->getAttrRevertEffectA();
 				if (curThingSensor->getAttrEffectA() == k3_SensorEffHold)
@@ -636,8 +636,8 @@ void Timeline::processEventSquareWall(TimelineEvent *event) {
 }
 
 void Timeline::triggerProjectileLauncher(Sensor *sensor, TimelineEvent *event) {
-	int16 mapX = event->_B._location._mapX;
-	int16 mapY = event->_B._location._mapY;
+	int16 mapX = event->_Bu._location._mapX;
+	int16 mapY = event->_Bu._location._mapY;
 	uint16 cell = event->_C.A._cell;
 	uint16 projectileCell = returnOppositeDir((Direction)cell);
 	int16 sensorType = sensor->getType();
@@ -701,8 +701,8 @@ void Timeline::triggerProjectileLauncher(Sensor *sensor, TimelineEvent *event) {
 }
 
 void Timeline::processEventSquareCorridor(TimelineEvent *event) {
-	uint16 mapX = event->_B._location._mapX;
-	uint16 mapY = event->_B._location._mapY;
+	uint16 mapX = event->_Bu._location._mapX;
+	uint16 mapY = event->_Bu._location._mapY;
 	Thing curThing = _vm->_dungeonMan->getSquareFirstThing(mapX, mapY);
 	while (curThing != Thing::_endOfList) {
 		int16 curThingType = curThing.getType();
@@ -748,9 +748,9 @@ void Timeline::processEventSquareCorridor(TimelineEvent *event) {
 						newEvent._type = k65_TMEventTypeEnableGroupGenerator;
 						setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_currMapIndex, _vm->_gameTime + actionTicks);
 						newEvent._priority = 0;
-						newEvent._B._location._mapX = mapX;
-						newEvent._B._location._mapY = mapY;
-						newEvent._B._location._mapY = mapY;
+						newEvent._Bu._location._mapX = mapX;
+						newEvent._Bu._location._mapY = mapY;
+						newEvent._Bu._location._mapY = mapY;
 						addEventGetEventIndex(&newEvent);
 					}
 				}
@@ -762,8 +762,8 @@ void Timeline::processEventSquareCorridor(TimelineEvent *event) {
 
 void Timeline::processEventsMoveGroup(TimelineEvent *event) {
 	bool randomDirectionMoveRetried = false;
-	uint16 mapX = event->_B._location._mapX;
-	uint16 mapY = event->_B._location._mapY;
+	uint16 mapX = event->_Bu._location._mapX;
+	uint16 mapY = event->_Bu._location._mapY;
 
 T0252001:
 	if (((_vm->_dungeonMan->_currMapIndex != _vm->_dungeonMan->_partyMapIndex) || (mapX != _vm->_dungeonMan->_partyMapX) || (mapY != _vm->_dungeonMan->_partyMapY)) && (_vm->_groupMan->groupGetThing(mapX, mapY) == Thing::_endOfList)) { /* BUG0_24 Lord Chaos may teleport into one of the Black Flames and become invisible until the Black Flame is killed. In this case, _vm->_groupMan->f175_groupGetThing returns the Black Flame thing and the Lord Chaos thing is not moved into the dungeon until the Black Flame is killed */
@@ -799,7 +799,7 @@ T0252001:
 }
 
 void Timeline::procesEventEnableGroupGenerator(TimelineEvent *event) {
-	Thing curThing = _vm->_dungeonMan->getSquareFirstThing(event->_B._location._mapX, event->_B._location._mapY);
+	Thing curThing = _vm->_dungeonMan->getSquareFirstThing(event->_Bu._location._mapX, event->_Bu._location._mapY);
 	while (curThing != Thing::_none) {
 		if ((curThing.getType()) == k3_SensorThingType) {
 			Sensor *curSensor = (Sensor *)_vm->_dungeonMan->getThingData(curThing);
@@ -878,7 +878,7 @@ void Timeline::processEventHideDamageReceived(uint16 champIndex) {
 }
 
 void Timeline::processEventLight(TimelineEvent *event) {
-	int16 lightPower = event->_B._lightPower;
+	int16 lightPower = event->_Bu._lightPower;
 	if (lightPower == 0)
 		return;
 
@@ -896,7 +896,7 @@ void Timeline::processEventLight(TimelineEvent *event) {
 	if (weakerLightPower) {
 		TimelineEvent newEvent;
 		newEvent._type = k70_TMEventTypeLight;
-		newEvent._B._lightPower = weakerLightPower;
+		newEvent._Bu._lightPower = weakerLightPower;
 		setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_partyMapIndex, _vm->_gameTime + 4);
 		newEvent._priority = 0;
 		addEventGetEventIndex(&newEvent);
@@ -911,8 +911,8 @@ void Timeline::refreshAllChampionStatusBoxes() {
 }
 
 void Timeline::processEventViAltarRebirth(TimelineEvent *event) {
-	int16 mapX = event->_B._location._mapX;
-	int16 mapY = event->_B._location._mapY;
+	int16 mapX = event->_Bu._location._mapX;
+	int16 mapY = event->_Bu._location._mapY;
 	uint16 cell = event->_C.A._cell;
 	uint16 championIndex = event->_priority;
 	uint16 rebirthStep = event->_C.A._effect;
@@ -955,8 +955,8 @@ void Timeline::saveEventsPart(Common::OutSaveFile *file) {
 		file->writeSint32BE(event->_mapTime);
 		file->writeByte(event->_type);
 		file->writeByte(event->_priority);
-		file->writeByte(event->_B._location._mapX); // writing bytes of the union I think should preserve the union's identity
-		file->writeByte(event->_B._location._mapY);
+		file->writeByte(event->_Bu._location._mapX); // writing bytes of the union I think should preserve the union's identity
+		file->writeByte(event->_Bu._location._mapY);
 		file->writeUint16BE(event->_C.A._cell); // writing bytes of the union I think should preserve the union's identity
 		file->writeUint16BE(event->_C.A._effect);
 	}
@@ -973,8 +973,8 @@ void Timeline::loadEventsPart(Common::InSaveFile *file) {
 		event->_mapTime = file->readSint32BE();
 		event->_type = file->readByte();
 		event->_priority = file->readByte();
-		event->_B._location._mapX = file->readByte();
-		event->_B._location._mapY = file->readByte();
+		event->_Bu._location._mapX = file->readByte();
+		event->_Bu._location._mapY = file->readByte();
 		event->_C.A._cell = file->readUint16BE();
 		event->_C.A._effect = file->readUint16BE();
 	}
diff --git a/engines/dm/timeline.h b/engines/dm/timeline.h
index ef076be..168ae3f 100644
--- a/engines/dm/timeline.h
+++ b/engines/dm/timeline.h
@@ -118,9 +118,9 @@ public:
 		int16 _slotOrdinal;
 	};
 
-	B_unionTimelineEvent _B;
+	B_unionTimelineEvent _Bu;
 
-	int16 getMapXY() { return (_B._location._mapX << 8) + _B._location._mapY; }
+	int16 getMapXY() { return (_Bu._location._mapX << 8) + _Bu._location._mapY; }
 
 	union C_uionTimelineEvent {
 		struct {


Commit: 2fd23749924d0ee23f0fe9e48b8bc7831df54853
    https://github.com/scummvm/scummvm/commit/2fd23749924d0ee23f0fe9e48b8bc7831df54853
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-09-10T21:54:22+02:00

Commit Message:
DM: Rename _C to _Cu

Changed paths:
    engines/dm/eventman.cpp
    engines/dm/gfx.cpp
    engines/dm/group.cpp
    engines/dm/movesens.cpp
    engines/dm/projexpl.cpp
    engines/dm/sounds.cpp
    engines/dm/timeline.cpp
    engines/dm/timeline.h



diff --git a/engines/dm/eventman.cpp b/engines/dm/eventman.cpp
index 508f959..e95f7e3 100644
--- a/engines/dm/eventman.cpp
+++ b/engines/dm/eventman.cpp
@@ -1388,8 +1388,8 @@ void EventManager::processType80_clickInDungeonViewDropLeaderHandObject(uint16 v
 		newEvent._priority = removedJunk->getChargeCount();
 		newEvent._Bu._location._mapX = mapX;
 		newEvent._Bu._location._mapY = mapY;
-		newEvent._C.A._cell = currCell;
-		newEvent._C.A._effect = k2_SensorEffToggle;
+		newEvent._Cu.A._cell = currCell;
+		newEvent._Cu.A._effect = k2_SensorEffToggle;
 		_vm->_timeline->addEventGetEventIndex(&newEvent);
 	}
 	_vm->_stopWaitingForPlayerInput = true;
diff --git a/engines/dm/gfx.cpp b/engines/dm/gfx.cpp
index 3c992a8..e02baa7 100644
--- a/engines/dm/gfx.cpp
+++ b/engines/dm/gfx.cpp
@@ -163,7 +163,7 @@ void DisplayMan::initConstants() {
 	};
 
 	const ExplosionAspect explosionAspects[k4_ExplosionAspectCount] = { // @ G0211_as_Graphic558_ExplosionAspects
-		// ByteWidth, Height 
+		// ByteWidth, Height
 		ExplosionAspect(80, 111),   // Fire
 		ExplosionAspect(64,  97),   // Spell
 		ExplosionAspect(80,  91),   // Poison
@@ -411,7 +411,7 @@ void DisplayMan::initConstants() {
 	   Frame(124, 159, 17, 102, 48, 88, 48, 0)	 /* Right Horizontal Closed three fourth */
 	);
 
-	_boxThievesEyeViewPortVisibleArea = Box(64, 159, 19, 113); // @ G0106_s_Graphic558_Box_ThievesEye_ViewportVisibleArea 
+	_boxThievesEyeViewPortVisibleArea = Box(64, 159, 19, 113); // @ G0106_s_Graphic558_Box_ThievesEye_ViewportVisibleArea
 	_boxMovementArrows = Box(224, 319, 124, 168); // @ G0002_s_Graphic562_Box_MovementArrows
 }
 
@@ -1475,7 +1475,7 @@ void DisplayMan::drawSquareD2L(Direction dir, int16 posX, int16 posY) {
 		isDrawnWallOrnAnAlcove(squareAspect[k2_RightWallOrnOrdAspect], k5_ViewWall_D2L_RIGHT);
 		if (isDrawnWallOrnAnAlcove(squareAspect[k3_FrontWallOrnOrdAspect], k7_ViewWall_D2L_FRONT))
 			order = k0x0000_CellOrder_Alcove;
-		else 
+		else
 			return;
 		break;
 	case k18_ElementTypeStairsSide:
@@ -1860,7 +1860,7 @@ void DisplayMan::drawSquareD1C(Direction dir, int16 posX, int16 posY) {
 	static Frame frameStairsDownFrontD1C = Frame(32, 191, 18, 108, 80, 91, 0, 0); // @ G0128_s_Graphic558_Frame_StairsDownFront_D1C
 	static Frame frameFloorPitD1C = Frame(32, 191, 93, 116, 80, 24, 0, 0); // @ G0147_s_Graphic558_Frame_FloorPit_D1C
 	static Frame frameCeilingPitD1C = Frame(32, 191, 8, 16, 80, 9, 0, 0); // @ G0156_s_Graphic558_Frame_CeilingPit_D1C
-	static Box boxThievesEyeVisibleArea(0, 95, 0, 94); // @ G0107_s_Graphic558_Box_ThievesEye_VisibleArea 
+	static Box boxThievesEyeVisibleArea(0, 95, 0, 94); // @ G0107_s_Graphic558_Box_ThievesEye_VisibleArea
 
 	int16 order;
 	uint16 squareAspect[5];
@@ -2007,7 +2007,7 @@ void DisplayMan::drawSquareD0C(Direction dir, int16 posX, int16 posY) {
 	static Frame frameStairsDownFrontD0R = Frame(192, 223, 76, 135, 16, 60, 0, 0); // @ G0131_s_Graphic558_Frame_StairsDownFront_D0R
 	static Frame frameFloorPitD0C = Frame(16, 207, 124, 135, 96, 12, 0, 0); // @ G0150_s_Graphic558_Frame_FloorPit_D0C
 	static Frame frameCeilingPitD0C = Frame(16, 207, 0, 3, 96, 4, 0, 0); // @ G0159_s_Graphic558_Frame_CeilingPit_D0C
-	static Box boxThievesEyeHoleInDoorFrame(0, 31, 19, 113); // @ G0108_s_Graphic558_Box_ThievesEye_HoleInDoorFrame 
+	static Box boxThievesEyeHoleInDoorFrame(0, 31, 19, 113); // @ G0108_s_Graphic558_Box_ThievesEye_HoleInDoorFrame
 
 	uint16 squareAspect[5];
 
@@ -2700,7 +2700,7 @@ bool DisplayMan::isDrawnWallOrnAnAlcove(int16 wallOrnOrd, ViewWall viewWallIndex
 			copyBitmapAndFlipHorizontal(ornBlitBitmap, _tmpBitmap, ornCoordSet[4], ornCoordSet[5]);
 			ornBlitBitmap = _tmpBitmap;
 			blitPosX = 15 - (blitPosX & 0x000F);
-		} else if (viewWallIndex == k7_ViewWall_D2L_FRONT) 
+		} else if (viewWallIndex == k7_ViewWall_D2L_FRONT)
 			blitPosX -= ornCoordSet[1] - ornCoordSet[0];
 		else
 			blitPosX = 0;
@@ -2871,7 +2871,7 @@ void DisplayMan::drawObjectsCreaturesProjectilesExplosions(Thing thingParam, Dir
 	bool projectileFlipVertical = false;
 
 	/* This is the full dungeon view */
-	static Box boxExplosionPatternD0C = Box(0, 223, 0, 135); // @ G0105_s_Graphic558_Box_ExplosionPattern_D0C 
+	static Box boxExplosionPatternD0C = Box(0, 223, 0, 135); // @ G0105_s_Graphic558_Box_ExplosionPattern_D0C
 
 	static byte explosionBaseScales[5] = { // @ G0216_auc_Graphic558_ExplosionBaseScales
 		10,  /* D4 */
@@ -3507,7 +3507,7 @@ T0115129_DrawProjectiles:
 					if (projectileAspectType == k3_ProjectileAspectHasNone) {
 						projectileBitmapIndexDelta = 0;
 						flipVertical = flipHorizontal = false;
-					} else if (isOrientedWestEast(Direction(projectileDirection = _vm->_timeline->_events[projectile->_eventIndex]._C._projectile.getDir())) != isOrientedWestEast(directionParam)) {
+					} else if (isOrientedWestEast(Direction(projectileDirection = _vm->_timeline->_events[projectile->_eventIndex]._Cu._projectile.getDir())) != isOrientedWestEast(directionParam)) {
 						if (projectileAspectType == k2_ProjectileAspectHasRotation)
 							projectileBitmapIndexDelta = 1;
 						else
@@ -3757,7 +3757,7 @@ bool DisplayMan::isDerivedBitmapInCache(int16 derivedBitmapIndex) {
 		// * 2, because the original uses 4 bits instead of 8 bits to store a pixel
 		_derivedBitmaps[derivedBitmapIndex] = new byte[_derivedBitmapByteCount[derivedBitmapIndex] * 2];
 		return false;
-	} 
+	}
 
 	return true;
 }
@@ -3790,7 +3790,7 @@ uint16 DisplayMan::getDarkenedColor(uint16 RGBcolor) {
 void DisplayMan::startEndFadeToPalette(uint16* P0849_pui_Palette) {
 	uint16 *paletteRegister = _paletteFadeTemporary;
 
-	for (int16 i = 0; i < 16; i++) 
+	for (int16 i = 0; i < 16; i++)
 		paletteRegister[i] = _paletteFadeFrom[i];
 
 	for (int16 i = 0; i < 8; i++) {
diff --git a/engines/dm/group.cpp b/engines/dm/group.cpp
index 416c91b..f8d175a 100644
--- a/engines/dm/group.cpp
+++ b/engines/dm/group.cpp
@@ -636,7 +636,7 @@ T0209005_AddEventAndReturn:
 		if (eventType < 0)
 			return;
 		nextEvent._type = eventType;
-		nextEvent._C._ticks = ticks;
+		nextEvent._Cu._ticks = ticks;
 		AL0446_i_Ticks = 4; /* Retry in 4 ticks */
 		goto T0209005_AddEventAndReturn;
 	}
@@ -1336,10 +1336,10 @@ void GroupMan::addGroupEvent(TimelineEvent *event, uint32 time) {
 	warning("potentially dangerous cast to uint32 below");
 	if (time < (uint32)filterTime(event->_mapTime)) {
 		event->_type -= 5;
-		event->_C._ticks = filterTime(event->_mapTime) - time;
+		event->_Cu._ticks = filterTime(event->_mapTime) - time;
 		M32_setTime(event->_mapTime, time);
 	} else {
-		event->_C._ticks = time - filterTime(event->_mapTime);
+		event->_Cu._ticks = time - filterTime(event->_mapTime);
 	}
 	_vm->_timeline->addEventGetEventIndex(event);
 }
@@ -1643,7 +1643,7 @@ void GroupMan::startWandering(int16 mapX, int16 mapY) {
 	setMapAndTime(nextEvent._mapTime, _vm->_dungeonMan->_currMapIndex, (_vm->_gameTime + 1));
 	nextEvent._type = k37_TMEventTypeUpdateBehaviourGroup;
 	nextEvent._priority = 255 - _vm->_dungeonMan->_creatureInfos[L0332_ps_Group->_type]._movementTicks; /* The fastest creatures (with small MovementTicks value) get higher event priority */
-	nextEvent._C._ticks = 0;
+	nextEvent._Cu._ticks = 0;
 	nextEvent._Bu._location._mapX = mapX;
 	nextEvent._Bu._location._mapY = mapY;
 	_vm->_timeline->addEventGetEventIndex(&nextEvent);
@@ -1887,7 +1887,7 @@ void GroupMan::fluxCageAction(int16 mapX, int16 mapY) {
 	setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_currMapIndex, _vm->_gameTime + 100);
 	newEvent._type = k24_TMEventTypeRemoveFluxcage;
 	newEvent._priority = 0;
-	newEvent._C._slot = unusedThing.toUint16();
+	newEvent._Cu._slot = unusedThing.toUint16();
 	newEvent._Bu._location._mapX = mapX;
 	newEvent._Bu._location._mapY = mapY;
 	newEvent._Bu._location._mapY = mapY;
diff --git a/engines/dm/movesens.cpp b/engines/dm/movesens.cpp
index d28b540..5e41a1c 100644
--- a/engines/dm/movesens.cpp
+++ b/engines/dm/movesens.cpp
@@ -256,7 +256,7 @@ bool MovesensMan::getMoveResult(Thing thing, int16 mapX, int16 mapY, int16 destM
 
 		if (thingType == k14_ProjectileThingType) {
 			Teleporter *L0712_ps_Teleporter = (Teleporter *)_vm->_dungeonMan->getThingData(thing);
-			_moveResultDir = (_vm->_timeline->_events[((Projectile *)L0712_ps_Teleporter)->_eventIndex])._C._projectile.getDir();
+			_moveResultDir = (_vm->_timeline->_events[((Projectile *)L0712_ps_Teleporter)->_eventIndex])._Cu._projectile.getDir();
 		}
 
 		int16 destinationSquareData = 0;
@@ -594,8 +594,8 @@ void MovesensMan::addEvent(byte type, byte mapX, byte mapY, byte cell, byte effe
 	newEvent._priority = 0;
 	newEvent._Bu._location._mapX = mapX;
 	newEvent._Bu._location._mapY = mapY;
-	newEvent._C.A._cell = cell;
-	newEvent._C.A._effect = effect;
+	newEvent._Cu.A._cell = cell;
+	newEvent._Cu.A._effect = effect;
 	_vm->_timeline->addEventGetEventIndex(&newEvent);
 }
 
@@ -992,7 +992,7 @@ void MovesensMan::createEventMoveGroup(Thing groupThing, int16 mapX, int16 mapY,
 	newEvent._priority = 0;
 	newEvent._Bu._location._mapX = mapX;
 	newEvent._Bu._location._mapY = mapY;
-	newEvent._C._slot = groupThing.toUint16();
+	newEvent._Cu._slot = groupThing.toUint16();
 	_vm->_timeline->addEventGetEventIndex(&newEvent);
 }
 
diff --git a/engines/dm/projexpl.cpp b/engines/dm/projexpl.cpp
index 131e015..26d6367 100644
--- a/engines/dm/projexpl.cpp
+++ b/engines/dm/projexpl.cpp
@@ -65,10 +65,10 @@ void ProjExpl::createProjectile(Thing thing, int16 mapX, int16 mapY, uint16 cell
 
 	newEvent._priority = 0;
 	newEvent._Bu._slot = projectileThing.toUint16();
-	newEvent._C._projectile.setMapX(mapX);
-	newEvent._C._projectile.setMapY(mapY);
-	newEvent._C._projectile.setStepEnergy(stepEnergy);
-	newEvent._C._projectile.setDir(dir);
+	newEvent._Cu._projectile.setMapX(mapX);
+	newEvent._Cu._projectile.setMapY(mapY);
+	newEvent._Cu._projectile.setStepEnergy(stepEnergy);
+	newEvent._Cu._projectile.setDir(dir);
 	projectilePtr->_eventIndex = _vm->_timeline->addEventGetEventIndex(&newEvent);
 }
 
@@ -314,7 +314,7 @@ void ProjExpl::createExplosion(Thing explThing, uint16 attack, uint16 mapXCombo,
 	setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_currMapIndex, _vm->_gameTime + ((explThing == Thing::_explRebirthStep1) ? 5 : 1));
 	newEvent._type = k25_TMEventTypeExplosion;
 	newEvent._priority = 0;
-	newEvent._C._slot = unusedThing.toUint16();
+	newEvent._Cu._slot = unusedThing.toUint16();
 	newEvent._Bu._location._mapX = projectileMapX;
 	newEvent._Bu._location._mapY = projectileMapY;
 	_vm->_timeline->addEventGetEventIndex(&newEvent);
@@ -397,8 +397,8 @@ void ProjExpl::processEvents48To49(TimelineEvent *event) {
 	Thing projectileThingNewCell = Thing(curEvent->_Bu._slot);
 	Thing projectileThing  = projectileThingNewCell;
 	Projectile *projectile = (Projectile *)_vm->_dungeonMan->getThingData(projectileThing);
-	int16 destinationMapX = curEvent->_C._projectile.getMapX();
-	int16 destinationMapY = curEvent->_C._projectile.getMapY();
+	int16 destinationMapX = curEvent->_Cu._projectile.getMapX();
+	int16 destinationMapY = curEvent->_Cu._projectile.getMapY();
 
 	if (curEvent->_type == k48_TMEventTypeMoveProjectileIgnoreImpacts)
 		curEvent->_type = k49_TMEventTypeMoveProjectile;
@@ -410,7 +410,7 @@ void ProjExpl::processEvents48To49(TimelineEvent *event) {
 		if ((_vm->_groupMan->groupGetThing(destinationMapX, destinationMapY) != Thing::_endOfList) && hasProjectileImpactOccurred(kM1_CreatureElemType, destinationMapX, destinationMapY, projectileCurCell, projectileThing))
 			return;
 
-		uint16 stepEnergy = curEvent->_C._projectile.getStepEnergy();
+		uint16 stepEnergy = curEvent->_Cu._projectile.getStepEnergy();
 		if (projectile->_kineticEnergy <= stepEnergy) {
 			_vm->_dungeonMan->unlinkThingFromList(projectileThingNewCell = projectileThing, Thing(0), destinationMapX, destinationMapY);
 			projectileDelete(projectileThingNewCell, NULL, destinationMapX, destinationMapY);
@@ -422,7 +422,7 @@ void ProjExpl::processEvents48To49(TimelineEvent *event) {
 		else
 			projectile->_attack -= stepEnergy;
 	}
-	uint16 projectileDirection = curEvent->_C._projectile.getDir();
+	uint16 projectileDirection = curEvent->_Cu._projectile.getDir();
 	projectileThingNewCell = Thing(curEvent->_Bu._slot);
 	uint16 projectileNewCell = projectileThingNewCell.getCell();
 	bool projectileMovesToOtherSquare = (projectileDirection == projectileNewCell) || (returnNextVal(projectileDirection) == projectileNewCell);
@@ -449,9 +449,9 @@ void ProjExpl::processEvents48To49(TimelineEvent *event) {
 	projectileThingNewCell = thingWithNewCell(projectileThingNewCell, projectileNewCell &= 0x0003);
 	if (projectileMovesToOtherSquare) {
 		_vm->_moveSens->getMoveResult(projectileThingNewCell, sourceMapX, sourceMapY, destinationMapX, destinationMapY);
-		curEvent->_C._projectile.setMapX(_vm->_moveSens->_moveResultMapX);
-		curEvent->_C._projectile.setMapY(_vm->_moveSens->_moveResultMapY);
-		curEvent->_C._projectile.setDir((Direction)_vm->_moveSens->_moveResultDir);
+		curEvent->_Cu._projectile.setMapX(_vm->_moveSens->_moveResultMapX);
+		curEvent->_Cu._projectile.setMapY(_vm->_moveSens->_moveResultMapY);
+		curEvent->_Cu._projectile.setDir((Direction)_vm->_moveSens->_moveResultDir);
 		projectileThingNewCell = thingWithNewCell(projectileThingNewCell, _vm->_moveSens->_moveResultCell);
 		M31_setMap(curEvent->_mapTime, _vm->_moveSens->_moveResultMapIndex);
 	} else {
@@ -472,7 +472,7 @@ void ProjExpl::processEvents48To49(TimelineEvent *event) {
 void ProjExpl::processEvent25(TimelineEvent *event) {
 	uint16 mapX = event->_Bu._location._mapX;
 	uint16 mapY = event->_Bu._location._mapY;
-	Explosion *explosion = &((Explosion *)_vm->_dungeonMan->_thingData[k15_ExplosionThingType])[Thing((event->_C._slot)).getIndex()];
+	Explosion *explosion = &((Explosion *)_vm->_dungeonMan->_thingData[k15_ExplosionThingType])[Thing((event->_Cu._slot)).getIndex()];
 	int16 curSquareType = Square(_vm->_dungeonMan->_currMapData[mapX][mapY]).getType();
 	bool explosionOnPartySquare = (_vm->_dungeonMan->_currMapIndex == _vm->_dungeonMan->_partyMapIndex) && (mapX == _vm->_dungeonMan->_partyMapX) && (mapY == _vm->_dungeonMan->_partyMapY);
 	Thing groupThing = _vm->_groupMan->groupGetThing(mapX, mapY);
@@ -555,7 +555,7 @@ void ProjExpl::processEvent25(TimelineEvent *event) {
 		newEvent._mapTime++;
 		_vm->_timeline->addEventGetEventIndex(&newEvent);
 	} else {
-		_vm->_dungeonMan->unlinkThingFromList(Thing(event->_C._slot), Thing(0), mapX, mapY);
+		_vm->_dungeonMan->unlinkThingFromList(Thing(event->_Cu._slot), Thing(0), mapX, mapY);
 		explosion->setNextThing(Thing::_none);
 	}
 }
diff --git a/engines/dm/sounds.cpp b/engines/dm/sounds.cpp
index 1a8b9a3..4cb8eaf 100644
--- a/engines/dm/sounds.cpp
+++ b/engines/dm/sounds.cpp
@@ -205,7 +205,7 @@ void SoundMan::requestPlay(uint16 soundIndex, int16 mapX, int16 mapY, uint16 mod
 		setMapAndTime(newEvent._mapTime, _vm->_dungeonMan->_currMapIndex, _vm->_gameTime + mode - 1);
 		newEvent._type = k20_TMEventTypePlaySound;
 		newEvent._priority = sound->_priority;
-		newEvent._C._soundIndex = soundIndex;
+		newEvent._Cu._soundIndex = soundIndex;
 		newEvent._Bu._location._mapX = mapX;
 		newEvent._Bu._location._mapY = mapY;
 		_vm->_timeline->addEventGetEventIndex(&newEvent);
diff --git a/engines/dm/timeline.cpp b/engines/dm/timeline.cpp
index adb8825..127ba0d 100644
--- a/engines/dm/timeline.cpp
+++ b/engines/dm/timeline.cpp
@@ -203,14 +203,14 @@ uint16 Timeline::addEventGetEventIndex(TimelineEvent *event) {
 		TimelineEvent *curEvent = _events;
 		for (uint16 eventIndex = 0; eventIndex < _eventMaxCount; eventIndex++, curEvent++) {
 			if ((curEvent->_type >= k5_TMEventTypeCorridor) && (curEvent->_type <= k10_TMEventTypeDoor)) {
-				if ((event->_mapTime == curEvent->_mapTime) && (event->getMapXY() == curEvent->getMapXY()) && ((curEvent->_type != k6_TMEventTypeWall) || (curEvent->_C.A._cell == event->_C.A._cell))) {
-					curEvent->_C.A._effect = event->_C.A._effect;
+				if ((event->_mapTime == curEvent->_mapTime) && (event->getMapXY() == curEvent->getMapXY()) && ((curEvent->_type != k6_TMEventTypeWall) || (curEvent->_Cu.A._cell == event->_Cu.A._cell))) {
+					curEvent->_Cu.A._effect = event->_Cu.A._effect;
 					return eventIndex;
 				}
 				continue;
 			} else if ((curEvent->_type == k1_TMEventTypeDoorAnimation) && (event->_mapTime == curEvent->_mapTime) && (event->getMapXY() == curEvent->getMapXY())) {
-				if (event->_C.A._effect == k2_SensorEffToggle)
-					event->_C.A._effect = 1 - curEvent->_C.A._effect;
+				if (event->_Cu.A._effect == k2_SensorEffToggle)
+					event->_Cu.A._effect = 1 - curEvent->_Cu.A._effect;
 
 				deleteEvent(eventIndex);
 				break;
@@ -221,13 +221,13 @@ uint16 Timeline::addEventGetEventIndex(TimelineEvent *event) {
 		for (uint16 eventIndex = 0; eventIndex < _eventMaxCount; eventIndex++, curEvent++) {
 			if ((event->_mapTime == curEvent->_mapTime) && (event->getMapXY() == curEvent->getMapXY())) {
 				if (curEvent->_type == k10_TMEventTypeDoor) {
-					if (curEvent->_C.A._effect == k2_SensorEffToggle)
-						curEvent->_C.A._effect = 1 - event->_C.A._effect;
+					if (curEvent->_Cu.A._effect == k2_SensorEffToggle)
+						curEvent->_Cu.A._effect = 1 - event->_Cu.A._effect;
 
 					return eventIndex;
 				}
 				if (curEvent->_type == k1_TMEventTypeDoorAnimation) {
-					curEvent->_C.A._effect = event->_C.A._effect;
+					curEvent->_Cu.A._effect = event->_Cu.A._effect;
 					return eventIndex;
 				}
 			}
@@ -262,7 +262,7 @@ void Timeline::processTimeline() {
 		_vm->_dungeonMan->setCurrentMap(getMap(newEvent._mapTime));
 		uint16 curEventType = newEvent._type;
 		if ((curEventType > (k29_TMEventTypeGroupReactionDangerOnSquare - 1)) && (curEventType < (k41_TMEventTypeUpdateBehaviour_3 + 1)))
-			_vm->_groupMan->processEvents29to41(newEvent._Bu._location._mapX, newEvent._Bu._location._mapY, curEventType, newEvent._C._ticks);
+			_vm->_groupMan->processEvents29to41(newEvent._Bu._location._mapX, newEvent._Bu._location._mapY, curEventType, newEvent._Cu._ticks);
 		else {
 			switch (curEventType) {
 			case k48_TMEventTypeMoveProjectileIgnoreImpacts:
@@ -304,12 +304,12 @@ void Timeline::processTimeline() {
 				procesEventEnableGroupGenerator(curEvent);
 				break;
 			case k20_TMEventTypePlaySound:
-				_vm->_sound->requestPlay(newEvent._C._soundIndex, newEvent._Bu._location._mapX, newEvent._Bu._location._mapY, k1_soundModePlayIfPrioritized);
+				_vm->_sound->requestPlay(newEvent._Cu._soundIndex, newEvent._Bu._location._mapX, newEvent._Bu._location._mapY, k1_soundModePlayIfPrioritized);
 				break;
 			case k24_TMEventTypeRemoveFluxcage:
 				if (!_vm->_gameWon) {
-					_vm->_dungeonMan->unlinkThingFromList(Thing(newEvent._C._slot), Thing(0), newEvent._Bu._location._mapX, newEvent._Bu._location._mapY);
-					curEvent = (TimelineEvent *)_vm->_dungeonMan->getThingData(Thing(newEvent._C._slot));
+					_vm->_dungeonMan->unlinkThingFromList(Thing(newEvent._Cu._slot), Thing(0), newEvent._Bu._location._mapX, newEvent._Bu._location._mapY);
+					curEvent = (TimelineEvent *)_vm->_dungeonMan->getThingData(Thing(newEvent._Cu._slot));
 					((Explosion *)curEvent)->setNextThing(Thing::_none);
 				}
 				break;
@@ -388,7 +388,7 @@ void Timeline::processEventDoorAnimation(TimelineEvent *event) {
 		return;
 
 	event->_mapTime++;
-	int16 sensorEffect = event->_C.A._effect;
+	int16 sensorEffect = event->_Cu.A._effect;
 	if (sensorEffect == k1_SensorEffClear) {
 		Door *curDoor = (Door *)_vm->_dungeonMan->getSquareFirstThingData(mapX, mapY);
 		bool verticalDoorFl = curDoor->opensVertically();
@@ -447,7 +447,7 @@ void Timeline::processEventSquareFakewall(TimelineEvent *event) {
 	uint16 mapX = event->_Bu._location._mapX;
 	uint16 mapY = event->_Bu._location._mapY;
 	byte *curSquare = &_vm->_dungeonMan->_currMapData[mapX][mapY];
-	int16 effect = event->_C.A._effect;
+	int16 effect = event->_Cu.A._effect;
 	if (effect == k2_SensorEffToggle)
 		effect = getFlag(*curSquare, k0x0004_FakeWallOpen) ? k1_SensorEffClear : k0_SensorEffSet;
 
@@ -477,9 +477,9 @@ void Timeline::processEventSquareDoor(TimelineEvent *event) {
 	if (doorState == k5_doorState_DESTROYED)
 		return;
 
-	if (event->_C.A._effect == k2_SensorEffToggle)
-		event->_C.A._effect = (doorState == k0_doorState_OPEN) ? k1_SensorEffClear : k0_SensorEffSet;
-	else if (event->_C.A._effect == k0_SensorEffSet) {
+	if (event->_Cu.A._effect == k2_SensorEffToggle)
+		event->_Cu.A._effect = (doorState == k0_doorState_OPEN) ? k1_SensorEffClear : k0_SensorEffSet;
+	else if (event->_Cu.A._effect == k0_SensorEffSet) {
 		if ((doorState == k0_doorState_OPEN) || (doorState == k4_doorState_CLOSED))
 			return;
 	}
@@ -492,10 +492,10 @@ void Timeline::processEventSquarePit(TimelineEvent *event) {
 	uint16 mapY = event->_Bu._location._mapY;
 
 	byte *square = &_vm->_dungeonMan->_currMapData[mapX][mapY];
-	if (event->_C.A._effect == k2_SensorEffToggle)
-		event->_C.A._effect = getFlag(*square, k0x0008_PitOpen) ? k1_SensorEffClear : k0_SensorEffSet;
+	if (event->_Cu.A._effect == k2_SensorEffToggle)
+		event->_Cu.A._effect = getFlag(*square, k0x0008_PitOpen) ? k1_SensorEffClear : k0_SensorEffSet;
 
-	if (event->_C.A._effect == k0_SensorEffSet) {
+	if (event->_Cu.A._effect == k0_SensorEffSet) {
 		setFlag(*square, k0x0008_PitOpen);
 		moveTeleporterOrPitSquareThings(mapX, mapY);
 	} else
@@ -534,18 +534,18 @@ void Timeline::moveTeleporterOrPitSquareThings(uint16 mapX, uint16 mapY) {
 			Projectile *projectile = (Projectile *)_vm->_dungeonMan->getThingData(curThing);
 			TimelineEvent *newEvent;
 			newEvent = &_events[projectile->_eventIndex];
-			newEvent->_C._projectile.setMapX(_vm->_moveSens->_moveResultMapX);
-			newEvent->_C._projectile.setMapY(_vm->_moveSens->_moveResultMapY);
-			newEvent->_C._projectile.setDir((Direction)_vm->_moveSens->_moveResultDir);
+			newEvent->_Cu._projectile.setMapX(_vm->_moveSens->_moveResultMapX);
+			newEvent->_Cu._projectile.setMapY(_vm->_moveSens->_moveResultMapY);
+			newEvent->_Cu._projectile.setDir((Direction)_vm->_moveSens->_moveResultDir);
 			newEvent->_Bu._slot = thingWithNewCell(curThing, _vm->_moveSens->_moveResultCell).toUint16();
 			M31_setMap(newEvent->_mapTime, _vm->_moveSens->_moveResultMapIndex);
 		} else if (curThingType == k15_ExplosionThingType) {
 			TimelineEvent *newEvent = _events;
 			for (uint16 i = 0; i < _eventMaxCount; newEvent++, i++) {
-				if ((newEvent->_type == k25_TMEventTypeExplosion) && (newEvent->_C._slot == curThing.toUint16())) { /* BUG0_23 A Fluxcage explosion remains on a square forever. If you open a pit or teleporter on a square where there is a Fluxcage explosion, the Fluxcage explosion is moved but the associated event is not updated (because Fluxcage explosions do not use k25_TMEventTypeExplosion but rather k24_TMEventTypeRemoveFluxcage) causing the Fluxcage explosion to remain in the dungeon forever on its destination square. When the k24_TMEventTypeRemoveFluxcage expires the explosion thing is not removed, but it is marked as unused. Consequently, any objects placed on the Fluxcage square after it was moved but before it expires become orphans upon expiration. After expiration, any object placed on the fluxcage square is cloned when picked up */
+				if ((newEvent->_type == k25_TMEventTypeExplosion) && (newEvent->_Cu._slot == curThing.toUint16())) { /* BUG0_23 A Fluxcage explosion remains on a square forever. If you open a pit or teleporter on a square where there is a Fluxcage explosion, the Fluxcage explosion is moved but the associated event is not updated (because Fluxcage explosions do not use k25_TMEventTypeExplosion but rather k24_TMEventTypeRemoveFluxcage) causing the Fluxcage explosion to remain in the dungeon forever on its destination square. When the k24_TMEventTypeRemoveFluxcage expires the explosion thing is not removed, but it is marked as unused. Consequently, any objects placed on the Fluxcage square after it was moved but before it expires become orphans upon expiration. After expiration, any object placed on the fluxcage square is cloned when picked up */
 					newEvent->_Bu._location._mapX = _vm->_moveSens->_moveResultMapX;
 					newEvent->_Bu._location._mapY = _vm->_moveSens->_moveResultMapY;
-					newEvent->_C._slot = thingWithNewCell(curThing, _vm->_moveSens->_moveResultCell).toUint16();
+					newEvent->_Cu._slot = thingWithNewCell(curThing, _vm->_moveSens->_moveResultCell).toUint16();
 					M31_setMap(newEvent->_mapTime, _vm->_moveSens->_moveResultMapIndex);
 				}
 			}
@@ -559,10 +559,10 @@ void Timeline::processEventSquareTeleporter(TimelineEvent *event) {
 	uint16 mapY = event->_Bu._location._mapY;
 
 	byte *curSquare = &_vm->_dungeonMan->_currMapData[mapX][mapY];
-	if (event->_C.A._effect == k2_SensorEffToggle)
-		event->_C.A._effect = getFlag(*curSquare, k0x0008_TeleporterOpen) ? k1_SensorEffClear : k0_SensorEffSet;
+	if (event->_Cu.A._effect == k2_SensorEffToggle)
+		event->_Cu.A._effect = getFlag(*curSquare, k0x0008_TeleporterOpen) ? k1_SensorEffClear : k0_SensorEffSet;
 
-	if (event->_C.A._effect == k0_SensorEffSet) {
+	if (event->_Cu.A._effect == k0_SensorEffSet) {
 		setFlag(*curSquare, k0x0008_TeleporterOpen);
 		moveTeleporterOrPitSquareThings(mapX, mapY);
 	} else
@@ -573,22 +573,22 @@ void Timeline::processEventSquareWall(TimelineEvent *event) {
 	int16 mapX = event->_Bu._location._mapX;
 	int16 mapY = event->_Bu._location._mapY;
 	Thing curThing = _vm->_dungeonMan->getSquareFirstThing(mapX, mapY);
-	uint16 curCell = event->_C.A._cell;
+	uint16 curCell = event->_Cu.A._cell;
 	while (curThing != Thing::_endOfList) {
 		int16 curThingType = curThing.getType();
-		if ((curThingType == k2_TextstringType) && (curThing.getCell() == event->_C.A._cell)) {
+		if ((curThingType == k2_TextstringType) && (curThing.getCell() == event->_Cu.A._cell)) {
 			TextString *textString = (TextString *)_vm->_dungeonMan->getThingData(curThing);
-			if (event->_C.A._effect == k2_SensorEffToggle)
+			if (event->_Cu.A._effect == k2_SensorEffToggle)
 				textString->setVisible(!textString->isVisible());
 			else
-				textString->setVisible(event->_C.A._effect == k0_SensorEffSet);
+				textString->setVisible(event->_Cu.A._effect == k0_SensorEffSet);
 		} else if (curThingType == k3_SensorThingType) {
 			Sensor *curThingSensor = (Sensor *)_vm->_dungeonMan->getThingData(curThing);
 			uint16 curSensorType = curThingSensor->getType();
 			uint16 curSensorData = curThingSensor->getData();
 			if (curSensorType == k6_SensorWallCountdown) {
 				if (curSensorData > 0) {
-					if (event->_C.A._effect == k0_SensorEffSet) {
+					if (event->_Cu.A._effect == k0_SensorEffSet) {
 						if (curSensorData < 511)
 							curSensorData++;
 					} else
@@ -602,13 +602,13 @@ void Timeline::processEventSquareWall(TimelineEvent *event) {
 						_vm->_moveSens->triggerEffect(curThingSensor, curThingSensor->getAttrEffectA(), mapX, mapY, curCell);
 				}
 			} else if (curSensorType == k5_SensorWallAndOrGate) {
-				int16 bitMask = 1 << (event->_C.A._cell);
-				if (event->_C.A._effect == k2_SensorEffToggle) {
+				int16 bitMask = 1 << (event->_Cu.A._cell);
+				if (event->_Cu.A._effect == k2_SensorEffToggle) {
 					if (getFlag(curSensorData, bitMask))
 						clearFlag(curSensorData, bitMask);
 					else
 						setFlag(curSensorData, bitMask);
-				} else if (event->_C.A._effect)
+				} else if (event->_Cu.A._effect)
 					clearFlag(curSensorData, bitMask);
 				else
 					setFlag(curSensorData, bitMask);
@@ -619,7 +619,7 @@ void Timeline::processEventSquareWall(TimelineEvent *event) {
 					_vm->_moveSens->triggerEffect(curThingSensor, triggerSetEffect ? k0_SensorEffSet : k1_SensorEffClear, mapX, mapY, curCell);
 				else if (triggerSetEffect)
 					_vm->_moveSens->triggerEffect(curThingSensor, curThingSensor->getAttrEffectA(), mapX, mapY, curCell);
-			} else if ((((curSensorType >= k7_SensorWallSingleProjLauncherNewObj) && (curSensorType <= k10_SensorWallDoubleProjLauncherExplosion)) || (curSensorType == k14_SensorWallSingleProjLauncherSquareObj) || (curSensorType == k15_SensorWallDoubleProjLauncherSquareObj)) && (curThing.getCell() == event->_C.A._cell)) {
+			} else if ((((curSensorType >= k7_SensorWallSingleProjLauncherNewObj) && (curSensorType <= k10_SensorWallDoubleProjLauncherExplosion)) || (curSensorType == k14_SensorWallSingleProjLauncherSquareObj) || (curSensorType == k15_SensorWallDoubleProjLauncherSquareObj)) && (curThing.getCell() == event->_Cu.A._cell)) {
 				triggerProjectileLauncher(curThingSensor, event);
 				if (curThingSensor->getAttrOnlyOnce())
 					curThingSensor->setTypeDisabled();
@@ -638,7 +638,7 @@ void Timeline::processEventSquareWall(TimelineEvent *event) {
 void Timeline::triggerProjectileLauncher(Sensor *sensor, TimelineEvent *event) {
 	int16 mapX = event->_Bu._location._mapX;
 	int16 mapY = event->_Bu._location._mapY;
-	uint16 cell = event->_C.A._cell;
+	uint16 cell = event->_Cu.A._cell;
 	uint16 projectileCell = returnOppositeDir((Direction)cell);
 	int16 sensorType = sensor->getType();
 	int16 sensorData = sensor->getData();
@@ -709,10 +709,10 @@ void Timeline::processEventSquareCorridor(TimelineEvent *event) {
 		if (curThingType == k2_TextstringType) {
 			TextString *textString = (TextString *)_vm->_dungeonMan->getThingData(curThing);
 			bool textCurrentlyVisible = textString->isVisible();
-			if (event->_C.A._effect == k2_SensorEffToggle)
+			if (event->_Cu.A._effect == k2_SensorEffToggle)
 				textString->setVisible(!textCurrentlyVisible);
 			else
-				textString->setVisible((event->_C.A._effect == k0_SensorEffSet));
+				textString->setVisible((event->_Cu.A._effect == k0_SensorEffSet));
 
 			if (!textCurrentlyVisible && textString->isVisible() && (_vm->_dungeonMan->_currMapIndex == _vm->_dungeonMan->_partyMapIndex) && (mapX == _vm->_dungeonMan->_partyMapX) && (mapY == _vm->_dungeonMan->_partyMapY)) {
 				_vm->_dungeonMan->decodeText(_vm->_stringBuildBuffer, curThing, k1_TextTypeMessage);
@@ -770,11 +770,11 @@ T0252001:
 		if (event->_type == k61_TMEventTypeMoveGroupAudible)
 			_vm->_sound->requestPlay(k17_soundBUZZ, mapX, mapY, k1_soundModePlayIfPrioritized);
 
-		_vm->_moveSens->getMoveResult(Thing(event->_C._slot), kM1_MapXNotOnASquare, 0, mapX, mapY);
+		_vm->_moveSens->getMoveResult(Thing(event->_Cu._slot), kM1_MapXNotOnASquare, 0, mapX, mapY);
 	} else {
 		if (!randomDirectionMoveRetried) {
 			randomDirectionMoveRetried = true;
-			Group *group = (Group *)_vm->_dungeonMan->getThingData(Thing(event->_C._slot));
+			Group *group = (Group *)_vm->_dungeonMan->getThingData(Thing(event->_Cu._slot));
 			if ((group->_type == k23_CreatureTypeLordChaos) && !_vm->getRandomNumber(4)) {
 				switch (_vm->getRandomNumber(4)) {
 				case 0:
@@ -913,16 +913,16 @@ void Timeline::refreshAllChampionStatusBoxes() {
 void Timeline::processEventViAltarRebirth(TimelineEvent *event) {
 	int16 mapX = event->_Bu._location._mapX;
 	int16 mapY = event->_Bu._location._mapY;
-	uint16 cell = event->_C.A._cell;
+	uint16 cell = event->_Cu.A._cell;
 	uint16 championIndex = event->_priority;
-	uint16 rebirthStep = event->_C.A._effect;
+	uint16 rebirthStep = event->_Cu.A._effect;
 	switch (rebirthStep) { /* Rebirth is a 3 steps process (Step 2 -> Step 1 -> Step 0). Step is stored in the Effect value of the event */
 	case 2:
 		_vm->_projexpl->createExplosion(Thing::_explRebirthStep1, 0, mapX, mapY, cell);
 		event->_mapTime += 5;
 T0255002:
 		rebirthStep--;
-		event->_C.A._effect = rebirthStep;
+		event->_Cu.A._effect = rebirthStep;
 		addEventGetEventIndex(event);
 		break;
 	case 1: {
@@ -957,8 +957,8 @@ void Timeline::saveEventsPart(Common::OutSaveFile *file) {
 		file->writeByte(event->_priority);
 		file->writeByte(event->_Bu._location._mapX); // writing bytes of the union I think should preserve the union's identity
 		file->writeByte(event->_Bu._location._mapY);
-		file->writeUint16BE(event->_C.A._cell); // writing bytes of the union I think should preserve the union's identity
-		file->writeUint16BE(event->_C.A._effect);
+		file->writeUint16BE(event->_Cu.A._cell); // writing bytes of the union I think should preserve the union's identity
+		file->writeUint16BE(event->_Cu.A._effect);
 	}
 }
 
@@ -975,8 +975,8 @@ void Timeline::loadEventsPart(Common::InSaveFile *file) {
 		event->_priority = file->readByte();
 		event->_Bu._location._mapX = file->readByte();
 		event->_Bu._location._mapY = file->readByte();
-		event->_C.A._cell = file->readUint16BE();
-		event->_C.A._effect = file->readUint16BE();
+		event->_Cu.A._cell = file->readUint16BE();
+		event->_Cu.A._effect = file->readUint16BE();
 	}
 }
 
diff --git a/engines/dm/timeline.h b/engines/dm/timeline.h
index 168ae3f..22e563d 100644
--- a/engines/dm/timeline.h
+++ b/engines/dm/timeline.h
@@ -146,7 +146,7 @@ public:
 		byte _ticks;
 	};
 
-	C_uionTimelineEvent _C;
+	C_uionTimelineEvent _Cu;
 }; // @ EVENT
 
 class Timeline {





More information about the Scummvm-git-logs mailing list