[Scummvm-git-logs] scummvm master -> 6a1e5c1d9347c1e609be25af7b3873bbc1db8d17
grechnik
diamondaz at yandex.ru
Sun Sep 2 20:07:46 CEST 2018
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
6a1e5c1d93 LASTEXPRESS: more fixes in NPC logic
Commit: 6a1e5c1d9347c1e609be25af7b3873bbc1db8d17
https://github.com/scummvm/scummvm/commit/6a1e5c1d9347c1e609be25af7b3873bbc1db8d17
Author: Evgeny Grechnikov (diamondaz at yandex.ru)
Date: 2018-09-02T21:07:00+03:00
Commit Message:
LASTEXPRESS: more fixes in NPC logic
Changed paths:
engines/lastexpress/entities/alexei.cpp
engines/lastexpress/entities/anna.cpp
engines/lastexpress/entities/august.cpp
diff --git a/engines/lastexpress/entities/alexei.cpp b/engines/lastexpress/entities/alexei.cpp
index 89027c2..45dd03a 100644
--- a/engines/lastexpress/entities/alexei.cpp
+++ b/engines/lastexpress/entities/alexei.cpp
@@ -1792,8 +1792,8 @@ IMPLEMENT_FUNCTION(44, Alexei, goToPlatform)
if (getEntities()->isPlayerPosition(kCarGreenSleeping, 62))
getScenes()->loadSceneFromPosition(kCarGreenSleeping, 72);
- setup_returnCompartment4();
}
+ setup_returnCompartment4();
}
break;
diff --git a/engines/lastexpress/entities/anna.cpp b/engines/lastexpress/entities/anna.cpp
index 2b31c7b..80ad1a2 100644
--- a/engines/lastexpress/entities/anna.cpp
+++ b/engines/lastexpress/entities/anna.cpp
@@ -3864,7 +3864,7 @@ IMPLEMENT_FUNCTION(78, Anna, kidnapped)
case 2:
getAction()->playAnimation(kEventKronosHostageAnna);
- getScenes()->loadSceneFromPosition(kCarRestaurant, 61);
+ getScenes()->loadSceneFromPosition(kCarRestaurant, 61, 1);
getSound()->playSound(kEntityAnna, "Mus024", kFlagDefault);
setup_waiting();
break;
diff --git a/engines/lastexpress/entities/august.cpp b/engines/lastexpress/entities/august.cpp
index 01dc0b7..cdcc85c 100644
--- a/engines/lastexpress/entities/august.cpp
+++ b/engines/lastexpress/entities/august.cpp
@@ -453,14 +453,14 @@ IMPLEMENT_FUNCTION_I(20, August, function20, bool)
if (parameters->param1) {
Common::String sequence = Common::String::format("%s%s", (char *)¶meters->seq1, "Gc");
- assert(sequence.size() <= 13);
+ assert(sequence.size() <= 12); // .size() does not count terminating zero
strcpy((char *)¶meters->seq2, sequence.c_str());
getObjects()->update(kObjectCompartment3, kEntityPlayer, kObjectLocation1, kCursorKeepValue, kCursorKeepValue);
} else {
Common::String sequence = Common::String::format("%s%s", (char *)¶meters->seq1, "Ec");
- assert(sequence.size() <= 13);
+ assert(sequence.size() <= 12);
strcpy((char *)¶meters->seq2, sequence.c_str());
}
@@ -477,10 +477,12 @@ IMPLEMENT_FUNCTION_I(20, August, function20, bool)
case 1: {
getData()->location = kLocationOutsideCompartment;
- Common::String sequence2 = Common::String::format("%s%s", (char *)¶meters->seq2, "Pc");
- strcpy((char *)¶meters->seq2, (char *)¶meters->seq1);
+ Common::String sequence2 = Common::String::format("%s%s", (char *)¶meters->seq1, "Pc");
+ assert(sequence2.size() <= 12);
+
+ strcpy((char *)¶meters->seq2, sequence2.c_str());
- getEntities()->drawSequenceLeft(kEntityAugust, sequence2.c_str());
+ getEntities()->drawSequenceLeft(kEntityAugust, (char *)¶meters->seq2);
getEntities()->enterCompartment(kEntityAugust, kObjectCompartment3, true);
if (getProgress().chapter != kChapter3 || getState()->time >= kTime1998000) {
@@ -885,7 +887,7 @@ label_callback_9:
if (params->param8 >= 3) {
getObjects()->update(kObjectCompartment1, kEntityPlayer, getObjects()->get(kObjectCompartment1).status, kCursorHandKnock, kCursorHand);
callbackAction();
- break;
+ return;
}
params->param6 = 0;
@@ -1014,7 +1016,7 @@ label_callback_9:
case 6:
case 7:
getObjects()->update(kObjectCompartment1, kEntityAugust, getObjects()->get(kObjectCompartment1).status, params->param4 ? kCursorNormal : kCursorTalk, kCursorHand);
- ENTITY_PARAM(1, 2) = 0;
+ CURRENT_PARAM(1, 2) = 0;
break;
case 8:
More information about the Scummvm-git-logs
mailing list