diff options
Diffstat (limited to 'engines/bladerunner/script/script.cpp')
-rw-r--r-- | engines/bladerunner/script/script.cpp | 257 |
1 files changed, 0 insertions, 257 deletions
diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp index bc6679051c..846d33617b 100644 --- a/engines/bladerunner/script/script.cpp +++ b/engines/bladerunner/script/script.cpp @@ -47,137 +47,8 @@ #include "bladerunner/vector.h" #include "bladerunner/waypoints.h" -#include "bladerunner/script/ai_00_mccoy.h" -#include "bladerunner/script/ai_15_runciter.h" -#include "bladerunner/script/ai_23_officer_leroy.h" - namespace BladeRunner { -bool Script::open(const Common::String &name) { - delete _currentScript; - - if (name == "RC01") { _currentScript = new ScriptRC01(_vm); return true; } - if (name == "RC02") { _currentScript = new ScriptRC02(_vm); return true; } - if (name == "RC03") { _currentScript = new ScriptRC03(_vm); return true; } - if (name == "RC04") { _currentScript = new ScriptRC04(_vm); return true; } - if (name == "RC51") { _currentScript = new ScriptRC51(_vm); return true; } - - return false; -} - -Script::~Script() { - delete _currentScript; -} - -void Script::InitializeScene() { - _inScriptCounter++; - _currentScript->InitializeScene(); - _inScriptCounter--; -} - -void Script::SceneLoaded() { - _inScriptCounter++; - _currentScript->SceneLoaded(); - _inScriptCounter--; -} - -bool Script::MouseClick(int x, int y) { - if (_inScriptCounter > 0) - return true; - - _inScriptCounter++; - //MouseX = x; - //MouseY = y; - bool result = _currentScript->MouseClick(x, y); - //SelectedEntity = -1; - _inScriptCounter--; - //MouseX = -1; - //MouseY = -1; - return result; -} - -bool Script::ClickedOn3DObject(const char *objectName, bool a2) { - if (_inScriptCounter > 0) - return true; - - _inScriptCounter++; - bool result = _currentScript->ClickedOn3DObject(objectName, a2); - _inScriptCounter--; - return result; -} - -bool Script::ClickedOnActor(int actorId) { - if (_inScriptCounter > 0) - return true; - - _inScriptCounter++; - bool result = _currentScript->ClickedOnActor(actorId); - _inScriptCounter--; - return result; -} - -bool Script::ClickedOnItem(int itemId, bool a2) { - if (_inScriptCounter > 0) - return true; - - _inScriptCounter++; - bool result = _currentScript->ClickedOnItem(itemId, a2); - _inScriptCounter--; - return result; -} - -bool Script::ClickedOnExit(int exitId) { - if (_inScriptCounter > 0) - return true; - - _inScriptCounter++; - bool result = _currentScript->ClickedOnExit(exitId); - _inScriptCounter--; - return result; -} - -bool Script::ClickedOn2DRegion(int region) { - if (_inScriptCounter > 0) - return true; - - _inScriptCounter++; - bool result = _currentScript->ClickedOn2DRegion(region); - _inScriptCounter--; - return result; -} - -void Script::SceneFrameAdvanced(int frame) { - _inScriptCounter++; - _currentScript->SceneFrameAdvanced(frame); - _inScriptCounter--; -} - -void Script::ActorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) { - _inScriptCounter++; - //TODO remove this check - if(_currentScript) - _currentScript->ActorChangedGoal(actorId, newGoal, oldGoal, currentSet); - _inScriptCounter--; -} - -void Script::PlayerWalkedIn() { - _inScriptCounter++; - _currentScript->PlayerWalkedIn(); - _inScriptCounter--; -} - -void Script::PlayerWalkedOut() { - _inScriptCounter++; - _currentScript->PlayerWalkedOut(); - _inScriptCounter--; -} - -void Script::DialogueQueueFlushed(int a1) { - _inScriptCounter++; - _currentScript->DialogueQueueFlushed(a1); - _inScriptCounter--; -} - void ScriptBase::Preload(int animationId) { _vm->_sliceRenderer->preload(animationId); } @@ -1454,132 +1325,4 @@ void ScriptBase::VK_Play_Speech_Line(int actorIndex, int a2, float a3) { warning("VK_Play_Speech_Line(%d, %d, %g)", actorIndex, a2, a3); } -AIScripts::AIScripts(BladeRunnerEngine *vm, int actorsCount) : _vm(vm), _inScriptCounter(0) { - _actorsCount = actorsCount; - _actorUpdating = new bool[actorsCount]; - _AIScripts = new AIScriptBase*[actorsCount]; - for (int i = 0; i < actorsCount; ++i) { - _AIScripts[i] = nullptr; - _actorUpdating[i] = false; - } - - _AIScripts[0] = new AIScript_McCoy(_vm); - _AIScripts[15] = new AIScript_Runciter(_vm); - _AIScripts[23] = new AIScript_Officer_Leroy(_vm); -} - -AIScripts::~AIScripts() { - for (int i = 0; i < _actorsCount; ++i) { - delete _AIScripts[i]; - _AIScripts[i] = nullptr; - } - delete[] _AIScripts; - delete[] _actorUpdating; -} - -void AIScripts::Initialize(int actor) { - assert(actor < _actorsCount); - if (_AIScripts[actor]) - _AIScripts[actor]->Initialize(); -} - -void AIScripts::Update(int actor) { - assert(actor < _actorsCount); - if (this->_actorUpdating[actor] != 1) { - this->_actorUpdating[actor] = true; - ++this->_inScriptCounter; - if (_AIScripts[actor]) - _AIScripts[actor]->Update(); - --this->_inScriptCounter; - this->_actorUpdating[actor] = false; - } -} - -void AIScripts::TimerExpired(int actor, int timer) { - assert(actor < _actorsCount); - _inScriptCounter++; - if (_AIScripts[actor]) { - _AIScripts[actor]->TimerExpired(timer); - } - _inScriptCounter--; -} - -void AIScripts::CompletedMovementTrack(int actor) { - assert(actor < _actorsCount); - if (!_vm->_actors[actor]->inCombat()) { - _inScriptCounter++; - if (_AIScripts[actor]) { - _AIScripts[actor]->CompletedMovementTrack(); - } - _inScriptCounter--; - } -} - -void AIScripts::EnteredScene(int actor, int setId) { - assert(actor < _actorsCount); - _inScriptCounter++; - if (_AIScripts[actor]) { - _AIScripts[actor]->EnteredScene(setId); - } - _inScriptCounter--; -} - -void AIScripts::OtherAgentEnteredThisScene(int actor, int otherActorId) { - assert(actor < _actorsCount); - _inScriptCounter++; - if (_AIScripts[actor]) { - _AIScripts[actor]->OtherAgentEnteredThisScene(otherActorId); - } - _inScriptCounter--; -} - -void AIScripts::OtherAgentExitedThisScene(int actor, int otherActorId) { - assert(actor < _actorsCount); - _inScriptCounter++; - if (_AIScripts[actor]) { - _AIScripts[actor]->OtherAgentExitedThisScene(otherActorId); - } - _inScriptCounter--; -} - -void AIScripts::GoalChanged(int actor, int currentGoalNumber, int newGoalNumber) { - assert(actor < _actorsCount); - _inScriptCounter++; - if (_AIScripts[actor]) { - _AIScripts[actor]->GoalChanged(currentGoalNumber, newGoalNumber); - } - _inScriptCounter--; -} - -bool AIScripts::ReachedMovementTrackWaypoint(int actor, int waypointId) { - assert(actor < _actorsCount); - bool result = false; - if (!_vm->_actors[actor]->inCombat()) { - _inScriptCounter++; - if (_AIScripts[actor]) { - result = _AIScripts[actor]->ReachedMovementTrackWaypoint(waypointId); - } - _inScriptCounter--; - } - return result; -} - -void AIScripts::UpdateAnimation(int actor, int *animation, int *frame) { - assert(actor < _actorsCount); - _inScriptCounter++; - if (_AIScripts[actor]) { - _AIScripts[actor]->UpdateAnimation(animation, frame); - } - _inScriptCounter--; -} - -void AIScripts::ChangeAnimationMode(int actor, int mode) { - assert(actor < _actorsCount); - _inScriptCounter++; - if (_AIScripts[actor]) { - _AIScripts[actor]->ChangeAnimationMode(mode); - } - _inScriptCounter--; -} - } // End of namespace BladeRunner |