Open alex2844 opened 3 weeks ago
@alex2844. Доброй ночи. Несколько вопросов по пр. Зачем нужно было создавать ещё отдельный файл, когда и так уже вынесено в один отдельный (можно было просто в нём (в одном файле) оставить комментарий что к чему соотносится и всё). И второй, зачем парсить Steam, когда уже есть SteamGridDBId. В чём бонус и есть ли смысл?))
Были игры к которым обложки не подтягивались, оказалось не для всех игр есть обложки в steamgriddb А были случаи что не верные обложки грузились
А отдельный скрипт, для того чтоб если что можно было скрипт по загрузке обложек вызвать напрямую, например если не верное имя игры будет использоваться для поиска
Сейчас поищу в истории браузера названия этих игр
Нашел, вот например у этой нет никаких обложек https://www.steamgriddb.com/game/5442320 Но в steam обложки есть
As dusk falls - у этой игры насколько помню исполняемый файл dusk.exe И грузились вроде вот эти обложки https://www.steamgriddb.com/game/13790
@Htylol обновил теперь как вы и хотели все в 1 файле а так же по умолчанию используется steamgriddb - но с правильным соотношением сторон, а steam используется только если в steamgriddb не найдет обложек помимо этого добавил проверку на наличие игры в стиме в текущем аккаунте, для того чтоб игра не дублировалась при редактировании ярлыка
Отлично. Приму при следующем обновлении скриптов (сегодня-завтра)
У меня к тебе вопрос. Можешь реализовать функционал такого типа: Имея только SteamGameID, надо как то получить название .exe файла игры. Как считаешь, возможно?
@Castro-Fidel да, возможно ок, вечером сделаю
@Castro-Fidel готово getAppTarget ${AppId}
@alex2844 это получается, он парсит то что нужен чтобы в системе был steam и в нём чтобы была установлена или добавлена игра?
@Castro-Fidel Так то по идее по названию .exe файла нужно находить SteamGameID, чтобы SteamGameID можно было экспортировать, чтобы работали разного рода фиксы и хуки в proton. Хотя может Фиделю для другого нужно, по SteamGameID находить .exe файл))
чтобы была установлена или добавлена игра?
добавлена как non-steam, хотя сейчас добавлю и чтоб установленные тоже можно было получить
по названию .exe файла нужно находить SteamGameID
сначала думал что под SteamGameID имеется в виду AppId - (под каким id добалена игра в steam), но судя по всему имеется в виду SteamAppId ок, сейчас сделаю
Имея только SteamGameID, надо как то получить название .exe файла игры. Как считаешь, возможно?
тут тоже имеется в виду SteamAppId? по которому получить путь к exe файлу впринципе такую функцию тоже можно сделать, но для этого тянуть манифест от ludusavi, и распарсить надо будет
На случай если подумали что я навыдумывал всякие AppId и тд, то нет https://raw.githubusercontent.com/ValveSoftware/Proton/master/proton AppId, SteamAppId, SteamGameId и SteamOverlayGameId
Если посмотреть на переменные при запуске игры, то AppId - id которое получается перед добавлением в shortcuts.vdf SteamAppId - будет 0, т.к. добавлен не из магазина стима, а так тут id из магазина SteamGameId - id игры, этот же id используется для steam://rungameid/${SteamGameId}
# AppId=4180723417
# SteamAppId=0
# SteamGameId=17956070349669924864
# SteamOverlayGameId=17956070349669924864
./yq_linux_amd64 e '. | tojson' manifest.yaml > manifest.json # https://raw.githubusercontent.com/mtkennerly/ludusavi-manifest/master/data/manifest.yaml
name='Shadow of the Tomb Raider'
jq -r --arg name "${name}" '(getpath([$name]) | .alias) as $alias | if $alias then getpath([$alias]) else getpath([$name]) end | .launch' manifest.json
SteamAppId=750920
jq -r --arg id "${SteamAppId}" 'to_entries[] | select(.value.steam?.id == ($id | tonumber)) | .value.launch' manifest.json
{
"<base>/SOTTR.exe": [
{
"when": [
{
"bit": 64,
"os": "windows",
"store": "steam"
}
]
}
],
"<base>/Shadow of the Tomb Raider.app": [
{
"when": [
{
"os": "mac",
"store": "steam"
}
]
}
],
"<base>/ShadowOfTheTombRaider.sh": [
{
"when": [
{
"bit": 64,
"os": "linux",
"store": "steam"
}
]
}
]
}
в принципе можно было бы наверное добавить... не знаю... но либо yq придется добавить в data/tmp/plugins_v17/portable/bin/ либо предварительно конвертировать из yaml в json
Полностью переписан скрипт отвечающий за скачивание обложек и вынесен Теперь в приоритете обложки из сайта Steam, а уже если там не будет обложек, то из SteamGridDBId В steam_scripts/*.sh теперь добавляется AppId, чтоб не пришлось парсить shortcuts.vdf