Opened 16 years ago

Closed 16 years ago

Last modified 11 months ago

#947 closed defect (fixed)

V5 games: Adlib SFX not looped

Reported by: SF/logicdeluxe Owned by: SF/jamieson630
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 1

Description

ScummVM 0.5.0pre-cvs win
Built on Jul 5 2003 21:59:31
I just noticed it with the MI1 CD version.
Adlib fire crackle is not looped. You can hear this at
the out look point and in Meat Hook's house. The
crackle stops after a few seconds. I checked MI2, too:
The same thing at the fire pit just after the title
sequence. Adlib music in earlear games loop correctly,
so it seems to be a V5 problem only or it might be
iMuse related. In Indy4 (started with -eadlib) at the
stage in New York when you push the right hand lever
the humming also stops after a few seconds. This bug
does not appear in the talkie version.

Ticket imported from: #766426. Ticket imported from: bugs/947.

Attachments (1)

monkey2.s10 (60.4 KB ) - added by SF/logicdeluxe 16 years ago.
clean laundry (english, played with multi-midi)

Download all attachments as: .zip

Change History (10)

comment:1 by SF/logicdeluxe, 16 years ago

Ups, the fire pit in MI2 has that bug even with the original
interpreter as I just noticed, so in that particular case,
it doesn't seem to be ScummVM's fault. However, with MI1 CD
it should continue, as it does with my original, as I just
checked at the outlook point. Reenter that screen to hear
the fire crackle as it doesn't in the intro sequence! In MI2
you should check the operating noise when you get Largo's
bra instead: Also this sound continues with the original
interpreter but doesn't with ScummVM.

comment:2 by SF/logicdeluxe, 16 years ago

I just checked this with release 0.4.1 and there the fire in
MI1 crackles continuesly as it should.

I attach a savegame for easily checking out the thing with
the clean laundry in MI2.

by SF/logicdeluxe, 16 years ago

Attachment: monkey2.s10 added

clean laundry (english, played with multi-midi)

comment:3 by fingolfin, 16 years ago

Owner: set to SF/jamieson630
Summary: V5 games: Adlib noises not loopedV5 games: Adlib SFX not looped

comment:4 by SF/jamieson630, 16 years ago

The original (correct) behavior was based on a [IMHO very
quirky] assumption made by the code to handle "sustaining
notes" (now called "hanging notes" or "smart jump"). The
assumption relied on a jump event being the FIRST event to
occur after a Note On event. This is the case for most long,
unchanging sound effects like fire crackling or the sound of
the clothes line motor in MI2. The old code was ditched and
the new Smart Jump code was built from the ground up using
a different, more easily understood method of handling jumps
in the middle of actively playing notes. Since the quirky
assumption does not exist in the new code, the initial Note On
event is not expempted from an automatic Note Off after a
loopback.

I hope to have the solution to this in CVS within the next day
or two. Unfortunately I ran out of time right after identifying
the problem.

comment:5 by SF/jamieson630, 16 years ago

Resolution: fixed
Status: newpending

comment:6 by SF/jamieson630, 16 years ago

Looping Adlib SFX should be fixed in latest CVS. I will wait for
verification before closing.

Since this change modifies the behavior of the Smart Jump
feature, it potentially affects ANY place where in-track
jumping takes place. Therefore, in addition to testing the
affected areas, other places with music transitions (boy,
almost anywhere) should be tested. Woodtick music is good,
as is most Sam & Max music and a lot of FOA and DOTT
music. Any odd behavior around music transitions should be
reported here. Thanks.

comment:7 by SF/jamieson630, 16 years ago

Since I've heard no response, I'm going to assume the fix
worked and close this.

comment:8 by SF/jamieson630, 16 years ago

Status: pendingclosed

comment:9 by digitall, 11 months ago

Component: --Unset--Engine: SCUMM
Game: Monkey Island 1
Note: See TracTickets for help on using tickets.