Heroic-Games-Launcher / HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.
https://heroicgameslauncher.com
GNU General Public License v3.0
7.87k stars 418 forks source link

Shortcuts have wrong icons #3735

Open OlegAckbar opened 4 months ago

OlegAckbar commented 4 months ago

Describe the bug

Some games like Borderlands 3 have wrong icon in their shortcut. It uses vertical banner for the icon изображение When it should be something like icon from executable изображение

Add logs

(18:08:37) INFO:    [Legendary]:        Legendary location: /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary
(18:08:37) INFO:    [Gog]:              GOGDL location: /opt/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl
(18:08:37) INFO:    [Connection]:       Connectivity: check-online
(18:08:37) INFO:    [Connection]:       Pinging external endpoints
(18:08:37) INFO:    [Gog]:              Checking for existing gog manifests
(18:08:37) INFO:    [Backend]:          DRM module staus {
  "oimompecagnajdejgnnjijobebaeigek": {
    "status": "new",
    "title": "Widevine Content Decryption Module",
    "version": "4.10.2710.0"
  }
}
(18:08:37) WARNING: [Backend]:          Protocol already registered.
(18:08:37) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary --version
(18:08:37) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/oleg/.config/heroic/gogdlConfig /opt/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/oleg/.config/heroic/gog_store/auth.json --version
(18:08:37) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=/home/oleg/.config/heroic/nile_config /opt/heroic/resources/app.asar.unpacked/build/bin/linux/nile --version
(18:08:37) INFO:    [Connection]:       Connectivity: online
(18:08:37) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/oleg/.config/heroic/gogdlConfig /opt/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/oleg/.config/heroic/gog_store/auth.json auth
(18:08:37) ERROR:   [Gog]:              Unable to syncQueued playtime, userData not present
(18:08:37) INFO:    [Backend]:          
System Information:
CPU: 8x Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
Memory: 16.71 GB (used: 5.01 GB)
GPUs:
  GPU 0:
    Name: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
    IDs: D=73df V=1002 SD=3982 SV=1462
    Driver: amdgpu
OS: Arch Linux 6.8.8-2-cachyos (linux)

The current system is not a Steam Deck
We are not running inside a Flatpak container

Software Versions:
  Heroic: 2.14.1 Flame Emperor Sabo
  Legendary: 0.20.34 Direct Intervention
  gogdl: 1.0.1
  Nile: 1.0.2 Jonathan Joestar

