Skip to content

Commit 9a788c9

Browse files
authored
Add game interfaces (#140)
- modDataDirectory defines mod directory that maps to 'Data' - getModMappings allows mapping directories to multiple locations
1 parent 84bf90d commit 9a788c9

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/mobase/wrappers/pyplugins.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ namespace mo2::python {
5555
.def("gameIcon", &IPluginGame::gameIcon)
5656
.def("gameDirectory", &IPluginGame::gameDirectory)
5757
.def("dataDirectory", &IPluginGame::dataDirectory)
58+
.def("modDataDirectory", &IPluginGame::modDataDirectory)
5859
.def("secondaryDataDirectories", &IPluginGame::secondaryDataDirectories)
5960
.def("setGamePath", &IPluginGame::setGamePath, "path"_a)
6061
.def("documentsDirectory", &IPluginGame::documentsDirectory)
@@ -82,7 +83,8 @@ namespace mo2::python {
8283
.def("looksValid", &IPluginGame::looksValid, "directory"_a)
8384
.def("gameVersion", &IPluginGame::gameVersion)
8485
.def("getLauncherName", &IPluginGame::getLauncherName)
85-
.def("getSupportURL", &IPluginGame::getSupportURL);
86+
.def("getSupportURL", &IPluginGame::getSupportURL)
87+
.def("getModMappings", &IPluginGame::getModMappings);
8688
}
8789

8890
// multiple installers

src/mobase/wrappers/pyplugins.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,10 @@ namespace mo2::python {
397397
{
398398
PYBIND11_OVERRIDE_PURE(QDir, IPluginGame, dataDirectory, );
399399
}
400+
QString modDataDirectory() const override
401+
{
402+
PYBIND11_OVERRIDE(QString, IPluginGame, modDataDirectory, );
403+
}
400404
QMap<QString, QDir> secondaryDataDirectories() const override
401405
{
402406
using string_dir_map = QMap<QString, QDir>;
@@ -511,6 +515,11 @@ namespace mo2::python {
511515
{
512516
PYBIND11_OVERRIDE(QString, IPluginGame, getSupportURL, );
513517
}
518+
QMap<QString, QStringList> getModMappings() const override
519+
{
520+
using vfs_map = QMap<QString, QStringList>;
521+
PYBIND11_OVERRIDE(vfs_map, IPluginGame, getModMappings, );
522+
}
514523
};
515524

516525
} // namespace mo2::python

0 commit comments

Comments
 (0)