Project

General

Profile

Bug #590

Game fails to load when using relative paths

Added by cmd 8 months ago. Updated 7 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
General
Start date:
12/15/2021
API:
Cemu Version:
1.25.6
GPU Vendor/Model:
NVIDIA RTX 2080 Ti

Description

Severity

Low

Description

Using relative paths for game loading prevents Cemu from actually loading the game.

Environment

  • Cemu 1.25.6 (Release, 2021-10-15)
  • Machine 1:
    • Windows 11 22000.318 (21H2)
    • Ryzen 5950X
    • 32 GB RAM
    • NVIDIA RTX 2080 Ti
  • Machine 2:
    • Windows 10 19044.1348 (21H2)
    • Intel Core i7-6700
    • 24 GB RAM
    • NVIDIA GTX 1080

Reproduction Steps

  1. Launch Cemu once and close it, so settings.xml is created.
  2. Modify settings.xml to reference a GamePath with a relative path. (e.g.: <GamePaths><Entry>\Games</Entry></GamePaths>)
  3. Save and close settings.xml
  4. Ensure there is a game placed in the path added.
  5. Launch Cemu.
  6. Double click the game in the games list.

Actual Result

Cemu switches to 'loading...' mode, but never progresses to actually loading the game.

Expected Result

Cemu to load the game as if an absolute path had been used.

Abstract

I keep my copy of Cemu on a removable disk and move it between PCs occasionally.

As such, I wanted to use relative paths for my game paths. As such, the relevant portions of my config look like such: (screenshot also attached)

<content>
    <!-- snip -->
    <mlc_path>.\mlc01</mlc_path>
    <permanent_storage>false</permanent_storage>
    <!-- snip -->
    <GamePaths>
        <Entry>\images\UNPACKED</Entry>
        <Entry>..\GAMES</Entry>
    </GamePaths>
    <!-- snip -->
</content>

With my settings like this, my game list populates correctly! It finds the entries in the paths, and adds them with all appropriate meta as you'd expect. As well, the relative path for my MLC works correctly as well, as Cemu sees the update version and installed DLC.

However, when attempting to launch the game, the game list vanishes, title bar switches to "loading...", but the game never loads.

No log file seems to be produced in this case, either.

I can verify that the rest of my settings are valid by using the recent launch entries list. While my config looking something like:

<content>
    <!-- snip -->
    <RecentLaunchFiles>
        <Entry>/images/UNPACKED/The Legend of Zelda Breath of the Wild [ALZE01]/code/U-King.rpx</Entry>
        <Entry>W:/images/UNPACKED/The Legend of Zelda Breath of the Wild [ALZE01]/code/U-King.rpx</Entry>
    </RecentLaunchFiles>
    <!-- snip -->
</content>

Selecting the entry from the File menu in Cemu that references the absolute path, the game will load and run as expected. However, selecting the one with the relative path produces the aforementioned behavior.

Those entries were generated by Cemu itself. But if I manually add one with the path separators flipped, like such:

        <Entry>\images\UNPACKED\The Legend of Zelda Breath of the Wild [ALZE01]\code\U-King.rpx</Entry>

I can select that entry, and Cemu loads it just as you'd expect!

My guess is that somewhere the paths are being translated from having backslashes to forward slashes, and that seems to be what causes the issue. Everywhere else in the config file properly uses backslashes (including in <GameCache> and <GraphicPack> entries.)


Files

cemu-general-settings.png (12.6 KB) cemu-general-settings.png cmd, 12/15/2021 05:30 PM

History

#1

Updated by tastyratz 8 months ago

cmd wrote:

Severity

Low

Description

Using relative paths for game loading prevents Cemu from actually loading the game.

Environment

  • Cemu 1.25.6 (Release, 2021-10-15)
  • Machine 1:
    • Windows 11 22000.318 (21H2)
    • Ryzen 5950X
    • 32 GB RAM
    • NVIDIA RTX 2080 Ti
  • Machine 2:
    • Windows 10 19044.1348 (21H2)
    • Intel Core i7-6700
    • 24 GB RAM
    • NVIDIA GTX 1080

Reproduction Steps

  1. Launch Cemu once and close it, so settings.xml is created.
  2. Modify settings.xml to reference a GamePath with a relative path. (e.g.: <GamePaths><Entry>\Games</Entry></GamePaths>)
  3. Save and close settings.xml
  4. Ensure there is a game placed in the path added.
  5. Launch Cemu.
  6. Double click the game in the games list.

Actual Result

Cemu switches to 'loading...' mode, but never progresses to actually loading the game.

Expected Result

Cemu to load the game as if an absolute path had been used.

Abstract

I keep my copy of Cemu on a removable disk and move it between PCs occasionally.

As such, I wanted to use relative paths for my game paths. As such, the relevant portions of my config look like such: (screenshot also attached)

<content>
    <!-- snip -->
    <mlc_path>.\mlc01</mlc_path>
    <permanent_storage>false</permanent_storage>
    <!-- snip -->
    <GamePaths>
        <Entry>\images\UNPACKED</Entry>
        <Entry>..\GAMES</Entry>
    </GamePaths>
    <!-- snip -->
</content>

With my settings like this, my game list populates correctly! It finds the entries in the paths, and adds them with all appropriate meta as you'd expect. As well, the relative path for my MLC works correctly as well, as Cemu sees the update version and installed DLC.

However, when attempting to launch the game, the game list vanishes, title bar switches to "loading...", but the game never loads.

No log file seems to be produced in this case, either.

I can verify that the rest of my settings are valid by using the recent launch entries list. While my config looking something like:

<content>
    <!-- snip -->
    <RecentLaunchFiles>
        <Entry>/images/UNPACKED/The Legend of Zelda Breath of the Wild [ALZE01]/code/U-King.rpx</Entry>
        <Entry>W:/images/UNPACKED/The Legend of Zelda Breath of the Wild [ALZE01]/code/U-King.rpx</Entry>
    </RecentLaunchFiles>
    <!-- snip -->
</content>

Selecting the entry from the File menu in Cemu that references the absolute path, the game will load and run as expected. However, selecting the one with the relative path produces the aforementioned behavior.

Those entries were generated by Cemu itself. But if I manually add one with the path separators flipped, like such:

        <Entry>\images\UNPACKED\The Legend of Zelda Breath of the Wild [ALZE01]\code\U-King.rpx</Entry>

I can select that entry, and Cemu loads it just as you'd expect!

My guess is that somewhere the paths are being translated from having backslashes to forward slashes, and that seems to be what causes the issue. Everywhere else in the config file properly uses backslashes (including in <GameCache> and <GraphicPack> entries.)

I believe this is related
https://www.reddit.com/r/cemu/comments/qbqytd/found_bug_cemu_game_list_reverses_slash_linux/

Another report was created for the same issue, but, I'm having trouble finding it.

#2

Updated by cmd 7 months ago

I hunted around before I submitted this one but couldn't find anything similar either, so I don't know what happened to any previous issue if there was one. And nope, that wasn't me from reddit!

Also available in: Atom PDF