BLADERUNNER: _playerActorIdle should affect McCoy only
Should be set or cleared only when McCoy is the actor who is walking and affect only McCoy
This commit is contained in:
parent
2287a4f607
commit
f3cdbd2ea9
3 changed files with 85 additions and 0 deletions
|
@ -493,9 +493,18 @@ bool Actor::loopWalk(const Vector3 &destination, int proximity, bool interruptib
|
||||||
_vm->playerGainsControl();
|
_vm->playerGainsControl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
if (!wasInterrupted && proximity == 0 && !_vm->_playerActorIdle) {
|
if (!wasInterrupted && proximity == 0 && !_vm->_playerActorIdle) {
|
||||||
setAtXYZ(destination, _facing, true, false, false);
|
setAtXYZ(destination, _facing, true, false, false);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (!wasInterrupted && proximity == 0
|
||||||
|
&& (_id == kActorMcCoy && !_vm->_playerActorIdle)
|
||||||
|
&& !isRetired()
|
||||||
|
) {
|
||||||
|
setAtXYZ(destination, _facing, true, false, false);
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
if (_id != kActorMcCoy) {
|
if (_id != kActorMcCoy) {
|
||||||
_vm->_mouse->enable();
|
_vm->_mouse->enable();
|
||||||
|
|
|
@ -353,8 +353,13 @@ bool AIScriptClovis::GoalChanged(int currentGoalNumber, int newGoalNumber) {
|
||||||
} else {
|
} else {
|
||||||
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
|
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
|
||||||
}
|
}
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
Delay(3000);
|
Delay(3000);
|
||||||
Actor_Retired_Here(kActorMcCoy, 12, 48, true, kActorClovis);
|
Actor_Retired_Here(kActorMcCoy, 12, 48, true, kActorClovis);
|
||||||
|
#else
|
||||||
|
Actor_Retired_Here(kActorMcCoy, 12, 48, true, kActorClovis);
|
||||||
|
Delay(3000);
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case kGoalClovisStartChapter5:
|
case kGoalClovisStartChapter5:
|
||||||
|
|
|
@ -489,15 +489,29 @@ bool ScriptBase::Loop_Actor_Walk_To_Actor(int actorId, int otherActorId, int pro
|
||||||
run = true;
|
run = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy) {
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
bool isRunning;
|
bool isRunning;
|
||||||
bool result = _vm->_actors[actorId]->loopWalkToActor(otherActorId, proximity, interruptible, run, true, &isRunning);
|
bool result = _vm->_actors[actorId]->loopWalkToActor(otherActorId, proximity, interruptible, run, true, &isRunning);
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
if (_vm->_playerActorIdle) {
|
if (_vm->_playerActorIdle) {
|
||||||
result = true;
|
result = true;
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy && _vm->_playerActorIdle) {
|
||||||
|
result = true;
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
if (isRunning) {
|
if (isRunning) {
|
||||||
_vm->_runningActorId = actorId;
|
_vm->_runningActorId = actorId;
|
||||||
}
|
}
|
||||||
|
@ -514,15 +528,29 @@ bool ScriptBase::Loop_Actor_Walk_To_Item(int actorId, int itemId, int proximity,
|
||||||
run = true;
|
run = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy) {
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
bool isRunning;
|
bool isRunning;
|
||||||
bool result = _vm->_actors[actorId]->loopWalkToItem(itemId, proximity, interruptible, run, true, &isRunning);
|
bool result = _vm->_actors[actorId]->loopWalkToItem(itemId, proximity, interruptible, run, true, &isRunning);
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
if (_vm->_playerActorIdle) {
|
if (_vm->_playerActorIdle) {
|
||||||
result = true;
|
result = true;
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy && _vm->_playerActorIdle) {
|
||||||
|
result = true;
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
if (isRunning) {
|
if (isRunning) {
|
||||||
_vm->_runningActorId = actorId;
|
_vm->_runningActorId = actorId;
|
||||||
}
|
}
|
||||||
|
@ -539,15 +567,29 @@ bool ScriptBase::Loop_Actor_Walk_To_Scene_Object(int actorId, const char *object
|
||||||
run = true;
|
run = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy) {
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
bool isRunning;
|
bool isRunning;
|
||||||
bool result = _vm->_actors[actorId]->loopWalkToSceneObject(objectName, proximity, interruptible, run, true, &isRunning);
|
bool result = _vm->_actors[actorId]->loopWalkToSceneObject(objectName, proximity, interruptible, run, true, &isRunning);
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
if (_vm->_playerActorIdle) {
|
if (_vm->_playerActorIdle) {
|
||||||
result = true;
|
result = true;
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy && _vm->_playerActorIdle) {
|
||||||
|
result = true;
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
if (isRunning) {
|
if (isRunning) {
|
||||||
_vm->_runningActorId = actorId;
|
_vm->_runningActorId = actorId;
|
||||||
}
|
}
|
||||||
|
@ -564,15 +606,29 @@ bool ScriptBase::Loop_Actor_Walk_To_Waypoint(int actorId, int waypointId, int pr
|
||||||
run = true;
|
run = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy) {
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
bool isRunning;
|
bool isRunning;
|
||||||
bool result = _vm->_actors[actorId]->loopWalkToWaypoint(waypointId, proximity, interruptible, run, true, &isRunning);
|
bool result = _vm->_actors[actorId]->loopWalkToWaypoint(waypointId, proximity, interruptible, run, true, &isRunning);
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
if (_vm->_playerActorIdle) {
|
if (_vm->_playerActorIdle) {
|
||||||
result = true;
|
result = true;
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy && _vm->_playerActorIdle) {
|
||||||
|
result = true;
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
if (isRunning) {
|
if (isRunning) {
|
||||||
_vm->_runningActorId = actorId;
|
_vm->_runningActorId = actorId;
|
||||||
}
|
}
|
||||||
|
@ -592,15 +648,30 @@ bool ScriptBase::Loop_Actor_Walk_To_XYZ(int actorId, float x, float y, float z,
|
||||||
run = true;
|
run = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy) {
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
bool isRunning;
|
bool isRunning;
|
||||||
bool result = _vm->_actors[actorId]->loopWalkToXYZ(Vector3(x, y, z), proximity, interruptible, run, true, &isRunning);
|
bool result = _vm->_actors[actorId]->loopWalkToXYZ(Vector3(x, y, z), proximity, interruptible, run, true, &isRunning);
|
||||||
|
|
||||||
|
#if BLADERUNNER_ORIGINAL_BUGS
|
||||||
if (_vm->_playerActorIdle) {
|
if (_vm->_playerActorIdle) {
|
||||||
result = true;
|
result = true;
|
||||||
_vm->_playerActorIdle = false;
|
_vm->_playerActorIdle = false;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (actorId == kActorMcCoy && _vm->_playerActorIdle) {
|
||||||
|
result = true;
|
||||||
|
_vm->_playerActorIdle = false;
|
||||||
|
}
|
||||||
|
#endif // BLADERUNNER_ORIGINAL_BUGS
|
||||||
|
|
||||||
if (isRunning) {
|
if (isRunning) {
|
||||||
_vm->_runningActorId = actorId;
|
_vm->_runningActorId = actorId;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue