Opened 8 years ago

Last modified 6 years ago

#5745 new defect

ITE Floppy: Audio loops and game stops responding

Reported by: SF/andrea2054 Owned by: sev-
Priority: normal Component: Engine: SAGA
Keywords: Cc:
Game: Inherit the Earth

Description

Towards the end of the game, when you are in Shiala's room and try to open the door placing the strange triangular device in the iron hatch, the door opens and you hear its sound.
But the audio sample never stops (in fact it loops), and the game stops responding and the cursor disappears.
The animations are active and you can also open the load/save screen (but it is inoperative).

I tried with all the ScummVM version from 1.0.0 to the last 1.3.0 (Windows version, running on XP 32-bit) and all have this problem.

Strangely, the PocketPC port works (1.1.1 version), so I can continue playing.

Ticket imported from: #3313697. Ticket imported from: bugs/5745.

Attachments (1)

ITE.S21 (21.5 KB ) - added by SF/andrea2054 8 years ago.
Savegame to reproduce the problem. Use the triangular device on the door

Download all attachments as: .zip

Change History (15)

by SF/andrea2054, 8 years ago

Attachment: ITE.S21 added

Savegame to reproduce the problem. Use the triangular device on the door

comment:1 by wjp, 8 years ago

Summary: Audio loops and game stops respondingITE: Audio loops and game stops responding

comment:2 by SF/andrea2054, 8 years ago

It happens only when the option "Reading Speed" from the Game Options screen is set to "Slow". The others settings works fine (the sound of the opening door stops and you can continue)

comment:3 by SF/andrea2054, 8 years ago

It happens also on the PocketPC port when the "Reading Speed" is set to "Slow".

comment:4 by bluegr, 8 years ago

Er... what is the "Reading Speed" setting? I suppose it only exists in the PocketPC port?

comment:5 by SF/andrea2054, 8 years ago

This setting is an in-game option. Open the ITE Game Option screen (it's also the ingame Load/Save screen) using the disk icon under the game area or press F5.

comment:6 by bluegr, 8 years ago

Summary: ITE: Audio loops and game stops respondingITE Floppy: Audio loops and game stops responding

comment:7 by bluegr, 8 years ago

Ah, sorry, now I remembered - it's a setting that's only present in the Floppy version (I was trying this out with the CD version). Updating description

comment:8 by bluegr, 8 years ago

This is a SAGA script thread issue.
Specifically, there is a racing situation between the thread that is responsible for showing the actor dialog lines, and the thread that is responsible for stopping the looped door sound.

With the slow reading speed setting, the dialog between Rif, Eeah and Okk finishes AFTER the door sound is supposed to stop. This leads to a situation where the dialog thread is still running, disallowing the door sound thread from running. The door sound thread calls sfPlayLoopedSound() to start the sound, and then calls it again to stop it. However, with the dialog thread up, the door sound thread is never executed, thus there is a livelock between the two threads and the game effectively gets stuck.

With the faster reading speed settings (or if you just click some of the dialog lines to bypass them), this never occurs, as the dialog thread stops before the door sound thread stops

comment:9 by bluegr, 8 years ago

Perhaps the SVN revisions r35670 and r38581 (git commits 7886aedebb0e09ebfec6 and 32f73fd34cfbae2c80ab) are related (though it's unlikely). I couldn't test this with version 0.12.0 (which doesn't have his change), as the savegame is too new and the triangular key is not given when opening the magic hat at that location... :/ So I'm not sure if this a regression or a long-standing bug

comment:10 by SF/andrea2054, 8 years ago

The bug is still present in version 1.3,1

comment:11 by sev-, 8 years ago

This bug is nice to get fixed before the release. Raising priority for keeping the track.

comment:12 by sev-, 8 years ago

Priority: normalhigh

comment:13 by sev-, 6 years ago

Owner: set to sev-

comment:14 by sev-, 6 years ago

Priority: highnormal
Note: See TracTickets for help on using tickets.