aboutsummaryrefslogtreecommitdiff
path: root/base/plugins.h
AgeCommit message (Collapse)Author
2010-11-05PLUGINS: improved one-at-a-time plugin codeYotam Barnoy
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-09-15PLUGINS: Additional plugin check for the ELF loader.Andre Heider
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-15PLUGINS: Cleanup.Andre Heider
- Unify ELF loader handling in configure - Rename ELF_LOADER_TARGET to USE_ELF_LOADER svn-id: r52728
2010-09-06PLUGINS: Fix warning when not using the ELF loader.Andre Heider
svn-id: r52613
2010-09-06PLUGINS: Use the C++ ABI to call dtors when unloading a plugin.Andre Heider
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-08-19Fix warning & code formattingMax Horn
svn-id: r52202
2010-08-14Ensured getPlugins is not called multiple times on Static Plugin Provider ↵Tony Puccinelli
with 'ONE_PLUGIN_AT_A_TIME' defined svn-id: r52080
2010-08-12Refined first refinement of new plugin design. Tested successfully ↵Tony Puccinelli
adding/removing/running games on Linux with only one engine plugin loaded at a time svn-id: r52026
2010-08-03gave plugin iterators more appropriate names, removed debugging printf, ↵Tony Puccinelli
added comments to loadFirstPlugin and loadNextPlugin svn-id: r51673
2010-08-02changed plugins so games can be added in the launcher with only one plugin ↵Tony Puccinelli
loaded into memory at a time (first refinement) svn-id: r51607
2010-07-30initial work on plugin design changes (already added games can be launched ↵Tony Puccinelli
with only one plugin loaded at a time if you compile with a 'NEW_PLUGIN_DESIGN_FIRST_REFINEMENT' flag) svn-id: r51502
2010-03-18COMMON: Move typedef StringList from str.h to new header str-array.hMax Horn
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
2008-12-22Fixed indentation and removed whitespaces at the end of lineJordi Vilalta Prat
svn-id: r35481
2008-10-02Renamed FilesystemNode -> FSNodeMax Horn
svn-id: r34716
2008-09-30Modified FilePluginProvider to use FSNodes (instead of raw filenames / ↵Max Horn
paths) in its API svn-id: r34709
2008-09-03Moved FilesystemNode / FSList to namespace Common; also got rid of some ↵Max Horn
'typedef Common::String String;' name aliases svn-id: r34302
2008-07-19Removed -Wundef from the default list of compiler flags, and changed ↵Max Horn
PLUGIN_ENABLED_DYNAMIC to not use 'defined()', thus avoiding compiler problems on e.g. BeOS svn-id: r33114
2008-06-13Renamed MIDI plugins to Music pluginsJordi Vilalta Prat
svn-id: r32693
2008-05-28Added a note about the MSVC quirk with the spaces around ENABLE_##IDFilippos Karapetis
svn-id: r32351
2008-05-28Removed an MSVC specific hack, after discussing with jvprat. It seems that ↵Filippos Karapetis
MSVC was trying to add the parenthesis after ENABLE_##ID to the check... svn-id: r32347
2008-05-26Fixed some code formatting thanks to LordHotoJordi Vilalta Prat
svn-id: r32275
2008-05-20Add a tiny TODO entry for graphics scaler pluginsMax Horn
svn-id: r32194
2008-05-14Added plugin priority so there's just one plugin that provides a module ↵Jordi Vilalta Prat
functionality. svn-id: r32121
2008-05-14- Added more information (ID and capabilities) to the MIDI driversJordi Vilalta Prat
- 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-13Taken care of FilePluginProvider's FIXMEsJordi Vilalta Prat
svn-id: r32085
2008-05-13Some more Doxygen comments, as well as some FIXMEs/TODOsMax Horn
svn-id: r32084
2008-05-13Moved the engine plugin code to engines/metaengine.h; ↵Max Horn
added/clarified/corrected various Doxygen comments for the plugin system svn-id: r32083
2008-05-13- Added operator-> to Plugin subclasses so they don't have to reimplement ↵Jordi Vilalta Prat
the PluginObject subclass interfaces (thanks to Fingolfin for suggesting it) - Added the PluginSubclass template to help creating Plugin subclasses svn-id: r32082
2008-05-12Keep separated arrays for each type of pluginJordi Vilalta Prat
svn-id: r32046
2008-05-12- Added an engine plugin manager and moved engine specific functionality into itJordi Vilalta Prat
- base/plugins.* reorganization svn-id: r32045
2008-05-06Added a temporary hack to get the engine plugins working under MSVCFilippos Karapetis
svn-id: r31904
2008-05-06Allow static and dynamic plugins to be used at the same timeJordi Vilalta Prat
svn-id: r31888
2008-05-02Added support to load plugins from different directories and the ability to ↵Jordi Vilalta Prat
specify the default directory from configure. svn-id: r31816
2008-02-08Remove undesired spaces and an old TODOJordi Vilalta Prat
svn-id: r30827
2008-02-08Implemented plugin versioningJordi Vilalta Prat
svn-id: r30826
2008-02-08Initial support for plugin typesJordi Vilalta Prat
svn-id: r30825
2008-02-04Change MetaEngine references to PluginObject where possible to make its ↵Jordi Vilalta Prat
semantics more generic. svn-id: r30789
2008-02-04Moved common code from Plugin subclasses to class Plugin itselfMax Horn
svn-id: r30787
2008-02-04Commited updated version of my own patch #1868402: Basic savestate plugin APIMax Horn
svn-id: r30786
2008-02-03Revised Engine plugin API to only provide a single func which returns a ↵Max Horn
MetaEngine instance. Used this to simplify the rest of the plugin system svn-id: r30780
2008-02-01Moved enum PluginError from base/plugins.h to common/error.hMax Horn
svn-id: r30723
2008-01-10Revert accidental commits in rev 30372Max Horn
svn-id: r30374
2008-01-10Removed obsolete FIXMEMax Horn
svn-id: r30372
2007-10-29added 'igor' engine for the game 'Igor: Objective Uikokahonia'Gregory Montoir
svn-id: r29318
2007-09-19Merged common/stdafx.h into common/scummsys.h. All referencing files have ↵Nicola Mettifogo
been updated. svn-id: r28966
2007-05-30Updated legal headers in source files, based on what Pidgin (the IM client ↵Max Horn
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots svn-id: r27024
2007-01-20First phase of detection-related plugins interface improvements. Now pluginsEugene Sandulenko
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
2006-11-12Reworked code in the advanced game detector (getting rid of much of the evil ↵Max Horn
#define hell it consisted of previously) svn-id: r24685
2006-10-07Instantiate and hook up the plugin providers in the main() function of the ↵Max Horn
corresponding backends (porters may have to update their ports if they were using the POSIX or Win32 module loading code implicitly); some cleanup svn-id: r24153
2006-10-07Started to refactor the plugin code (moving backend specific stuff into ↵Max Horn
backends/plugins/) svn-id: r24148