Reloaded-Project / Reloaded-II

Universal .NET Core Powered Modding Framework for any Native Game X86, X64.
GNU General Public License v3.0
551 stars 77 forks source link

Request: Please Add Steam Link Support #60

Open n8jadams opened 3 years ago

n8jadams commented 3 years ago

Currently, if I add the following target as a non-steam game in steam

"D:\path-to-reloaded\Reloaded-II.exe" --launch "D:\path-to\some-game.exe"

and then attempt to play this non-steam game remotely through my Steam Link, sometimes I see the command prompt window (the window is labeled "some-game.exe"), then it closes and Steam shows the Big Picture menu again. If I alt+tab, I can confirm that the game was never launched. Other times I don't even see the command prompt window, Steam Big Picture just shows the "play game" button as if I never clicked it.

Playing through Steam Big Picture works fine if I am playing at my computer. This problem only occurs when playing remotely through the Steam Link mobile app or to a Steam Link device.

It seems like Steam Big Picture (especially when connected to Steam Link) thinks that the game is closing, when in reality it needs to launch twice, so to speak. I figure that this use case was never considered in the development of Reloaded II, so I am intentionally adding this as a feature request and not a bug.

Sewer56 commented 3 years ago

Steam probably sees that the Reloaded launcher dies and calls it quits since you're launching the launcher which launches the game just as you said.

Consider trying to more permanently attach Reloaded by loading it through a 3rd party DLL Loader. You can try the Deploy ASI Loader option in Reloaded and starting the game as normal instead of through a shortcut.

image

I've considered problems like this might arise so I went out of my way to make Reloaded loadable in multiple ways.

n8jadams commented 3 years ago

Thanks for the quick response!

Ok, so I went through the process of deploying the ASI Loader and added some-game.exe as a non stream game again. Unfortunately it gives me the same result, where it shows the cmd window and then closes. It does this every time now, whereas before it sometimes wouldn't even show the cmd window.

Did I follow your suggestion correctly? What did you mean by a third party dll loader? Did you have a specific one in mind?

Sewer56 commented 3 years ago

When you press Deploy ASI Loader it drops Ultimate ASI Loader into the game directory and drops the Reloaded Bootstrapper (A DLL that loads Reloaded) into the script or plugin directory in the game folder.

What then happens is if you launch the game normally, outside Reloaded, Ultimate ASI Loader will load the mod as a plugin as soon as the game tries to use any common API (like DirectX, DirectInput etc.).

When you first deploy the ASI loader it tells you the DLL name that gets put in the game directory. I'll probably know if it was done right if you screenshot game folder.

n8jadams commented 3 years ago

The game is Sonic Heroes: screenshot

(the modding-tool folder is my Reloaded II directory)

And here is a video of what happens when I add Tsonic_win.exe as a non-steam game and load through Steam Link:

20201106-0624