Age | Commit message (Collapse) | Author |
|
|
|
At least on my computer, when the note ended abruptly there would
be an annoying "pop" at the end. This was particularly noticeable
at the end of the distaff notes in Loom. To get around this, fade
out the last 100 samples. There's nothing magical about 100 in
particular, but it's a nice even number and it should be short
enough that it's never a noticeable part of the note, even at low
sample rates.
|
|
It was the remains of an experiment and no longer serves a purpose.
|
|
This keeps the music from breaking when loading a savegame that was
made with a different sample rate than the current one. It also
breaks all savegames made in the past eight hours, but I don't think
it's necessary to maintain savegame compatibility within a pull
request, as long as it still works with savegames made before it.
|
|
For old savegames, we now use a "dummy" iMUSE objet to skip the old
iMUSE save state. I had hoped to be able to do this without making
any changes to the iMUSE code itself, but I was unable to.
Also added note about how the save state for the new music will not
quite work if the mixer output rate changes. Personally, I'm not
too worried about that. It breaks, but it shouldn't break badly.
|
|
Note that while this removes _townsPlayer->saveLoadWithSerializer(s)
it really shouldn't break anything because _musicEngine also points
to the FM Towns player. Famous last words...
|
|
We no longer use iMuse for MI1 Mac so this never happens. The Mac
player can only play one song at a time, so it should be all right.
|
|
Apparently we cannot (portably) call virtual functions from the
constructor, so initialization has been moved to a separate function.
|
|
Try the Mac OS Roman form, the UTF-8 form and the filename without
any trademark glyph.
|
|
Excplicitly cast to int to avoid a warning that I don't get, but
which clone2727 does. At least, I hope it avoids the warning.
|
|
As clone2727 pointed out, the default case handles Loom. I guess it
was a special case before to *prevent* it from trying to play the
sound, and to keep some comments about the format.
|
|
The Monkey Island and Loom mac music is really quite similar. The
data layout is a bit different, but most of the code was easy to
separate into its own class. The Loom player doesn't do looped music
but I don't remember off-hand if it ever should.
|
|
It turns out that playing the Mac Loom music isn't particularly
different from playing the Monkey Island 1 music, except the data
layout is a bit different and there's no per-note volume.
|
|
Otherwise it may crash if you quit before any instruments have been
loaded. Oops.
|
|
This is based on the old Mac0-to-General MIDI conversion that we used
to do (and which this patch removes), as well as the code for playing
the Monkey Island 2 and Fate of Atlantis Macintosh music. I'm not sure
how accurate it is, particularly in tempo and volume, but at this
point it seems to work pretty well. Looping music is perhaps a bit
off, but it was before as well.
There is an annoying drawn out note in the music when you're following
the shopkeeper, but that appears to have been there in the original as
well.
|
|
|
|
TONY: fix volumes of sound effects.
|
|
Made the only hint available into the first hint
|
|
|
|
|
|
|
|
The game was using a logarithmic scale (through DirectSound)
so we need a log->linear conversion to feed the mixer.
|
|
Add detection for original Italian version.
|
|
Thanks to Giovanni Bajo for noticing and correcting this.
|
|
|
|
|
|
|
|
|
|
|
|
the forest"
This workaround has been added for now to stop the game from freezing.
A more correct solution would be to match our pathfinding algorithm
to what SSCI is doing, but with this workaround we can stop the more
immediate problem (game freezing) now.
|
|
choosing kid"
In several SCI0 games, the parameter to kDoSoundFade can be null.
We handle that case, instead of adding individual workarounds per game
|
|
|
|
|
|
|
|
This makes it easier to read the code where sprite surfaces are blitted
to the screen.
|
|
|
|
|
|
|
|
This bug occurs because in the cases specified in the bug report, the main
loop hasn't run fully yet, and there is a mini loop running instead (e.g.
inside Print())
Hopefully, this catches most cases where the crash occurs, but it needs more
testing to find if there is any other such case.
|
|
This is a script bug, and is present in the original game as well. Thanks to
lskovlun for assisting with this one
|
|
Conflicts:
engines/teenagent/callbacks.cpp
|
|
|
|
|
|
Adding missing CamelCase k-prefixes.
|
|
PARALLACTION: Fix the ending of Nippon Safes (bug #5866)
|
|
|
|
|
|
|
|
Fixes bug #3575276 - "SCI: Freddy Pharkas: Text sometimes drawn/erased
incorrectly"
|
|
This is bug #3040722.
It was trying to open a non-existent submenu. We now force a return
after handling the conversation option right before it tries to look for
this submenu.
|