This commit is contained in:
Holt59
2024-08-09 08:30:28 +00:00
parent 2cccff5b49
commit 1739c60009
105 changed files with 1780 additions and 184 deletions
+10 -4
View File
@@ -151,6 +151,10 @@
<li class="toctree-l4"><a class="reference internal" href="api/mobase.FileTreeEntry.html#mobase.FileTreeEntry"><code class="docutils literal notranslate"><span class="pre">FileTreeEntry</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="api/mobase.GameFeature.html">GameFeature</a><ul>
<li class="toctree-l4"><a class="reference internal" href="api/mobase.GameFeature.html#mobase.GameFeature"><code class="docutils literal notranslate"><span class="pre">GameFeature</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="api/mobase.GamePlugins.html">GamePlugins</a><ul>
<li class="toctree-l4"><a class="reference internal" href="api/mobase.GamePlugins.html#mobase.GamePlugins"><code class="docutils literal notranslate"><span class="pre">GamePlugins</span></code></a></li>
</ul>
@@ -171,6 +175,10 @@
<li class="toctree-l4"><a class="reference internal" href="api/mobase.IFileTree.html#mobase.IFileTree"><code class="docutils literal notranslate"><span class="pre">IFileTree</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="api/mobase.IGameFeatures.html">IGameFeatures</a><ul>
<li class="toctree-l4"><a class="reference internal" href="api/mobase.IGameFeatures.html#mobase.IGameFeatures"><code class="docutils literal notranslate"><span class="pre">IGameFeatures</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="api/mobase.IInstallationManager.html">IInstallationManager</a><ul>
<li class="toctree-l4"><a class="reference internal" href="api/mobase.IInstallationManager.html#mobase.IInstallationManager"><code class="docutils literal notranslate"><span class="pre">IInstallationManager</span></code></a></li>
</ul>
@@ -422,10 +430,8 @@ from the core application. This is a task for the distant future, unless someone
able to add support for further games.
The plugin is also responsible to help MO determine if (and where) the game is installed in the first place.
Since supporting a game properly requires extensions in many places of the UI.
To allow this without creating one huge plugin interface that involves every aspect of MO, game plugins
expose a <em>feature list</em>.
The list of possible features can be found in the “game_features” project and each feature can itself be
considered a plugin interface.</p>
To allow this without creating one huge plugin interface that involves every aspect of MO,
game plugins can register only the features they need to MO2 using <a class="reference internal" href="api/mobase.IGameFeatures.html#mobase.IGameFeatures.registerFeature" title="mobase.IGameFeatures.registerFeature"><code class="xref py py-meth docutils literal notranslate"><span class="pre">registerFeature</span></code></a></p>
<p>As an example for a game feature take BSA invalidation: If the game requires BSA invalidation it will implement
this feature.
Wherever the core can support BSA invalidation it will query whether the current game has this feature and if so