mirror of
https://github.com/moraroy/NonSteamLaunchers-On-Steam-Deck.git
synced 2024-12-21 15:21:52 +01:00
fixed gog for sd card paths
This commit is contained in:
parent
0ab84b8a08
commit
baaac65896
@ -723,7 +723,7 @@ else:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Gog Galaxy Scanner
|
#Gog Galaxy Scanner
|
||||||
def getGogGameInfo(filePath):
|
def getGogGameInfo(filePath):
|
||||||
# Check if the file contains any GOG entries
|
# Check if the file contains any GOG entries
|
||||||
with open(filePath, 'r') as file:
|
with open(filePath, 'r') as file:
|
||||||
@ -740,7 +740,11 @@ def getGogGameInfo(filePath):
|
|||||||
depends_on = None
|
depends_on = None
|
||||||
launch_command = None
|
launch_command = None
|
||||||
start_menu_link = None
|
start_menu_link = None
|
||||||
|
gog_entry = False
|
||||||
for line in file:
|
for line in file:
|
||||||
|
if "GOG.com" in line:
|
||||||
|
gog_entry = True
|
||||||
|
if gog_entry:
|
||||||
split_line = line.split("=")
|
split_line = line.split("=")
|
||||||
if len(split_line) > 1:
|
if len(split_line) > 1:
|
||||||
if "gameID" in line:
|
if "gameID" in line:
|
||||||
@ -752,7 +756,7 @@ def getGogGameInfo(filePath):
|
|||||||
if game_name:
|
if game_name:
|
||||||
game_name = bytes(game_name[0], 'utf-8').decode('unicode_escape')
|
game_name = bytes(game_name[0], 'utf-8').decode('unicode_escape')
|
||||||
game_name = game_name.replace('!22', '™')
|
game_name = game_name.replace('!22', '™')
|
||||||
if "exe" in line and "GOG Galaxy" in line and not "unins000.exe" in line:
|
if "exe" in line and not "unins000.exe" in line:
|
||||||
exe_path = re.findall(r'\"(.+?)\"', split_line[1])
|
exe_path = re.findall(r'\"(.+?)\"', split_line[1])
|
||||||
if exe_path:
|
if exe_path:
|
||||||
exe_path = exe_path[0].replace('\\\\', '\\')
|
exe_path = exe_path[0].replace('\\\\', '\\')
|
||||||
@ -761,14 +765,17 @@ def getGogGameInfo(filePath):
|
|||||||
if depends_on:
|
if depends_on:
|
||||||
depends_on = depends_on[0]
|
depends_on = depends_on[0]
|
||||||
if "launchCommand" in line:
|
if "launchCommand" in line:
|
||||||
launch_command = re.findall(r'\"(.+?)\"', split_line[1])
|
launch_command = re.findall(r'\"(.+?)\"\s*$', split_line[1])
|
||||||
if launch_command:
|
if launch_command:
|
||||||
launch_command = launch_command[0]
|
# Remove leading and trailing whitespace from the path
|
||||||
|
path = launch_command[0].strip()
|
||||||
|
# Reconstruct the launch command with the cleaned path
|
||||||
|
launch_command = f"\"{path}\""
|
||||||
if "startMenuLink" in line:
|
if "startMenuLink" in line:
|
||||||
start_menu_link = re.findall(r'\"(.+?)\"', split_line[1])
|
start_menu_link = re.findall(r'\"(.+?)\"', split_line[1])
|
||||||
if start_menu_link:
|
if start_menu_link:
|
||||||
start_menu_link = start_menu_link[0]
|
start_menu_link = start_menu_link[0]
|
||||||
if game_id and game_name and launch_command and 'GOG.com' in start_menu_link:
|
if game_id and game_name and launch_command and start_menu_link and 'GOG.com' in start_menu_link:
|
||||||
game_dict[game_name] = {'id': game_id, 'exe': exe_path}
|
game_dict[game_name] = {'id': game_id, 'exe': exe_path}
|
||||||
game_id = None
|
game_id = None
|
||||||
game_name = None
|
game_name = None
|
||||||
@ -779,6 +786,9 @@ def getGogGameInfo(filePath):
|
|||||||
|
|
||||||
return game_dict
|
return game_dict
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Define your paths
|
# Define your paths
|
||||||
gog_games_directory = f"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/pfx/drive_c/Program Files (x86)/GOG Galaxy/Games"
|
gog_games_directory = f"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/pfx/drive_c/Program Files (x86)/GOG Galaxy/Games"
|
||||||
registry_file_path = f"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/pfx/system.reg"
|
registry_file_path = f"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/pfx/system.reg"
|
||||||
@ -792,7 +802,9 @@ else:
|
|||||||
|
|
||||||
for game, game_info in game_dict.items():
|
for game, game_info in game_dict.items():
|
||||||
if game_info['id']:
|
if game_info['id']:
|
||||||
launch_options = f"STEAM_COMPAT_DATA_PATH=\"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/\" %command% /command=runGame /gameId={game_info['id']} /path=\"{game_info['exe']}\""
|
# Strip leading and trailing spaces from the exe path
|
||||||
|
exe_path = game_info['exe'].strip()
|
||||||
|
launch_options = f"STEAM_COMPAT_DATA_PATH=\"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/\" %command% /command=runGame /gameId={game_info['id']} /path=\"{exe_path}\""
|
||||||
exe_path = f"\"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/pfx/drive_c/Program Files (x86)/GOG Galaxy/GalaxyClient.exe\""
|
exe_path = f"\"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/pfx/drive_c/Program Files (x86)/GOG Galaxy/GalaxyClient.exe\""
|
||||||
start_dir = f"\"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/pfx/drive_c/Program Files (x86)/GOG Galaxy/\""
|
start_dir = f"\"{logged_in_home}/.local/share/Steam/steamapps/compatdata/{gog_galaxy_launcher}/pfx/drive_c/Program Files (x86)/GOG Galaxy/\""
|
||||||
create_new_entry(exe_path, game, launch_options, start_dir)
|
create_new_entry(exe_path, game, launch_options, start_dir)
|
||||||
@ -802,6 +814,7 @@ else:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Battle.net Scanner
|
#Battle.net Scanner
|
||||||
# Define your mapping
|
# Define your mapping
|
||||||
flavor_mapping = {
|
flavor_mapping = {
|
||||||
|
Loading…
Reference in New Issue
Block a user