[Scummvm-git-logs] scummvm master -> 56a23b9adaf806fa6d050e2cc2f11745006ac7be

dreammaster dreammaster at scummvm.org
Thu Nov 10 02:23:57 CET 2016


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

Summary:
56a23b9ada TITANIC: Fix naming and initialization of PET Room glyph images


Commit: 56a23b9adaf806fa6d050e2cc2f11745006ac7be
    https://github.com/scummvm/scummvm/commit/56a23b9adaf806fa6d050e2cc2f11745006ac7be
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2016-11-09T20:23:50-05:00

Commit Message:
TITANIC: Fix naming and initialization of PET Room glyph images

Changed paths:
    engines/titanic/pet_control/pet_rooms.cpp
    engines/titanic/pet_control/pet_rooms_glyphs.cpp
    engines/titanic/pet_control/pet_rooms_glyphs.h



diff --git a/engines/titanic/pet_control/pet_rooms.cpp b/engines/titanic/pet_control/pet_rooms.cpp
index 815fb86..d32667e 100644
--- a/engines/titanic/pet_control/pet_rooms.cpp
+++ b/engines/titanic/pet_control/pet_rooms.cpp
@@ -223,7 +223,7 @@ bool CPetRooms::setupControl(CPetControl *petControl) {
 	_glyphs.setup(6, this);
 	_glyphs.setFlags(GFLAG_16);
 	_glyphItem.setup(petControl, &_glyphs);
-	_glyphItem.set38(1);
+	_glyphItem.setFlag(1);
 	return true;
 }
 
