diff options
Diffstat (limited to 'engines/bladerunner/script')
-rw-r--r-- | engines/bladerunner/script/scene/ps06.cpp | 30 | ||||
-rw-r--r-- | engines/bladerunner/script/script.cpp | 8 | ||||
-rw-r--r-- | engines/bladerunner/script/script.h | 4 |
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); |