[Scummvm-git-logs] scummvm master -> 2963af577505325dc578bad096d64499e0823a34
dreammaster
dreammaster at scummvm.org
Mon Feb 20 15:26:14 CET 2017
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:
2963af5775 TITANIC: Fix adding centre cards to Titania
Commit: 2963af577505325dc578bad096d64499e0823a34
https://github.com/scummvm/scummvm/commit/2963af577505325dc578bad096d64499e0823a34
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-02-20T09:26:09-05:00
Commit Message:
TITANIC: Fix adding centre cards to Titania
Changed paths:
engines/titanic/carry/brain.cpp
engines/titanic/game/brain_slot.cpp
engines/titanic/game/brain_slot.h
diff --git a/engines/titanic/carry/brain.cpp b/engines/titanic/carry/brain.cpp
index 7b2e8d0..49178d1 100644
--- a/engines/titanic/carry/brain.cpp
+++ b/engines/titanic/carry/brain.cpp
@@ -56,28 +56,25 @@ void CBrain::load(SimpleFile *file) {
bool CBrain::UseWithOtherMsg(CUseWithOtherMsg *msg) {
CBrainSlot *slot = dynamic_cast<CBrainSlot *>(msg->_other);
- if (slot) {
- if (slot->getName() == "CentralCore") {
- setVisible(false);
- petMoveToHiddenRoom();
- CAddHeadPieceMsg headpieceMsg(getName());
- headpieceMsg.execute("CentralCoreSlot");
- }
- else if (!slot->_value1 && slot->getName() == "CentralCoreSlot") {
- setVisible(false);
- petMoveToHiddenRoom();
- CAddHeadPieceMsg headpieceMsg(getName());
- headpieceMsg.execute(msg->_other);
- playSound("z#116.wav");
- setPosition(Point(0, 0));
- setVisible(false);
- _field134 = 1;
- }
-
- return true;
- } else {
+ if (!slot) {
return CCarry::UseWithOtherMsg(msg);
+ } else if (isEquals("CentralCore")) {
+ setVisible(false);
+ petMoveToHiddenRoom();
+ CAddHeadPieceMsg headpieceMsg(getName());
+ headpieceMsg.execute("CentralCoreSlot");
+ } else if (!slot->_occupied && slot->getName() != "CentralCoreSlot") {
+ setVisible(false);
+ petMoveToHiddenRoom();
+ CAddHeadPieceMsg headpieceMsg(getName());
+ headpieceMsg.execute(msg->_other);
+ playSound("z#116.wav");
+ setPosition(Point(0, 0));
+ setVisible(false);
+ _field134 = 1;
}
+
+ return true;
}
bool CBrain::VisibleMsg(CVisibleMsg *msg) {
diff --git a/engines/titanic/game/brain_slot.cpp b/engines/titanic/game/brain_slot.cpp
index 1518d9b..585df09 100644
--- a/engines/titanic/game/brain_slot.cpp
+++ b/engines/titanic/game/brain_slot.cpp
@@ -33,12 +33,12 @@ BEGIN_MESSAGE_MAP(CBrainSlot, CGameObject)
ON_MESSAGE(MouseDragStartMsg)
END_MESSAGE_MAP()
-int CBrainSlot::_added;
+bool CBrainSlot::_added;
bool CBrainSlot::_woken;
void CBrainSlot::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writeNumberLine(_value1, indent);
+ file->writeNumberLine(_occupied, indent);
file->writeQuotedLine(_target, indent);
file->writeNumberLine(_added, indent);
file->writeNumberLine(_woken, indent);
@@ -48,7 +48,7 @@ void CBrainSlot::save(SimpleFile *file, int indent) {
void CBrainSlot::load(SimpleFile *file) {
file->readNumber();
- _value1 = file->readNumber();
+ _occupied = file->readNumber();
_target = file->readString();
_added = file->readNumber();
_woken = file->readNumber();
@@ -58,12 +58,12 @@ void CBrainSlot::load(SimpleFile *file) {
bool CBrainSlot::SetFrameMsg(CSetFrameMsg *msg) {
loadFrame(msg->_frameNumber);
- _value1 = 1;
+ _occupied = true;
return true;
}
bool CBrainSlot::AddHeadPieceMsg(CAddHeadPieceMsg *msg) {
- _added = 1;
+ _added = true;
_cursorId = CURSOR_HAND;
CAddHeadPieceMsg addMsg("NULL");
@@ -101,7 +101,7 @@ bool CBrainSlot::AddHeadPieceMsg(CAddHeadPieceMsg *msg) {
}
_target = msg->_value;
- _value1 = 1;
+ _occupied = true;
return true;
}
@@ -124,7 +124,7 @@ bool CBrainSlot::ActMsg(CActMsg *msg) {
}
bool CBrainSlot::MouseDragStartMsg(CMouseDragStartMsg *msg) {
- if (!_value1 || _woken || !checkPoint(msg->_mousePos, false, true))
+ if (!_occupied || _woken || !checkPoint(msg->_mousePos, false, true))
return false;
_cursorId = CURSOR_ARROW;
@@ -134,14 +134,14 @@ bool CBrainSlot::MouseDragStartMsg(CMouseDragStartMsg *msg) {
takeMsg.execute("TitaniaControl");
loadFrame(isEquals("CentralCoreSlot") ? 21 : 0);
- _value1 = 0;
+ _occupied = false;
CPassOnDragStartMsg passMsg;
passMsg._mousePos = msg->_mousePos;
passMsg.execute(_target);
msg->_dragItem = getRoot()->findByName(_target);
- _added = 0;
+ _added = false;
return true;
}
diff --git a/engines/titanic/game/brain_slot.h b/engines/titanic/game/brain_slot.h
index 4d500cc..a821cfd 100644
--- a/engines/titanic/game/brain_slot.h
+++ b/engines/titanic/game/brain_slot.h
@@ -35,14 +35,14 @@ class CBrainSlot : public CGameObject {
bool ActMsg(CActMsg *msg);
bool MouseDragStartMsg(CMouseDragStartMsg *msg);
public:
- static int _added;
+ static bool _added;
static bool _woken;
public:
- int _value1;
+ bool _occupied;
CString _target;
public:
CLASSDEF;
- CBrainSlot() : CGameObject(), _value1(0) {}
+ CBrainSlot() : CGameObject(), _occupied(false) {}
/**
* Save the data for the class to file
More information about the Scummvm-git-logs
mailing list