-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Description
Kortex don't use hardcoded game information to support a game. Instead it uses special configuration files - instance templates. All games support is implemented using these templates with some exceptions. Exceptions is PluginManager and SaveManager.
These managers must implement their interface for requested game. Instance template specifies what interface it need. There is no completely generic implementation for any game. There is however generic implementation of plugin manager for Bethesda games and its more specialized version for Morrowind and Bethesda games with ESL support. SaveManager does not implement any interface, but it must provide a factory function that creates a save file object that implements save interface for requested game.
Even now user can copy one of existing templates, modify it and use it to allow Kortex support new game. This however requires some knowledge about what you can change in template file and what options are supported.
This enhancement is not assigned to the milestone because it's quite hard to implement in time given that there is so much more important tasks.
Required features
- Specify dedicated folder for user templates.
- Remove any hardcoded things from PluginManager and other places.
- Create UI to modify template.
- Review instance file structure because I won't be able to change it as freely as I can right now. Or I can, but at the cost of maintaining backward compatibility layer.
- Write Wiki page about instance templates and how they work.