diff --git a/engines/titanic/pet_control/pet_rooms_glyphs.cpp b/engines/titanic/pet_control/pet_rooms_glyphs.cpp
index 47457ba..27034ae 100644
--- a/engines/titanic/pet_control/pet_rooms_glyphs.cpp
+++ b/engines/titanic/pet_control/pet_rooms_glyphs.cpp
@@ -30,15 +30,15 @@
 namespace Titanic {
 
 CPetRoomsGlyph::CPetRoomsGlyph() : CPetGlyph(),
-	_roomFlags(0), _field38(0), _mode(RGM_UNASSIGNED),
-	_object0(nullptr), _object1(nullptr), _object2(nullptr), _object3(nullptr),
-	_object4(nullptr), _object5(nullptr), _object6(nullptr), _object7(nullptr) {
+		_roomFlags(0), _mailFlag(0), _mode(RGM_UNASSIGNED),
+		_chevLeftOnDim(nullptr), _chevLeftOffDim(nullptr), _chevLeftOnLit(nullptr), _chevLeftOffLit(nullptr),
+		_chevRightOnDim(nullptr), _chevRightOffDim(nullptr), _chevRightOnLit(nullptr), _chevRightOffLit(nullptr) {
 }
 
 CPetRoomsGlyph::CPetRoomsGlyph(uint flags) : CPetGlyph(),
-	_roomFlags(flags), _field38(0), _mode(RGM_UNASSIGNED),
-	_object0(nullptr), _object1(nullptr), _object2(nullptr), _object3(nullptr),
-	_object4(nullptr), _object5(nullptr), _object6(nullptr), _object7(nullptr) {
+		_roomFlags(flags), _mailFlag(0), _mode(RGM_UNASSIGNED),
+		_chevLeftOnDim(nullptr), _chevLeftOffDim(nullptr), _chevLeftOnLit(nullptr), _chevLeftOffLit(nullptr),
+		_chevRightOnDim(nullptr), _chevRightOffDim(nullptr), _chevRightOnLit(nullptr), _chevRightOffLit(nullptr) {
 }
 
 bool CPetRoomsGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) {
@@ -46,14 +46,14 @@ bool CPetRoomsGlyph::setup(CPetControl *petControl, CPetGlyphs *owner) {
 		return false;
 
 	CPetSection *section = owner->getOwner();
-	_object0 = section->getBackground(9);
-	_object1 = section->getBackground(12);
-	_object4 = section->getBackground(13);
-	_object5 = section->getBackground(10);
-	_object2 = section->getBackground(11);
-	_object3 = section->getBackground(14);
-	_object6 = section->getBackground(15);
-	_object7 = _object6;
+	_chevLeftOnDim = section->getBackground(8);
+	_chevLeftOffDim = section->getBackground(9);
+	_chevRightOnDim = section->getBackground(12);
+	_chevRightOffDim = section->getBackground(13);
+	_chevLeftOnLit = section->getBackground(10);
+	_chevLeftOffLit = section->getBackground(11);
+	_chevRightOnLit = section->getBackground(14);
+	_chevRightOffLit = section->getBackground(15);
 	return true;
 }
 
@@ -69,16 +69,16 @@ void CPetRoomsGlyph::drawAt(CScreenManager *screenManager, const Point &pt, bool
 	uint roomBits = roomFlags.getRoomBits();
 
 	// Save a copy of object pointers that may be modified
-	CGameObject *obj0 = _object0;
-	CGameObject *obj1 = _object1;
-	CGameObject *obj4 = _object4;
-	CGameObject *obj5 = _object5;
-
-	if (_field38 == 1 || isHighlighted_) {
-		_object0 = _object2;
-		_object1 = _object3;
-		_object4 = _object6;
-		_object5 = _object7;
+	CGameObject *obj0 = _chevLeftOnDim;
+	CGameObject *obj1 = _chevLeftOffDim;
+	CGameObject *obj4 = _chevRightOnDim;
+	CGameObject *obj5 = _chevRightOffDim;
+
+	if (_mailFlag || isHighlighted_) {
+		_chevLeftOnDim = _chevLeftOnLit;
+		_chevLeftOffDim = _chevLeftOffLit;
+		_chevRightOnDim = _chevRightOnLit;
+		_chevRightOffDim = _chevRightOffLit;
 	}
 
 	// Draw the images
@@ -95,10 +95,10 @@ void CPetRoomsGlyph::drawAt(CScreenManager *screenManager, const Point &pt, bool
 		destPt, screenManager);
 
 	// Restore original object pointers
-	_object0 = obj0;
-	_object1 = obj1;
-	_object4 = obj4;
-	_object5 = obj5;
+	_chevLeftOnDim = obj0;
+	_chevLeftOffDim = obj1;
+	_chevRightOnDim = obj4;
+	_chevRightOffDim = obj5;
 }
 
 void CPetRoomsGlyph::selectGlyph(const Point &topLeft, const Point &pt) {
@@ -124,7 +124,7 @@ bool CPetRoomsGlyph::dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg) {
 
 		if (chevron) {
 			chevron->_id = _roomFlags;
-			chevron->_isMail = _field38;
+			chevron->_isMail = _mailFlag != 0;
 			petControl->removeFromInventory(chevron, false, false);
 			chevron->loadSurface();
 
@@ -150,9 +150,9 @@ void CPetRoomsGlyph::getTooltip(CPetText *text) {
 		msg = "Your assigned room: ";
 	} else if (isPreviouslyAssigned()) {
 		msg = "A previously assigned room: ";
-	} else if (!_field38) {
+	} else if (!_mailFlag) {
 		msg = "Saved Chevron: ";
-	} else if (_field38 == 1 && owner->getRoomFlags() == _roomFlags) {
+	} else if (_mailFlag == 1 && owner->getRoomFlags() == _roomFlags) {
 		msg = "Current location: ";
 	}
 
@@ -214,15 +214,15 @@ int CPetRoomsGlyph::getSelection(const Point &topLeft, const Point &pt) {
 }
 
 void CPetRoomsGlyph::drawObjects(uint flags, const Point &pt, CScreenManager *screenManager) {
-	if (_object0 && _object1 && _object4 && _object5) {
+	if (_chevLeftOnDim && _chevLeftOffDim && _chevRightOnDim && _chevRightOffDim) {
 		Point destPos = pt;
-		((flags & 8) ? _object0 : _object5)->draw(screenManager, destPos);
+		((flags & 8) ? _chevLeftOnDim : _chevRightOffDim)->draw(screenManager, destPos);
 		destPos.x += 13;
-		((flags & 4) ? _object4 : _object5)->draw(screenManager, destPos);
+		((flags & 4) ? _chevRightOnDim : _chevRightOffDim)->draw(screenManager, destPos);
 		destPos.x += 13;
-		((flags & 2) ? _object0 : _object1)->draw(screenManager, destPos);
+		((flags & 2) ? _chevLeftOnDim : _chevLeftOffDim)->draw(screenManager, destPos);
 		destPos.x += 13;
-		((flags & 1) ? _object4 : _object5)->draw(screenManager, destPos);
+		((flags & 1) ? _chevRightOnDim : _chevRightOffDim)->draw(screenManager, destPos);
 	}
 }
 
diff --git a/engines/titanic/pet_control/pet_rooms_glyphs.h b/engines/titanic/pet_control/pet_rooms_glyphs.h
index 1c060c5..6c51b6f 100644
--- a/engines/titanic/pet_control/pet_rooms_glyphs.h
+++ b/engines/titanic/pet_control/pet_rooms_glyphs.h
@@ -36,16 +36,16 @@ enum RoomGlyphMode {
 class CPetRoomsGlyph : public CPetGlyph {
 private:
 	uint _roomFlags;
-	int _field38;
+	uint _mailFlag;
 	RoomGlyphMode _mode;
-	CGameObject *_object0;
-	CGameObject *_object1;
-	CGameObject *_object2;
-	CGameObject *_object3;
-	CGameObject *_object4;
-	CGameObject *_object5;
-	CGameObject *_object6;
-	CGameObject *_object7;
+	CGameObject *_chevLeftOnDim;
+	CGameObject *_chevLeftOffDim;
+	CGameObject *_chevLeftOnLit;
+	CGameObject *_chevLeftOffLit;
+	CGameObject *_chevRightOnDim;
+	CGameObject *_chevRightOffDim;
+	CGameObject *_chevRightOnLit;
+	CGameObject *_chevRightOffLit;
 private:
 	/**
 	 * Find the selected button under the given point, based on the buttons
@@ -113,7 +113,10 @@ public:
 	 */
 	uint getRoomFlags() const { return _roomFlags; }
 
-	void set38(int val) { _field38 = val; }
+	/**
+	 * Set mail status flag
+	 */
+	void setFlag(uint val) { _mailFlag = val; }
 
 	/**
 	 * Sets the mode of the glyph





More information about the Scummvm-git-logs mailing list