aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2017-02-16 23:37:27 -0500
committerPaul Gilbert2017-02-16 23:37:27 -0500
commit46076c0ac5cbc132ddc57c15469d3b9cee56fd56 (patch)
treea0be56f9f900a47c921f7c0a32f84ac7df80be0f /engines
parentcb9ebfcb1c1e96194d6e9389b61b7cb802f0b7a6 (diff)
downloadscummvm-rg350-46076c0ac5cbc132ddc57c15469d3b9cee56fd56.tar.gz
scummvm-rg350-46076c0ac5cbc132ddc57c15469d3b9cee56fd56.tar.bz2
scummvm-rg350-46076c0ac5cbc132ddc57c15469d3b9cee56fd56.zip
TITANIC: Fix operation of Phonograph play button
Diffstat (limited to 'engines')
-rw-r--r--engines/titanic/game/phonograph.cpp17
-rw-r--r--engines/titanic/game/phonograph.h6
-rw-r--r--engines/titanic/game/restaurant_phonograph.cpp14
3 files changed, 19 insertions, 18 deletions
diff --git a/engines/titanic/game/phonograph.cpp b/engines/titanic/game/phonograph.cpp
index 2b7bc98244..b86fa0b6e0 100644
--- a/engines/titanic/game/phonograph.cpp
+++ b/engines/titanic/game/phonograph.cpp
@@ -34,8 +34,8 @@ BEGIN_MESSAGE_MAP(CPhonograph, CMusicPlayer)
END_MESSAGE_MAP()
CPhonograph::CPhonograph() : CMusicPlayer(),
- _isPlaying(false), _isRecording(false), _isDisabled(false), _fieldEC(0),
- _fieldF0(0), _fieldF4(0) {
+ _isPlaying(false), _isRecording(false), _isDisabled(false),
+ _playUnpressedFrame(false), _playPressedFrame(false), _unused5(0) {
}
void CPhonograph::save(SimpleFile *file, int indent) {
@@ -44,9 +44,9 @@ void CPhonograph::save(SimpleFile *file, int indent) {
file->writeNumberLine(_isPlaying, indent);
file->writeNumberLine(_isRecording, indent);
file->writeNumberLine(_isDisabled, indent);
- file->writeNumberLine(_fieldEC, indent);
- file->writeNumberLine(_fieldF0, indent);
- file->writeNumberLine(_fieldF4, indent);
+ file->writeNumberLine(_playUnpressedFrame, indent);
+ file->writeNumberLine(_playPressedFrame, indent);
+ file->writeNumberLine(_unused5, indent);
CMusicPlayer::save(file, indent);
}
@@ -57,9 +57,9 @@ void CPhonograph::load(SimpleFile *file) {
_isPlaying = file->readNumber();
_isRecording = file->readNumber();
_isDisabled = file->readNumber();
- _fieldEC = file->readNumber();
- _fieldF0 = file->readNumber();
- _fieldF4 = file->readNumber();
+ _playUnpressedFrame = file->readNumber();
+ _playPressedFrame = file->readNumber();
+ _unused5 = file->readNumber();
CMusicPlayer::load(file);
}
@@ -98,7 +98,6 @@ bool CPhonograph::PhonographStopMsg(CPhonographStopMsg *msg) {
if (!holderMsg._isPresent)
return true;
- _isPlaying = false;
CQueryCylinderMsg cylinderMsg;
cylinderMsg.execute(holderMsg._target);
diff --git a/engines/titanic/game/phonograph.h b/engines/titanic/game/phonograph.h
index 4cce6ecefd..6630a18f27 100644
--- a/engines/titanic/game/phonograph.h
+++ b/engines/titanic/game/phonograph.h
@@ -41,9 +41,9 @@ protected:
bool _isPlaying;
bool _isRecording;
bool _isDisabled;
- int _fieldEC;
- int _fieldF0;
- int _fieldF4;
+ int _playUnpressedFrame;
+ int _playPressedFrame;
+ int _unused5;
public:
CLASSDEF;
CPhonograph();
diff --git a/engines/titanic/game/restaurant_phonograph.cpp b/engines/titanic/game/restaurant_phonograph.cpp
index a2c8892201..693cf3d76e 100644
--- a/engines/titanic/game/restaurant_phonograph.cpp
+++ b/engines/titanic/game/restaurant_phonograph.cpp
@@ -73,7 +73,7 @@ bool CRestaurantPhonograph::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
_isDisabled = true;
if (_field114) {
- loadFrame(_fieldEC);
+ loadFrame(_playUnpressedFrame);
playSound(_ejectSoundName);
}
}
@@ -83,9 +83,11 @@ bool CRestaurantPhonograph::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
}
bool CRestaurantPhonograph::PhonographPlayMsg(CPhonographPlayMsg *msg) {
+ CPhonograph::PhonographPlayMsg(msg);
+
if (_isPlaying) {
if (findView() == getView() && (!_isDisabled || !_field114)) {
- loadFrame(_fieldEC);
+ loadFrame(_playUnpressedFrame);
playSound(_ejectSoundName);
}
@@ -94,7 +96,7 @@ bool CRestaurantPhonograph::PhonographPlayMsg(CPhonographPlayMsg *msg) {
CRestaurantMusicChanged musicMsg(nameMsg._name);
musicMsg.execute(findRoom());
} else {
- loadFrame(_fieldF0);
+ loadFrame(_playPressedFrame);
}
return true;
@@ -105,11 +107,11 @@ bool CRestaurantPhonograph::PhonographStopMsg(CPhonographStopMsg *msg) {
CPhonograph::PhonographStopMsg(msg);
if (_isPlaying) {
- loadFrame(_fieldF0);
+ loadFrame(_playUnpressedFrame);
+ } else {
+ loadFrame(_playPressedFrame);
if (flag)
playSound(_stopSoundName);
- } else {
- loadFrame(_fieldEC);
}
return true;