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
Gregory Montoir
8a50789662
TOUCHE: fix op_not/op_neg opcodes naming
2011-02-18 15:20:31 +01:00
Johannes Schickel
16ac1290dd
TOUCHE: Adapt to setPalette RGBA->RGB change.
...
This change was not tested, because I do not have any touche copy.
2011-02-14 17:08:33 +01:00
Max Horn
42ab839dd6
AUDIO: Rename sound/ dir to audio/
...
svn-id: r55850
2011-02-09 01:09:01 +00:00
Max Horn
ab039812e7
COMMON: OSystem now has a PaletteManager
...
svn-id: r55806
2011-02-07 17:52:38 +00:00
David Turner
a7df59a0ac
TOUCHE: Fixed Uninitialised Read in first call to ToucheEngine::res_loadBackdrop().
...
svn-id: r55385
2011-01-21 19:25:24 +00:00
Max Horn
6edc86a19b
DEBUG: Let GUI::Debugger::preEnter and postEnter (un)pause the engine
...
svn-id: r54815
2010-12-07 18:54:21 +00:00
Max Horn
2180b2d6b5
COMMON: Split common/stream.h into several headers
...
svn-id: r54385
2010-11-19 17:03:07 +00:00
David Turner
f0fe060cc3
TOUCHE: Added basic debugging console to engine
...
Since TOUCHE uses Debug Channels, this allows for the interactive setting of debugflags as well as providing a base for adding further debugging commands.
svn-id: r54137
2010-11-08 03:55:16 +00:00
Max Horn
18d40017e8
ENGINES: Unify code layout of all ADParams instances
...
svn-id: r54105
2010-11-07 01:01:18 +00:00
Max Horn
4ccce19876
ENGINES: Enhance namespace comments a bit
...
svn-id: r53484
2010-10-15 12:48:19 +00:00
Johannes Schickel
6588398ce6
MIDI: Send a reset MIDI device signal on startup.
...
This is currently done in the engine code. I adapted AGI, AGOS, DRACI,
GROOVIE, LURE, MADE, QUEEN, SAGA, SKY, TINSEL and TOUCHE to send a reset
device on startup. The sound output still works fine (started up a game
from every engine), so this should hopefully not introduce any regressions.
As far as I can tell it seems that SCUMM does send a proper device reset, so
I did not touch it. KYRA only sends a proper reset for MT-32 currently. I am
not sure about SCI though.
This fixes bug #3066826 "SIMON: MIDI notes off when using RTL after SCI".
svn-id: r52736
2010-09-15 22:00:20 +00:00
Florian Kagerer
c35e350531
AUDIO: get rid of MDT_PREFER_MIDI since it should be sufficient to either select MDT_PREFER_MT32 or MDT_PREFER_GM
...
svn-id: r50288
2010-06-25 20:51:57 +00:00
Max Horn
bbad3f333a
Patch #1956501 : "GUI/LAUNCHER: Midi device selection"
...
svn-id: r50128
2010-06-21 21:36:36 +00:00
Travis Howell
45b23601e7
Add detection of original directory structure for Touche.
...
svn-id: r49929
2010-06-17 13:42:02 +00:00
Eugene Sandulenko
44a39ffbc6
AdvancedDetector: Add new parameter directoryGlobs.
...
Without this parameter mass detection gave tons of false alarms.
Use globbing for narrowing down the depth search.
svn-id: r49788
2010-06-15 10:59:23 +00:00
Eugene Sandulenko
4d517ed0e9
Extended advancedDetector with depth parameter.
...
Now AD can search nested directories. By default it is turned off,
but there is new parameter to ADParameters struct. Usually value
of 2 is good enough for all purposes.
svn-id: r49653
2010-06-14 14:50:23 +00:00
Max Horn
970745e60c
Move DebugChannel related code to new header
...
svn-id: r48935
2010-05-04 11:59:22 +00:00
Max Horn
b3e404109c
Move initGraphics and initCommonGFX from to new header.
...
These functions are only used internally be Engine subclasses, and
by moving them to a separate header we can reduce indirect header
dependencies.
svn-id: r48934
2010-05-04 11:58:12 +00:00
Max Horn
460d69e885
COMMON: Move DebugChannel stuff into a new DebugMan singleton
...
svn-id: r48821
2010-04-27 21:40:52 +00:00
Max Horn
a1840bd573
AUDIO: Rename Mixer::playInputStream to playStream
...
svn-id: r48637
2010-04-12 09:14:17 +00:00
Max Horn
cac0ac66e2
COMMON: Get rid of Common::StringList
...
svn-id: r48287
2010-03-18 15:54:40 +00:00
Max Horn
d78dba3bca
COMMON: Move Common::RandomSource to common/random.*
...
svn-id: r48279
2010-03-18 15:07:11 +00:00
Max Horn
f24cc1c8be
Tweak makeVOCDiskStream
...
* now takes a SeekableReadStream *pointer* like (almost) all other
audiostream factories
* fix potential memory leak in it
* rename takeOwnershipOfStream to disposeAfterUse for consistency
svn-id: r48184
2010-03-08 10:27:42 +00:00
Yotam Barnoy
ef330ed9b4
Patch for bug 2943361 by littleboy, adding full kb modifier support to all engines + GUI and proper keypad handling
...
svn-id: r48101
2010-02-21 04:04:13 +00:00
Johannes Schickel
fe35d372da
- Rename FlacStream to FLACStream.
...
- Rename makeFlacStream to makeFLACStream.
svn-id: r47846
2010-02-03 09:42:11 +00:00
Max Horn
1565f14bc1
Moved audio stream implementations (for MP3, FLAC, etc.) to new dir sound/decoders/
...
svn-id: r47579
2010-01-26 22:48:45 +00:00
Max Horn
dc5e08e623
Move raw audio flags from sound/mixer.h to sound/raw.h
...
svn-id: r47395
2010-01-19 22:30:33 +00:00
Max Horn
7ec2da968c
Switch most AudioStream factories to use DisposeAfterUse::Flag
...
svn-id: r47334
2010-01-16 21:36:08 +00:00
Johannes Schickel
668f6e5de8
Adapt TOUCHE to use the new FLAC, Vorbis and MP3 factories (it didn't use any looping features anyway).
...
svn-id: r47066
2010-01-06 00:02:19 +00:00
Johannes Schickel
f5c3bd887e
- Add a new SeekableAudioStream interface. Soon to be used to replace audio stream specific looping code by generic code in Mixer...
...
- Adapted some existing AudioStreams to implement that interface (not tested!)
svn-id: r47013
2010-01-05 02:27:24 +00:00
Max Horn
c8873d8492
Changed MidiDriver::createMidi to take a MidiDriverType instead of an int
...
svn-id: r46316
2009-12-09 18:12:51 +00:00
Max Horn
df651bf20f
Added Doxygen comments for the various engine namespaces (currently mostly without details; help filling these out is welcome)
...
svn-id: r46128
2009-11-24 22:10:14 +00:00
Gregory Montoir
dc312ff96f
TOUCHE: disable flag 777 update (not checked by any scripts)
...
svn-id: r43735
2009-08-25 21:30:05 +00:00
Johannes Schickel
7e71865e91
Move the event recorder to its own class (EventRecoder inside common/EventRecorder.[h/cpp]).
...
svn-id: r42751
2009-07-25 12:59:46 +00:00
Max Horn
6b98c4c4e7
Got rid of some more ioFailed uses (also fixed a potential leak in graphics/font.cpp, and handle eos correctly in the FLAC code)
...
svn-id: r42488
2009-07-14 18:24:20 +00:00
Eugene Sandulenko
1bd6f6c99f
Added game GUI options to advancedDetector and updated all engines
...
svn-id: r41272
2009-06-06 17:56:41 +00:00
Max Horn
fb79b18571
Changed SaveFileManager methods to take Common::String params (instead of char pointers)
...
svn-id: r41000
2009-05-29 14:38:22 +00:00
Max Horn
65b5d31814
COMMON: Removed Stream::ioFailed() and clearIOFailed(), as they are deprecated; however, retained ioFailed in SeekableReadStream and File for now (so for now this mainly affects WriteStream subclasses)
...
svn-id: r40725
2009-05-19 11:42:14 +00:00
Jordi Vilalta Prat
047f116515
Renamed MetaEngine::getCopyright() to getOriginalCopyright() to better match the meaning of the returned string, as discussed some time ago in scummvm-devel
...
svn-id: r39132
2009-03-05 12:04:58 +00:00
Max Horn
dd98126423
Engines: Fused several init&go methods into a single run method
...
svn-id: r39003
2009-03-01 04:42:46 +00:00
Max Horn
3fcbda829a
Merged Engine::go() and ::init() into a new run() method (currently implemented by calling the existing init&go methods; to be cleaned up by engine authors
...
svn-id: r39002
2009-03-01 04:30:55 +00:00
Travis Howell
9f2d6d82ca
Make the subtitle settings in Options section of the global main menu optional, and enable only for game engines where subtitles settings are synced.
...
svn-id: r36237
2009-02-07 06:47:19 +00:00
Travis Howell
4131d3d07f
Fix sound noise regression in CD32 version of Simon the Sorcerer 1.
...
svn-id: r36236
2009-02-07 05:05:14 +00:00
Max Horn
7cb437b56f
Renamed SpecialDebugLevel to DebugChannel
...
svn-id: r36142
2009-01-30 05:10:24 +00:00
Max Horn
28cf213605
Moved AdvancedDetector from common/ to engines/
...
svn-id: r36132
2009-01-29 22:13:01 +00:00
Gregory Montoir
e3e699d7d2
fixed wrong z-reordering when one of the keychars is 0
...
svn-id: r35345
2008-12-13 19:38:48 +00:00
Gregory Montoir
13e613ae21
disable GMM save/load when original quit/options dialogs is displayed
...
svn-id: r35344
2008-12-13 19:35:33 +00:00
Gregory Montoir
f8c1223832
fixed readGameStateDescription() len parameter
...
svn-id: r35282
2008-12-07 19:15:19 +00:00
Gregory Montoir
3de7a31dc1
reduced saveload code dup
...
svn-id: r35276
2008-12-07 14:24:46 +00:00
Johannes Schickel
5a0556f09c
Committed my patch #2123680 "SDL: Backend transaction / rollback support".
...
svn-id: r35062
2008-11-14 22:08:10 +00:00
Filippos Karapetis
0414a78a65
Added save/load support from the GMM for the touche engine
...
svn-id: r35008
2008-11-11 17:57:13 +00:00
Gregory Montoir
edd61a4f40
add missing version check for compressed sound file
...
svn-id: r35005
2008-11-11 13:08:06 +00:00
Filippos Karapetis
f5729a4a8b
- The GMM save dialog is now working for all engines which support the appropriate features
...
- Added a new method to the MetaEngine class, getMaximumSaveSlot(), and implemented it in all engines for which the listSavefiles() method is implemented (it goes together with the listSavefiles method). It is used to fill the unused save slots in the save/load dialogs of each engine, so that the user can create new save games in empty slots
- Unified the save/load dialog list numbering in the GMM load/save screens and in the load screen of the main menu (before a game is started)
svn-id: r34963
2008-11-09 16:13:34 +00:00
Max Horn
40136f2590
Switched various Engine APIs to use Common::Error
...
svn-id: r34916
2008-11-06 17:05:54 +00:00
Max Horn
8f33d4a40a
Implemented GMM loading (and, once the GMM supports it, saving) for SCUMM
...
svn-id: r34913
2008-11-06 15:41:38 +00:00
Max Horn
fe2935ad4b
Got rid of the unused 'filename' attribute in SaveStateDescriptor
...
svn-id: r34905
2008-11-05 15:41:12 +00:00
Max Horn
61aadb378d
Fixed the EngineFeature vs. MetaEngineFeature mess, clarified some EngineFeature comments
...
svn-id: r34896
2008-11-04 16:11:40 +00:00
Max Horn
55c10e0ec6
Patch #2122869 : ALL: Common load dialog
...
svn-id: r34883
2008-11-03 18:32:16 +00:00
Filippos Karapetis
b7a219ebc6
Renamed engine feature kSupportsDirectLoad to kSupportsLoadingDuringStartup, as discussed in patch #2122869
...
svn-id: r34854
2008-10-26 16:42:08 +00:00
Max Horn
6a2f3dc0b9
Added new type Engine::Feature; pushed down some #include dependencies
...
svn-id: r34755
2008-10-06 12:48:52 +00:00
Max Horn
9b160804ab
Renamed Engine::quit to Engine::shouldQuit (previously, it was easily confused with Engine::quitGame); also cleaned up engine.h a bit
...
svn-id: r34700
2008-09-30 12:27:38 +00:00
Johannes Schickel
0a35842954
Committed my patch #2105593 "Launcher/MetaEngine: Finnished removeSaveState".
...
svn-id: r34495
2008-09-11 19:47:45 +00:00
Max Horn
d3642080de
Moved check for shouldRTL() from engines to scummvm_main
...
svn-id: r34310
2008-09-03 16:56:40 +00:00
Christopher Page
ec8dac5540
Added a MetaEngineFeature for RTL support, the RTL button is disabled in the GMM if the engine doesn't support it
...
svn-id: r33921
2008-08-16 02:53:16 +00:00
Christopher Page
9d3cdcb2da
Defined some MetaEngineFeatures for the engines, the launcher uses these features to allow/disallow loading and deleting saves
...
svn-id: r33909
2008-08-15 18:15:14 +00:00
Christopher Page
ce3d1e1a7d
Merged revisions 33632-33633,33635,33637,33639-33640,33642-33645,33648,33654-33655,33664,33667-33670,33673-33674,33678,33682,33686-33691,33693,33696,33698,33700,33703,33708,33710,33712-33714,33716 via svnmerge from
...
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk
svn-id: r33720
2008-08-09 19:03:29 +00:00
Gregory Montoir
52650efb6a
fix for bug #2040484 : TOUCHE: Graphic glitch with long answer options
...
svn-id: r33691
2008-08-07 21:50:12 +00:00
Gregory Montoir
303333352a
fix for bug #2040311 : TOUCHE: Missing characters in the spanish version
...
svn-id: r33690
2008-08-07 21:49:55 +00:00
Christopher Page
a51f454076
Added check for valid save slots, when loading savestates using -x
...
svn-id: r33483
2008-07-31 21:56:05 +00:00
Christopher Page
50b7e5aa0d
Added --list-saves support for TOUCHE
...
svn-id: r33398
2008-07-29 06:04:16 +00:00
Christopher Page
7f480ac571
Quit and RTL code is more modular now. EVENT_RTL no longer sets _shouldQuit, shouldQuit is only set if there's an EVENT_QUIT. EVENT_RTL and EVENT_QUIT are completely separate from each other. Engine::quit() method now checks both _shouldQuit and _shouldRTL to determine if the engine should exit. There is no longer a need for resetQuit(), so it's removed
...
svn-id: r33082
2008-07-16 04:22:56 +00:00
Christopher Page
d2e8d4831e
Merged revisions 32744-32745,32747,32750-32759,32762-32764,32769,32777,32783,32785-32786,32789-32791,32798-32799,32801-32807,32809-32812,32816-32817,32819-32821,32823-32830,32832-32836,32838-32844,32846-32850,32852-32854,32858-32859,32865-32868,32873-32874,32879,32883,32895,32899,32902-32904,32910-32912,32923-32924,32930-32931,32938,32940,32948-32949,32951,32960-32964,32966-32970,32972-32974,32976,32978,32983,32986-32990,32992,32994,33002-33004,33006-33007,33009-33010,33014,33017,33021-33023,33030,33033 via svnmerge from
...
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk
svn-id: r33051
2008-07-14 00:10:09 +00:00
Christopher Page
c210f90a62
TOUCHE works with the new GMM implementation
...
svn-id: r33046
2008-07-13 22:24:55 +00:00
Christopher Page
718a85e30d
Sound settings for TOUCHE can be configured through the GMM
...
svn-id: r32864
2008-07-01 03:21:30 +00:00
Gregory Montoir
b6adcca897
moved midi driver object creation to MidiPlayer class (to match delete call)
...
svn-id: r32798
2008-06-26 10:12:12 +00:00
Gregory Montoir
c9a8fb25f3
flag 611 can be set from the scripts, set _quit when that happens.
...
svn-id: r32796
2008-06-26 07:13:05 +00:00
Christopher Page
102d79440d
Touche now uses the new _quit flag
...
svn-id: r32795
2008-06-26 05:04:42 +00:00
Christopher Page
4d7798825c
TOUCHE: Reverted some comments that were used for testing purposes
...
svn-id: r32641
2008-06-09 22:26:05 +00:00
Christopher Page
a98a350d14
TOUCHE: Fixed a memory leak
...
svn-id: r32566
2008-06-06 00:34:47 +00:00
Jordi Vilalta Prat
38a8aa516e
Allow static and dynamic plugins to be used at the same time
...
svn-id: r31888
2008-05-06 03:00:26 +00:00
Max Horn
29f1e6de38
Advanced detector: replaced kADFlagAugmentPreferredTarget by its inverse, kADFlagDontAugmentPreferredTarget (since all AdvDetector engines except Kyra used kADFlagAugmentPreferredTarget, it seems reasonable to assume that as default)
...
svn-id: r31413
2008-04-05 22:29:08 +00:00
Max Horn
6547ef6e12
Started to get rid of Common::EncapsulatedADGameDesc (using plain Common::ADGameDescription instead)
...
svn-id: r31121
2008-03-14 17:31:04 +00:00
Max Horn
8a9a14002e
Advanced Detector: Changed fallback detector from a callback function pointer to an overrideable method of AdvancedMetaEngine
...
svn-id: r31119
2008-03-14 13:59:31 +00:00
Jordi Vilalta Prat
c103290e2b
Initial support for plugin types
...
svn-id: r30825
2008-02-08 00:02:23 +00:00
Max Horn
8a73356a2d
Revised Engine plugin API to only provide a single func which returns a MetaEngine instance. Used this to simplify the rest of the plugin system
...
svn-id: r30780
2008-02-03 18:56:47 +00:00
Torbjörn Andersson
e51bf80218
Changed "COMPATIBLITY" to "COMPATIBILITY".
...
svn-id: r30754
2008-02-03 10:15:36 +00:00
Max Horn
34b35348be
Moved AdvancedMetaEngine to namespace Common
...
svn-id: r30736
2008-02-02 11:52:04 +00:00
Max Horn
dc979b03cf
New MetaEngine class (work in progress to replace the current Engine plugin API with a more object oriented approach)
...
svn-id: r30726
2008-02-02 00:54:52 +00:00