aboutsummaryrefslogtreecommitdiff
path: root/libs/basic_games/games/oblivion_remaster/script_extender.py
blob: 571e67582ce56fb7f98c1aac9276d9195c63add2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from pathlib import Path

import mobase


class OblivionRemasteredScriptExtender(mobase.ScriptExtender):
    def __init__(self, game: mobase.IPluginGame):
        super().__init__()
        self._game = game

    def binaryName(self):
        return "obse64_loader.exe"

    def loaderName(self) -> str:
        return self.binaryName()

    def loaderPath(self) -> str:
        return (
            self._game.gameDirectory().absolutePath()
            + "\\OblivionRemastered\\Binaries\\Win64\\"
            + self.loaderName()
        )

    def pluginPath(self) -> str:
        return "OBSE/Plugins"

    def savegameExtension(self) -> str:
        return ""

    def isInstalled(self) -> bool:
        return Path(self.loaderPath()).exists()

    def getExtenderVersion(self) -> str:
        return mobase.getFileVersion(self.loaderPath())

    def getArch(self) -> int:
        return 0x8664 if self.isInstalled() else 0x0