Added a workaround in IHNM for the compact disk in Ellen's chapter

svn-id: r27557
This commit is contained in:
Filippos Karapetis
2007-06-20 16:36:29 +00:00
parent 8f2714cc77
commit 5624ba23d0
2 changed files with 24 additions and 0 deletions
+16
View File
@@ -2287,6 +2287,22 @@ void Actor::actorSpeech(uint16 actorId, const char **strings, int stringsCount,
_activeSpeech.speechBox.left -= _activeSpeech.speechBox.right - _vm->getDisplayWidth() - 10;
_activeSpeech.speechBox.right = _vm->getDisplayWidth() - 10;
}
// WORKAROUND for the compact disk in Ellen's chapter
// Once Ellen starts saying that "Something is different", bring the compact disk in the
// scene. After speaking with AM, the compact disk is visible. She always says this line
// when entering room 59, after speaking with AM, if the compact disk is not picked up yet
// Check Script::sfDropObject for the other part of this workaround
if (_vm->getGameType() == GType_IHNM && _vm->_scene->currentChapterNumber() == 3 &&
_vm->_scene->currentSceneNumber() == 59 && _activeSpeech.sampleResourceId == 286) {
for (i = 0; i < _objsCount; i++) {
if (_objs[i]->_id == 16385) { // the compact disk
_objs[i]->_sceneNumber = 59;
break;
}
}
}
}
void Actor::nonActorSpeech(const Common::Rect &box, const char **strings, int stringsCount, int sampleResourceId, int speechFlags) {
+8
View File
@@ -843,6 +843,14 @@ void Script::sfDropObject(SCRIPTFUNC_PARAMS) {
obj->_sceneNumber = _vm->_scene->currentSceneNumber();
// WORKAROUND for the compact disk in Ellen's chapter
// Change the scene number of the compact disk so that it's not shown. It will be shown
// once Ellen says that there's something different (i.e. after speaking with AM)
// See Actor::actorSpeech for the other part of this workaround
if (_vm->getGameType() == GType_IHNM && _vm->_scene->currentChapterNumber() == 3 &&
_vm->_scene->currentSceneNumber() == 59 && obj->_id == 16385)
obj->_sceneNumber = -1;
if (_vm->getGameType() == GType_IHNM)
obj->_spriteListResourceId = spriteId;
else