aboutsummaryrefslogtreecommitdiff
path: root/libs/basic_games/games/game_readyornot.py
blob: 077df3066b91cc23b9df3db9f444421f38b7fcdd (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
38
39
from ..basic_game import BasicGame


# Ready or Not ships two different binary names depending on the store:
#   - Steam build → ReadyOrNotSteam-Win64-Shipping.exe
#   - non-Steam (Epic / others) → ReadyOrNot-Win64-Shipping.exe
# Override looksValid() to accept either so both work out of the box.
_RON_BINARY_DIR = "ReadyOrNot/Binaries/Win64"
_RON_BINARY_STEAM = "ReadyOrNotSteam-Win64-Shipping.exe"
_RON_BINARY_OTHER = "ReadyOrNot-Win64-Shipping.exe"


class ReadyOrNotGame(BasicGame):
    Name = "Ready or Not Support Plugin"
    Author = "Ra2-IFV"
    Version = "0.0.0.2"

    GameName = "Ready or Not"
    GameShortName = "readyornot"
    GameNexusName = "readyornot"
    GameValidShortNames = ["ron"]
    # GameNexusId = "readyornot"
    # Default to the Steam binary since Fluorine is Steam/Proton-oriented; Epic
    # users will still be detected via the looksValid() override below.
    GameBinary = _RON_BINARY_DIR + "/" + _RON_BINARY_STEAM
    GameLauncher = "ReadyOrNot.exe"
    GameDataPath = "ReadyOrNot/Content/Paks"
    GameDocumentsDirectory = "%USERPROFILE%/AppData/Local/ReadyOrNot"
    GameIniFiles = [
        "%GAME_DOCUMENTS%/Saved/Config/Windows/Game.ini",
        "%GAME_DOCUMENTS%/Saved/Config/Windows/GameUserSettings.ini",
    ]
    GameSavesDirectory = "%USERPROFILE%/AppData/Local/ReadyOrNot/Saved/SaveGames"
    GameSaveExtension = "sav"
    GameSteamId = 1144200

    def looksValid(self, directory):
        return directory.exists(_RON_BINARY_DIR + "/" + _RON_BINARY_STEAM) or \
               directory.exists(_RON_BINARY_DIR + "/" + _RON_BINARY_OTHER)