1,079
edits
(Add more (already existing) modules) |
|||
Line 49: | Line 49: | ||
various features into several components/modules. | various features into several components/modules. | ||
Possible modules include | |||
* Drawing | * Drawing | ||
* Sound (possibly allow for custom mixer implementations?) | * Sound (possibly allow for custom mixer implementations?) | ||
Line 56: | Line 56: | ||
* Mutexes (only used when timers are involved, so could be joint with that) | * Mutexes (only used when timers are involved, so could be joint with that) | ||
* Virtual keyboard | * Virtual keyboard | ||
* Filesystem code (already modular) | * Filesystem code (already modular, see backends/fs/) | ||
* SaveFileManager (already modular) | * SaveFileManager (already modular) | ||
* Native MIDI drivers (already modular) | * Native MIDI drivers (already modular, backends/midi/) | ||
* Scaler code (see common/scaler*) -> we already share some scaler code, but that could probably be done in a better way, and maybe some more generic scalers could be added (e.g. a good & fast downscaler). | |||
Note: Modularization must be done in such a way that it doesn't hurt porters -- after all it's meant to *help* them. But many ports are rather monolithic, and actually wouldn't benefit much from being modularized (e.g. the PSP, PS2, Dreamcast, etc. ports) compared to the current situation. I.e. it should be relatively pain free to transit to the new system, and not force anybody to reinvent the wheel. | |||
edits