aboutsummaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-05-16 13:46:14 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-05-16 13:46:14 -0500
commita0747cabb420d699be3a1dd4c63f47c5153bd7b9 (patch)
tree185c5370bb49a61a49a5ddb1a89510e41fbf3886 /libs
parentd63c3feb9fc2476c135e22aff821e260faf72b89 (diff)
games: Ready or Not — accept both Steam and Epic binary names
The Steam build of Ready or Not ships its main executable as ReadyOrNotSteam-Win64-Shipping.exe; the non-Steam build (Epic / GOG) ships plain ReadyOrNot-Win64-Shipping.exe. The shipped plugin only listed the latter, so Steam users hit "game directory not valid" and couldn't open the instance. Override looksValid() to accept either binary so detection works out of the box for both stores. GameBinary defaults to the Steam variant since Fluorine is Steam/Proton-oriented; the override makes the non-Steam binary equally valid for instance opening. Bump plugin version to 0.0.0.2. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'libs')
-rw-r--r--libs/basic_games/games/game_readyornot.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/libs/basic_games/games/game_readyornot.py b/libs/basic_games/games/game_readyornot.py
index d436e38..077df30 100644
--- a/libs/basic_games/games/game_readyornot.py
+++ b/libs/basic_games/games/game_readyornot.py
@@ -1,17 +1,28 @@
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.1"
+ Version = "0.0.0.2"
GameName = "Ready or Not"
GameShortName = "readyornot"
GameNexusName = "readyornot"
GameValidShortNames = ["ron"]
# GameNexusId = "readyornot"
- GameBinary = "ReadyOrNot/Binaries/Win64/ReadyOrNot-Win64-Shipping.exe"
+ # 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"
@@ -22,3 +33,7 @@ class ReadyOrNotGame(BasicGame):
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)