Experimental plugin code revision
|Reported by:||fingolfin||Owned by:||fingolfin|
The attached patch modifies the way plugins (both static and dynamic are detected):
1) Dynamic plugins now are built in a "plugins/" subdirectory; ScummVM doesn't hard code a plugin file/path list anymore, rather, all files in the "plugins/" dir are checked; if the filename has the right prefix & suffix, we try to load it
2) Static plugins use an old C++ trick to "auto-register". This is potentially troublesome, if your C++ compiler / linker is odd.
It would be nice if this could be tested on non-OSX systems, in particular: * on Linux using GC 3.3, 3.2 * on Windows using mingw * on Windows using MS VC++ * on Dreamcast, which has a custom plugin system * on anything else, too, of course :-)
For a proper test, you should compile & run ScummVM once in a normal build, and once with plugins enabled (the latter is only supported on Linux, FreeBSD, OSX and Dreamcast at this time).
Ticket imported from: #1117443. Ticket imported from: patches/502.