aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-18SCUMM: Fix regression that caused "pops" in MI1 jungle musicTorbjörn Andersson
Properly treat rests as rests, not notes. Otherwise, it would try to play a really low note which just came out as a "pop".
2012-11-18SCUMM: Use more correct (I think) way of converting samplesTorbjörn Andersson
It shouldn't make any real difference, but it's probably more formally correct.
2012-11-18SCUMM: Prevent music channels from drifting out of sync in Mac MI1Torbjörn Andersson
In looped music, prevent the music channels from drifting out of sync over time. This was noticeable after a few minutes in the SCUMM Bar. We do this by extending the last note (which is just zeroes, so we didn't even use to play it) so that it has the exact number of samples needed to make all channels the exact same length. (This is calculated when the music is loaded, so it does not need any extra data in the save games, thankfully.) As a result, the getNextNote() is now responsible for converting the duration to number of samples (out of necessity) and for converting the note to a pitch modifier (out of symmetry). I made several false starts before I realized how much easier it would be this way.
2012-11-18SCUMM: Fix whitespaceTorbjörn Andersson
2012-11-17SCUMM: Avoid "pops" at the end of the note in Mac MI1/Loom musicTorbjörn Andersson
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.
2012-11-17SCUMM: Remove commented out code.Torbjörn Andersson
It was the remains of an experiment and no longer serves a purpose.
2012-11-16SCUMM: Store sample rate in Mac MI1 / Loom savegamesTorbjörn Andersson
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.
2012-11-16SCUMM: Add hack to preserve savegame compatibility with Mac MI1Torbjörn Andersson
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.
2012-11-15SCUMM: Save/load Mac music engine state for Loom and MI1Torbjörn Andersson
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...
2012-11-14SCUMM: Remove Mac version of MI1 from special case.Torbjörn Andersson
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.
2012-11-14SCUMM: Move Mac player initialization to its own functionTorbjörn Andersson
Apparently we cannot (portably) call virtual functions from the constructor, so initialization has been moved to a separate function.
2012-11-14SCUMM: Try harder to open the Loom Macintosh executable.Torbjörn Andersson
Try the Mac OS Roman form, the UTF-8 form and the filename without any trademark glyph.
2012-11-14SCUMM: Hopefully fix warningTorbjörn Andersson
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.
2012-11-14SCUMM: Remove unnecessary check for Mac LoomTorbjörn Andersson
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.
2012-11-14SCUMM: Move most of the Macintosh player code into its own classTorbjörn Andersson
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.
2012-11-13SCUMM: Add support for Mac Loom music and soundTorbjörn Andersson
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.
2012-11-12SCUMM: Initialize the Macintosh MI1 instruments, along with the channels.Torbjörn Andersson
Otherwise it may crash if you quit before any instruments have been loaded. Oops.
2012-11-11SCUMM: Added support for Macintosh music in Monkey Island 1Torbjörn Andersson
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.
2012-11-02TONY: Fix endianness issue when saving/loading inventoryWillem Jan Palenstijn
2012-11-01Merge pull request #290 from rasky/fix_sfx_volumesPaul Gilbert
TONY: fix volumes of sound effects.
2012-10-29PEGASUS: Improve on the WSC missing AI videos bugMatthew Hoops
Made the only hint available into the first hint
2012-10-29PEGASUS: Ease off the CPU in the overviewMatthew Hoops
2012-10-28GUI: Check for screen changes in the saveload chooser selection code.Johannes Schickel
2012-10-27TONY: Fix AmigaOS build (bug #3580541)Willem Jan Palenstijn
2012-10-26PEGASUS: Don't error out for two missing WSC AI videosMatthew Hoops
2012-10-26TONY: fix volumes of sound effects.Giovanni Bajo
The game was using a logarithmic scale (through DirectSound) so we need a log->linear conversion to feed the mixer.
2012-10-26Merge pull request #289 from rasky/add_italian_versionStrangerke
Add detection for original Italian version.
2012-10-26TONY: Fix translation of Italian commentWillem Jan Palenstijn
Thanks to Giovanni Bajo for noticing and correcting this.
2012-10-26Add detection for original Italian version.Giovanni Bajo
2012-10-25CONFIGURE: Enable Tony engineEugene Sandulenko
2012-10-23VIDEO: Mark Theora-decoder as used by Wintermute.Einar Johan Trøan Sømåen
2012-10-23GRAPHICS: Mark decoders used by Wintermute as such.Einar Johan Trøan Sømåen
2012-10-23Merge pull request #288 from murgo/masterAlyssa Milburn
ANDROID: Fixed tapping touchpad not sending left clicks
2012-10-23WINTERMUTE: Convert ' correctly from CP1252Einar Johan Trøan Sømåen
2012-10-23WINTERMUTE: Add a hack to allow videos to loopEinar Johan Trøan Sømåen
2012-10-22CONFIGURE: Use -fPIC instead of -fpic on Linux and FreeBSD.Johannes Schickel
This allows compilation of plugins on PowerPC. This is done similar to what was proposed in patch #3575572 "Fails to build on Linux PowerPC when using plugins". I chose to use -fPIC unconditionally, since it will only make a difference on platforms, which will require -fPIC, like PowerPC. On amd64 for example gcc produces the same code.
2012-10-22WINTERMUTE: Avoid using __DATE__ and __TIME__ in-engineEinar Johan Trøan Sømåen
2012-10-22SCI: Add a workaround for bug #3568452 - "SCI: QFG1VGA - Path finding bug in ↵Filippos Karapetis
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.
2012-10-22SCI: Fix bug #3578335 - "SCI: Mixed-Up Mother Goose EGA - crash upon ↵Filippos Karapetis
choosing kid" In several SCI0 games, the parameter to kDoSoundFade can be null. We handle that case, instead of adding individual workarounds per game
2012-10-22SCI: Add another version of Castle of Dr. Brain (bug #3578286)Filippos Karapetis
2012-10-22SCI: Fix bug #3578336 - "SCI: Codename: ICEMAN - No 'EGA undithering' option"Filippos Karapetis
2012-10-22SCI: Add the Inside the Chest / Benind the Developer's Shield demoFilippos Karapetis
2012-10-21CONFIGURE: Clean up OpenPandora flags and add define for ↵David-John Willis
USE_ARM_NEON_ASPECT_CORRECTOR
2012-10-21GRAPHICS: Rename NEON_ASPECT_CORRECTOR to USE_ARM_NEON_ASPECT_CORRECTORDavid-John Willis
* This better matches other ARM codepaths. * Also remove #ifdef OPENPANDORA as moved to configure.
2012-10-21ANDROID: Fixed tapping touchpad not sending left clicksLauri Härsilä
2012-10-20COMPOSER: Change screen surface variable naming for clarity.D G Turner
This makes it easier to read the code where sprite surfaces are blitted to the screen.
2012-10-20COMPOSER: Close two memory leaks.D G Turner
2012-10-19ANDROID: Mouse and stylus supportLauri Härsilä
From pull request #285.
2012-10-18I18N: Regenerate translations.datEugene Sandulenko
2012-10-18I18N: updated Russian and Ukrainian translationsEugene Sandulenko