luxtorpeda-dev / packages

Package build scripts and support for luxtorpeda client
https://luxtorpeda.org
zlib License
37 stars 28 forks source link

Blake Stone: Content not found. #540

Closed JoshuaFern closed 3 years ago

JoshuaFern commented 3 years ago

Game

358310, 358190

Engine

bstone

Linux Distribution

Flatpak/NixOS

Luxtorpeda Version

43

Bug description

When running Blake Stone the following dialog box appears and the game closes: CRITICAL: Content not found.

Steps To Reproduce

Run the game.

Expected Behavior

The game should be able to locate the game content correctly.

Additional Context

Only affects 358190 and 358310. The Blake Stone games from The Apogee Throwback Pack (238050) are functional.

Relevant log output

BStone v1.2.11
==========

Looking for game content.
CRITICAL: Content not found.
d10sfan commented 3 years ago

@JoshuaFern

I don't own these games, so I don't have a way to debug this. If you are able to find the right commands to get them to run, feel free to create a PR. Otherwise will have to wait until I'm able to purchase these.

JoshuaFern commented 3 years ago

The problem seems to be that for these AppIDs the files are being installed to the steam root directory,

nixos-workstation% find . | grep bstone
./.local/share/Steam/steamapps/common/The Apogee Throwback Pack/Planet Strike/bstone
./.local/share/Steam/steamapps/common/The Apogee Throwback Pack/Planet Strike/run-bstone.sh
./.local/share/Steam/steamapps/common/The Apogee Throwback Pack/Planet Strike/license/LICENSE.bstone
./.local/share/Steam/steamapps/common/The Apogee Throwback Pack/Blake Stone/bstone
./.local/share/Steam/steamapps/common/The Apogee Throwback Pack/Blake Stone/run-bstone.sh
./.local/share/Steam/steamapps/common/The Apogee Throwback Pack/Blake Stone/license/LICENSE.bstone
./.local/share/Steam/Blake Stone - Aliens of Gold/license/LICENSE.bstone
./.local/share/Steam/Blake Stone - Aliens of Gold/bstone
./.local/share/Steam/Blake Stone - Aliens of Gold/run-bstone.sh
./.local/share/Steam/Blake Stone - Planet Strike/bstone
./.local/share/Steam/Blake Stone - Planet Strike/run-bstone.sh
./.local/share/Steam/Blake Stone - Planet Strike/license/LICENSE.bstone
./.local/share/bibendovsky/bstone
./.local/share/bibendovsky/bstone/bstone_log.txt
./.local/share/bibendovsky/bstone/bstone_aog_full_high_scores
./.local/share/bibendovsky/bstone/bstone_config.txt
./.local/share/bibendovsky/bstone/bstone_ps_high_scores
./.cache/luxtorpeda/bstone
./.cache/luxtorpeda/bstone/bstone-common-2.tar.xz
./.cache/luxtorpeda/bstone/bstone-common-4.tar.xz

I've never seen this behavior in a luxtorpeda package before, but I'm sure this is the root cause of why it can't find the game's data files.

d10sfan commented 3 years ago

@JoshuaFern

This sometimes happens when the path to the game doesn't quite make sense versus the current directory. ut2004 has this problem as well. There's a flag that can be enabled that changes the way the client finds the path, which may be needed for this as well.

d10sfan commented 3 years ago

@JoshuaFern

This is the flag I mentioned, you can see how it can be enabled in ut2004: "use_original_command_directory": true,

If you are able to get it to work, feel free to open a pull request. Otherwise, when I have a chance to buy it or if someone gifts it, I can take a look.

JoshuaFern commented 3 years ago

@d10sfan Thanks for the tip, I was able to get both games working with the following user-packages.json:

{
    "358190": {
        "game_name": "Blake Stone: Aliens of Gold",
        "download": [
            {
                "name": "bstone",
                "url": "https://github.com/luxtorpeda-dev/packages/releases/download/bstone-4/",
                "file": "bstone-common-4.tar.xz",
                "cache_by_name": true
            }
        ],
        "command": "../run-bstone.sh",
        "download_config": {
            "bstone": {
                "extract_location": "../"
            }
        },
        "use_original_command_directory": true,
      "information": {
            "store_link": "https://store.steampowered.com/app/358190",
            "engine_name": "bstone",
            "engine_link": "https://github.com/bibendovsky/bstone",
            "version": "v1.2.11",
            "comments": "",
            "author": "d10sfan",
            "author_link": "https://github.com/d10sfan",
            "license": "GPLv2",
            "license_link": "https://github.com/bibendovsky/bstone/blob/develop/LICENSE"
        }
    },
    "358310": {
        "game_name": "Blake Stone: Planet Strike",
        "download": [
            {
                "name": "bstone",
                "url": "https://github.com/luxtorpeda-dev/packages/releases/download/bstone-4/",
                "file": "bstone-common-4.tar.xz",
                "cache_by_name": true
            }
        ],
        "command": "../run-bstone.sh",
        "download_config": {
            "bstone": {
                "extract_location": "../"
            }
        },
        "use_original_command_directory": true,
        "information": {
            "store_link": "https://store.steampowered.com/app/358310",
            "engine_name": "bstone",
            "engine_link": "https://github.com/bibendovsky/bstone",
            "version": "v1.2.11",
            "comments": "",
            "author": "d10sfan",
            "author_link": "https://github.com/d10sfan",
            "license": "GPLv2",
            "license_link": "https://github.com/bibendovsky/bstone/blob/develop/LICENSE"
        }
    }

The key changes are "use_original_command_directory": true,, "extract_location": "../" and "command": "../run-bstone.sh",

d10sfan commented 3 years ago

@JoshuaFern This should be fixed now: https://github.com/luxtorpeda-dev/packages/commit/32b182919c2e5cb522b78cb737d563041228b0a8