(18:08:37) INFO:    [Frontend]:         Refreshing undefined Library
(18:08:37) WARNING: [Backend]:          refresh not implemented on Sideload Library Manager
(18:08:37) INFO:    [Legendary]:        Refreshing library...
(18:08:37) INFO:    [Legendary]:        Refreshing Epic Games...
(18:08:37) INFO:    [Backend]:          Frontend Ready
(18:08:38) INFO:    [Backend]:          AreWeAntiCheatYet data downloaded
(18:08:38) INFO:    [Backend]:          Checking for new Heroic Updates
(18:08:38) INFO:    [Backend]:          Checking for current version changelog
(18:08:38) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary list --third-party
(18:08:40) INFO:    [Winetricks]:       Downloading Winetricks
(18:08:41) INFO:    [Legendary]:        Game list updated, got 26 games & DLCs
(18:08:41) WARNING: [Backend]:          listUpdateableGames not implemented on Sideload Library Manager
(18:08:41) INFO:    [Legendary]:        Checking for game updates: LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary list --third-party
(18:08:42) INFO:    [WineDownloader]:   Updating wine versions info
(18:08:42) INFO:    [WineDownloader]:   Fetching upstream information...
(18:08:42) INFO:    [Backend]:          Starting the Download Queue
(18:08:43) INFO:    [Legendary]:        Checking if EOS Overlay is enabled: LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary eos-overlay info --prefix "/home/oleg/Games/Heroic/Prefixes/default/Borderlands 3/pfx"
(18:08:43) INFO:    [ExtraGameInfo]:    Using cached ExtraGameInfo data for Borderlands 3
(18:08:43) INFO:    [Legendary]:        Getting more details with 'legendary info'
(18:08:43) INFO:    [ExtraGameInfo]:    Using cached ExtraGameInfo data for Borderlands 3
(18:08:43) INFO:    [Legendary]:        Getting more details with 'legendary info'
(18:08:43) INFO:    [Legendary]:        Getting more details with 'legendary info'
(18:08:43) INFO:    [Legendary]:        Found 0 games to update
(18:08:43) INFO:    [Legendary]:        Getting more details with 'legendary info'
(18:08:43) INFO:    [Legendary]:        Getting more details with 'legendary info'
(18:08:43) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary info Catnip --json --platform Windows
(18:08:43) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary info Catnip --json --platform Windows
(18:08:43) ERROR:   [Legendary]:        Error: Request failed with status code 403
    at createError (/opt/heroic/resources/app.asar/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/opt/heroic/resources/app.asar/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/opt/heroic/resources/app.asar/node_modules/axios/lib/adapters/http.js:322:11)
    at IncomingMessage.emit (node:events:526:35)
    at endReadableNT (node:internal/streams/readable:1408:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
(18:08:43) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary info Catnip --json --platform Windows
(18:08:43) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary info Catnip --json --platform Windows
(18:08:43) ERROR:   [Legendary]:        Error: Request failed with status code 403
    at createError (/opt/heroic/resources/app.asar/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/opt/heroic/resources/app.asar/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/opt/heroic/resources/app.asar/node_modules/axios/lib/adapters/http.js:322:11)
    at IncomingMessage.emit (node:events:526:35)
    at endReadableNT (node:internal/streams/readable:1408:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
(18:08:43) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary info Catnip --json --platform Windows
(18:08:43) INFO:    [Legendary]:        Abort command "LEGENDARY_CONFIG_PATH=/home/oleg/.config/heroic/legendaryConfig/legendary /opt/heroic/resources/app.asar.unpacked/build/bin/linux/legendary eos-overlay info --prefix "/home/oleg/Games/Heroic/Prefixes/default/Borderlands 3/pfx""
(18:08:43) ERROR:   [Legendary]:        Error: Request failed with status code 403
    at createError (/opt/heroic/resources/app.asar/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/opt/heroic/resources/app.asar/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/opt/heroic/resources/app.asar/node_modules/axios/lib/adapters/http.js:322:11)
    at IncomingMessage.emit (node:events:526:35)
    at endReadableNT (node:internal/streams/readable:1408:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
(18:08:43) ERROR:   [Legendary]:        Error Getting Info from Epic API
(18:08:43) ERROR:   [Legendary]:        Error: Request failed with status code 403
    at createError (/opt/heroic/resources/app.asar/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/opt/heroic/resources/app.asar/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/opt/heroic/resources/app.asar/node_modules/axios/lib/adapters/http.js:322:11)
    at IncomingMessage.emit (node:events:526:35)
    at endReadableNT (node:internal/streams/readable:1408:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
(18:08:43) ERROR:   [Legendary]:        Error Getting Info from Epic API
(18:08:43) INFO:    [WineDownloader]:   wine versions updated
(18:08:47) INFO:    [Backend]:          Desktop shortcut removed
(18:08:47) INFO:    [Backend]:          Applications shortcut removed
(18:08:50) INFO:    [Backend]:          Adding shortcuts for Borderlands 3
(18:08:50) INFO:    [Backend]:          Shortcut saved on /home/oleg/Рабочий стол/Borderlands 3.desktop
(18:08:50) INFO:    [Backend]:          Shortcut saved on /home/oleg/.local/share/applications/Borderlands 3.desktop

Steps to reproduce

  1. Make a shortcut for Borderlands 3 through Heroic
  2. Observe wrong icon

Expected behavior

A shortcut with an proper icon. Here I replaced icon for the shortcut with the one extracted from the executable. изображение

Screenshots

No response

Heroic Version

Latest Stable

System Information

Operating System: Arch Linux KDE Plasma Version: 6.0.4 KDE Frameworks Version: 6.1.0 Qt Version: 6.7.0 Kernel Version: 6.8.8-2-cachyos (64-bit) Graphics Platform: Wayland Processors: 8 × Intel® Core™ i7-7700K CPU @ 4.20GHz Memory: 15.6 ГиБ of RAM Graphics Processor: AMD Radeon RX 6700 XT

Additional information

No response

DenysMb commented 3 months ago

Q4Wine has an option called "Extract images from PE files", that extract the icon from the .exe file. We can check how this is done and then think in a way to, instead of use the vertical banner as an option, extract the image from the .exe file pointed as the one to run the game, save the image somewhere and use it as shortcut.

Another option would be to give us the option to have 2 icons (the vertical banner and a square one, like Lutris, that have three, but only two is enough).