Commit Graph

174 Commits

Author SHA1 Message Date
Yotam Barnoy ee2b1092ab PLUGINS: switched plugin manager to inheritance rather than #defines
The reason for this was that I found issues where the wrong functions were called in EngineManager for single plugin operation. Rather than inserting more messy #defines, I preferred to change the PluginManager to use virtual functions, which also makes EngineManager simpler.

svn-id: r55024
2010-12-23 13:38:37 +00:00
Yotam Barnoy 81dd62f3cb PLUGINS: don't fully load each plugins at startup for single plugin method
The reason to load each plugin was to figure out if it's a sound or engine plugin. Since all our plugin files are currently engines, there's no reason to load every file. If we get dynamic sound plugins, it'd be a good idea to make a quick and easy way to know which kind of plugin it is (e.g. a prefix or suffix in the filename).

svn-id: r55021
2010-12-23 07:54:54 +00:00
Max Horn abe1959d36 COMMON: Simplify DECLARE_SINGLETON macro
This makes it possible to write
  DECLARE_SINGLETON(foo);
instead of
  DECLARE_SINGLETON(foo)
without causing a warning about an extra semicolon.
The extra semicolon helps some editors at parsing the C++ code.

svn-id: r54258
2010-11-16 08:23:13 +00:00
Yotam Barnoy a6bee87990 PLUGINS: improved one-at-a-time plugin code
I reduced memory fragmentation using 2 principles: Plugins should be loaded for as little time as possible, and long lasting memory allocations should be allocated before plugins are loaded. There might still be a little fragmentation left.
Note that command line settings that require plugins to be loaded don't work yet, but they didn't work (properly) before either.

svn-id: r54097
2010-11-05 13:24:57 +00:00
Yotam Barnoy 94c8d0a14d Updated with latest from trunk
svn-id: r53976
2010-10-31 11:08:43 +00:00
Eugene Sandulenko 937cf6cd7a CONFIGURE: Plug in Last Express engine
svn-id: r53580
2010-10-18 19:18:06 +00:00
Johannes Schickel 3b81a9489e SOUND: Allow TiMidity support to be disabled via configure.
svn-id: r53395
2010-10-13 00:48:40 +00:00
Eugene Sandulenko dbde2e46e3 SWORD25: Added detection of libtheora, png an dplugged in the engine
svn-id: r53169
2010-10-12 21:12:50 +00:00
Eugene Sandulenko cf82bef02e TOON: Merged Toon engine to ScummVM trunk
svn-id: r53087
2010-10-08 22:30:39 +00:00
Johannes Schickel d477d66f49 SOUND: Properly add CMS as plugin.
svn-id: r52779
2010-09-17 20:02:29 +00:00
Andre Heider 76ca653972 PLUGINS: Don't expect every plugin to load.
svn-id: r52729
2010-09-15 07:43:34 +00:00
Eugene Sandulenko 74118a7087 TESTBED: Merge gsoc2010-testbed branch
svn-id: r52681
2010-09-12 08:08:37 +00:00
Andre Heider 09834b8bec MERGE: Merge trunk to branch.
svn-id: r52564
2010-09-05 15:26:00 +00:00
Max Horn f27b984fec Fix warning & code formatting
svn-id: r52202
2010-08-19 08:46:19 +00:00
Eugene Sandulenko 06960d33e1 HUGO: Adding engine to the main tree
svn-id: r52137
2010-08-17 09:28:20 +00:00
Tony Puccinelli 34b5eb3ba3 added a todo to plugins.cpp and a comment to elf32.h; Collapsed plugin providers for a few ports into their .h files, removing the corresponding .cpp files
svn-id: r52112
2010-08-16 08:41:04 +00:00
Tony Puccinelli 43488f789f Ensured getPlugins is not called multiple times on Static Plugin Provider with 'ONE_PLUGIN_AT_A_TIME' defined
svn-id: r52080
2010-08-14 08:04:40 +00:00
Tony Puccinelli 2cd99b449f refactored NEW_PLUGIN_DESIGN_FIRST_REFINEMENT define into ONE_PLUGIN_AT_A_TIME
svn-id: r52058
2010-08-13 05:58:11 +00:00
Tony Puccinelli 139a96182d modified DS makefile to use new plugin design where only one plugin is loaded at a time and tested successfully on the DS. Added code to prevent a crash in the case where there are no engine plugins present. Removed code for R_ARM_TARGET1 in arm-loader, as it is no longer used and was never used successfully
svn-id: r52052
2010-08-12 23:55:12 +00:00
Tony Puccinelli cb3acc96ef got rid of leftover debugging printf
svn-id: r52027
2010-08-12 06:16:53 +00:00
Tony Puccinelli 89d76fe5a5 Refined first refinement of new plugin design. Tested successfully adding/removing/running games on Linux with only one engine plugin loaded at a time
svn-id: r52026
2010-08-12 06:00:19 +00:00
Eugene Sandulenko ff8b296c29 Use tabs instead of spaces for indentation.
svn-id: r51997
2010-08-11 19:32:07 +00:00
Florian Kagerer 4a159bcb1e GUI: add music devices for c64, amiga and apple II gs
These devices are not able to create appropriate drivers.
The only purpose for now is having proper gui options and flags and music types for the device detector.
The corresponding GUIO flags for the new devices have been added, too.

