aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/game
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/game')
-rw-r--r--engines/titanic/game/arboretum_gate.cpp24
-rw-r--r--engines/titanic/game/captains_wheel.cpp10
-rw-r--r--engines/titanic/game/cdrom.cpp10
-rw-r--r--engines/titanic/game/cdrom.h2
-rw-r--r--engines/titanic/game/chicken_dispensor.cpp6
-rw-r--r--engines/titanic/game/code_wheel.cpp4
-rw-r--r--engines/titanic/game/computer_screen.cpp6
-rw-r--r--engines/titanic/game/end_sequence_control.cpp2
-rw-r--r--engines/titanic/game/fan_control.cpp2
-rw-r--r--engines/titanic/game/games_console.cpp2
-rw-r--r--engines/titanic/game/glass_smasher.cpp2
-rw-r--r--engines/titanic/game/gondolier/gondolier_base.cpp30
-rw-r--r--engines/titanic/game/gondolier/gondolier_base.h10
-rw-r--r--engines/titanic/game/gondolier/gondolier_chest.cpp8
-rw-r--r--engines/titanic/game/gondolier/gondolier_mixer.cpp6
-rw-r--r--engines/titanic/game/gondolier/gondolier_slider.cpp165
-rw-r--r--engines/titanic/game/gondolier/gondolier_slider.h21
-rw-r--r--engines/titanic/game/hammer_dispensor.cpp4
-rw-r--r--engines/titanic/game/head_slot.cpp10
-rw-r--r--engines/titanic/game/head_smash_event.cpp2
-rw-r--r--engines/titanic/game/long_stick_dispenser.cpp4
-rw-r--r--engines/titanic/game/nut_replacer.cpp2
-rw-r--r--engines/titanic/game/parrot/parrot_nut_eater.cpp2
-rw-r--r--engines/titanic/game/phonograph.cpp17
-rw-r--r--engines/titanic/game/phonograph.h6
-rw-r--r--engines/titanic/game/phonograph_lid.cpp2
-rw-r--r--engines/titanic/game/play_on_act.cpp2
-rw-r--r--engines/titanic/game/port_hole.cpp2
-rw-r--r--engines/titanic/game/replacement_ear.cpp2
-rw-r--r--engines/titanic/game/restaurant_cylinder_holder.cpp4
-rw-r--r--engines/titanic/game/restaurant_phonograph.cpp30
-rw-r--r--engines/titanic/game/restaurant_phonograph.h2
-rw-r--r--engines/titanic/game/season_background.cpp14
-rw-r--r--engines/titanic/game/sgt/armchair.cpp4
-rw-r--r--engines/titanic/game/sgt/basin.cpp4
-rw-r--r--engines/titanic/game/sgt/bedfoot.cpp10
-rw-r--r--engines/titanic/game/sgt/bedhead.cpp4
-rw-r--r--engines/titanic/game/sgt/chest_of_drawers.cpp4
-rw-r--r--engines/titanic/game/sgt/desk.cpp4
-rw-r--r--engines/titanic/game/sgt/deskchair.cpp4
-rw-r--r--engines/titanic/game/sgt/drawer.cpp4
-rw-r--r--engines/titanic/game/sgt/sgt_doors.cpp8
-rw-r--r--engines/titanic/game/sgt/sgt_navigation.cpp4
-rw-r--r--engines/titanic/game/sgt/sgt_tv.cpp4
-rw-r--r--engines/titanic/game/sgt/toilet.cpp4
-rw-r--r--engines/titanic/game/sgt/vase.cpp4
-rw-r--r--engines/titanic/game/sgt/washstand.cpp4
-rw-r--r--engines/titanic/game/starling_puret.cpp2
-rw-r--r--engines/titanic/game/sub_glass.cpp2
-rw-r--r--engines/titanic/game/sweet_bowl.cpp2
-rw-r--r--engines/titanic/game/throw_tv_down_well.cpp2
-rw-r--r--engines/titanic/game/transport/lift.cpp32
-rw-r--r--engines/titanic/game/transport/pellerator.cpp30
53 files changed, 267 insertions, 284 deletions
diff --git a/engines/titanic/game/arboretum_gate.cpp b/engines/titanic/game/arboretum_gate.cpp
index 2a79c31339..1b13b1a65e 100644
--- a/engines/titanic/game/arboretum_gate.cpp
+++ b/engines/titanic/game/arboretum_gate.cpp
@@ -275,27 +275,27 @@ bool CArboretumGate::TurnOff(CTurnOff *msg) {
if (!_disabled) {
switch (_seasonNum) {
case SEASON_SUMMER:
- playMovie(_startFrameSummerOff, _endFrameSummerOff, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameSummerOff, _endFrameSummerOff, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
break;
case SEASON_AUTUMN:
if (_gotSpeechCentre) {
- playMovie(_startFrameAutumnOff2, _endFrameAutumnOff2, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameAutumnOff2, _endFrameAutumnOff2, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
} else {
- playMovie(_startFrameAutumnOff1, _endFrameAutumnOff1, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameAutumnOff1, _endFrameAutumnOff1, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
}
break;
case SEASON_WINTER:
if (_gotSpeechCentre) {
- playMovie(_startFrameWinterOff2, _endFrameWinterOff2, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameWinterOff2, _endFrameWinterOff2, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
} else {
- playMovie(_startFrameWinterOff1, _endFrameWinterOff1, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameWinterOff1, _endFrameWinterOff1, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
}
break;
case SEASON_SPRING:
- playMovie(_startFrameSpringOff, _endFrameSpringOff, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameSpringOff, _endFrameSpringOff, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
break;
default:
@@ -318,27 +318,27 @@ bool CArboretumGate::TurnOn(CTurnOn *msg) {
switch (_seasonNum) {
case SEASON_SUMMER:
- playMovie(_startFrameSummerOn, _endFrameSummerOn, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameSummerOn, _endFrameSummerOn, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
break;
case SEASON_AUTUMN:
if (_gotSpeechCentre) {
- playMovie(_startFrameAutumnOn2, _endFrameAutumnOn2, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameAutumnOn2, _endFrameAutumnOn2, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
} else {
- playMovie(_startFrameAutumnOn1, _endFrameAutumnOn1, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameAutumnOn1, _endFrameAutumnOn1, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
}
break;
case SEASON_WINTER:
if (_gotSpeechCentre) {
- playMovie(_startFrameWinterOn2, _endFrameWinterOn2, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameWinterOn2, _endFrameWinterOn2, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
} else {
- playMovie(_startFrameWinterOn1, _endFrameWinterOn1, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameWinterOn1, _endFrameWinterOn1, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
}
break;
case SEASON_SPRING:
- playMovie(_startFrameSpringOn, _endFrameSpringOn, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(_startFrameSpringOn, _endFrameSpringOn, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
break;
default:
diff --git a/engines/titanic/game/captains_wheel.cpp b/engines/titanic/game/captains_wheel.cpp
index 72d3cf70d9..7a21047908 100644
--- a/engines/titanic/game/captains_wheel.cpp
+++ b/engines/titanic/game/captains_wheel.cpp
@@ -80,7 +80,7 @@ bool CCaptainsWheel::LeaveViewMsg(CLeaveViewMsg *msg) {
_fieldE0 = false;
CTurnOff offMsg;
offMsg.execute(this);
- playMovie(162, 168, MOVIE_GAMESTATE);
+ playMovie(162, 168, MOVIE_WAIT_FOR_FINISH);
}
return true;
@@ -91,11 +91,11 @@ bool CCaptainsWheel::ActMsg(CActMsg *msg) {
if (_fieldE0) {
CTurnOn onMsg;
onMsg.execute("RatchetySound");
- playMovie(8, 142, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(8, 142, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
} else if (msg->_action == "Honk") {
if (_fieldE0) {
- playMovie(150, 160, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(150, 160, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
} else if (msg->_action == "Go") {
if (!_fieldE0) {
@@ -105,7 +105,7 @@ bool CCaptainsWheel::ActMsg(CActMsg *msg) {
CTurnOff offMsg;
offMsg.execute(this);
- playMovie(162, 168, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(162, 168, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
} else if (msg->_action == "Cruise") {
if (_fieldE0) {
@@ -115,7 +115,7 @@ bool CCaptainsWheel::ActMsg(CActMsg *msg) {
CTurnOff offMsg;
offMsg.execute(this);
- playMovie(162, 168, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(162, 168, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
} else if (msg->_action == "SetDestin") {
playSound("a#44.wav");
diff --git a/engines/titanic/game/cdrom.cpp b/engines/titanic/game/cdrom.cpp
index 0d1cd3a6f2..d8d31ecc1a 100644
--- a/engines/titanic/game/cdrom.cpp
+++ b/engines/titanic/game/cdrom.cpp
@@ -38,21 +38,21 @@ CCDROM::CCDROM() : CGameObject() {
void CCDROM::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writePoint(_tempPos, indent);
+ file->writePoint(_centroid, indent);
CGameObject::save(file, indent);
}
void CCDROM::load(SimpleFile *file) {
file->readNumber();
- _tempPos = file->readPoint();
+ _centroid = file->readPoint();
CGameObject::load(file);
}
bool CCDROM::MouseDragStartMsg(CMouseDragStartMsg *msg) {
if (checkStartDragging(msg)) {
hideMouse();
- _tempPos = msg->_mousePos - _bounds;
- setPosition(msg->_mousePos - _tempPos);
+ _centroid = msg->_mousePos - _bounds;
+ setPosition(msg->_mousePos - _centroid);
return true;
} else {
return false;
@@ -77,7 +77,7 @@ bool CCDROM::MouseDragEndMsg(CMouseDragEndMsg *msg) {
}
bool CCDROM::MouseDragMoveMsg(CMouseDragMoveMsg *msg) {
- setPosition(msg->_mousePos - _tempPos);
+ setPosition(msg->_mousePos - _centroid);
return true;
}
diff --git a/engines/titanic/game/cdrom.h b/engines/titanic/game/cdrom.h
index 017914830c..12175f6450 100644
--- a/engines/titanic/game/cdrom.h
+++ b/engines/titanic/game/cdrom.h
@@ -36,7 +36,7 @@ class CCDROM : public CGameObject {
bool MouseDragMoveMsg(CMouseDragMoveMsg *msg);
bool ActMsg(CActMsg *msg);
private:
- Point _tempPos;
+ Point _centroid;
public:
CLASSDEF;
CCDROM();
diff --git a/engines/titanic/game/chicken_dispensor.cpp b/engines/titanic/game/chicken_dispensor.cpp
index 8a56f43fff..89873dcc4d 100644
--- a/engines/titanic/game/chicken_dispensor.cpp
+++ b/engines/titanic/game/chicken_dispensor.cpp
@@ -89,10 +89,10 @@ bool CChickenDispensor::StatusChangeMsg(CStatusChangeMsg *msg) {
setVisible(true);
if (_disabled) {
- playMovie(0, 12, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(0, 12, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("z#400.wav");
} else {
- playMovie(12, 16, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(12, 16, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
break;
@@ -186,7 +186,7 @@ bool CChickenDispensor::MouseDragStartMsg(CMouseDragStartMsg *msg) {
bool CChickenDispensor::TurnOff(CTurnOff *msg) {
if (getMovieFrame() != 16)
setVisible(false);
- playMovie(16, 12, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(16, 12, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_dispensed = false;
return true;
diff --git a/engines/titanic/game/code_wheel.cpp b/engines/titanic/game/code_wheel.cpp
index 441fddec02..ebffd3b570 100644
--- a/engines/titanic/game/code_wheel.cpp
+++ b/engines/titanic/game/code_wheel.cpp
@@ -77,13 +77,13 @@ bool CodeWheel::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
_state = (_state + 1) % 15;
playMovie(START_FRAMES[_state], END_FRAMES[_state],
- MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
} else {
if (_state == _field108)
_field110 = true;
playMovie(START_FRAMES[14 - _state] + 68, END_FRAMES[14 - _state] + 68,
- MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
_state = (_state <= 0) ? 14 : _state - 1;
}
diff --git a/engines/titanic/game/computer_screen.cpp b/engines/titanic/game/computer_screen.cpp
index 98bef6eb63..7d549d0497 100644
--- a/engines/titanic/game/computer_screen.cpp
+++ b/engines/titanic/game/computer_screen.cpp
@@ -47,10 +47,10 @@ void CComputerScreen::load(SimpleFile *file) {
bool CComputerScreen::ActMsg(CActMsg *msg) {
if (msg->_action == "newCD1" || msg->_action == "newCD2") {
- playMovie(27, 53, MOVIE_GAMESTATE);
- playMovie(19, 26, MOVIE_GAMESTATE);
+ playMovie(27, 53, MOVIE_WAIT_FOR_FINISH);
+ playMovie(19, 26, MOVIE_WAIT_FOR_FINISH);
} else if (msg->_action == "newSTCD") {
- playMovie(0, 18, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(0, 18, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
}
return true;
diff --git a/engines/titanic/game/end_sequence_control.cpp b/engines/titanic/game/end_sequence_control.cpp
index 033a7752a3..0f3a97c3a2 100644
--- a/engines/titanic/game/end_sequence_control.cpp
+++ b/engines/titanic/game/end_sequence_control.cpp
@@ -77,7 +77,7 @@ bool CEndSequenceControl::EnterRoomMsg(CEnterRoomMsg *msg) {
bool CEndSequenceControl::EnterViewMsg(CEnterViewMsg *msg) {
movieSetAudioTiming(true);
- playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
return true;
}
diff --git a/engines/titanic/game/fan_control.cpp b/engines/titanic/game/fan_control.cpp
index ca664764ea..7ed22fd560 100644
--- a/engines/titanic/game/fan_control.cpp
+++ b/engines/titanic/game/fan_control.cpp
@@ -121,7 +121,7 @@ bool CFanControl::StatusChangeMsg(CStatusChangeMsg *msg) {
// It's puret time
incTransitions();
_starlingsDying = true;
- playMovie(12, 18, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(12, 18, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
} else {
playMovie(12, 18, 0);
}
diff --git a/engines/titanic/game/games_console.cpp b/engines/titanic/game/games_console.cpp
index 40311f70ee..6c13f4b862 100644
--- a/engines/titanic/game/games_console.cpp
+++ b/engines/titanic/game/games_console.cpp
@@ -56,7 +56,7 @@ bool CGamesConsole::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
bool CGamesConsole::LeaveViewMsg(CLeaveViewMsg *msg) {
if (_active) {
_active = false;
- playMovie(23, 44, MOVIE_GAMESTATE);
+ playMovie(23, 44, MOVIE_WAIT_FOR_FINISH);
}
return true;
diff --git a/engines/titanic/game/glass_smasher.cpp b/engines/titanic/game/glass_smasher.cpp
index 2123f2dfd0..7de034c2ee 100644
--- a/engines/titanic/game/glass_smasher.cpp
+++ b/engines/titanic/game/glass_smasher.cpp
@@ -42,7 +42,7 @@ void CGlassSmasher::load(SimpleFile *file) {
bool CGlassSmasher::StatusChangeMsg(CStatusChangeMsg *msg) {
setVisible(true);
playSound("b#40.wav");
- playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
return true;
}
diff --git a/engines/titanic/game/gondolier/gondolier_base.cpp b/engines/titanic/game/gondolier/gondolier_base.cpp
index f3dc31c9f5..8b753ec264 100644
--- a/engines/titanic/game/gondolier/gondolier_base.cpp
+++ b/engines/titanic/game/gondolier/gondolier_base.cpp
@@ -28,45 +28,45 @@ BEGIN_MESSAGE_MAP(CGondolierBase, CGameObject)
ON_MESSAGE(PuzzleSolvedMsg)
END_MESSAGE_MAP()
-int CGondolierBase::_v1;
+bool CGondolierBase::_chestOpen;
bool CGondolierBase::_puzzleSolved;
int CGondolierBase::_volume1;
int CGondolierBase::_v4;
-int CGondolierBase::_v5;
int CGondolierBase::_volume2;
int CGondolierBase::_v7;
-int CGondolierBase::_v8;
-int CGondolierBase::_v9;
-int CGondolierBase::_v10;
+bool CGondolierBase::_rightSliderHooked;
+bool CGondolierBase::_leftSliderHooked;
+bool CGondolierBase::_priorLeftSliderHooked;
+bool CGondolierBase::_priorRightSliderHooked;
void CGondolierBase::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_chestOpen, indent);
file->writeNumberLine(_puzzleSolved, indent);
file->writeNumberLine(_volume1, indent);
file->writeNumberLine(_v4, indent);
- file->writeNumberLine(_v5, indent);
+ file->writeNumberLine(_rightSliderHooked, indent);
file->writeNumberLine(_volume2, indent);
file->writeNumberLine(_v7, indent);
- file->writeNumberLine(_v8, indent);
- file->writeNumberLine(_v9, indent);
- file->writeNumberLine(_v10, indent);
+ file->writeNumberLine(_leftSliderHooked, indent);
+ file->writeNumberLine(_priorLeftSliderHooked, indent);
+ file->writeNumberLine(_priorRightSliderHooked, indent);
CGameObject::save(file, indent);
}
void CGondolierBase::load(SimpleFile *file) {
file->readNumber();
- _v1 = file->readNumber();
+ _chestOpen = file->readNumber();
_puzzleSolved = file->readNumber();
_volume1 = file->readNumber();
_v4 = file->readNumber();
- _v5 = file->readNumber();
+ _rightSliderHooked = file->readNumber();
_volume2 = file->readNumber();
_v7 = file->readNumber();
- _v8 = file->readNumber();
- _v9 = file->readNumber();
- _v10 = file->readNumber();
+ _leftSliderHooked = file->readNumber();
+ _priorLeftSliderHooked = file->readNumber();
+ _priorRightSliderHooked = file->readNumber();
CGameObject::load(file);
}
diff --git a/engines/titanic/game/gondolier/gondolier_base.h b/engines/titanic/game/gondolier/gondolier_base.h
index 06d77ba85f..3b5df9f371 100644
--- a/engines/titanic/game/gondolier/gondolier_base.h
+++ b/engines/titanic/game/gondolier/gondolier_base.h
@@ -31,16 +31,16 @@ class CGondolierBase : public CGameObject {
DECLARE_MESSAGE_MAP;
bool PuzzleSolvedMsg(CPuzzleSolvedMsg *msg);
protected:
- static int _v1;
+ static bool _chestOpen;
static bool _puzzleSolved;
static int _volume1;
static int _v4;
- static int _v5;
static int _volume2;
static int _v7;
- static int _v8;
- static int _v9;
- static int _v10;
+ static bool _leftSliderHooked;
+ static bool _rightSliderHooked;
+ static bool _priorLeftSliderHooked;
+ static bool _priorRightSliderHooked;
public:
CLASSDEF;
diff --git a/engines/titanic/game/gondolier/gondolier_chest.cpp b/engines/titanic/game/gondolier/gondolier_chest.cpp
index cf6656732b..6058b582f7 100644
--- a/engines/titanic/game/gondolier/gondolier_chest.cpp
+++ b/engines/titanic/game/gondolier/gondolier_chest.cpp
@@ -41,13 +41,13 @@ void CGondolierChest::load(SimpleFile *file) {
}
bool CGondolierChest::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
- if (!_v1)
+ if (!_chestOpen)
playMovie(0, 14, MOVIE_NOTIFY_OBJECT);
else if (msg->_mousePos.y < 330)
return false;
- else if (!_v8 && !_v5) {
+ else if (!_leftSliderHooked && !_rightSliderHooked) {
playMovie(14, 29, 0);
- _v1 = 0;
+ _chestOpen = false;
}
return true;
@@ -55,7 +55,7 @@ bool CGondolierChest::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
bool CGondolierChest::MovieEndMsg(CMovieEndMsg *msg) {
if (msg->_endFrame == 14)
- _v1 = 1;
+ _chestOpen = true;
return true;
}
diff --git a/engines/titanic/game/gondolier/gondolier_mixer.cpp b/engines/titanic/game/gondolier/gondolier_mixer.cpp
index fc71ddd357..205d1f42da 100644
--- a/engines/titanic/game/gondolier/gondolier_mixer.cpp
+++ b/engines/titanic/game/gondolier/gondolier_mixer.cpp
@@ -141,7 +141,7 @@ bool CGondolierMixer::SignalObject(CSignalObject *msg) {
if (msg->_strValue == "Fly") {
_v4 = CLIP(msg->_numValue, 0, 10);
- if (!_v8) {
+ if (!_leftSliderHooked) {
_v7 = 10 - _v4;
CStatusChangeMsg statusMsg;
statusMsg._newStatus = _v7;
@@ -152,7 +152,7 @@ bool CGondolierMixer::SignalObject(CSignalObject *msg) {
if (msg->_strValue == "Tos") {
_v7 = CLIP(msg->_numValue, 0, 10);
- if (!_v5) {
+ if (!_rightSliderHooked) {
_v4 = 10 - _v7;
CStatusChangeMsg statusMsg;
statusMsg._newStatus = _v4;
@@ -160,7 +160,7 @@ bool CGondolierMixer::SignalObject(CSignalObject *msg) {
}
}
- if (!_v4 && !_v7 && _v5 && _v8) {
+ if (!_v4 && !_v7 && _rightSliderHooked && _leftSliderHooked) {
_puzzleSolved = true;
CStatusChangeMsg statusMsg;
statusMsg._newStatus = 1;
diff --git a/engines/titanic/game/gondolier/gondolier_slider.cpp b/engines/titanic/game/gondolier/gondolier_slider.cpp
index e7ca61de9c..b5edac57d4 100644
--- a/engines/titanic/game/gondolier/gondolier_slider.cpp
+++ b/engines/titanic/game/gondolier/gondolier_slider.cpp
@@ -24,7 +24,10 @@
namespace Titanic {
-static const int ARRAY[11] = { 0, 0, 1, 4, 9, 15, 21, 27, 32, 35, 36 };
+/**
+ * Y offsets within slider for each successive thumbnail position
+ */
+static const int Y_OFFSETS[11] = { 0, 0, 1, 4, 9, 15, 21, 27, 32, 35, 36 };
BEGIN_MESSAGE_MAP(CGondolierSlider, CGondolierBase)
ON_MESSAGE(MouseButtonDownMsg)
@@ -40,86 +43,66 @@ BEGIN_MESSAGE_MAP(CGondolierSlider, CGondolierBase)
END_MESSAGE_MAP()
CGondolierSlider::CGondolierSlider() : CGondolierBase(),
- _fieldBC(0), _fieldC0(0), _fieldC4(0), _fieldC8(0),
- _arrayIndex(0), _string1("NULL"), _fieldFC(0), _field118(0) {
+ _sliderIndex(0), _stringUnused("NULL"), _sliderNum(0), _dragging(false) {
}
void CGondolierSlider::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writeNumberLine(_fieldBC, indent);
- file->writeNumberLine(_fieldC0, indent);
- file->writeNumberLine(_fieldC4, indent);
- file->writeNumberLine(_fieldC8, indent);
- file->writeNumberLine(_sliderRect1.left, indent);
- file->writeNumberLine(_sliderRect1.top, indent);
- file->writeNumberLine(_sliderRect1.right, indent);
- file->writeNumberLine(_sliderRect1.bottom, indent);
- file->writeNumberLine(_sliderRect2.left, indent);
- file->writeNumberLine(_sliderRect2.top, indent);
- file->writeNumberLine(_sliderRect2.right, indent);
- file->writeNumberLine(_sliderRect2.bottom, indent);
- file->writeNumberLine(_sliderRect1.left, indent);
- file->writeQuotedLine(_string1, indent);
- file->writeNumberLine(_fieldFC, indent);
- file->writeQuotedLine(_string2, indent);
- file->writeQuotedLine(_string3, indent);
- file->writeNumberLine(_field118, indent);
+ file->writeRect(_rectUnused, indent);
+ file->writeRect(_thumbRect, indent);
+ file->writeRect(_defaultThumbRect, indent);
+ file->writeNumberLine(_sliderIndex, indent);
+ file->writeQuotedLine(_stringUnused, indent);
+ file->writeNumberLine(_sliderNum, indent);
+ file->writeQuotedLine(_armName, indent);
+ file->writeQuotedLine(_signalTarget, indent);
+ file->writeNumberLine(_dragging, indent);
CGondolierBase::save(file, indent);
}
void CGondolierSlider::load(SimpleFile *file) {
file->readNumber();
- _fieldBC = file->readNumber();
- _fieldC0 = file->readNumber();
- _fieldC4 = file->readNumber();
- _fieldC8 = file->readNumber();
- _sliderRect1.left = file->readNumber();
- _sliderRect1.top = file->readNumber();
- _sliderRect1.right = file->readNumber();
- _sliderRect1.bottom = file->readNumber();
- _sliderRect2.left = file->readNumber();
- _sliderRect2.top = file->readNumber();
- _sliderRect2.right = file->readNumber();
- _sliderRect2.bottom = file->readNumber();
- _arrayIndex = file->readNumber();
- _string1 = file->readString();
- _fieldFC = file->readNumber();
- _string2 = file->readString();
- _string3 = file->readString();
- _field118 = file->readNumber();
+ _rectUnused = file->readRect();
+ _thumbRect = file->readRect();
+ _defaultThumbRect = file->readRect();
+ _sliderIndex = file->readNumber();
+ _stringUnused = file->readString();
+ _sliderNum = file->readNumber();
+ _armName = file->readString();
+ _signalTarget = file->readString();
+ _dragging = file->readNumber();
CGondolierBase::load(file);
}
bool CGondolierSlider::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
- if (!_v1)
+ if (!_chestOpen)
return false;
- if (_fieldFC ? _v5 : _v8)
+ if (_sliderNum ? _rightSliderHooked : _leftSliderHooked)
return false;
- return _sliderRect1.contains(msg->_mousePos);
+ return _thumbRect.contains(msg->_mousePos);
}
bool CGondolierSlider::MouseDragMoveMsg(CMouseDragMoveMsg *msg) {
- if (!(_fieldFC ? _v5 : _v8)) {
+ if (!(_sliderNum ? _rightSliderHooked : _leftSliderHooked)) {
int minVal = 0x7FFFFFFF;
int foundIndex = -1;
- int yp = (_sliderRect2.top + _sliderRect2.bottom) / 2
+ int yp = (_defaultThumbRect.top + _defaultThumbRect.bottom) / 2
+ _bounds.top - msg->_mousePos.y;
for (int idx = 0; idx < 11; ++idx) {
- int yv = yp + ARRAY[idx];
- if (yv < 0)
- yv = -yv;
- if (yv < minVal) {
- minVal = yv;
+ int yDiff = ABS(yp + Y_OFFSETS[idx]);
+
+ if (yDiff < minVal) {
+ minVal = yDiff;
foundIndex = idx;
}
}
if (foundIndex >= 0) {
- _arrayIndex = foundIndex;
+ _sliderIndex = foundIndex;
CSignalObject signalMsg;
signalMsg.execute(this);
}
@@ -135,70 +118,70 @@ bool CGondolierSlider::EnterViewMsg(CEnterViewMsg *msg) {
}
bool CGondolierSlider::MouseDragStartMsg(CMouseDragStartMsg *msg) {
- if (!_v1)
+ if (!_chestOpen)
return false;
- if (_fieldFC ? _v5 : _v8)
+ if (_sliderNum ? _rightSliderHooked : _leftSliderHooked)
return false;
- _field118 = checkStartDragging(msg);
- return _field118;
+ _dragging = checkStartDragging(msg);
+ return _dragging;
}
bool CGondolierSlider::StatusChangeMsg(CStatusChangeMsg *msg) {
- _arrayIndex = CLIP(10 - msg->_newStatus, 0, 10);
- _sliderRect1 = _sliderRect2;
- _sliderRect1.translate(_bounds.left, _bounds.top);
- _sliderRect1.translate(0, ARRAY[_arrayIndex]);
+ _sliderIndex = CLIP(10 - msg->_newStatus, 0, 10);
+ _thumbRect = _defaultThumbRect;
+ _thumbRect.translate(_bounds.left, _bounds.top);
+ _thumbRect.translate(0, Y_OFFSETS[_sliderIndex]);
- loadFrame(_arrayIndex);
+ loadFrame(_sliderIndex);
return true;
}
bool CGondolierSlider::MouseDragEndMsg(CMouseDragEndMsg *msg) {
- _field118 = false;
+ _dragging = false;
return true;
}
bool CGondolierSlider::IsHookedOnMsg(CIsHookedOnMsg *msg) {
- if (_fieldFC ? _v5 : _v8)
+ if (_sliderNum ? _rightSliderHooked : _leftSliderHooked)
return false;
- if (!_sliderRect1.intersects(msg->_rect)) {
- _string2 = CString();
- msg->_result = false;
+ if (!_thumbRect.intersects(msg->_rect)) {
+ _armName = CString();
+ msg->_isHooked = false;
} else {
- _string2 = _string1;
- if (_fieldFC) {
- _v5 = _v9 = 1;
+ _armName = msg->_armName;
+ if (_sliderNum) {
+ _rightSliderHooked = _priorLeftSliderHooked = true;
} else {
- _v8 = _v10 = 1;
+ _leftSliderHooked = _priorRightSliderHooked = true;
}
- msg->_result = true;
+ msg->_isHooked = true;
}
return true;
}
bool CGondolierSlider::FrameMsg(CFrameMsg *msg) {
- if (_fieldFC ? _v5 : _v8) {
- if (_arrayIndex < 10) {
- ++_arrayIndex;
+ if (_sliderNum ? _rightSliderHooked : _leftSliderHooked) {
+ if (_sliderIndex < 10) {
+ ++_sliderIndex;
CSignalObject signalMsg;
signalMsg.execute(this);
int yp = 0;
- if (_arrayIndex > 0)
- yp = ARRAY[_arrayIndex] - ARRAY[_arrayIndex - 1];
+ if (_sliderIndex > 0)
+ yp = Y_OFFSETS[_sliderIndex] - Y_OFFSETS[_sliderIndex - 1];
- if (!_string2.empty()) {
+ if (!_armName.empty()) {
CTranslateObjectMsg transMsg;
transMsg._delta = Point(0, yp);
- transMsg.execute(_string2);
+ transMsg.execute(_armName);
}
}
- } else if (_fieldFC ? _v10 : _v9) {
- if (!_field118 && !_puzzleSolved && _arrayIndex > 0) {
+ } else if (_sliderNum ? _priorRightSliderHooked : _priorLeftSliderHooked) {
+ if (!_dragging && !_puzzleSolved && _sliderIndex > 0) {
CSignalObject signalMsg;
signalMsg.execute(this);
}
@@ -208,28 +191,28 @@ bool CGondolierSlider::FrameMsg(CFrameMsg *msg) {
}
bool CGondolierSlider::SignalObject(CSignalObject *msg) {
- _arrayIndex = CLIP(_arrayIndex, 0, 10);
- _sliderRect1 = _sliderRect2;
- _sliderRect1.translate(_bounds.left, _bounds.top);
- _sliderRect1.translate(0, ARRAY[_arrayIndex]);
- loadFrame(_arrayIndex);
+ _sliderIndex = CLIP(_sliderIndex, 0, 10);
+ _thumbRect = _defaultThumbRect;
+ _thumbRect.translate(_bounds.left, _bounds.top);
+ _thumbRect.translate(0, Y_OFFSETS[_sliderIndex]);
+ loadFrame(_sliderIndex);
CSignalObject signalMsg;
- signalMsg._numValue = 10 - _arrayIndex;
- signalMsg._strValue = _fieldFC ? "Fly" : "Tos";
- signalMsg.execute(_string3);
+ signalMsg._numValue = 10 - _sliderIndex;
+ signalMsg._strValue = _sliderNum ? "Fly" : "Tos";
+ signalMsg.execute(_signalTarget);
return true;
}
bool CGondolierSlider::ActMsg(CActMsg *msg) {
if (msg->_action == "Unhook") {
- if (_fieldFC) {
- _v5 = _v9 = 0;
- _v10 = _v8;
+ if (_sliderNum) {
+ _rightSliderHooked = _priorLeftSliderHooked = false;
+ _priorRightSliderHooked = _leftSliderHooked;
} else {
- _v8 = _v10 = 0;
- _v9 = _v5;
+ _leftSliderHooked = _priorRightSliderHooked = false;
+ _priorLeftSliderHooked = _rightSliderHooked;
}
}
diff --git a/engines/titanic/game/gondolier/gondolier_slider.h b/engines/titanic/game/gondolier/gondolier_slider.h
index d1562f5b2d..0679c0d993 100644
--- a/engines/titanic/game/gondolier/gondolier_slider.h
+++ b/engines/titanic/game/gondolier/gondolier_slider.h
@@ -40,18 +40,15 @@ class CGondolierSlider : public CGondolierBase {
bool SignalObject(CSignalObject *msg);
bool ActMsg(CActMsg *msg);
private:
- int _fieldBC;
- int _fieldC0;
- int _fieldC4;
- int _fieldC8;
- Rect _sliderRect1;
- Rect _sliderRect2;
- int _arrayIndex;
- CString _string1;
- int _fieldFC;
- CString _string2;
- CString _string3;
- bool _field118;
+ Rect _rectUnused;
+ Rect _thumbRect;
+ Rect _defaultThumbRect;
+ int _sliderIndex;
+ CString _stringUnused;
+ int _sliderNum;
+ CString _armName;
+ CString _signalTarget;
+ bool _dragging;
public:
CLASSDEF;
CGondolierSlider();
diff --git a/engines/titanic/game/hammer_dispensor.cpp b/engines/titanic/game/hammer_dispensor.cpp
index 2450868b14..82aeec12cb 100644
--- a/engines/titanic/game/hammer_dispensor.cpp
+++ b/engines/titanic/game/hammer_dispensor.cpp
@@ -77,9 +77,9 @@ bool CHammerDispensor::EnterViewMsg(CEnterViewMsg *msg) {
bool CHammerDispensor::LeaveViewMsg(CLeaveViewMsg *msg) {
if (_isOpen)
- playMovie(32, 50, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(32, 50, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
else
- playMovie(0, 7, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(0, 7, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_panUp = true;
_isOpen = false;
diff --git a/engines/titanic/game/head_slot.cpp b/engines/titanic/game/head_slot.cpp
index 06c366abd6..b0b7ee14be 100644
--- a/engines/titanic/game/head_slot.cpp
+++ b/engines/titanic/game/head_slot.cpp
@@ -101,13 +101,13 @@ bool CHeadSlot::EnterViewMsg(CEnterViewMsg *msg) {
_cursorId = CURSOR_ARROW;
if (_v1 == 1 || _string1 == "Working") {
- playMovie(_fieldE0, _fieldE4, MOVIE_GAMESTATE);
+ playMovie(_fieldE0, _fieldE4, MOVIE_WAIT_FOR_FINISH);
_fieldEC = true;
} else if (_fieldBC) {
- playMovie(_fieldE0, _fieldE8, MOVIE_GAMESTATE);
+ playMovie(_fieldE0, _fieldE8, MOVIE_WAIT_FOR_FINISH);
_fieldEC = false;
} else {
- playMovie(0, _fieldDC, MOVIE_GAMESTATE);
+ playMovie(0, _fieldDC, MOVIE_WAIT_FOR_FINISH);
}
addTimer(5000 + getRandomNumber(3000));
@@ -120,11 +120,11 @@ bool CHeadSlot::LeaveViewMsg(CLeaveViewMsg *msg) {
if (_fieldBC) {
loadFrame(_fieldE0);
- playMovie(_fieldE0, _fieldE8, MOVIE_GAMESTATE);
+ playMovie(_fieldE0, _fieldE8, MOVIE_WAIT_FOR_FINISH);
_fieldEC = false;
} else {
loadFrame(_fieldDC);
- playMovie(_fieldDC, _fieldE0, MOVIE_GAMESTATE);
+ playMovie(_fieldDC, _fieldE0, MOVIE_WAIT_FOR_FINISH);
}
_fieldEC = false;
diff --git a/engines/titanic/game/head_smash_event.cpp b/engines/titanic/game/head_smash_event.cpp
index 5ec3d299d5..dd5e516b0d 100644
--- a/engines/titanic/game/head_smash_event.cpp
+++ b/engines/titanic/game/head_smash_event.cpp
@@ -42,7 +42,7 @@ void CHeadSmashEvent::load(SimpleFile *file) {
bool CHeadSmashEvent::ActMsg(CActMsg *msg) {
if (msg->_action == "PlayToEnd") {
setVisible(true);
- playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
return true;
diff --git a/engines/titanic/game/long_stick_dispenser.cpp b/engines/titanic/game/long_stick_dispenser.cpp
index bf2dae53be..c340cae75b 100644
--- a/engines/titanic/game/long_stick_dispenser.cpp
+++ b/engines/titanic/game/long_stick_dispenser.cpp
@@ -109,9 +109,9 @@ bool CLongStickDispenser::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
bool CLongStickDispenser::LeaveViewMsg(CLeaveViewMsg *msg) {
if (_fieldC0 == 1) {
if (_fieldC4) {
- playMovie(19, 38, MOVIE_GAMESTATE);
+ playMovie(19, 38, MOVIE_WAIT_FOR_FINISH);
} else {
- playMovie(0, 18, MOVIE_GAMESTATE);
+ playMovie(0, 18, MOVIE_WAIT_FOR_FINISH);
_fieldBC = 1;
}
diff --git a/engines/titanic/game/nut_replacer.cpp b/engines/titanic/game/nut_replacer.cpp
index 6b05d1d0e9..3b1247fd8c 100644
--- a/engines/titanic/game/nut_replacer.cpp
+++ b/engines/titanic/game/nut_replacer.cpp
@@ -41,7 +41,7 @@ void CNutReplacer::load(SimpleFile *file) {
bool CNutReplacer::ReplaceBowlAndNutsMsg(CReplaceBowlAndNutsMsg *msg) {
setVisible(true);
- playMovie(MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
return true;
}
diff --git a/engines/titanic/game/parrot/parrot_nut_eater.cpp b/engines/titanic/game/parrot/parrot_nut_eater.cpp
index b9697d7b61..7196d76ccb 100644
--- a/engines/titanic/game/parrot/parrot_nut_eater.cpp
+++ b/engines/titanic/game/parrot/parrot_nut_eater.cpp
@@ -67,7 +67,7 @@ bool CParrotNutEater::ReplaceBowlAndNutsMsg(CReplaceBowlAndNutsMsg *msg) {
bool CParrotNutEater::NutPuzzleMsg(CNutPuzzleMsg *msg) {
if (msg->_value == "Jiggle") {
setVisible(true);
- playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
movieEvent(68);
movieEvent(132);
playSound("z#215.wav");
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/phonograph_lid.cpp b/engines/titanic/game/phonograph_lid.cpp
index e4e5f4882c..cde9415e02 100644
--- a/engines/titanic/game/phonograph_lid.cpp
+++ b/engines/titanic/game/phonograph_lid.cpp
@@ -76,7 +76,7 @@ bool CPhonographLid::LockPhonographMsg(CLockPhonographMsg *msg) {
bool CPhonographLid::LeaveViewMsg(CLeaveViewMsg *msg) {
if (_open) {
- playMovie(27, 55, MOVIE_GAMESTATE);
+ playMovie(27, 55, MOVIE_WAIT_FOR_FINISH);
_open = false;
}
diff --git a/engines/titanic/game/play_on_act.cpp b/engines/titanic/game/play_on_act.cpp
index 9c368c335d..ffed45c11f 100644
--- a/engines/titanic/game/play_on_act.cpp
+++ b/engines/titanic/game/play_on_act.cpp
@@ -45,7 +45,7 @@ bool CPlayOnAct::ActMsg(CActMsg *msg) {
playMovie(0);
} else if (msg->_action == "PlayToEnd") {
setVisible(true);
- playMovie(MOVIE_GAMESTATE);
+ playMovie(MOVIE_WAIT_FOR_FINISH);
}
return true;
diff --git a/engines/titanic/game/port_hole.cpp b/engines/titanic/game/port_hole.cpp
index 25807b1b1d..9111561588 100644
--- a/engines/titanic/game/port_hole.cpp
+++ b/engines/titanic/game/port_hole.cpp
@@ -79,7 +79,7 @@ bool CPortHole::MovieEndMsg(CMovieEndMsg *msg) {
bool CPortHole::LeaveViewMsg(CLeaveViewMsg *msg) {
if (_open) {
playSound(_closeSoundName);
- playMovie(14, 26, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(14, 26, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_open = false;
}
diff --git a/engines/titanic/game/replacement_ear.cpp b/engines/titanic/game/replacement_ear.cpp
index e8bd384207..d1274e92db 100644
--- a/engines/titanic/game/replacement_ear.cpp
+++ b/engines/titanic/game/replacement_ear.cpp
@@ -40,7 +40,7 @@ void CReplacementEar::load(SimpleFile *file) {
bool CReplacementEar::VisibleMsg(CVisibleMsg *msg) {
setVisible(true);
- playMovie(MOVIE_GAMESTATE);
+ playMovie(MOVIE_WAIT_FOR_FINISH);
playSound("z#64.wav");
return true;
}
diff --git a/engines/titanic/game/restaurant_cylinder_holder.cpp b/engines/titanic/game/restaurant_cylinder_holder.cpp
index 8a2581b32b..eddd4d2288 100644
--- a/engines/titanic/game/restaurant_cylinder_holder.cpp
+++ b/engines/titanic/game/restaurant_cylinder_holder.cpp
@@ -70,11 +70,11 @@ bool CRestaurantCylinderHolder::EjectCylinderMsg(CEjectCylinderMsg *msg) {
if (_isOpen) {
playClip(hasCylinder ? "CloseHolder_Full" : "CloseHolder_Empty",
- MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_dropEnabled = true;
} else {
playClip(hasCylinder ? "OpenHolder_Full" : "OpenHolder_Empty",
- MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
playSound(_ejectSoundName, 50);
diff --git a/engines/titanic/game/restaurant_phonograph.cpp b/engines/titanic/game/restaurant_phonograph.cpp
index a2c8892201..3b35514a52 100644
--- a/engines/titanic/game/restaurant_phonograph.cpp
+++ b/engines/titanic/game/restaurant_phonograph.cpp
@@ -36,11 +36,11 @@ BEGIN_MESSAGE_MAP(CRestaurantPhonograph, CPhonograph)
END_MESSAGE_MAP()
CRestaurantPhonograph::CRestaurantPhonograph() : CPhonograph(),
- _fieldF8(1), _field114(0) {}
+ _isLocked(true), _field114(0) {}
void CRestaurantPhonograph::save(SimpleFile *file, int indent) {
file->writeNumberLine(1, indent);
- file->writeNumberLine(_fieldF8, indent);
+ file->writeNumberLine(_isLocked, indent);
file->writeQuotedLine(_ejectSoundName, indent);
file->writeQuotedLine(_stopSoundName, indent);
@@ -51,7 +51,7 @@ void CRestaurantPhonograph::save(SimpleFile *file, int indent) {
void CRestaurantPhonograph::load(SimpleFile *file) {
file->readNumber();
- _fieldF8 = file->readNumber();
+ _isLocked = file->readNumber();
_ejectSoundName = file->readString();
_stopSoundName = file->readString();
_field114 = file->readNumber();
@@ -60,20 +60,22 @@ void CRestaurantPhonograph::load(SimpleFile *file) {
}
bool CRestaurantPhonograph::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
- if (!_fieldF8 && !_isPlaying) {
+ if (!_isLocked && !_isPlaying) {
CQueryCylinderHolderMsg holderMsg;
holderMsg.execute(this);
if (!holderMsg._isOpen) {
+ // Start playing immediately
CPhonographPlayMsg playMsg;
playMsg.execute(this);
} else if (holderMsg._isPresent) {
+ // Need to close the cylinder holder before playing
CEjectCylinderMsg ejectMsg;
- ejectMsg.execute(this);
+ ejectMsg.execute(this, nullptr, MSGFLAG_SCAN);
_isDisabled = true;
if (_field114) {
- loadFrame(_fieldEC);
+ loadFrame(_playUnpressedFrame);
playSound(_ejectSoundName);
}
}
@@ -83,9 +85,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 +98,7 @@ bool CRestaurantPhonograph::PhonographPlayMsg(CPhonographPlayMsg *msg) {
CRestaurantMusicChanged musicMsg(nameMsg._name);
musicMsg.execute(findRoom());
} else {
- loadFrame(_fieldF0);
+ loadFrame(_playPressedFrame);
}
return true;
@@ -105,11 +109,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;
@@ -135,12 +139,12 @@ bool CRestaurantPhonograph::EjectCylinderMsg(CEjectCylinderMsg *msg) {
}
bool CRestaurantPhonograph::QueryPhonographState(CQueryPhonographState *msg) {
- msg->_value = _fieldF8;
+ msg->_value = _isLocked;
return true;
}
bool CRestaurantPhonograph::LockPhonographMsg(CLockPhonographMsg *msg) {
- _fieldF8 = msg->_value;
+ _isLocked = msg->_value;
return true;
}
diff --git a/engines/titanic/game/restaurant_phonograph.h b/engines/titanic/game/restaurant_phonograph.h
index 8f72eaf58f..67248447ab 100644
--- a/engines/titanic/game/restaurant_phonograph.h
+++ b/engines/titanic/game/restaurant_phonograph.h
@@ -37,7 +37,7 @@ class CRestaurantPhonograph : public CPhonograph {
bool QueryPhonographState(CQueryPhonographState *msg);
bool LockPhonographMsg(CLockPhonographMsg *msg);
private:
- int _fieldF8;
+ bool _isLocked;
CString _ejectSoundName;
CString _stopSoundName;
int _field114;
diff --git a/engines/titanic/game/season_background.cpp b/engines/titanic/game/season_background.cpp
index 20ad6aca1d..d663c405ce 100644
--- a/engines/titanic/game/season_background.cpp
+++ b/engines/titanic/game/season_background.cpp
@@ -65,39 +65,39 @@ bool CSeasonBackground::ChangeSeasonMsg(CChangeSeasonMsg *msg) {
switch (_seasonNum) {
case SEASON_SUMMER:
- playMovie(0, 45, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(0, 45, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_defaultFrame = 45;
break;
case SEASON_AUTUMN:
if (_flag) {
- playMovie(232, 278, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(232, 278, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_defaultFrame = 278;
} else {
- playMovie(45, 91, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(45, 91, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_defaultFrame = 91;
}
break;
case SEASON_WINTER:
if (_flag) {
- playMovie(278, 326, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(278, 326, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_defaultFrame = 326;
} else {
CStatusChangeMsg changeMsg;
changeMsg._newStatus = 0;
changeMsg.execute("PickUpSpeechCentre");
- playMovie(91, 139, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(91, 139, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_defaultFrame = 139;
}
break;
case SEASON_SPRING:
if (_flag) {
- playMovie(326, 417, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(326, 417, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_defaultFrame = 417;
} else {
- playMovie(139, 228, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(139, 228, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
_defaultFrame = 228;
}
break;
diff --git a/engines/titanic/game/sgt/armchair.cpp b/engines/titanic/game/sgt/armchair.cpp
index 681b1ae61d..6c0e7fe0ca 100644
--- a/engines/titanic/game/sgt/armchair.cpp
+++ b/engines/titanic/game/sgt/armchair.cpp
@@ -55,7 +55,7 @@ bool CArmchair::TurnOn(CTurnOn *msg) {
_endFrame = 10;
}
- playMovie(_startFrame, _endFrame, MOVIE_GAMESTATE);
+ playMovie(_startFrame, _endFrame, MOVIE_WAIT_FOR_FINISH);
playSound("b#0.wav");
_statics->_armchair = "Open";
_isClosed = false;
@@ -70,7 +70,7 @@ bool CArmchair::TurnOff(CTurnOff *msg) {
_startFrame = 11;
_endFrame = 21;
_isClosed = true;
- playMovie(11, 21, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(11, 21, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
playSound("b#0.wav");
}
diff --git a/engines/titanic/game/sgt/basin.cpp b/engines/titanic/game/sgt/basin.cpp
index ce34a49250..fe3216e002 100644
--- a/engines/titanic/game/sgt/basin.cpp
+++ b/engines/titanic/game/sgt/basin.cpp
@@ -48,7 +48,7 @@ bool CBasin::TurnOn(CTurnOn *msg) {
_isClosed = false;
_startFrame = 0;
_endFrame = 6;
- playMovie(0, 6, MOVIE_GAMESTATE);
+ playMovie(0, 6, MOVIE_WAIT_FOR_FINISH);
playSound("b#13.wav");
}
@@ -61,7 +61,7 @@ bool CBasin::TurnOff(CTurnOff *msg) {
_isClosed = true;
_startFrame = 8;
_endFrame = 14;
- playMovie(8, 14, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(8, 14, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("b#13.wav");
}
diff --git a/engines/titanic/game/sgt/bedfoot.cpp b/engines/titanic/game/sgt/bedfoot.cpp
index d84a73f0a5..8f90e0f100 100644
--- a/engines/titanic/game/sgt/bedfoot.cpp
+++ b/engines/titanic/game/sgt/bedfoot.cpp
@@ -53,7 +53,7 @@ bool CBedfoot::TurnOn(CTurnOn *msg) {
playSound("b#4.wav");
}
- playMovie(_startFrame, _endFrame, MOVIE_GAMESTATE);
+ playMovie(_startFrame, _endFrame, MOVIE_WAIT_FOR_FINISH);
} else if (_statics->_bedfoot == "RestingUnderTV") {
_isClosed = false;
_startFrame = 8;
@@ -65,7 +65,7 @@ bool CBedfoot::TurnOn(CTurnOn *msg) {
playSound("192_436_bed hits floor.wav");
}
- playMovie(_startFrame, _endFrame, MOVIE_GAMESTATE);
+ playMovie(_startFrame, _endFrame, MOVIE_WAIT_FOR_FINISH);
}
if (_statics->_bedfoot == "Open")
@@ -94,7 +94,7 @@ bool CBedfoot::TurnOff(CTurnOff *msg) {
_endFrame = 25;
}
- playMovie(_startFrame, _endFrame, MOVIE_GAMESTATE);
+ playMovie(_startFrame, _endFrame, MOVIE_WAIT_FOR_FINISH);
playSound("b#7.wav");
} else if (_statics->_bedfoot == "NotOnWashstand" && _statics->_bedhead == "ClosedWrong") {
@@ -109,14 +109,14 @@ bool CBedfoot::TurnOff(CTurnOff *msg) {
_endFrame = 25;
}
- playMovie(_startFrame, _endFrame, MOVIE_GAMESTATE);
+ playMovie(_startFrame, _endFrame, MOVIE_WAIT_FOR_FINISH);
playSound("b#7.wav");
} else if (_statics->_bedfoot == "RestingUTV" && _statics->_tv == "Closed") {
_statics->_bedfoot = "Closed";
_startFrame = 25;
_endFrame = 30;
- playMovie(25, 30, MOVIE_GAMESTATE);
+ playMovie(25, 30, MOVIE_WAIT_FOR_FINISH);
playSound("b#7.wav");
}
diff --git a/engines/titanic/game/sgt/bedhead.cpp b/engines/titanic/game/sgt/bedhead.cpp
index b42c1c1146..1356afea83 100644
--- a/engines/titanic/game/sgt/bedhead.cpp
+++ b/engines/titanic/game/sgt/bedhead.cpp
@@ -110,7 +110,7 @@ bool CBedhead::TurnOn(CTurnOn *msg) {
setVisible(true);
_statics->_bedhead = entry._name4;
- playMovie(entry._startFrame, entry._endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(entry._startFrame, entry._endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("b#6.wav");
_isClosed = false;
}
@@ -157,7 +157,7 @@ bool CBedhead::TurnOff(CTurnOff *msg) {
setVisible(true);
_statics->_bedhead = entry._name4;
- playMovie(entry._startFrame, entry._endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(entry._startFrame, entry._endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("193_436_bed fold up 1.wav");
_isClosed = false;
}
diff --git a/engines/titanic/game/sgt/chest_of_drawers.cpp b/engines/titanic/game/sgt/chest_of_drawers.cpp
index 9e00d4fde7..648308fc8f 100644
--- a/engines/titanic/game/sgt/chest_of_drawers.cpp
+++ b/engines/titanic/game/sgt/chest_of_drawers.cpp
@@ -46,7 +46,7 @@ bool CChestOfDrawers::TurnOn(CTurnOn *msg) {
_statics->_chestOfDrawers = "Open";
_startFrame = 1;
_endFrame = 14;
- playMovie(1, 14, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(1, 14, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("b#11.wav");
}
@@ -62,7 +62,7 @@ bool CChestOfDrawers::TurnOff(CTurnOff *msg) {
_startFrame = 14;
_endFrame = 27;
- playMovie(14, 27, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(14, 27, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("b#11.wav");
}
diff --git a/engines/titanic/game/sgt/desk.cpp b/engines/titanic/game/sgt/desk.cpp
index a31efe9e5d..1aea9a8ab3 100644
--- a/engines/titanic/game/sgt/desk.cpp
+++ b/engines/titanic/game/sgt/desk.cpp
@@ -47,7 +47,7 @@ bool CDesk::TurnOn(CTurnOn *msg) {
_isClosed = false;
_startFrame = 1;
_endFrame = 26;
- playMovie(1, 26, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(1, 26, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("b#12.wav");
}
@@ -64,7 +64,7 @@ bool CDesk::TurnOff(CTurnOff *msg) {
_isClosed = true;
_startFrame = 26;
_endFrame = 51;
- playMovie(26, 51, MOVIE_GAMESTATE);
+ playMovie(26, 51, MOVIE_WAIT_FOR_FINISH);
playSound("b#9.wav");
}
diff --git a/engines/titanic/game/sgt/deskchair.cpp b/engines/titanic/game/sgt/deskchair.cpp
index 2b25f57d03..23b6ad64d7 100644
--- a/engines/titanic/game/sgt/deskchair.cpp
+++ b/engines/titanic/game/sgt/deskchair.cpp
@@ -48,7 +48,7 @@ bool CDeskchair::TurnOn(CTurnOn *msg) {
_isClosed = false;
_startFrame = 0;
_endFrame = 16;
- playMovie(0, 16, MOVIE_GAMESTATE);
+ playMovie(0, 16, MOVIE_WAIT_FOR_FINISH);
playSound("b#8.wav");
}
@@ -61,7 +61,7 @@ bool CDeskchair::TurnOff(CTurnOff *msg) {
_isClosed = true;
_startFrame = 16;
_endFrame = 32;
- playMovie(16, 32, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(16, 32, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("b#2.wav");
}
diff --git a/engines/titanic/game/sgt/drawer.cpp b/engines/titanic/game/sgt/drawer.cpp
index 68752b3d2f..7288bbdc61 100644
--- a/engines/titanic/game/sgt/drawer.cpp
+++ b/engines/titanic/game/sgt/drawer.cpp
@@ -53,7 +53,7 @@ bool CDrawer::TurnOn(CTurnOn *msg) {
_endFrame = 75;
setVisible(true);
_statics->_drawer = "Open";
- playMovie(_startFrame, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("b#10.wav");
}
@@ -66,7 +66,7 @@ bool CDrawer::TurnOff(CTurnOff *msg) {
_startFrame = 75;
_endFrame = 100;
_isClosed = true;
- playMovie(_startFrame, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
playSound("b#10.wav");
}
diff --git a/engines/titanic/game/sgt/sgt_doors.cpp b/engines/titanic/game/sgt/sgt_doors.cpp
index 71eae9800c..2dabd21077 100644
--- a/engines/titanic/game/sgt/sgt_doors.cpp
+++ b/engines/titanic/game/sgt/sgt_doors.cpp
@@ -60,9 +60,9 @@ bool CSGTDoors::EnterViewMsg(CEnterViewMsg *msg) {
if (pet->getRooms1CC() == 1)
playMovie(START_FRAMES[roomNum], END_FRAMES[roomNum],
- MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
else
- playMovie(0, 12, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(0, 12, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
return true;
@@ -89,9 +89,9 @@ bool CSGTDoors::LeaveRoomMsg(CLeaveRoomMsg *msg) {
if (pet->getRooms1CC() == 1)
playMovie(START_FRAMES[roomNum], END_FRAMES[roomNum],
- MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
else
- playMovie(12, 25, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(12, 25, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
return true;
diff --git a/engines/titanic/game/sgt/sgt_navigation.cpp b/engines/titanic/game/sgt/sgt_navigation.cpp
index 031226226f..d0b57ba1ec 100644
--- a/engines/titanic/game/sgt/sgt_navigation.cpp
+++ b/engines/titanic/game/sgt/sgt_navigation.cpp
@@ -71,9 +71,9 @@ bool CSGTNavigation::StatusChangeMsg(CStatusChangeMsg *msg) {
int startVal = pet->getRooms1CC();
if (startVal > _statics->_changeViewNum)
- playMovie(FRAMES[startVal], FRAMES[_statics->_changeViewNum], MOVIE_GAMESTATE);
+ playMovie(FRAMES[startVal], FRAMES[_statics->_changeViewNum], MOVIE_WAIT_FOR_FINISH);
else
- playMovie(FRAMES[startVal + 3], FRAMES[_statics->_changeViewNum + 3], MOVIE_GAMESTATE);
+ playMovie(FRAMES[startVal + 3], FRAMES[_statics->_changeViewNum + 3], MOVIE_WAIT_FOR_FINISH);
_cursorId = _statics->_changeViewNum != 1 ? CURSOR_MOVE_FORWARD : CURSOR_INVALID;
diff --git a/engines/titanic/game/sgt/sgt_tv.cpp b/engines/titanic/game/sgt/sgt_tv.cpp
index ebec334781..5ce7c5b20e 100644
--- a/engines/titanic/game/sgt/sgt_tv.cpp
+++ b/engines/titanic/game/sgt/sgt_tv.cpp
@@ -46,7 +46,7 @@ bool CSGTTV::TurnOff(CTurnOff *msg) {
_isClosed = true;
_startFrame = 6;
_endFrame = 12;
- playMovie(6, 12, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(6, 12, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
return true;
@@ -60,7 +60,7 @@ bool CSGTTV::TurnOn(CTurnOn *msg) {
_isClosed = false;
_startFrame = 1;
_endFrame = 6;
- playMovie(1, 6, MOVIE_GAMESTATE);
+ playMovie(1, 6, MOVIE_WAIT_FOR_FINISH);
}
return true;
diff --git a/engines/titanic/game/sgt/toilet.cpp b/engines/titanic/game/sgt/toilet.cpp
index 544cdda0c6..0f796c2b9d 100644
--- a/engines/titanic/game/sgt/toilet.cpp
+++ b/engines/titanic/game/sgt/toilet.cpp
@@ -50,7 +50,7 @@ bool CToilet::TurnOn(CTurnOn *msg) {
_isClosed = false;
_startFrame = 0;
_endFrame = 11;
- playMovie(0, 11, MOVIE_GAMESTATE);
+ playMovie(0, 11, MOVIE_WAIT_FOR_FINISH);
playSound("b#1.wav");
}
@@ -64,7 +64,7 @@ bool CToilet::TurnOff(CTurnOff *msg) {
_isClosed = true;
_startFrame = 11;
_endFrame = 18;
- playMovie(11, 18, MOVIE_GAMESTATE);
+ playMovie(11, 18, MOVIE_WAIT_FOR_FINISH);
playSound("b#1.wav");
}
diff --git a/engines/titanic/game/sgt/vase.cpp b/engines/titanic/game/sgt/vase.cpp
index f9ee292be2..e7b427c28f 100644
--- a/engines/titanic/game/sgt/vase.cpp
+++ b/engines/titanic/game/sgt/vase.cpp
@@ -47,7 +47,7 @@ bool CVase::TurnOn(CTurnOn *msg) {
_isClosed = false;
_startFrame = 1;
_endFrame = 12;
- playMovie(1, 12, MOVIE_GAMESTATE);
+ playMovie(1, 12, MOVIE_WAIT_FOR_FINISH);
}
return true;
@@ -61,7 +61,7 @@ bool CVase::TurnOff(CTurnOff *msg) {
_isClosed = true;
_startFrame = 12;
_endFrame = 25;
- playMovie(12, 25, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(12, 25, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
return true;
diff --git a/engines/titanic/game/sgt/washstand.cpp b/engines/titanic/game/sgt/washstand.cpp
index 5be722bec4..217e36c1e9 100644
--- a/engines/titanic/game/sgt/washstand.cpp
+++ b/engines/titanic/game/sgt/washstand.cpp
@@ -47,7 +47,7 @@ bool CWashstand::TurnOn(CTurnOn *msg) {
_isClosed = false;
_startFrame = 0;
_endFrame = 14;
- playMovie(0, 14, MOVIE_GAMESTATE);
+ playMovie(0, 14, MOVIE_WAIT_FOR_FINISH);
playSound("b#14.wav");
}
@@ -61,7 +61,7 @@ bool CWashstand::TurnOff(CTurnOff *msg) {
_isClosed = true;
_startFrame = 14;
_endFrame = 28;
- playMovie(14, 28, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(14, 28, MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
playSound("b#14.wav");
}
diff --git a/engines/titanic/game/starling_puret.cpp b/engines/titanic/game/starling_puret.cpp
index 2f1909d963..f598f134ba 100644
--- a/engines/titanic/game/starling_puret.cpp
+++ b/engines/titanic/game/starling_puret.cpp
@@ -59,7 +59,7 @@ bool CStarlingPuret::EnterViewMsg(CEnterViewMsg *msg) {
changeMsg._newStatus = 1;
changeMsg.execute("PromDeckStarlings");
- playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
CSignalObject signalMsg;
signalMsg._numValue = 4;
signalMsg.execute("PromDeckStarlings");
diff --git a/engines/titanic/game/sub_glass.cpp b/engines/titanic/game/sub_glass.cpp
index 041f49097d..48cc84815a 100644
--- a/engines/titanic/game/sub_glass.cpp
+++ b/engines/titanic/game/sub_glass.cpp
@@ -88,7 +88,7 @@ bool CSUBGlass::SignalObject(CSignalObject *msg) {
setVisible(true);
if (_signalStartFrame >= 0) {
- playMovie(_signalStartFrame, _signalEndFrame, MOVIE_GAMESTATE);
+ playMovie(_signalStartFrame, _signalEndFrame, MOVIE_WAIT_FOR_FINISH);
playSound("z#30.wav");
_fieldBC = false;
}
diff --git a/engines/titanic/game/sweet_bowl.cpp b/engines/titanic/game/sweet_bowl.cpp
index 7a3832e7c2..a1d0dc2b01 100644
--- a/engines/titanic/game/sweet_bowl.cpp
+++ b/engines/titanic/game/sweet_bowl.cpp
@@ -55,7 +55,7 @@ bool CSweetBowl::EnterViewMsg(CEnterViewMsg *msg) {
bool CSweetBowl::ActMsg(CActMsg *msg) {
if (msg->_action == "Jiggle") {
setVisible(true);
- playMovie(MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ playMovie(MOVIE_WAIT_FOR_FINISH | MOVIE_NOTIFY_OBJECT);
playSound(getRandomNumber(1) == 1 ? "b#42.wav" : "b#43.wav");
}
diff --git a/engines/titanic/game/throw_tv_down_well.cpp b/engines/titanic/game/throw_tv_down_well.cpp
index be61f6e9ab..680fc7e29f 100644
--- a/engines/titanic/game/throw_tv_down_well.cpp
+++ b/engines/titanic/game/throw_tv_down_well.cpp
@@ -60,7 +60,7 @@ bool CThrowTVDownWell::ActMsg(CActMsg *msg) {
}
bool CThrowTVDownWell::EnterViewMsg(CEnterViewMsg *msg) {
- playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
movieEvent(49);
return true;
}
diff --git a/engines/titanic/game/transport/lift.cpp b/engines/titanic/game/transport/lift.cpp
index a6f45bda98..8dfc55905a 100644
--- a/engines/titanic/game/transport/lift.cpp
+++ b/engines/titanic/game/transport/lift.cpp
@@ -120,20 +120,20 @@ bool CLift::StatusChangeMsg(CStatusChangeMsg *msg) {
if (oldClass == newClass) {
debugStr = CString::format("Same (%d-%d)", _startFrame, _endFrame);
- playMovie(_startFrame, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
} else if (oldClass == 1 && newClass == 2) {
debugStr = CString::format("1 to 2 (%d-108, 108-%d)", _startFrame, _endFrame);
- playMovie(_startFrame, 108, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
- playMovie(108, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, 108, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
+ playMovie(108, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
} else if (oldClass == 1 && newClass == 3) {
debugStr = CString::format("1 to 3 (%d-108, 108-190, 190-%d)", _startFrame, _endFrame);
- playMovie(_startFrame, 108, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
- playMovie(108, 190, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
- playMovie(190, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, 108, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
+ playMovie(108, 190, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
+ playMovie(190, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
} else {
debugStr = CString::format("2 to 3 (%d-190, 190-%d)", _startFrame, _endFrame);
- playMovie(_startFrame, 190, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
- playMovie(190, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, 190, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
+ playMovie(190, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
}
@@ -144,20 +144,20 @@ bool CLift::StatusChangeMsg(CStatusChangeMsg *msg) {
if (oldClass == newClass) {
debugStr = CString::format("Same (%d-%d)", _startFrame, _endFrame);
- playMovie(_startFrame, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
} else if (oldClass == 3 && newClass == 2) {
debugStr = CString::format("3 to 2 (%d-407, 407-%d)", _startFrame, _endFrame);
- playMovie(_startFrame, 407, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
- playMovie(407, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, 407, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
+ playMovie(407, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
} else if (oldClass == 3 && newClass == 1) {
debugStr = CString::format("3 to 1 (%d-407, 407-489, 489-%d)", _startFrame, _endFrame);
- playMovie(_startFrame, 407, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
- playMovie(407, 489, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
- playMovie(489, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, 407, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
+ playMovie(407, 489, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
+ playMovie(489, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
} else {
debugStr = CString::format("2 to 1 (%d-489, 489-%d)", _startFrame, _endFrame);
- playMovie(_startFrame, 489, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
- playMovie(489, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_GAMESTATE);
+ playMovie(_startFrame, 489, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
+ playMovie(489, _endFrame, MOVIE_NOTIFY_OBJECT | MOVIE_WAIT_FOR_FINISH);
}
}
diff --git a/engines/titanic/game/transport/pellerator.cpp b/engines/titanic/game/transport/pellerator.cpp
index 095202d176..0228f9bc8b 100644
--- a/engines/titanic/game/transport/pellerator.cpp
+++ b/engines/titanic/game/transport/pellerator.cpp
@@ -83,7 +83,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(315, 323, 0);
for (int idx = 0; idx < 3; ++idx)
playMovie(299, 304, 0);
- playMovie(305, 313, MOVIE_GAMESTATE);
+ playMovie(305, 313, MOVIE_WAIT_FOR_FINISH);
break;
case 2:
@@ -95,7 +95,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(153, 197, 0);
for (int idx = 0; idx < 5; ++idx)
playMovie(253, 263, 0);
- playMovie(290, 293, MOVIE_GAMESTATE);
+ playMovie(290, 293, MOVIE_WAIT_FOR_FINISH);
break;
case 4:
@@ -107,7 +107,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(253, 263, 0);
for (int idx = 0; idx < 7; ++idx)
playMovie(336, 341, 0);
- playMovie(342, 348, MOVIE_GAMESTATE);
+ playMovie(342, 348, MOVIE_WAIT_FOR_FINISH);
break;
case 5:
@@ -130,7 +130,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(315, 323, 0);
for (int idx = 0; idx < 3; ++idx)
playMovie(299, 304, 0);
- playMovie(305, 313, MOVIE_GAMESTATE);
+ playMovie(305, 313, MOVIE_WAIT_FOR_FINISH);
break;
case 2:
@@ -139,7 +139,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(299, 304, 0);
for (int idx = 0; idx < 15; ++idx)
playMovie(245, 255, 0);
- playMovie(264, 267, MOVIE_GAMESTATE);
+ playMovie(264, 267, MOVIE_WAIT_FOR_FINISH);
++_destination;
break;
@@ -149,7 +149,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(245, 255, 0);
for (int idx = 0; idx < 7; ++idx)
playMovie(336, 341, 0);
- playMovie(342, 348, MOVIE_GAMESTATE);
+ playMovie(342, 348, MOVIE_WAIT_FOR_FINISH);
break;
case 5:
@@ -160,7 +160,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(245, 255, 0);
for (int idx = 0; idx < 3; ++idx)
playMovie(299, 304, 0);
- playMovie(305, 313, MOVIE_GAMESTATE);
+ playMovie(305, 313, MOVIE_WAIT_FOR_FINISH);
break;
default:
@@ -184,7 +184,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(351, 359, 0);
for (int idx = 0; idx < 3; ++idx)
playMovie(336, 341, 0);
- playMovie(342, 348, MOVIE_GAMESTATE);
+ playMovie(342, 348, MOVIE_WAIT_FOR_FINISH);
break;
case 3:
@@ -196,7 +196,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(245, 255, 0);
for (int idx = 0; idx < 3; ++idx)
playMovie(336, 341, 0);
- playMovie(342, 348, MOVIE_GAMESTATE);
+ playMovie(342, 348, MOVIE_WAIT_FOR_FINISH);
--_destination;
break;
@@ -209,7 +209,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(78, 149, 0);
for (int idx = 0; idx < 5; ++idx)
playMovie(245, 255, 0);
- playMovie(264, 267, MOVIE_GAMESTATE);
+ playMovie(264, 267, MOVIE_WAIT_FOR_FINISH);
break;
case 5:
@@ -221,7 +221,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(78, 149, 0);
for (int idx = 0; idx < 3; ++idx)
playMovie(336, 341, 0);
- playMovie(342, 348, MOVIE_GAMESTATE);
+ playMovie(342, 348, MOVIE_WAIT_FOR_FINISH);
break;
default:
@@ -236,7 +236,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(351, 359, 0);
for (int idx = 0; idx < 3; ++idx)
playMovie(336, 341, 0);
- playMovie(342, 348, MOVIE_GAMESTATE);
+ playMovie(342, 348, MOVIE_WAIT_FOR_FINISH);
break;
case 3:
@@ -245,7 +245,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(253, 263, 0);
for (int idx = 0; idx < 3; ++idx)
playMovie(336, 341, 0);
- playMovie(342, 348, MOVIE_GAMESTATE);
+ playMovie(342, 348, MOVIE_WAIT_FOR_FINISH);
--_destination;
break;
@@ -255,7 +255,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(299, 304, 0);
for (int idx = 0; idx < 15; ++idx)
playMovie(253, 263, 0);
- playMovie(290, 293, MOVIE_GAMESTATE);
+ playMovie(290, 293, MOVIE_WAIT_FOR_FINISH);
break;
case 5:
@@ -266,7 +266,7 @@ bool CPellerator::StatusChangeMsg(CStatusChangeMsg *msg) {
playMovie(253, 263, 0);
for (int idx = 0; idx < 3; ++idx)
playMovie(336, 341, 0);
- playMovie(342, 348, MOVIE_GAMESTATE);
+ playMovie(342, 348, MOVIE_WAIT_FOR_FINISH);
break;
default: