33 Commits

Author SHA1 Message Date
Max Horn
f485450758 HUGO: Fix warning about hidden pause() method from parent class 2011-12-12 16:27:41 +01:00
Alyssa Milburn
5efba92b8e HUGO: Coding style fixes. 2011-08-24 10:58:06 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +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
6bf4745a1b HUGO: Move MidiDriver creation into MidiPlayer constructor 2011-03-25 14:15:43 +01:00
Max Horn
94e7a231fe HUGO: Change MidiPlayer to derive from Audio::MidiPlayer 2011-03-24 16:46:47 +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
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
strangerke
ec559360ab HUGO: Move several short function bodies from headers to cpp files 2011-02-18 22:24:32 +01:00
Arnaud Boutonné
c846231af3 HUGO: Replace Common::File by Common::ReadStream in several functions
svn-id: r55897
2011-02-12 16:20:57 +00:00
Arnaud Boutonné
69d907151b HUGO: Cleanup based on Fingolfin comments
svn-id: r55887
2011-02-12 08:13:35 +00:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Arnaud Boutonné
935b318798 HUGO: Suppress static variables (except one)
This also fixes the multiple-RTL related music bug reported by D. Gray

svn-id: r55758
2011-02-03 18:25:38 +00:00
Arnaud Boutonné
4263549536 HUGO: 'Constify' engine as much as possible
svn-id: r55741
2011-02-02 21:12:51 +00:00
Arnaud Boutonné
088b5f7743 HUGO: Use a separate thread for honker player and fix ticks per seconds
This fixes the speaker music stopped by message boxes, and the speaker music itself.

svn-id: r55700
2011-02-01 00:08:12 +00:00
Arnaud Boutonné
3f6496d5b5 HUGO: Cleanup
Suppress almost all defines, rename constants

svn-id: r55451
2011-01-23 00:05:52 +00:00
Arnaud Boutonné
868717b444 TOOLS: Add Dos intro music number in hugo.dat
svn-id: r55145
2011-01-07 15:14:38 +00:00
Arnaud Boutonné
46e5149269 HUGO: Implement DOS player
svn-id: r55132
2011-01-06 14:06:04 +00:00
Arnaud Boutonné
5d6771e3df HUGO: Midi are no longer looping. Add handling to default playlist
svn-id: r55084
2011-01-01 10:51:57 +00:00
Arnaud Boutonné
6d30449d5a HUGO: Implement syncSoundSettings()
svn-id: r55018
2010-12-22 22:25:52 +00:00
Johannes Schickel
c309bbde28 HUGO: Slight formatting fix.
svn-id: r55008
2010-12-22 14:23:22 +00:00
Henry Bush
ada3c01cc1 HUGO: Set some volume levels to get the MAME adlib emul working
svn-id: r55000
2010-12-22 09:22:14 +00:00
Arnaud Boutonné
76eb9d7f64 HUGO: Clean-up, move MidiPlayer class definition to .h file
svn-id: r54923
2010-12-15 20:37:09 +00:00
Arnaud Boutonné
fd6157e778 HUGO: Avoid using 'short' in function definition
svn-id: r54504
2010-11-26 23:30:31 +00:00
David Turner
6c78ca4876 HUGO: Close two minor memory leaks.
Destructor added to SoundHandler and added delete for _intro in engine destructor.

svn-id: r54225
2010-11-13 08:08:58 +00:00
Arnaud Boutonné
35f220ace2 HUGO: cleanup: Suppress trailing spaces and tabs
svn-id: r53825
2010-10-25 13:31:01 +00:00
Arnaud Boutonné
0101a0e0bb HUGO: Moved _objects to a separate file
also suppressed some dereferencing

svn-id: r53674
2010-10-21 17:09:57 +00:00
Arnaud Boutonné
ec9708694e HUGO: Hopefully fix GCC_PRINTF issue in util
* Add a mask in each call of Warn(), Error() and Box() not using one
* cleanup: use the same wording for 'End of namespace Hugo' in all files

svn-id: r52406
2010-08-27 09:48:53 +00:00
Oystein Eftevaag
a7541810b4 HUGO: Removed some dead code and redundant indirection
svn-id: r52404
2010-08-26 23:41:39 +00:00
Oystein Eftevaag
98400327c3 HUGO: Implemented basic MIDI support.
svn-id: r52403
2010-08-26 23:13:17 +00:00
Sven Hesse
54c1a1463f HUGO: Fix file permissions
755->644

svn-id: r52177
2010-08-17 23:55:31 +00:00
Eugene Sandulenko
06960d33e1 HUGO: Adding engine to the main tree
svn-id: r52137
2010-08-17 09:28:20 +00:00