mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-05 01:38:36 +00:00
BLADERUNNER: Check for nullptr _currentScript in SceneScript methods
This commit is contained in:
parent
ed6939535c
commit
3f4767c41f
@ -162,14 +162,18 @@ bool SceneScript::open(const Common::String &name) {
|
||||
|
||||
void SceneScript::initializeScene() {
|
||||
++_inScriptCounter;
|
||||
_currentScript->InitializeScene();
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->InitializeScene();
|
||||
}
|
||||
--_inScriptCounter;
|
||||
}
|
||||
|
||||
void SceneScript::sceneLoaded() {
|
||||
_vm->_sceneIsLoading = true;
|
||||
++_inScriptCounter;
|
||||
_currentScript->SceneLoaded();
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->SceneLoaded();
|
||||
}
|
||||
_vm->_sceneIsLoading = false;
|
||||
--_inScriptCounter;
|
||||
}
|
||||
@ -198,7 +202,10 @@ bool SceneScript::clickedOn3DObject(const char *objectName, bool combatMode) {
|
||||
}
|
||||
|
||||
++_inScriptCounter;
|
||||
bool result = _currentScript->ClickedOn3DObject(objectName, combatMode);
|
||||
bool result = false;
|
||||
if (_currentScript != nullptr) {
|
||||
result = _currentScript->ClickedOn3DObject(objectName, combatMode);
|
||||
}
|
||||
_vm->_runningActorId = -1;
|
||||
--_inScriptCounter;
|
||||
return result;
|
||||
@ -210,7 +217,10 @@ bool SceneScript::clickedOnActor(int actorId) {
|
||||
}
|
||||
|
||||
++_inScriptCounter;
|
||||
bool result = _currentScript->ClickedOnActor(actorId);
|
||||
bool result = false;
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->ClickedOnActor(actorId);
|
||||
}
|
||||
_vm->_runningActorId = -1;
|
||||
--_inScriptCounter;
|
||||
return result;
|
||||
@ -229,7 +239,10 @@ bool SceneScript::clickedOnItem(int itemId, bool combatMode) {
|
||||
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||
|
||||
++_inScriptCounter;
|
||||
bool result = _currentScript->ClickedOnItem(itemId, combatMode);
|
||||
bool result = false;
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->ClickedOnItem(itemId, combatMode);
|
||||
}
|
||||
_vm->_runningActorId = -1;
|
||||
--_inScriptCounter;
|
||||
return result;
|
||||
@ -241,7 +254,10 @@ bool SceneScript::clickedOnExit(int exitId) {
|
||||
}
|
||||
|
||||
++_inScriptCounter;
|
||||
bool result = _currentScript->ClickedOnExit(exitId);
|
||||
bool result = false;
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->ClickedOnExit(exitId);
|
||||
}
|
||||
_vm->_runningActorId = -1;
|
||||
--_inScriptCounter;
|
||||
return result;
|
||||
@ -253,7 +269,10 @@ bool SceneScript::clickedOn2DRegion(int region) {
|
||||
}
|
||||
|
||||
++_inScriptCounter;
|
||||
bool result = _currentScript->ClickedOn2DRegion(region);
|
||||
bool result = false;
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->ClickedOn2DRegion(region);
|
||||
}
|
||||
_vm->_runningActorId = -1;
|
||||
--_inScriptCounter;
|
||||
return result;
|
||||
@ -261,32 +280,41 @@ bool SceneScript::clickedOn2DRegion(int region) {
|
||||
|
||||
void SceneScript::sceneFrameAdvanced(int frame) {
|
||||
++_inScriptCounter;
|
||||
_currentScript->SceneFrameAdvanced(frame);
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->SceneFrameAdvanced(frame);
|
||||
}
|
||||
--_inScriptCounter;
|
||||
}
|
||||
|
||||
void SceneScript::actorChangedGoal(int actorId, int newGoal, int oldGoal, bool currentSet) {
|
||||
++_inScriptCounter;
|
||||
if (_currentScript)
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->ActorChangedGoal(actorId, newGoal, oldGoal, currentSet);
|
||||
}
|
||||
--_inScriptCounter;
|
||||
}
|
||||
|
||||
void SceneScript::playerWalkedIn() {
|
||||
++_inScriptCounter;
|
||||
_currentScript->PlayerWalkedIn();
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->PlayerWalkedIn();
|
||||
}
|
||||
--_inScriptCounter;
|
||||
}
|
||||
|
||||
void SceneScript::playerWalkedOut() {
|
||||
++_inScriptCounter;
|
||||
_currentScript->PlayerWalkedOut();
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->PlayerWalkedOut();
|
||||
}
|
||||
--_inScriptCounter;
|
||||
}
|
||||
|
||||
void SceneScript::dialogueQueueFlushed(int a1) {
|
||||
++_inScriptCounter;
|
||||
_currentScript->DialogueQueueFlushed(a1);
|
||||
if (_currentScript != nullptr) {
|
||||
_currentScript->DialogueQueueFlushed(a1);
|
||||
}
|
||||
--_inScriptCounter;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user