Yotam Barnoy
8f36a5f887
PLUGINS: single plugin model now saves plugin filename to config file
...
After searching for the right plugin once, the filename will be saved to the config file under the domain 'plugin_files'. The key is the gameid and the value is the plugin file. The backup mechanism is searching plugin by plugin.
svn-id: r55061
2010-12-29 15:25:21 +00:00
Yotam Barnoy
10b96eb94d
PLUGINS: PluginManager minor cleanups
...
svn-id: r55027
2010-12-23 14:37:03 +00:00
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
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
Andre Heider
2596143e2b
PLUGINS: Additional plugin check for the ELF loader.
...
The ELF loader does not have access to the symbols of the main
executable, it just relocates symbols to it via fixed offsets. We need
to make sure that loaded plugins are from the same link process to
prevent crashes. An embedded build date is used for that.
svn-id: r52730
2010-09-15 07:44:08 +00:00
Andre Heider
41834499ed
PLUGINS: Cleanup.
...
- Unify ELF loader handling in configure
- Rename ELF_LOADER_TARGET to USE_ELF_LOADER
svn-id: r52728
2010-09-15 07:43:16 +00:00
Andre Heider
fd4189180d
PLUGINS: Fix warning when not using the ELF loader.
...
svn-id: r52613
2010-09-06 22:18:10 +00:00
Andre Heider
ae408db07f
PLUGINS: Use the C++ ABI to call dtors when unloading a plugin.
...
Avoid linking all plugins against libstdc++ to free up some memory
(about ~40kb on Wii per plugin). Enable it on GameCube, Wii, DS and PSP
(PS2 doesn't have __cxa_atexit support in its libc).
svn-id: r52607
2010-09-06 20:34:00 +00:00
Max Horn
f27b984fec
Fix warning & code formatting
...
svn-id: r52202
2010-08-19 08:46:19 +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
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
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
c934642bdb
COMMON: Move typedef StringList from str.h to new header str-array.h
...
This removes the dependency on array.h from str.h.
Also, begun migration from the confusing type name "StringList" to
the more appropriate StringArray.
svn-id: r48282
2010-03-18 15:09:24 +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
Max Horn
c7fde102e3
Renamed FilesystemNode -> FSNode
...
svn-id: r34716
2008-10-02 16:58:59 +00:00
Max Horn
73b833042e
Modified FilePluginProvider to use FSNodes (instead of raw filenames / paths) in its API
...
svn-id: r34709
2008-09-30 16:34:38 +00:00
Max Horn
531bcf847c
Moved FilesystemNode / FSList to namespace Common; also got rid of some 'typedef Common::String String;' name aliases
...
svn-id: r34302
2008-09-03 11:22:51 +00:00
Max Horn
4ab211f673
Removed -Wundef from the default list of compiler flags, and changed PLUGIN_ENABLED_DYNAMIC to not use 'defined()', thus avoiding compiler problems on e.g. BeOS
...
svn-id: r33114
2008-07-19 21:42:31 +00:00
Jordi Vilalta Prat
177993b145
Renamed MIDI plugins to Music plugins
...
svn-id: r32693
2008-06-13 14:30:47 +00:00
Filippos Karapetis
c9fd5fef76
Added a note about the MSVC quirk with the spaces around ENABLE_##ID
...
svn-id: r32351
2008-05-28 20:31:01 +00:00
Filippos Karapetis
057af1000f
Removed an MSVC specific hack, after discussing with jvprat. It seems that MSVC was trying to add the parenthesis after ENABLE_##ID to the check...
...
svn-id: r32347
2008-05-28 19:45:04 +00:00
Jordi Vilalta Prat
2862a30dac
Fixed some code formatting thanks to LordHoto
...
svn-id: r32275
2008-05-26 00:28:48 +00:00
Max Horn
5204d012f6
Add a tiny TODO entry for graphics scaler plugins
...
svn-id: r32194
2008-05-20 15:54:27 +00:00
Jordi Vilalta Prat
b35941c3c2
Added plugin priority so there's just one plugin that provides a module functionality.
...
svn-id: r32121
2008-05-14 17:26:05 +00:00
Jordi Vilalta Prat
eb6c809d2b
- Added more information (ID and capabilities) to the MIDI drivers
...
- Added the MidiPlugin interface to the remaining MIDI drivers
- Added an initial MidiManager to handle the MIDI plugins (just static plugins by now)
svn-id: r32117
2008-05-14 14:56:29 +00:00
Jordi Vilalta Prat
a392bc4b0e
Taken care of FilePluginProvider's FIXMEs
...
svn-id: r32085
2008-05-13 13:24:49 +00:00
Max Horn
f7a682edf9
Some more Doxygen comments, as well as some FIXMEs/TODOs
...
svn-id: r32084
2008-05-13 11:00:25 +00:00
Max Horn
2bb39e591f
Moved the engine plugin code to engines/metaengine.h; added/clarified/corrected various Doxygen comments for the plugin system
...
svn-id: r32083
2008-05-13 10:41:32 +00:00
Jordi Vilalta Prat
fe58f0ee4b
- Added operator-> to Plugin subclasses so they don't have to reimplement the PluginObject subclass interfaces (thanks to Fingolfin for suggesting it)
...
- Added the PluginSubclass template to help creating Plugin subclasses
svn-id: r32082
2008-05-13 09:30:23 +00:00
Jordi Vilalta Prat
9ba353b9d8
Keep separated arrays for each type of plugin
...
svn-id: r32046
2008-05-12 01:26:43 +00:00
Jordi Vilalta Prat
2c9968fe80
- Added an engine plugin manager and moved engine specific functionality into it
...
- base/plugins.* reorganization
svn-id: r32045
2008-05-12 00:26:29 +00:00
Filippos Karapetis
c396694f3b
Added a temporary hack to get the engine plugins working under MSVC
...
svn-id: r31904
2008-05-06 17:30:52 +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
Jordi Vilalta Prat
3f44977885
Added support to load plugins from different directories and the ability to specify the default directory from configure.
...
svn-id: r31816
2008-05-02 14:30:06 +00:00
Jordi Vilalta Prat
e3852c92a7
Remove undesired spaces and an old TODO
...
svn-id: r30827
2008-02-08 01:45:46 +00:00
Jordi Vilalta Prat
00987db3a9
Implemented plugin versioning
...
svn-id: r30826
2008-02-08 01:02:25 +00:00
Jordi Vilalta Prat
c103290e2b
Initial support for plugin types
...
svn-id: r30825
2008-02-08 00:02:23 +00:00
Jordi Vilalta Prat
e4ab5dd339
Change MetaEngine references to PluginObject where possible to make its semantics more generic.
...
svn-id: r30789
2008-02-04 18:38:22 +00:00
Max Horn
3cd1e60e7a
Moved common code from Plugin subclasses to class Plugin itself
...
svn-id: r30787
2008-02-04 13:14:52 +00:00
Max Horn
5fb7f7a4d6
Commited updated version of my own patch #1868402 : Basic savestate plugin API
...
svn-id: r30786
2008-02-04 10:15:21 +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
Max Horn
5dfabb24d0
Moved enum PluginError from base/plugins.h to common/error.h
...
svn-id: r30723
2008-02-01 23:36:45 +00:00
Max Horn
0ec8d35e4d
Revert accidental commits in rev 30372
...
svn-id: r30374
2008-01-10 12:00:10 +00:00
Max Horn
7ed64488a8
Removed obsolete FIXME
...
svn-id: r30372
2008-01-10 11:29:29 +00:00
Gregory Montoir
6c6e8657b6
added 'igor' engine for the game 'Igor: Objective Uikokahonia'
...
svn-id: r29318
2007-10-29 23:35:50 +00:00
Nicola Mettifogo
258901bab9
Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
...
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
218e132e37
Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
...
svn-id: r27024
2007-05-30 21:56:52 +00:00
Eugene Sandulenko
cd8a5f3a98
First phase of detection-related plugins interface improvements. Now plugins
...
return StringMap instead of fixed list of parameters. This adds great
flexibility.
Current patch should not alter any functionality, i.e. if there are regressions,
submit a report. Phase 2 will benefit from these changes and will come later.
svn-id: r25134
2007-01-20 21:27:57 +00:00