Commit Graph

251 Commits

Author SHA1 Message Date
D G Turner
c14f45ee05 TOUCHE: Simplify external digital music support slightly.
Checked with valgrind and no leaks are evident.
Thanks to LordHoto for suggesting these changes.
2012-12-16 16:44:34 +00:00
D G Turner
74cd6a4d26 TOUCHE: Fix external music to work with any music format.
This also removes the direct dependency on vorbis.
Thanks to [md5] for the majority of this patch.
2012-12-16 16:03:32 +00:00
D G Turner
101d355b4a TOUCHE: Add commands to play and stop music tracks to engine console. 2012-12-16 13:42:28 +00:00
D G Turner
9986d73e47 Merge branch 'toucheExtMusic' 2012-12-16 13:12:02 +00:00
D G Turner
2c80977b13 TOUCHE: Fix external digital music support.
Thanks to clone2727 for pointing out the issue here.

Tested with Valgrind and no leaks present.
However, the music output is still not correct, when compared to
Midi output. This is due to the track numbering. Either the
external files need renaming or a mapping table will be needed.
2012-12-16 02:34:35 +00:00
D G Turner
702aecf125 TOUCHE: Fixes to external digital music support.
This removes most of the bad accesses and use of invalid pointers, but
it is still not quite correct. Also, it appears the music id and
external track ids may not be a direct mapping.
2012-12-15 03:14:00 +00:00
D G Turner
de39adfb78 TOUCHE: Fix incorrect handle usage. 2012-12-14 23:28:01 +00:00
Johannes Schickel
b0ba4b01a4 COMMON: Add wrapper for isprint.
This is done in the spirit of 658080deed.
2012-12-13 21:08:47 +01:00
D G Turner
eb30e5c594 TOUCHE: Add support for external digital music.
Detection of the external digital music files works, but they currently
fail to play and cause segfaults if present... Suspected to be related
to premature destruction of audiostream data.
2012-12-13 01:41:54 +00:00
D G Turner
8b379a5718 TOUCHE: Add generic music functions to wrap MidiPlayer usages.
This is a precursor to adding code within these functions to select
between MIDI and external digital music files.
2012-12-12 17:02:59 +00:00
Willem Jan Palenstijn
c18cacc248 TOUCHE: Add more font entries to French Touche
The nbsp at position 255 (assuming CP863) was missing (bug #3571138).
2012-09-25 19:39:10 +02:00
Sven Hesse
18fc453b97 TOUCHE: Report unknown game variant when using the file based fallback detector
Given the message Touche prints when it found a game, printing the
MD5 sums of the files was probably what it expected the
AdvancedDetector would do in the filebase fallback detector. This may
have been true in the past, but it's not what it does anymore,
rendering the message pointless.
This fixes it by calling the now accessable reportUnknown method.
2012-06-27 05:14:18 +02:00
Sven Hesse
2c760cb15e DETECTOR: Make detectGameFilebased() return a list of MD5s and file sizes
Since we need a FSNode parent for Mac resource forks, we need to change
signature of detectGameFilebased(), too.
2012-06-27 05:14:18 +02:00
Willem Jan Palenstijn
101ec2b885 TOUCHE: Remap one more Spanish character 2012-03-03 00:46:17 +01:00
Max Horn
367131ef0e COMMON: Move Language and Platform functionality into separate files 2012-02-26 15:21:36 +01:00
Tarek Soliman
edc5249772 JANITORIAL: Fix template definition whitespace 2012-02-10 21:17:27 -06:00
Willem Jan Palenstijn
e8ef680400 TOUCHE: Add two missing accented letters to Spanish charset.
The A-acute, I-acute, O-acute and U-acute seem to be missing from the font,
and are now all remapped to their unaccented ASCII variants. I and A
were added by 303333352a, and this patch adds O and U.
This is assuming the CP850 encoding, which is not entirely verified.

See bugs #2040311 and #3483383.
2012-02-04 22:20:58 +01:00
Willem Jan Palenstijn
6fed44298e TOUCHE: Add charset debug channel
This is intended to help debug the missing Spanish characters reported
in #2040311 and #3483383.
2012-02-04 14:13:26 +01:00
Johannes Schickel
5669016225 TOUCHE: Fix playback of simultaneous sfx.
Since we stream the VOC files from disk now, we can not use the global
resource file handle for playback but instead need to open a new handle for
every SFX started.

Fixes odd noises at the beginning of the Touche demo.
2011-11-24 23:10:51 +01:00
Strangerke
bab4b6f729 LAUNCHER: Introduce GUIO0() in order to replace GUIO1(GUIO_NONE) 2011-11-16 22:38:58 +01:00
Strangerke
4f610235a5 TOUCHE: After discussion with clone2727 and eriktorbjorn, remove GUIO_NOASPECT from Touche 2011-10-24 06:53:38 +02:00
Strangerke
48f7187edd LAUNCHER: Add GUIO_NOASPECT to touche 2011-10-24 00:30:41 +02:00
Eugene Sandulenko
32972a5ffb AD: Switched rest of the engines to new GUIO 2011-10-23 17:53:13 +01:00
Johannes Schickel
3e1405b939 AUDIO: Add default disposeAfterUse value to makeVOCStream again. 2011-10-09 21:24:06 +02:00
Johannes Schickel
221434a83f AUDIO: Remove unused makeVOCStream interface. 2011-10-09 21:23:29 +02:00
Littleboy
b694a78f62 ANALYSIS: Add static casts to is* functions
This fixes a potential problem with passing char values that would be sign-extended and yield unexpected results.
See http://msdn.microsoft.com/en-us/library/ms245348.aspx
2011-06-23 08:52:52 -04:00
Julien
2f200ac493 ANALYSIS: Fix potential memory leak when using realloc
When reallocation is unsuccessful, the passed buffer is not freed. In this case, assigning the result (NULL) will result in a leak of the original memory buffer.
See http://msdn.microsoft.com/en-us/library/kkedhy7c.aspx
2011-06-23 15:11:36 +08:00
Max Horn
5016645345 DETECTOR: Remove kADFlagPrintWarningOnFileBasedFallback 2011-06-14 18:52:11 +02:00
Max Horn
01f806c2db DETECTOR: Treat file based fallback like any other fallback method 2011-06-14 18:52:11 +02:00
Max Horn
e6f6d67bdd TOUCHE: cleanup 2011-06-14 18:52:08 +02:00
Max Horn
7c992d6598 DETECTOR: Merge ADParams into AdvancedMetaEngine 2011-06-14 18:17:01 +02:00
Max Horn
3b6610927b TOUCHE: Switch to alternate AdvancedMetaEngine, avoid ADParams 2011-06-10 22:15:46 +02:00
Max Horn
4827cc914a ENGINES: Change incorrect use of 'target' to 'gameid' 2011-06-10 22:15:40 +02:00
Max Horn
477d6233c3 ENGINES: Change 2nd param of Engine::saveGameState to Common::String 2011-06-02 18:31:59 +02:00
D G Turner
9607aae5be TOUCHE: Replace snprintf() usage with Common::String::format()
Safer and less portability issues.
2011-06-02 03:17:34 +01:00
Max Horn
4cbe4ede66 COMMON: Registers RandomSources in constructor with the event recorder
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.
2011-05-17 12:17:26 +02:00
Thierry Crozat
3c59e37035 ENGINES: Unify engine names
This unifies the engine names in MetaEngine::getName() and the
credits. In particular drop "Engine" or "engine" from the names when
it was present and use expanded names in credits when the
MetaEngine uses it (e.g. "Beneath a Steel Sky" instead of "BASS").
2011-05-16 00:11:32 +01:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Ori Avtalion
cd6ee0589d JANITORIAL: Format forward declarations to follow convention 2011-04-28 12:20:34 +03:00
Max Horn
73f04118f3 COMMON: Rename Error to ErrorCode, introduce new Error class 2011-04-18 18:22:02 +02:00
Max Horn
7949d7c6de AUDIO: Move more common code to Audio::MidiPlayer
This also should fix some regressions from the previous
commits, related to MidiParser's either being leaked,
or being deleted and then used again (i.e., crashing).

I tested as many games as I had available, but further
testing of all affected engines is called for anyway.
2011-03-25 14:15:53 +01:00
Max Horn
bd637b4c5c TOUCHE: Move _gmToRol to midi.cpp 2011-03-25 14:14:13 +01:00
Max Horn
00ad039b4c TOUCHE: Change MidiPlayer to derive from Audio::MidiPlayer 2011-03-25 14:14:13 +01:00
Max Horn
e70fd59b35 ENGINES: Further simplify pseudo MidiDrivers; fix some regressions
The regression affected AGOS and maybe some others; specifically,
the real MidiDriver would have been deleted twice -- I previously
missed that the Engine instances takes care of freeing the real
MidiDriver, not the MidiPlayer wrapping it.

This commit should clarify the ownership of the real MidiDriver for
most pseudo MidiDrivers.
2011-03-23 16:49:41 +01:00
Max Horn
29847ea42d AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclasses
Many engines follow the advice in audio/midiparser.h and create a
"pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny
subset of the MidiDriver capabilities, namely those found in
MidiDriver_BASE. So we try to subclass from that whenever possible; this
allows us to remove many stub methods, and enables further future
simplifications.
2011-03-23 15:25:47 +01:00
Max Horn
7b02dac3c5 ENGINES: Use Common::StackLock in more places 2011-03-23 15:25:46 +01:00
Max Horn
8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
This in turn enables modifying MidiDriver_MPU401::close() to allow
it to be called on a midi driver that has not yet been opened.

The specific issue that triggered me to make these changes was a
crash-upon-quit in HUGO, caused by it instantiating a midi driver,
then encountering an error (missing hugo.dat) *before* having
opened the new midi driver; the general cleanup code then tries
to close the (not yet opened) midi driver -> kaboom

Also fixed some engines which were leaking MidiDriver instances.
2011-03-22 23:51:47 +01:00
dhewg
58f1e2f6ef TOUCHE: Cleanup syncSoundSettings()
And respect global mute settings
2011-03-19 16:49:16 +01:00
Johannes Schickel
e21d6e0d11 Merge branch 'osystem-palette' of https://github.com/lordhoto/scummvm into master
Conflicts:
	backends/platform/android/android.cpp
	engines/sci/graphics/screen.cpp
	engines/sci/graphics/transitions.cpp
2011-02-19 21:46:45 +01:00