Opened 21 years ago

Closed 21 years ago

Last modified 6 years ago

#947 closed defect (fixed)

V5 games: Adlib SFX not looped

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


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 21 years ago.
clean laundry (english, played with multi-midi)

Download all attachments as: .zip

Change History (10)

comment:1 by SF/logicdeluxe, 21 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, 21 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, 21 years ago

Attachment: monkey2.s10 added

clean laundry (english, played with multi-midi)

comment:3 by fingolfin, 21 years ago

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

comment:4 by SF/jamieson630, 21 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, 21 years ago

Resolution: fixed
Status: newpending

comment:6 by SF/jamieson630, 21 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, 21 years ago

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

comment:8 by SF/jamieson630, 21 years ago

Status: pendingclosed

comment:9 by digitall, 6 years ago

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