diff options
author | Travis Howell | 2005-09-14 09:37:17 +0000 |
---|---|---|
committer | Travis Howell | 2005-09-14 09:37:17 +0000 |
commit | 80fd81f275b50bc9ba39d48352052278ce60a53c (patch) | |
tree | 0b743789d7e09fa786fc37852a5a72dced2f1658 /scumm | |
parent | adeb1a6c11350ff07ebf8987001e3145959f5877 (diff) | |
download | scummvm-rg350-80fd81f275b50bc9ba39d48352052278ce60a53c.tar.gz scummvm-rg350-80fd81f275b50bc9ba39d48352052278ce60a53c.tar.bz2 scummvm-rg350-80fd81f275b50bc9ba39d48352052278ce60a53c.zip |
Selection screen in C64 maniac works.
svn-id: r18819
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/object.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/scumm/object.cpp b/scumm/object.cpp index 9c6cadfd7b..949541414e 100644 --- a/scumm/object.cpp +++ b/scumm/object.cpp @@ -333,8 +333,15 @@ int ScummEngine::findObject(int x, int y) { for (i = 1; i < _numLocalObjects; i++) { if ((_objs[i].obj_nr < 1) || getClass(_objs[i].obj_nr, kObjectClassUntouchable)) continue; - if ((_version <= 2) && _objs[i].state & 0x2) - continue; + + if (_platform == Common::kPlatformC64 && _gameId == GID_MANIAC) { + if (_objs[i].flags == 0 && _objs[i].state & 0x2) + continue; + } else { + if (_version <= 2 && _objs[i].state & 0x2) + continue; + } + b = i; do { a = _objs[b].parentstate; @@ -698,6 +705,7 @@ void ScummEngine_c64::setupRoomObject(ObjectData *od, const byte *room, const by ptr -= 2; od->obj_nr = *(ptr + 6); + od->flags = *(ptr + 7); od->x_pos = *(ptr + 8) * 8; od->y_pos = ((*(ptr + 9)) & 0x7F) * 8; |