Alyssa Milburn
31d1ae6530
Revert "BASE: Get rid of unecessary friend in PluginManagerUncached."
...
This reverts commit 1e0de79cf5
.
The only available constructor for PluginManagerUncached is
protected, so this broke the builds using it.
2012-02-01 21:54:40 +01:00
Johannes Schickel
1e0de79cf5
BASE: Get rid of unecessary friend in PluginManagerUncached.
2012-02-01 19:38:27 +01:00
Max Horn
88913c0139
ALL: Remove trailing whitespaces
...
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
D G Turner
5a2e6e4f3f
BUILD: Fix compilation when --enable-plugins is enabled.
2011-05-31 04:44:12 +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
Jordi Vilalta Prat
a422763833
BUILD: Remove explicit references to SVN in revision variable names.
...
svn-id: r55898
2011-02-12 16:43:57 +00:00
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