Opened 16 years ago

Closed 14 years ago

Last modified 10 years ago

#1345 closed defect (fixed)

MANIAC: Walk infinite loop in bathroom (hack-in-cvs)

Reported by: SF/kruegerh Owned by: sev-
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Maniac Mansion

Description

ScummVM 0.5.7cvs (Dec 18 2003 08:45:43)

Maniac Mansion (classic version) English
Trying to start game 'Maniac Mansion'
7f45ddd6dbfbf8f80c0c0efea4c295bc 00.lfl
Classic V1 game detected

The game freezes in bathroom for disabled (third
floor), when pulling the shower curtain, regardless
whether I use dave or razor...
after freezing cpu usage is up to 100%.
The party is bernard and razor.

Linux/gcc (GCC) 3.2

Ticket imported from: #862245. Ticket imported from: bugs/1345.

Attachments (1)

maniac64.s02 (3.3 KB ) - added by Kirben 16 years ago.
Save game in room

Download all attachments as: .zip

Change History (19)

by Kirben, 16 years ago

Attachment: maniac64.s02 added

Save game in room

comment:1 by Kirben, 16 years ago

I'm unable to reproduce the problem when using ScummVM
cvs under Windows XP.
My guess would be a possible sound related issue, that maybe
only effects certain operating systems ?

comment:2 by Kirben, 16 years ago

Summary: game freezes in bathroom for disabledMANIAC: Game freezes in bathroom for disabled

comment:3 by SF/kruegerh, 16 years ago

when running scummvm with high debug level, the continuing
output (when already freezed) is:

getResourceAddress(Matrix,1) == 0x83c0afc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,1) == 0x83c0afc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,1) == 0x83c0afc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,2) == 0x83c0abc
getResourceAddress(Matrix,2) == 0x83c0abc
..
..
..

comment:4 by fingolfin, 16 years ago

Resolution: worksforme

comment:5 by fingolfin, 16 years ago

I can't reproduce the problem either...

You might want to check if your data files are damaged... esp. file
24.LFL (which should be 4343 bytes big and have
"a6705590760e9b2ec0115861230fc721" as MD5 checksum).

comment:6 by fingolfin, 16 years ago

Owner: set to fingolfin
Status: newpending

comment:7 by Kirben, 16 years ago

Finally managed to reproduce the problem, usng the save
game I attached earlier. Just click on lower white section of
the bath

comment:8 by Kirben, 16 years ago

Resolution: worksforme
Status: pendingnew

comment:9 by fingolfin, 16 years ago

Owner: fingolfin removed

comment:10 by fingolfin, 16 years ago

Ah indeed. What happens is that Actor::walkActorOld() gets stuck
in an endless loop. Actor walking for V1/V2 games differs
somewhat from that of newer games, and we still don't have it
quite right :-(

comment:11 by SF/ender, 16 years ago

Summary: MANIAC: Game freezes in bathroom for disabledMANIAC: Walk infinite loop in bathroom (hack-in-cvs)

comment:12 by SF/ender, 16 years ago

Hacked around in CVS with a breakout recursion counter
variable.

comment:13 by sev-, 14 years ago

Resolution: fixed
Status: newclosed

comment:14 by sev-, 14 years ago

Removed the hack. This doesn't appear anymore. Though See
bugreport #1205445.

comment:15 by fingolfin, 14 years ago

Are you sure it doesn't occur anymore? As I recall, I had to
try several times in just the right way to reproduce the
issue, but after I had figured out how to do it, I was able
to almost always reproduce it.

I can't test from here right now, I am just wondering
whether you close it because you know of a change in the
code which fixes this (I am not aware of anything in that
direction), or whether you tried it, and in the latter case,
how hard you tried exactly :-)

comment:16 by sev-, 14 years ago

I believe I clicked every pixel on the bath. There was
support for v1 maniac and zak since that and a lot of code
has changed. Which change exactly fixed it I am not sure.

Update: just checkd out old version and easily reproduced
this bug. Does not occur with current CVS for sure (hack is
already removed).

comment:17 by fingolfin, 14 years ago

OK, cool, thanks!

comment:18 by Kirben, 10 years ago

Owner: set to sev-
Note: See TracTickets for help on using tickets.