svn-id: r51995
2010-08-11 18:54:56 +00:00
Tony Puccinelli 682807f0e9 merged trunk into branch, reverted Cruise Singleton changes
svn-id: r51961
2010-08-10 23:21:08 +00:00
Neeraj Kumar 7e126ed299 TESTBED: Merged changes from trunk to my branch
svn-id: r51798
2010-08-06 20:13:41 +00:00
Tony Puccinelli 56dd82d02c removed unneccessary call to 'unloadPlugins'
svn-id: r51747
2010-08-05 00:28:22 +00:00
Tony Puccinelli 66b42d486b added intermediary function 'findGameOnePlugAtATime' and switched load game and run game code to use it. Added checks for DYNAMIC_MODULES defines to the checks for NEW_PLUGIN_DESIGN_FIRST_REFINEMENT
svn-id: r51746
2010-08-05 00:26:46 +00:00
Tony Puccinelli d889a706f2 gave plugin iterators more appropriate names, removed debugging printf, added comments to loadFirstPlugin and loadNextPlugin
svn-id: r51673
2010-08-03 01:10:36 +00:00
Tony Puccinelli 44d7414215 changed plugins so games can be added in the launcher with only one plugin loaded into memory at a time (first refinement)
svn-id: r51607
2010-08-02 08:43:47 +00:00
Tony Puccinelli 869e49d185 initial work on plugin design changes (already added games can be launched with only one plugin loaded at a time if you compile with a 'NEW_PLUGIN_DESIGN_FIRST_REFINEMENT' flag)
svn-id: r51502
2010-07-30 09:32:45 +00:00
Max Horn 37aa8a7499 BUILD: Unify adding -DUNIX to DEFINES; complete SEQ MIDI detection
* Added a yes/no variable _unix to configure, which controls when
  -DUNIX is added to DEFINES
* Enable SEQ MIDI via _seq_midi by default on UNIX type systems,
  except for those which override that.
* Switch SEQ MIDI code to check #define USE_SEQ_MIDI
  (alternatively, we could compile it only conditionally...)

svn-id: r51055
2010-07-20 08:25:13 +00:00
Max Horn 211fcfe7ba MIDI: Build and use ALSA driver if and only if USE_ALSA is defined
svn-id: r51053
2010-07-20 08:24:34 +00:00
Max Horn 0b48a71c99 Remove PalmOS port
svn-id: r50964
2010-07-17 18:41:38 +00:00
Angus Lees bb300ec671 Skip /dev/sequencer MIDI on Android.
svn-id: r50664
2010-07-05 00:09:41 +00:00
Florian Kagerer 46ec88f74d GUI/LAUNCHER: This should fix the regression concerning pc speaker / pcjr support caused by patch #1956501
svn-id: r50145
2010-06-22 15:30:41 +00:00
Max Horn bbad3f333a Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
2010-06-21 21:36:36 +00:00
Neeraj Kumar babf7ef44c added the testbed engine: basically renamed quux
svn-id: r49188
2010-05-24 14:54:50 +00:00
Johannes Schickel 40562798d6 Fix our DECLARE_SINGLETON macro to conform to the C++ specs.
We need to use a namespace Common { } there to make strict C++ compilers
like clang++ and comeau happy. I also added a slight comment about why
that is needed to the macro definition and a note that you need to use
it from the global namespace.

svn-id: r48254
2010-03-13 21:55:49 +00:00
Torbjörn Andersson 1928a7ba38 Silenced some cppcheck warnings.
svn-id: r47427
2010-01-21 23:05:33 +00:00
Eugene Sandulenko fb8ecae7f1 Add Mohawk engine code. Part 2/3: common code changes.
svn-id: r46728
2009-12-29 23:20:23 +00:00
Max Horn 81762edf33 Remove Igor engine
svn-id: r45898
2009-11-14 13:11:06 +00:00
Jordi Vilalta Prat a41292a92f Move Draci's entry to make the plugins list sorted alphabetically
svn-id: r45258
2009-10-20 10:35:49 +00:00
Max Horn 76132409d6 Removed Mac OS X QuickTime MIDI backend. It breaks on OS X 10.6, and it's not as good as the CoreAudio backend anyway
svn-id: r44428
2009-09-27 22:43:32 +00:00
Robert Špalek 94b823fcc7 MERGE branch gsoc2009-draci 41388:44325 into trunk
svn-id: r44326
2009-09-25 06:22:54 +00:00
Vladimir Menshakov 3c8cdcae2f fixed engines order, added svn:keywords properties.
svn-id: r43925
2009-09-03 21:20:13 +00:00
Vladimir Menshakov ebe1b94eb1 imported teenagent engine sources.
svn-id: r43922
2009-09-03 20:59:17 +00:00
Denis Kasak 39a8c71f77 Adding Draci Historie engine skeleton (engine stub, BAR archiver, rudimentary GPL disassembler)
svn-id: r41390
2009-06-08 22:18:52 +00:00
Jordi Vilalta Prat fa6e10e9ce Import the SCI engine sources from the FreeSCI Glutton branch (it doesn't compile yet)
svn-id: r38192
2009-02-15 06:10:59 +00:00
Max Horn 341bc64aaf do not include common/debug.h from common/util.h
svn-id: r36143
2009-01-30 05:25:17 +00:00
Jordi Vilalta Prat b1999a2a16 Fixed indentation and removed whitespaces at the end of line
svn-id: r35481
2008-12-22 11:22:15 +00:00