Opened 20 years ago

Closed 20 years ago

Last modified 5 years ago

#8346 closed patch

FBEAR: Partial fix for the piano

Reported by: eriktorbjorn Owned by: Kirben
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Fatty Bear's Birthday Surprise


This is an incomplete attempt at getting the piano in Fatty Bear's Birthday surprise to work a bit better.

Currently it always plays the same note, no matter which key you hit. There are two different mechanisms for specifying the note: The standard piano sound uses o6_startSound()'s "offset" parameter, while the digitized instruments uses o6_setVolume()'s second case to specify which frequency the next sound effect should be played at.

Or at least that's my guesses.

There are several things that need to be done, though. The patch doesn't do anything about the standard piano sound, and when using digitized sounds you can't play a new note until the old note has ended.

I don't want to apply this patch myself since some of my changes don't agree with the comments in the code. Still, it's a start.

Ticket imported from: #977249. Ticket imported from: patches/451.

Attachments (1)

fbear-notes.diff (4.1 KB ) - added by eriktorbjorn 20 years ago.
Patch against a June 21 CVS snapshot

Download all attachments as: .zip

Change History (4)

by eriktorbjorn, 20 years ago

Attachment: fbear-notes.diff added

Patch against a June 21 CVS snapshot

comment:1 by Kirben, 20 years ago

Owner: set to Kirben
Status: newclosed

comment:2 by Kirben, 20 years ago

I knew about the piano notes using the offset of startSound opcode, I should have documented that before. I didn't know where the 0xe0 case of setVolume opcode was been used, so assumed (Wrongly) that it adjusted volume, like other case. A closer look at disassembly shows that your right and changing sample rate is correct. The piano should also make a sound when the sound type is changed, not sure why ScummVM doesn't make any sound at the point. Good work on the patch, piano is sounding a lot better now.

comment:3 by digitall, 5 years ago

Component: Engine: SCUMM
Game: Fatty Bear's Birthday Surprise
Note: See TracTickets for help on using tickets.