diff options
author | Paul Gilbert | 2017-02-16 23:37:27 -0500 |
---|---|---|
committer | Paul Gilbert | 2017-02-16 23:37:27 -0500 |
commit | 46076c0ac5cbc132ddc57c15469d3b9cee56fd56 (patch) | |
tree | a0be56f9f900a47c921f7c0a32f84ac7df80be0f /engines | |
parent | cb9ebfcb1c1e96194d6e9389b61b7cb802f0b7a6 (diff) | |
download | scummvm-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.cpp | 17 | ||||
-rw-r--r-- | engines/titanic/game/phonograph.h | 6 | ||||
-rw-r--r-- | engines/titanic/game/restaurant_phonograph.cpp | 14 |
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; |