Plugin architecture for scalers
|Reported by:||SF/mbandsmer||Owned by:||fingolfin|
I've noticed that requests for new scalers are currently being rejected due to reasons like "We already have too many scalers" and "That would bloat the code".
I propose that to resolve these issues and still support good new scalers, ScummVM adopt a plugin architecture for scalers, i.e. use .dll's for Windows and .so's for Linux, etc, that implement a given scaler according to a common interface.
The default version of ScummVM could then be stripped down to a minimal set of scalers, thereby reducing code bloat, and users who want additional scalers, e.g. HQ4x, 2xPM, etc, could download whatever extra scaler libraries they want. ScummVM would then load these scaler libraries at run-time. (I envision the user having to hand-edit a config file to specify which new scalers to load, and how they are assigned to Ctrl-Alt-# hot-keys.)
This way we could support a potentially large number of scalers without code bloat and without the ScummVM development team having to evaluate each new scaler request. And anyone could compile their favorite scaler into a new library and offer it for download to everyone else.
Ticket imported from: #1503724. Ticket imported from: feature-requests/312.