aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/script
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/script')
-rw-r--r--engines/bladerunner/script/scene/ps06.cpp30
-rw-r--r--engines/bladerunner/script/script.cpp8
-rw-r--r--engines/bladerunner/script/script.h4
3 files changed, 27 insertions, 15 deletions
diff --git a/engines/bladerunner/script/scene/ps06.cpp b/engines/bladerunner/script/scene/ps06.cpp
index d0624ef6a6..10797e350f 100644
--- a/engines/bladerunner/script/scene/ps06.cpp
+++ b/engines/bladerunner/script/scene/ps06.cpp
@@ -53,7 +53,7 @@ bool SceneScriptPS06::ClickedOn3DObject(const char *objectName, bool a2) {
if (Object_Query_Click("E.SCREEN03", objectName)
|| Object_Query_Click("E.MONITOR3", objectName)
) {
- Actor_Says(kActorAnsweringMachine, 330, 3);
+ Actor_Says(kActorAnsweringMachine, 330, kAnimationModeTalk); // uploading clues
if (Actor_Clue_Query(kActorMcCoy, kClueCar)
&& !Actor_Clue_Query(kActorMcCoy, kClueCarRegistration1)
&& !Actor_Clue_Query(kActorMcCoy, kClueCarRegistration2)
@@ -85,15 +85,27 @@ bool SceneScriptPS06::ClickedOn3DObject(const char *objectName, bool a2) {
Actor_Clues_Transfer_New_From_Mainframe(kActorMcCoy);
return true;
} else {
- Actor_Clues_Transfer_New_To_Mainframe(kActorMcCoy);
- Ambient_Sounds_Play_Sound(kSfxDATALOAD, 50, 0, 0, 99);
- Delay(2000);
- Actor_Says(kActorAnsweringMachine, 340, kAnimationModeTalk);
- Actor_Clues_Transfer_New_From_Mainframe(kActorMcCoy);
- Ambient_Sounds_Play_Sound(kSfxDATALOAD, 50, 0, 0, 99);
- Delay(2000);
+ bool tranferedClues = false;
+ tranferedClues = Actor_Clues_Transfer_New_To_Mainframe(kActorMcCoy);
+ if (_vm->_cutContent && !tranferedClues) {
+ Actor_Says(kActorAnsweringMachine, 370, kAnimationModeTalk); // no clues transfered
+ } else {
+ Ambient_Sounds_Play_Sound(kSfxDATALOAD, 50, 0, 0, 99);
+ Delay(2000);
+ }
+ Actor_Says(kActorAnsweringMachine, 340, kAnimationModeTalk); // downloading clues
+ tranferedClues = Actor_Clues_Transfer_New_From_Mainframe(kActorMcCoy);
+ if (_vm->_cutContent && !tranferedClues) {
+ Actor_Says(kActorAnsweringMachine, 370, kAnimationModeTalk); // no clues transfered
+ } else {
+ Ambient_Sounds_Play_Sound(kSfxDATALOAD, 50, 0, 0, 99);
+ Delay(2000);
+ }
Ambient_Sounds_Play_Sound(kSfxBEEPNEAT, 80, 0, 0, 99);
- Actor_Says(kActorAnsweringMachine, 350, kAnimationModeTalk);
+ Actor_Says(kActorAnsweringMachine, 350, kAnimationModeTalk); // db transfer complete
+ if (_vm->_cutContent && tranferedClues) {
+ Actor_Says(kActorAnsweringMachine, 360, kAnimationModeTalk); // new clues added
+ }
return true;
}
}
diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp
index 4ce5e893fe..e6659165d6 100644
--- a/engines/bladerunner/script/script.cpp
+++ b/engines/bladerunner/script/script.cpp
@@ -740,14 +740,14 @@ bool ScriptBase::Actor_Clue_Query(int actorId, int clueId) {
return _vm->_actors[actorId]->hasClue(clueId);
}
-void ScriptBase::Actor_Clues_Transfer_New_To_Mainframe(int actorId) {
+bool ScriptBase::Actor_Clues_Transfer_New_To_Mainframe(int actorId) {
debugC(kDebugScript, "Actor_Clues_Transfer_New_To_Mainframe(%d)", actorId);
- _vm->_actors[actorId]->copyClues(kActorVoiceOver);
+ return _vm->_actors[actorId]->copyClues(kActorVoiceOver);
}
-void ScriptBase::Actor_Clues_Transfer_New_From_Mainframe(int actorId) {
+bool ScriptBase::Actor_Clues_Transfer_New_From_Mainframe(int actorId) {
debugC(kDebugScript, "Actor_Clues_Transfer_New_From_Mainframe(%d)", actorId);
- _vm->_actors[kActorVoiceOver]->copyClues(actorId);
+ return _vm->_actors[kActorVoiceOver]->copyClues(actorId);
}
void ScriptBase::Actor_Set_Invisible(int actorId, bool isInvisible) {
diff --git a/engines/bladerunner/script/script.h b/engines/bladerunner/script/script.h
index 7641b2279b..aca4507f6e 100644
--- a/engines/bladerunner/script/script.h
+++ b/engines/bladerunner/script/script.h
@@ -117,8 +117,8 @@ protected:
void Actor_Clue_Acquire(int actorId, int clueId, bool unknownFlag, int fromActorId);
void Actor_Clue_Lose(int actorId, int clueId);
bool Actor_Clue_Query(int actorId, int clueId);
- void Actor_Clues_Transfer_New_To_Mainframe(int actorId);
- void Actor_Clues_Transfer_New_From_Mainframe(int actorId);
+ bool Actor_Clues_Transfer_New_To_Mainframe(int actorId);
+ bool Actor_Clues_Transfer_New_From_Mainframe(int actorId);
void Actor_Set_Invisible(int actorId, bool isInvisible);
void Actor_Set_Immunity_To_Obstacles(int actorId, bool isImmune);
void Item_Add_To_World(int itemId, int animationId, int setId, float x, float y, float z, signed int facing, int height, int width, bool isTargetable, bool isObstacle, bool isPoliceMazeEnemy, bool updateOnly);