Skip to content

Commit 5f9710b

Browse files
committed
add scriptextender class
1 parent 8860d08 commit 5f9710b

2 files changed

Lines changed: 43 additions & 1 deletion

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import pathlib
2+
3+
import mobase
4+
5+
6+
class BG3ScriptExtender(mobase.ScriptExtender):
7+
def __init__(self, game: mobase.IPluginGame):
8+
super().__init__()
9+
self._game = game
10+
11+
def loaderName(self) -> str:
12+
return "DWrite.dll"
13+
14+
def loaderPath(self) -> str:
15+
return str(
16+
pathlib.Path(self._game.gameDirectory().absolutePath())
17+
/ "bin"
18+
/ self.loaderName()
19+
)
20+
21+
def isInstalled(self) -> bool:
22+
return pathlib.Path(self.loaderPath()).exists()
23+
24+
def getExtenderVersion(self) -> str:
25+
return mobase.getFileVersion(self.loaderPath())
26+
27+
def getArch(self) -> int:
28+
return 0x8664 if self.isInstalled() else 0x0
29+
30+
def binaryName(self):
31+
return ""
32+
33+
def pluginPath(self):
34+
return ""
35+
36+
def savegameExtension(self):
37+
return ""

games/game_baldursgate3.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@ def __init__(self):
5656
def init(self, organizer: mobase.IOrganizer) -> bool:
5757
super().init(organizer)
5858
self._utils.init(organizer)
59-
from .baldursgate3 import bg3_data_checker, bg3_data_content
59+
from .baldursgate3 import (
60+
bg3_data_checker,
61+
bg3_data_content,
62+
bg3_script_extender,
63+
)
6064

6165
self._register_feature(
6266
bg3_data_checker.BG3ModDataChecker(
@@ -79,6 +83,7 @@ def init(self, organizer: mobase.IOrganizer) -> bool:
7983
)
8084
)
8185
)
86+
self._register_feature(bg3_script_extender.BG3ScriptExtender(self))
8287
self._register_feature(bg3_data_content.BG3DataContent())
8388
self._register_feature(BasicGameSaveGameInfo(lambda s: s.with_suffix(".webp")))
8489
self._register_feature(BasicLocalSavegames(self.savesDirectory()))

0 commit comments

Comments
 (0)