mirror of
https://github.com/ModOrganizer2/modorganizer-basic_games.git
synced 2026-07-27 14:07:29 -07:00
Merge pull request #12 from Qudix/master
Rename mappings to avoid collision
This commit is contained in:
+22
-22
@@ -320,7 +320,7 @@ class BasicGame(mobase.IPluginGame):
|
||||
self._gamePath = ""
|
||||
self._featureMap = {}
|
||||
|
||||
self.mappings: BasicGameMappings = BasicGameMappings(self)
|
||||
self._mappings: BasicGameMappings = BasicGameMappings(self)
|
||||
|
||||
"""
|
||||
Here IPlugin interface stuff.
|
||||
@@ -331,16 +331,16 @@ class BasicGame(mobase.IPluginGame):
|
||||
return True
|
||||
|
||||
def name(self) -> str:
|
||||
return self.mappings.name.get()
|
||||
return self._mappings.name.get()
|
||||
|
||||
def author(self) -> str:
|
||||
return self.mappings.author.get()
|
||||
return self._mappings.author.get()
|
||||
|
||||
def description(self) -> str:
|
||||
return self.mappings.description.get()
|
||||
return self._mappings.description.get()
|
||||
|
||||
def version(self) -> mobase.VersionInfo:
|
||||
return self.mappings.version.get()
|
||||
return self._mappings.version.get()
|
||||
|
||||
def isActive(self) -> bool:
|
||||
return True
|
||||
@@ -349,10 +349,10 @@ class BasicGame(mobase.IPluginGame):
|
||||
return []
|
||||
|
||||
def gameName(self) -> str:
|
||||
return self.mappings.gameName.get()
|
||||
return self._mappings.gameName.get()
|
||||
|
||||
def gameShortName(self) -> str:
|
||||
return self.mappings.gameShortName.get()
|
||||
return self._mappings.gameShortName.get()
|
||||
|
||||
def gameIcon(self) -> QIcon:
|
||||
return mobase.getIconForExecutable(
|
||||
@@ -360,28 +360,28 @@ class BasicGame(mobase.IPluginGame):
|
||||
)
|
||||
|
||||
def validShortNames(self) -> List[str]:
|
||||
return self.mappings.validShortNames.get()
|
||||
return self._mappings.validShortNames.get()
|
||||
|
||||
def gameNexusName(self) -> str:
|
||||
return self.mappings.gameNexusName.get()
|
||||
return self._mappings.gameNexusName.get()
|
||||
|
||||
def nexusModOrganizerID(self) -> int:
|
||||
return 0
|
||||
|
||||
def nexusGameID(self) -> int:
|
||||
return self.mappings.nexusGameId.get()
|
||||
return self._mappings.nexusGameId.get()
|
||||
|
||||
def steamAPPId(self) -> str:
|
||||
return self.mappings.steamAPPId.current()
|
||||
return self._mappings.steamAPPId.current()
|
||||
|
||||
def gogAPPId(self) -> str:
|
||||
return self.mappings.gogAPPId.current()
|
||||
return self._mappings.gogAPPId.current()
|
||||
|
||||
def binaryName(self) -> str:
|
||||
return self.mappings.binaryName.get()
|
||||
return self._mappings.binaryName.get()
|
||||
|
||||
def getLauncherName(self) -> str:
|
||||
return self.mappings.launcherName.get()
|
||||
return self._mappings.launcherName.get()
|
||||
|
||||
def executables(self) -> List[mobase.ExecutableInfo]:
|
||||
execs = []
|
||||
@@ -406,7 +406,7 @@ class BasicGame(mobase.IPluginGame):
|
||||
return []
|
||||
|
||||
def savegameExtension(self) -> str:
|
||||
return self.mappings.savegameExtension.get()
|
||||
return self._mappings.savegameExtension.get()
|
||||
|
||||
def savegameSEExtension(self) -> str:
|
||||
return ""
|
||||
@@ -455,12 +455,12 @@ class BasicGame(mobase.IPluginGame):
|
||||
return aQDir.exists(self.binaryName())
|
||||
|
||||
def isInstalled(self) -> bool:
|
||||
for steam_id in self.mappings.steamAPPId.get():
|
||||
for steam_id in self._mappings.steamAPPId.get():
|
||||
if steam_id in BasicGame.steam_games:
|
||||
self.setGamePath(BasicGame.steam_games[steam_id])
|
||||
return True
|
||||
|
||||
for gog_id in self.mappings.gogAPPId.get():
|
||||
for gog_id in self._mappings.gogAPPId.get():
|
||||
if gog_id in BasicGame.gog_games:
|
||||
self.setGamePath(BasicGame.gog_games[gog_id])
|
||||
return True
|
||||
@@ -475,7 +475,7 @@ class BasicGame(mobase.IPluginGame):
|
||||
|
||||
def dataDirectory(self) -> QDir:
|
||||
return QDir(
|
||||
self.gameDirectory().absoluteFilePath(self.mappings.dataDirectory.get())
|
||||
self.gameDirectory().absoluteFilePath(self._mappings.dataDirectory.get())
|
||||
)
|
||||
|
||||
def setGamePath(self, path: Union[Path, str]):
|
||||
@@ -486,16 +486,16 @@ class BasicGame(mobase.IPluginGame):
|
||||
# Check if we have a matching steam ID or GOG id and set the index accordingly:
|
||||
for steamid, steampath in BasicGame.steam_games.items():
|
||||
if steampath == path:
|
||||
self.mappings.steamAPPId.set_value(steamid)
|
||||
self._mappings.steamAPPId.set_value(steamid)
|
||||
for gogid, gogpath in BasicGame.gog_games.items():
|
||||
if gogpath == path:
|
||||
self.mappings.steamAPPId.set_value(gogid)
|
||||
self._mappings.steamAPPId.set_value(gogid)
|
||||
|
||||
def documentsDirectory(self) -> QDir:
|
||||
return self.mappings.documentsDirectory.get()
|
||||
return self._mappings.documentsDirectory.get()
|
||||
|
||||
def savesDirectory(self) -> QDir:
|
||||
return self.mappings.savesDirectory.get()
|
||||
return self._mappings.savesDirectory.get()
|
||||
|
||||
def _featureList(self):
|
||||
return self._featureMap
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
|
||||
from typing import List
|
||||
|
||||
from PyQt5.QtCore import QFileInfo
|
||||
|
||||
import mobase
|
||||
@@ -18,10 +20,10 @@ class StalkerAnomalyModDataChecker(mobase.ModDataChecker):
|
||||
else:
|
||||
return mobase.ModDataChecker.INVALID
|
||||
|
||||
class StalkerAnomalyGame(BasicGame):
|
||||
class StalkerAnomalyGame(BasicGame, mobase.IPluginFileMapper):
|
||||
Name = "STALKER Anomaly"
|
||||
Author = "Qudix"
|
||||
Version = "0.2.0"
|
||||
Version = "0.3.0"
|
||||
Description = "Adds support for STALKER Anomaly"
|
||||
|
||||
GameName = "STALKER Anomaly"
|
||||
@@ -31,9 +33,13 @@ class StalkerAnomalyGame(BasicGame):
|
||||
|
||||
GameSaveExtension = "scop"
|
||||
GameSavesDirectory = "%GAME_PATH%/appdata/savedgames"
|
||||
|
||||
def __init__(self):
|
||||
BasicGame.__init__(self)
|
||||
mobase.IPluginFileMapper.__init__(self)
|
||||
|
||||
def init(self, organizer: mobase.IOrganizer):
|
||||
super().init(organizer)
|
||||
BasicGame.init(self, organizer)
|
||||
self._featureMap[mobase.ModDataChecker] = StalkerAnomalyModDataChecker()
|
||||
return True
|
||||
|
||||
@@ -75,4 +81,14 @@ class StalkerAnomalyGame(BasicGame):
|
||||
"Anomaly (DX8)",
|
||||
QFileInfo(self.gameDirectory(), "bin/AnomalyDX8.exe")
|
||||
)
|
||||
]
|
||||
]
|
||||
|
||||
def mappings(self) -> List[mobase.Mapping]:
|
||||
self.gameDirectory().mkdir("appdata")
|
||||
|
||||
m = mobase.Mapping()
|
||||
m.createTarget = True
|
||||
m.isDirectory = True
|
||||
m.source = self.gameDirectory().filePath("appdata")
|
||||
m.destination = self.gameDirectory().filePath("appdata")
|
||||
return [m]
|
||||
Reference in New Issue
Block a user