diff options
author | Peter Kohaut | 2016-10-02 02:47:12 +0200 |
---|---|---|
committer | Peter Kohaut | 2016-10-02 02:47:12 +0200 |
commit | 89d1805b37a6283d90a7dd5b4dbbdffd7950f5ab (patch) | |
tree | 0c6caa275cf8a404d2c82745d00d0543a1f263f5 /engines/bladerunner/script | |
parent | 2c15b164d736d1339998f9dcf7a4a230984cdff5 (diff) | |
download | scummvm-rg350-89d1805b37a6283d90a7dd5b4dbbdffd7950f5ab.tar.gz scummvm-rg350-89d1805b37a6283d90a7dd5b4dbbdffd7950f5ab.tar.bz2 scummvm-rg350-89d1805b37a6283d90a7dd5b4dbbdffd7950f5ab.zip |
BLADERUNNER: added ADQ, fixed some minor memory leaks
Diffstat (limited to 'engines/bladerunner/script')
-rw-r--r-- | engines/bladerunner/script/script.cpp | 27 | ||||
-rw-r--r-- | engines/bladerunner/script/script.h | 2 |
2 files changed, 15 insertions, 14 deletions
diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp index 2b944f40b8..9f4f5392ef 100644 --- a/engines/bladerunner/script/script.cpp +++ b/engines/bladerunner/script/script.cpp @@ -26,6 +26,7 @@ #include "bladerunner/actor.h" #include "bladerunner/actor_combat.h" +#include "bladerunner/adq.h" #include "bladerunner/ambient_sounds.h" #include "bladerunner/audio_player.h" #include "bladerunner/audio_speech.h" @@ -351,14 +352,14 @@ void ScriptBase::Actor_Set_Targetable(int actorId, bool targetable) { void ScriptBase::Actor_Says(int actorId, int sentenceId, int animationMode){ _vm->loopActorSpeaking(); - //_vm->ADQ->flush(1,1) + _vm->_adq->flush(1, true); Actor_Says_With_Pause(actorId, sentenceId, 0.5f, animationMode); } void ScriptBase::Actor_Says_With_Pause(int actorId, int sentenceId, float pause, int animationMode) { _vm->gameWaitForActive(); _vm->loopActorSpeaking(); - //_vm->ADQ->flush(1,1) + _vm->_adq->flush(1, true); Actor *actor = _vm->_actors[actorId]; @@ -432,8 +433,8 @@ void ScriptBase::Actor_Voice_Over(int sentenceId, int actorId) { void ScriptBase::Actor_Voice_Over(int sentenceId, int actorId) { _vm->gameWaitForActive(); _vm->loopActorSpeaking(); - //_vm->ADQ->flush(1,1) - + _vm->_adq->flush(1, true); + Actor *actor = _vm->_actors[actorId]; actor->speechPlay(sentenceId, true); @@ -637,8 +638,7 @@ void ScriptBase::Item_Add_To_World(int itemId, int animationId, int setId, float } void ScriptBase::Item_Remove_From_World(int itemId) { - //TODO - warning("Item_Remove_From_World(%d)", itemId); + _vm->_items->remove(itemId); } void ScriptBase::Item_Spin_In_World(int itemId) { @@ -930,6 +930,8 @@ int ScriptBase::Ambient_Sounds_Play_Sound(int a1, int a2, int a3, int a4, int a5 // ScriptBase::Ambient_Sounds_Play_Speech_Sound void ScriptBase::Ambient_Sounds_Remove_All_Non_Looping_Sounds(int time) { + //TODO + warning("Ambient_Sounds_Remove_All_Non_Looping_Sounds(%d)", time); // _vm->_ambientSounds->removeAllNonLoopingSounds(time); } @@ -948,6 +950,8 @@ void ScriptBase::Ambient_Sounds_Remove_Looping_Sound(int id, bool a2){ } void ScriptBase::Ambient_Sounds_Remove_All_Looping_Sounds(int time) { + //TODO + warning("Ambient_Sounds_Remove_All_Looping_Sounds(%d)", time); // _vm->_ambientSounds->removeAllLoopingSounds(time); } @@ -1289,18 +1293,15 @@ void ScriptBase::Set_Fog_Density(const char* fogName, float density) { } void ScriptBase::ADQ_Flush() { - //TODO - warning("ADQ_Flush()"); + _vm->_adq->flush(0, true); } -void ScriptBase::ADQ_Add(int a1, int a2, int a3) { - //TODO - warning("ADQ_Add(%d, %d, %d)", a1, a2, a3); +void ScriptBase::ADQ_Add(int actorId, int sentenceId, int animationMode) { + _vm->_adq->add(actorId, sentenceId, animationMode); } void ScriptBase::ADQ_Add_Pause(int delay) { - //TODO - warning("ADQ_Add_Pause(%d)", delay); + _vm->_adq->addPause(delay); } bool ScriptBase::Game_Over() { diff --git a/engines/bladerunner/script/script.h b/engines/bladerunner/script/script.h index 222cd4c935..914462a3a4 100644 --- a/engines/bladerunner/script/script.h +++ b/engines/bladerunner/script/script.h @@ -253,7 +253,7 @@ protected: void Set_Fog_Color(const char* fogName, float r, float g, float b); void Set_Fog_Density(const char* fogName, float density); void ADQ_Flush(); - void ADQ_Add(int a1, int a2, int a3); + void ADQ_Add(int actorId, int sentenceId, int animationMode); void ADQ_Add_Pause(int delay); bool Game_Over(); void Autosave_Game(int textId); |