Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AGOS: RFC: Fix Waxworks AdLib music (bug #13048) #3472

Merged
merged 3 commits into from Nov 2, 2021

Commits on Oct 30, 2021

  1. AGOS: Fix Waxworks AdLib music (bug #13048)

    Because only the unused channelVolueAdjust value was clipped, the actual
    velocity of the note would often overflow, causing the note to be almost
    muted instead of played at full volume.
    
    I assume it was an oversight that chanelVolumeAdjust wasn't used, so
    I've fixed that and moved the clipping to after all adjustments have
    been made. Also eliminated some unneeded floating-point math.
    
    Is it correct now? I honestly don't know. It seems that, at least in
    Waxworks, almost all notes end up being played at max volume. But maybe
    that's how it should be?
    Torbjörn Andersson committed Oct 30, 2021
    Copy the full SHA
    fd3928d View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2021

  1. AGOS: Further work on Waxworks AdLib volume

    After feedback from NMIError, and some more guesswork. The master volume
    isn't applied until noteOnSetVolume(), so that the correct adjusted
    volume can be stored in the channel data structure.
    
    Now the volume seems too low to me, but of course that could be fixed by
    having some other default value than 15 for _masterVolume.
    Torbjörn Andersson committed Oct 31, 2021
    Copy the full SHA
    2953e41 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2021

  1. AGOS: Use the music volume setting for Accolade AdLib driver

    At this point, the driver still tries to play notes at the maximum
    allowed volume or louder, but ScummVM's music volume setting can bring
    them back down to the expected range. That may have to be good enough
    for now.
    
    Also, since the master volume is only used internally there's no need to
    keep converting back and forth. Just use the interval 0-255 throughout.
    Torbjörn Andersson committed Nov 1, 2021
    Copy the full SHA
    f99cf60 View commit details
    Browse the repository at this point in the history