mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-21 19:51:49 +00:00
TITANIC: Cleanup of auto music player classes and messages
This commit is contained in:
parent
44aaaf43b8
commit
1d8ccbe1ea
@ -77,7 +77,7 @@ bool CBridgeView::ActMsg(CActMsg *msg) {
|
||||
hideMouse();
|
||||
|
||||
CChangeMusicMsg musicMsg;
|
||||
musicMsg._flags = 1;
|
||||
musicMsg._action = MUSIC_STOP;
|
||||
musicMsg.execute("BridgeAutoMusicPlayer");
|
||||
playSound(TRANSLATE("a#42.wav", "a#35.wav"));
|
||||
playMovie(MOVIE_NOTIFY_OBJECT);
|
||||
|
@ -116,7 +116,7 @@ bool CComputerScreen::TimerMsg(CTimerMsg *msg) {
|
||||
break;
|
||||
|
||||
case 2: {
|
||||
CChangeMusicMsg musicMsg(CString(), 1);
|
||||
CChangeMusicMsg musicMsg(CString(), MUSIC_STOP);
|
||||
musicMsg.execute("HomeMusicPlayer");
|
||||
playSound(TRANSLATE("a#33.wav", "a#28.wav"));
|
||||
playSound(TRANSLATE("a#31.wav", "a#26.wav"));
|
||||
|
@ -57,7 +57,7 @@ bool CEmmaControl::EnterViewMsg(CEnterViewMsg *msg) {
|
||||
bool CEmmaControl::StatusChangeMsg(CStatusChangeMsg *msg) {
|
||||
_flag = !_flag;
|
||||
setVisible(_flag);
|
||||
CChangeMusicMsg changeMsg(_flag ? _visibleSoundName : _hiddenSoundName, 0);
|
||||
CChangeMusicMsg changeMsg(_flag ? _visibleSoundName : _hiddenSoundName, MUSIC_NONE);
|
||||
changeMsg.execute(findRoom(), CAutoMusicPlayer::_type,
|
||||
MSGFLAG_SCAN | MSGFLAG_BREAK_IF_HANDLED | MSGFLAG_CLASS_DEF);
|
||||
return true;
|
||||
|
@ -226,6 +226,9 @@ enum Movement {
|
||||
MOVE_NONE = 0, MOVE_FORWARDS, MOVE_BACKWARDS, TURN_LEFT, TURN_RIGHT
|
||||
};
|
||||
|
||||
enum ChangeMusicAction {
|
||||
MUSIC_NONE = 0, MUSIC_STOP = 1, MUSIC_START = 2
|
||||
};
|
||||
|
||||
class CMovementMsg : public CMessage {
|
||||
public:
|
||||
@ -258,7 +261,7 @@ MESSAGE0(CArmPickedUpFromTableMsg);
|
||||
MESSAGE0(CBodyInBilgeRoomMsg);
|
||||
MESSAGE1(CBowlStateChangeMsg, int, state, 0);
|
||||
MESSAGE2(CCarryObjectArrivedMsg, CString, strValue, "", int, numValue, 0);
|
||||
MESSAGE2(CChangeMusicMsg, CString, filename, "", int, flags, 0);
|
||||
MESSAGE2(CChangeMusicMsg, CString, filename, "", ChangeMusicAction, action, MUSIC_NONE);
|
||||
MESSAGE1(CChangeSeasonMsg, CString, season, "Summer");
|
||||
MESSAGE0(CCheckAllPossibleCodes);
|
||||
MESSAGE2(CCheckChevCode, int, classNum, 0, uint, chevCode, 0);
|
||||
|
@ -47,7 +47,7 @@ void CAutoMusicPlayer::load(SimpleFile *file) {
|
||||
}
|
||||
|
||||
bool CAutoMusicPlayer::EnterRoomMsg(CEnterRoomMsg *msg) {
|
||||
if (!_isRepeated) {
|
||||
if (!_isEnabled) {
|
||||
CRoomItem *room = findRoom();
|
||||
if (msg->_newRoom == room)
|
||||
addTimer(2000);
|
||||
@ -57,11 +57,11 @@ bool CAutoMusicPlayer::EnterRoomMsg(CEnterRoomMsg *msg) {
|
||||
}
|
||||
|
||||
bool CAutoMusicPlayer::LeaveRoomMsg(CLeaveRoomMsg *msg) {
|
||||
if (_isRepeated) {
|
||||
if (_isEnabled) {
|
||||
CRoomItem *room = findRoom();
|
||||
if (msg->_oldRoom == room) {
|
||||
CChangeMusicMsg changeMsg;
|
||||
changeMsg._flags = 1;
|
||||
changeMsg._action = MUSIC_STOP;
|
||||
changeMsg.execute(this);
|
||||
}
|
||||
}
|
||||
|
@ -32,13 +32,13 @@ BEGIN_MESSAGE_MAP(CAutoMusicPlayerBase, CGameObject)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
CAutoMusicPlayerBase::CAutoMusicPlayerBase() : CGameObject(),
|
||||
_initialMute(true), _isRepeated(false), _volumeMode(VOL_NORMAL), _transition(1) {
|
||||
_initialMute(true), _isEnabled(false), _volumeMode(VOL_NORMAL), _transition(1) {
|
||||
}
|
||||
void CAutoMusicPlayerBase::save(SimpleFile *file, int indent) {
|
||||
file->writeNumberLine(1, indent);
|
||||
file->writeQuotedLine(_filename, indent);
|
||||
file->writeNumberLine(_initialMute, indent);
|
||||
file->writeNumberLine(_isRepeated, indent);
|
||||
file->writeNumberLine(_isEnabled, indent);
|
||||
file->writeNumberLine(_volumeMode, indent);
|
||||
file->writeNumberLine(_transition, indent);
|
||||
|
||||
@ -49,7 +49,7 @@ void CAutoMusicPlayerBase::load(SimpleFile *file) {
|
||||
file->readNumber();
|
||||
_filename = file->readString();
|
||||
_initialMute = file->readNumber();
|
||||
_isRepeated = file->readNumber();
|
||||
_isEnabled = file->readNumber();
|
||||
_volumeMode = (VolumeMode)file->readNumber();
|
||||
_transition = file->readNumber();
|
||||
|
||||
@ -62,14 +62,14 @@ bool CAutoMusicPlayerBase::StatusChangeMsg(CStatusChangeMsg *msg) {
|
||||
|
||||
bool CAutoMusicPlayerBase::TimerMsg(CTimerMsg *msg) {
|
||||
CChangeMusicMsg musicMsg;
|
||||
musicMsg._flags = 2;
|
||||
musicMsg._action = MUSIC_START;
|
||||
musicMsg.execute(this);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CAutoMusicPlayerBase::LoadSuccessMsg(CLoadSuccessMsg *msg) {
|
||||
if (_isRepeated)
|
||||
if (_isEnabled)
|
||||
playGlobalSound(_filename, _volumeMode, _initialMute, true, 0,
|
||||
Audio::Mixer::kMusicSoundType);
|
||||
|
||||
@ -77,23 +77,23 @@ bool CAutoMusicPlayerBase::LoadSuccessMsg(CLoadSuccessMsg *msg) {
|
||||
}
|
||||
|
||||
bool CAutoMusicPlayerBase::ChangeMusicMsg(CChangeMusicMsg *msg) {
|
||||
if (_isRepeated && msg->_flags == 1) {
|
||||
_isRepeated = false;
|
||||
if (_isEnabled && msg->_action == MUSIC_STOP) {
|
||||
_isEnabled = false;
|
||||
stopGlobalSound(_transition, -1);
|
||||
}
|
||||
|
||||
if (!msg->_filename.empty()) {
|
||||
_filename = msg->_filename;
|
||||
|
||||
if (_isRepeated) {
|
||||
if (_isEnabled) {
|
||||
stopGlobalSound(_transition, -1);
|
||||
playGlobalSound(_filename, _volumeMode, _initialMute, true, 0,
|
||||
Audio::Mixer::kMusicSoundType);
|
||||
}
|
||||
}
|
||||
|
||||
if (!_isRepeated && msg->_flags == 2) {
|
||||
_isRepeated = true;
|
||||
if (!_isEnabled && msg->_action == MUSIC_START) {
|
||||
_isEnabled = true;
|
||||
playGlobalSound(_filename, _volumeMode, _initialMute, true, 0,
|
||||
Audio::Mixer::kMusicSoundType);
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ class CAutoMusicPlayerBase : public CGameObject {
|
||||
protected:
|
||||
CString _filename;
|
||||
bool _initialMute;
|
||||
bool _isRepeated;
|
||||
bool _isEnabled;
|
||||
VolumeMode _volumeMode;
|
||||
int _transition;
|
||||
public:
|
||||
|
@ -53,7 +53,7 @@ bool CNodeAutoSoundPlayer::EnterNodeMsg(CEnterNodeMsg *msg) {
|
||||
|
||||
if (_enabled) {
|
||||
CChangeMusicMsg changeMsg;
|
||||
changeMsg._flags = 1;
|
||||
changeMsg._action = MUSIC_STOP;
|
||||
changeMsg.execute(room, CAutoMusicPlayer::_type,
|
||||
MSGFLAG_CLASS_DEF | MSGFLAG_BREAK_IF_HANDLED | MSGFLAG_SCAN);
|
||||
}
|
||||
@ -72,7 +72,7 @@ bool CNodeAutoSoundPlayer::LeaveNodeMsg(CLeaveNodeMsg *msg) {
|
||||
|
||||
if (_enabled) {
|
||||
CChangeMusicMsg changeMsg;
|
||||
changeMsg._flags = 2;
|
||||
changeMsg._action = MUSIC_START;
|
||||
changeMsg.execute(room, CAutoMusicPlayer::_type,
|
||||
MSGFLAG_CLASS_DEF | MSGFLAG_BREAK_IF_HANDLED | MSGFLAG_SCAN);
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ bool CRestrictedAutoMusicPlayer::EnterRoomMsg(CEnterRoomMsg *msg) {
|
||||
|
||||
CString roomName = msg->_oldRoom->getName();
|
||||
if (!_oldRoomName.compareToIgnoreCase(roomName)) {
|
||||
_isRepeated = true;
|
||||
_isEnabled = true;
|
||||
return false;
|
||||
} else {
|
||||
return CAutoMusicPlayer::EnterRoomMsg(msg);
|
||||
@ -69,7 +69,7 @@ bool CRestrictedAutoMusicPlayer::LeaveRoomMsg(CLeaveRoomMsg *msg) {
|
||||
CString roomName = msg->_newRoom->getName();
|
||||
|
||||
if (petCheckNode(_newNodeName) || !_newRoomName.compareToIgnoreCase(roomName)) {
|
||||
_isRepeated = false;
|
||||
_isEnabled = false;
|
||||
return true;
|
||||
} else {
|
||||
return CAutoMusicPlayer::LeaveRoomMsg(msg);
|
||||
|
@ -90,15 +90,15 @@ bool CSeasonalMusicPlayer::ChangeSeasonMsg(CChangeSeasonMsg *msg) {
|
||||
|
||||
bool CSeasonalMusicPlayer::ArboretumGateMsg(CArboretumGateMsg *msg) {
|
||||
CChangeMusicMsg changeMsg;
|
||||
changeMsg._flags = msg->_value ? 2 : 1;
|
||||
changeMsg._action = msg->_value ? MUSIC_START : MUSIC_STOP;
|
||||
changeMsg.execute(this);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CSeasonalMusicPlayer::ChangeMusicMsg(CChangeMusicMsg *msg) {
|
||||
if (_isRepeated && msg->_flags == 1) {
|
||||
_isRepeated = false;
|
||||
if (_isEnabled && msg->_action == MUSIC_STOP) {
|
||||
_isEnabled = false;
|
||||
stopGlobalSound(_transition, -1);
|
||||
}
|
||||
|
||||
@ -118,8 +118,8 @@ bool CSeasonalMusicPlayer::ChangeMusicMsg(CChangeMusicMsg *msg) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!_isRepeated && msg->_flags == 2) {
|
||||
_isRepeated = true;
|
||||
if (!_isEnabled && msg->_action == MUSIC_START) {
|
||||
_isEnabled = true;
|
||||
loadSound(TRANSLATE("c#64.wav", "c#47.wav"));
|
||||
loadSound(TRANSLATE("c#63.wav", "c#46.wav"));
|
||||
loadSound(TRANSLATE("c#65.wav", "c#48.wav"));
|
||||
|
@ -47,11 +47,11 @@ bool CTriggerAutoMusicPlayer::TriggerAutoMusicPlayerMsg(CTriggerAutoMusicPlayerM
|
||||
CRoomItem *room2 = msg->_value == 2 ? locateRoom(_roomName) : findRoom();
|
||||
|
||||
CChangeMusicMsg changeMsg;
|
||||
changeMsg._flags = 1;
|
||||
changeMsg._action = MUSIC_STOP;
|
||||
changeMsg.execute(room1, CAutoMusicPlayer::_type,
|
||||
MSGFLAG_CLASS_DEF | MSGFLAG_BREAK_IF_HANDLED | MSGFLAG_SCAN);
|
||||
|
||||
changeMsg._flags = 2;
|
||||
changeMsg._action = MUSIC_START;
|
||||
changeMsg.execute(room2, CAutoMusicPlayer::_type,
|
||||
MSGFLAG_CLASS_DEF | MSGFLAG_BREAK_IF_HANDLED | MSGFLAG_SCAN);
|
||||
|
||||
|
@ -53,7 +53,7 @@ bool CViewAutoSoundPlayer::EnterViewMsg(CEnterViewMsg *msg) {
|
||||
|
||||
if (_enabled) {
|
||||
CChangeMusicMsg changeMsg;
|
||||
changeMsg._flags = 1;
|
||||
changeMsg._action = MUSIC_STOP;
|
||||
changeMsg.execute(room, CAutoMusicPlayer::_type,
|
||||
MSGFLAG_CLASS_DEF |MSGFLAG_BREAK_IF_HANDLED | MSGFLAG_SCAN);
|
||||
}
|
||||
@ -72,7 +72,7 @@ bool CViewAutoSoundPlayer::LeaveViewMsg(CLeaveViewMsg *msg) {
|
||||
|
||||
if (_enabled) {
|
||||
CChangeMusicMsg changeMsg;
|
||||
changeMsg._flags = 2;
|
||||
changeMsg._action = MUSIC_START;
|
||||
changeMsg.execute(room, CAutoMusicPlayer::_type,
|
||||
MSGFLAG_CLASS_DEF | MSGFLAG_BREAK_IF_HANDLED | MSGFLAG_SCAN);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user