SCI: fixing hoyle 3

hoyle 3 is using kCanBeHere, but it has cantBeHere and canBeHere selectors so our auto detection would fail
it also has a cantBeHere stub in Actor, thus it won't set acc at all. We reset acc because of that before calling cantBeHere selector (!) of the actors (canBeHere isnt used) so that we wont get a collision otherwise because acc is non zero when calling kDoBresen (fixes all sorts of bugs, clone2727 should clean it up :P

svn-id: r51485
This commit is contained in:
Martin Kiewitz 2010-07-29 22:52:48 +00:00
parent df9f4b5bfe
commit 2c9d30290e
2 changed files with 8 additions and 6 deletions

View file

@ -716,8 +716,11 @@ void Kernel::setDefaultKernelNames(GameFeatures *features) {
_kernelNames = Common::StringArray(s_defaultKernelNames, ARRAYSIZE(s_defaultKernelNames));
// Some (later) SCI versions replaced CanBeHere by CantBeHere
if (_selectorCache.cantBeHere != -1)
_kernelNames[0x4d] = "CantBeHere";
if (_selectorCache.cantBeHere != -1) {
// hoyle 3 has cantBeHere selector but is assuming to call kCanBeHere
if (g_sci->getGameId() != GID_HOYLE3)
_kernelNames[0x4d] = "CantBeHere";
}
switch (getSciVersion()) {
case SCI_VERSION_0_EARLY: