Opened 15 years ago

Closed 15 years ago

Last modified 12 months ago

#8346 closed patch

FBEAR: Partial fix for the piano

Reported by: eriktorbjorn Owned by: Kirben
Priority: normal Component: Engine: SCUMM
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 15 years ago.
Patch against a June 21 CVS snapshot

Download all attachments as: .zip

Change History (4)

by eriktorbjorn, 15 years ago

Attachment: fbear-notes.diff added

Patch against a June 21 CVS snapshot

comment:1 by Kirben, 15 years ago

Owner: set to Kirben
Status: newclosed

comment:2 by Kirben, 15 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, 12 months ago

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