mirror of
https://github.com/ModOrganizer2/modorganizer-basic_games.git
synced 2026-07-27 14:07:29 -07:00
* Refactoring following uibase change for game features. * Switch to ruff for linting and formatting. * Bump stubs to 2.5.1a0.
57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
import mobase
|
|
|
|
from ..basic_game import BasicGame
|
|
|
|
|
|
class DaggerfallUnityModDataChecker(mobase.ModDataChecker):
|
|
def __init__(self):
|
|
super().__init__()
|
|
self.validDirNames = [
|
|
"biogs",
|
|
"docs",
|
|
"factions",
|
|
"fonts",
|
|
"mods",
|
|
"questpacks",
|
|
"quests",
|
|
"sound",
|
|
"soundfonts",
|
|
"spellicons",
|
|
"tables",
|
|
"text",
|
|
"textures",
|
|
"worlddata",
|
|
"aa",
|
|
]
|
|
|
|
def dataLooksValid(
|
|
self, filetree: mobase.IFileTree
|
|
) -> mobase.ModDataChecker.CheckReturn:
|
|
for entry in filetree:
|
|
if not entry.isDir():
|
|
continue
|
|
if entry.name().casefold() in self.validDirNames:
|
|
return mobase.ModDataChecker.VALID
|
|
return mobase.ModDataChecker.INVALID
|
|
|
|
|
|
class DaggerfallUnityGame(BasicGame):
|
|
def init(self, organizer: mobase.IOrganizer) -> bool:
|
|
super().init(organizer)
|
|
self._register_feature(DaggerfallUnityModDataChecker())
|
|
return True
|
|
|
|
Name = "Daggerfall Unity Support Plugin"
|
|
Author = "HomerSimpleton"
|
|
Version = "1.0.0"
|
|
|
|
GameName = "Daggerfall Unity"
|
|
GameShortName = "daggerfallunity"
|
|
GameBinary = "DaggerfallUnity.exe"
|
|
GameLauncher = "DaggerfallUnity.exe"
|
|
GameDataPath = "%GAME_PATH%/DaggerfallUnity_Data/StreamingAssets"
|
|
GameSupportURL = (
|
|
r"https://github.com/ModOrganizer2/modorganizer-basic_games/wiki/"
|
|
"Game:-Daggerfall-Unity"
|
|
)
|