Jump to content
LaunchBox Community Forums

Close Steam after a game closes


Nimdok

Recommended Posts

7 hours ago, Your Friendly A.I Overlord said:

Lastly, force closing tray apps leaves "orphan" tray icons that will disappear when you hoover over them with your mouse. But to automate this process I run an app called SystemTrayRefresh which will remove all "orphan" tray icons.

Thanks for this bit! I always wondered why I would sometimes get duplicate tray icons that magically disappear when hovered over.

I also don't think I tried the method of importing the script as the ROM. I bet this piece of info is the fix to certain exotic launching configs I made that have the startup screen work fine, but the shutdown screen prematurely closes a handful of seconds after the startup screen fades out

Link to comment
Share on other sites

54 minutes ago, skizzosjt said:

I bet this piece of info is the fix to certain exotic launching configs I made that have the startup screen work fine, but the shutdown screen prematurely closes a handful of seconds after the startup screen fades out

Right click a game > Edit > Edit Metadata/Media > Startup/Pause tab > check "Override Default Startup Screen Settings" > Click "Customize".  There you have a checkbox "Hide all Windows that are not in Exclusive Fullscreen Mode" and I found that that works pretty consistently for games that are using fullscreen exclusive mode. If you check that checkbox with games that are using borderless window fullscreen, you get a black screen when the startup screen duration finishes. But I check that checkbox for all my pc games and I fix the games that are giving trouble with a script. What the script does is wait for the game window to appear and send the startup screen to the bottom of the window stack. When you exit your game the script brings the startup screen back to the front and you get the a working shutdown screen. An example for the game Flower:

#NoEnv
#SingleInstance
#NoTrayIcon
SetTitleMatchMode, 3
SendMode Input
SetWorkingDir %A_ScriptDir%\..\..

Run, com.epicgames.launcher://apps/Yarrow?action=launch&silent=true
SendInput #!b
	WinWait, Flower ahk_class Flower[   0]
		WinSet, Bottom, , LaunchBox Game Startup
	WinWaitClose
		WinActivate, LaunchBox Game Startup
		WinSet, AlwaysOnTop, on, LaunchBox Game Startup
SendInput #!b
#Include %A_ScriptDir%\CloseTrayApps\CloseEpicGamesLauncher.ahk
ExitApp

But again, this works best with the checkbox "Hide all Windows that are not in Exclusive Fullscreen Mode" checked.

BTW, this topic is about closing Steam and I posted a script to do that. But what I did is make separate scripts for each launcher and #Include the appropriate script into my games' script. That way, if I want to change how I close a launcher I have to edit only one script instead of all the games that use that launcher.

Edited by Your Friendly A.I Overlord
  • Thanks 1
Link to comment
Share on other sites

I use "TcNo-Acc-Switcher" for choosing the steam account to start and it works very fine.


Only thing I'd like to quit steam regularly after the game is over. The gameoverlayui process is active for every steam game so I am using this pre boot. With this script steam quits fine when the game is closed


this works, with an external ahk file 👇

---

Process, Close, Steam.exe
Sleep, 1000
#SingleInstance, Force
#Persistent

Process, Wait, gameoverlayui.exe
Process, WaitClose, gameoverlayui.exe
Run, "C:\Program Files (x86)\Steam\steam.exe" -shutdown
sleep 50
ExitApp

 

---

My problem is that I don't want to use the bulk applications but I would like it to be the default for every windows game, I tried to insert it in the launchbox script of every windows game but it doesn't work, what am I wrong?

 

this doesn't work, but I would like to insert it right here 👇

image.thumb.png.e5e6aa224e110ab1090efdd6c7ec0ff0.png

 

Can anyone help me?

  • Like 1
Link to comment
Share on other sites

5 hours ago, Your Friendly A.I Overlord said:

I fix the games that are giving trouble with a script. What the script does is wait for the game window to appear and send the startup screen to the bottom of the window stack. When you exit your game the script brings the startup screen back to the front and you get the a working shutdown screen

THIS is the key part of your solution! I glossed over this very important bit reading through the first time and setup everything else as you described, which for me really meant just making the AHK script the ROM file instead of the actual ROM file being the ROM file. So I came back here to see where I went wrong. Mimicking the scope of your script though, that did make it work. Thanks for sharing!

I noticed there is a little...err..."flash" of screens upon start and exit though. OCD is triggered lol. Do you have this "issue"? (it's purely cosmetic and subjective)

I made two small adjustments for myself to mitigate said flashing issue. A short 1/2 sec sleep after waiting for the game window to be detected before sending the LaunchBox Startup Screen to the bottom prevents a flashing between LB/BB and game at start up. I think what is happening is game is detected before fully finishing being drawn on the display so sending the LB startup screen to the back too early means I get to see a flash of LB/BB before the game fully appears. Also instead of having the script wait for the game to close, it waited for an "exit" button press, which would FIRST activate the LaunchBox Startup Screen window to the top and THEN close the game window. This way I don't get a quick flashing back and forth between LB/BB and the game window at exit. Same idea, I think it just instantly closes the game before the LB startup screen can really be sent to the top, so I would end up with a flash between screens on exit too. This exit plan works fine for emulators, but might be problematic for some PC games since it would need to do something like detect F4 from an ALT+F4 close and that isn't the preferred way to close majority of PC games....

 

Found a better path by still going off the closing of the game rather than a button press. Just need to send the "LaunchBox BigBox" window to the bottom AFTER sending LaunchBox Startup Screen to the bottom. This way upon exit of the game, the screen that it "flashes" to is the intended screen to be seen! I tested with steam game Blazing Chrome and some Dolphin emulator games. For example, just the meat and potatoes part....

WinWait, ahk_exe Blazing Chrome.exe
Sleep, 500
WinSet, Bottom, , LaunchBox Game Startup
Sleep, 500
WinSet, Bottom, , LaunchBox BigBox
WinWaitClose, ahk_exe Blazing Chrome.exe
WinActivate, LaunchBox Game Startup
WinSet, AlwaysOnTop, on, LaunchBox Game Startup

 

 

 

 

 

1 hour ago, Sbaby said:

I use "TcNo-Acc-Switcher" for choosing the steam account to start and it works very fine.


Only thing I'd like to quit steam regularly after the game is over. The gameoverlayui process is active for every steam game so I am using this pre boot. With this script steam quits fine when the game is closed


this works, with an external ahk file 👇

---

Process, Close, Steam.exe
Sleep, 1000
#SingleInstance, Force
#Persistent

Process, Wait, gameoverlayui.exe
Process, WaitClose, gameoverlayui.exe
Run, "C:\Program Files (x86)\Steam\steam.exe" -shutdown
sleep 50
ExitApp

 

---

My problem is that I don't want to use the bulk applications but I would like it to be the default for every windows game, I tried to insert it in the launchbox script of every windows game but it doesn't work, what am I wrong?

 

this doesn't work, but I would like to insert it right here 👇

image.thumb.png.e5e6aa224e110ab1090efdd6c7ec0ff0.png

 

Can anyone help me?

You are in the right spot if you want this script to run for every game launched from the "Windows" platform. We need to make sure the games you claim your script isn't working with are being launched from a platform titled "Windows"? I don't think the script will execute if you launch a "Windows" game if you put it under any other platform name like "PC Games" or "Windows 10" or "Windows 98" and so on.

 

I don't use this method, but I tested with a basic MsgBox, SoundBeep, and opening notepad files just now and it launched up with a couple "Windows" games....aka NON-STEAM games that are PC games (required me to edit the script to be triggered off "{{{StartupEXE}}}" instead for non Steam games). However, I'm noticing not once did it work with a STEAM game. Going further, I can confirm what you shared....script works fine with a STEAM game if launched externally from LB/BB. Your use going off the GameOverlayUI is weird, but neat at the same time!

 

So something is fucked up with how this LB script window interacts with STEAM games. I cannot find fault anywhere with your script. I would try making them additional apps and see how that goes. My guess is the script is being prematurely terminated due to how Steam bootstraps games into launching. Steam launches a "launcher" itself so when LB/BB sees that "launcher" exit as the game begins to actually boot it terminates the script. Meaning script doesn't even really run most likely. I couldn't even get a MsgBox, SoundBeep, opening notepad etc kinda basic tests to see if the script runs for Steam games. But if you launch the script from Windows instead of LB/BB, it works as expected.

Link to comment
Share on other sites

52 minutes ago, skizzosjt said:

I noticed there is a little...err..."flash" of screens upon start and exit though. OCD is triggered lol. Do you have this "issue"? (it's purely cosmetic and subjective)

Yes, sometimes I have that too and I am probably just as OCD about it as you and spend hour to fix it. I remember two causes. Sometimes a game opens in a window and goes fullscreen after a second or so.. The script detects the game window opening while not yet fullscreen and sends the startup screen to the bottom of the stack. I do the same as you; add some Sleep. But the key part is that "Hide all Windows that are not in Exclusive Fullscreen Mode" is ticked as it pretty much hides anything that is not the game.  Recently I spend a while fixing the Startup / Shutdown screens for GOG games launched thru GOG Galaxy. The best solution turned out to be that, after launching the game from LaunchBox, to minimize GOG Galaxy to the taskbar as soon as it opens.

52 minutes ago, skizzosjt said:

Also instead of having the script wait for the game to close, it waited for an "exit" button press, which would FIRST activate the LaunchBox Startup Screen window to the top and THEN close the game window.

My example was specifically for pc games as I close pc game via their menus and not with an exit button. But what you suggest I do for some emulators and especially TeknoParrot games.

Here my running script for Cemu:

SetTitleMatchMode, 1
MouseMove, 3840, -2160, 0

WinWait, Cemu
SetTitleMatchMode, 3
Sleep 2800
WinSet, Bottom, , LaunchBox Game Startup

$Esc::
{
SetTitleMatchMode, 3
WinActivate, LaunchBox Game Startup
WinSet, AlwaysOnTop, on, LaunchBox Game Startup
WinClose, ahk_exe Cemu.exe
}

 

Edited by Your Friendly A.I Overlord
Link to comment
Share on other sites

46 minutes ago, skizzosjt said:

I don't use this method, but I tested with a basic MsgBox, SoundBeep, and opening notepad files just now and it launched up with a couple "Windows" games....aka NON-STEAM games that are PC games (required me to edit the script to be triggered off "{{{StartupEXE}}}" instead for non Steam games). However, I'm noticing not once did it work with a STEAM game.

Don't bother. LaunchBox doesn't detect what happens after you launch a Steam url. That's the whole point of having a script that does that! The only way he's going to get it working for Steam url's (or anything other that isn't launched by an executable) is to add scripts as additional apps.

Edited by Your Friendly A.I Overlord
Link to comment
Share on other sites

15 hours ago, Your Friendly A.I Overlord said:

Don't bother. LaunchBox doesn't detect what happens after you launch a Steam url. That's the whole point of having a script that does that! The only way he's going to get it working for Steam url's (or anything other that isn't launched by an executable) is to add scripts as additional apps.

lol man I am losing track of stuff I have already trialed and investigated! Taking a second to think about it, I've launched Steam games via RocketLauncher through LB/BB's "intended" way and through RocketLauncher in an "unintended" way by using RocketLauncher's exe as a standalone application instead of an emulator and sending parameters to it manually, Steam game's exe file, Steam URL, AHK as an emulator and standalone application.....I'm connecting the dots now after your reminder! I think I was confusing if startup and shutdown screens work and are scripts actually able to launch and FULLY run without being instantaneously terminated. I never have actually employed that Windows script launching option so, having a brain fart in the moment, thought it would behave different 🤷‍♂️🤦‍♂️🤣

 

TLDR =Brain fart | Free SVG

Edited by skizzosjt
Link to comment
Share on other sites

i tweaked the wii script a bit, and de ps3 script, that @JoeViking245 and @Kiinkyfoxx had created very well here https://forums.launchbox-app.com/topic/39811-auto-hotkey-scripts/page/34

and I have created a new Steam launcher autohotkey emulator (SbabySteamLauncher.ahk) 😊

 

image.png.f74f15f921ca06e0d6d7fe812832d2ce.png

 


use these tick settings

image.thumb.png.bfbaaead58ca12f8499c2f60001a39a4.png

 

With the TcNo-Acc-Switcher software you have to enter your steam password only the first time, then it keeps them in memory and starts automatically without ever asking for them for each account. You can use this script even if you only have one account, just change it a little changes

https://github.com/TcNobo/TcNo-Acc-Switcher

 

 

This is the script of the emulator ahk file, you will have to enter the 3 data at the beginning, the folder where you installed TcNo-Acc-Switcher and the long numbers of the ids of your steam accounts instead of zeros

You can change the buttons too, my buttons 1 and 2 correspond to joy3 and joy4, and for the keyboard they are V and B

 

;*************************Enter TcNo-Acc-Switcher Parameters*************************


TcNoPath = M:\Games\Utility\TcNo-Acc-Switcher
TcNoAccount1ID = 00000000000000000
TcNoAccount2ID = 00000000000000000

;******************************************************************************************************

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
StringSplit, ScriptNameArray, A_ScriptName,.

#SingleInstance force

Image = Themes\Image_start.png
Image2 = Themes\Image_account1.png
Image3 = Themes\Image_account2.png
Image4 = Themes\Image_exit.png
Emulator = "%TcNoPath%\TcNo-Acc-Switcher.exe"
Options = Zw%A_ScreenWidth% Zh%A_ScreenHeight%
;Options = Zw1920 Zh1080


SplashImage,1:%Image%,b %Options%,,,MySplash
WinMove, MySplash,,0,0, %A_ScreenWidth%, %A_ScreenHeight%

WinMinimize, ahk_exe LaunchBox.exe,
WinMinimize, ahk_exe LaunchBox.exe,
WinMinimize, ahk_exe BigBox.exe, 
WinMinimize, ahk_exe BigBox.exe,

MouseMove, 1920, 1080

#IfWinExist MySplash
   {
   1Joy3::
   2Joy3::
   $1::
   $v::
    {
MouseMove, 1920, 1080
SplashImage,2:%Image2%,b %Options%,,,Splash2
WinMove, Splash2,,0,0, %A_ScreenWidth%, %A_ScreenHeight%
WinWait, Splash2
SplashImage,1:off
SetTimer, Image2, on,
RunWait, %Emulator% +s:%TcNoAccount1ID% +open steam://rungameid/%1%
Process, Wait, gameoverlayui.exe
Process, WaitClose, gameoverlayui.exe
Run, "C:\Program Files (x86)\Steam\steam.exe" -shutdown
sleep 50
    Gosub, Exit
   }

   1Joy4::
   2Joy4::
   $2::
   $b::
   {
MouseMove, 1920, 1080
SplashImage,3:%Image3%,b %Options%,,,Splash3
WinMove, Splash3,,0,0, %A_ScreenWidth%, %A_ScreenHeight%
WinWait, Splash3
SplashImage, 1:off
SetTimer, Image3, on,
RunWait, %Emulator% +s:%TcNoAccount2ID% +open steam://rungameid/%1%
Process, Wait, gameoverlayui.exe
Process, WaitClose, gameoverlayui.exe
Run, "C:\Program Files (x86)\Steam\steam.exe" -shutdown
sleep 50
    Gosub, Exit
   }

   1Joy2::
   2Joy2::
   $Esc::
   {
     SplashImage, 1:off
     Gosub, Exit
   }
}

 

Exit:
SplashImage,4:%Image4%,b %Options%,,,Splash4
WinMove, Splash4,,0,0, %A_ScreenWidth%, %A_ScreenHeight%
WinWait, Splash4
Process, Wait, steam.exe
Process, WaitClose, steam.exe
WinActivate, ahk_exe LaunchBox.exe,
WinMaximize, ahk_exe LaunchBox.exe,
WinActivate, ahk_exe BigBox.exe, 
WinMaximize, ahk_exe BigBox.exe,
ExitApp

Image2:
Sleep, 9000
SplashImage, 2:off
SetTimer, Image2, off,
return

Image3:
Sleep, 9000
SplashImage, 3:off
SetTimer, Image3, off,
return

Image4:
Sleep, 5000
SplashImage, 4:off
SetTimer, Image4, off,
return

 

;************************************************************************

 

Inside the startup folder you need to create a Themes folder containing 4 images with the names that you find inside the code, these work as account choice and coverage of the loading and closing of Steam.

I quickly created them with https://www.canva.com/ . you can create them as you like best

I'm italian 😁

 

Image_start.thumb.png.ed4030c9241c1120c96a92f4bbf382f5.png

Image_account1.thumb.png.c59ad532be2a235f620327622e39c487.png

image.thumb.png.c5b3feaa500e19601611f62bfe516931.png

image.thumb.png.480818f925bee47f38ca3167d24c07c0.png

 

Roms files are simply txt empty files with the name of the steam game id number and without the extension

Then create a ROMS folder, or whatever you like, and create many text files inside with the names of the games id. For example for Tekken 7 you will have 389730 (not 389730.txt) empty

image.thumb.png.3002dd4a73b2d42c987bf9c94ec5673e.png

image.thumb.png.0f84c114b909a998e84e472a73400a9f.png


for each game steam starts at the start of the game and closes at the end by returning to launchbox.

What do you think?

Edited by Sbaby
Link to comment
Share on other sites

On 9/9/2022 at 8:55 PM, Sbaby said:

Roms files are simply txt empty files with the name of the steam game id number and without the extension

Then create a ROMS folder, or whatever you like, and create many text files inside with the names of the games id. For example for Tekken 7 you will have 389730 (not 389730.txt) empty

I just implemented this, it's basically the same thing that RocketLauncher does from what I can tell. For even better control, I went the same route and made an INI file to have the game's exe and SteamID included somewhere in the script for better handling of the startup and shutdown screens in LB/BB. It works fine without this extra step, but there are some games that are an exception to this rule. I def read this from others sharing their ideas....I doubt I came up with this myself. You can also use the %gameid% variable, check that against your Platform.xml file in this instance it would likely be "Windows.xml" which has that gameid value in it. Then use an INI file same way that RocketLauncher would. GameID = InsertRealGameName which uses exe ABC and SteamID XYZ. But I kinda like this method of making dummy files with the SteamID too. The dummy file method I think is better if I wasn't being so OCD about the startup and shutdown screens, because you still need an INI file to list out the title and/or exe to control the various windows and prevent the shutdown screen from prematurely exiting. Now I gotta pick a lane and stay in it, I'm not sure which method I want to devote to since both need custom setup and jumping through hoops, but neither have any real life advantage. Each give me the ability to get the start up and shutdown screens working after getting advice from @Your Friendly A.I Overlord found here in this thread

Link to comment
Share on other sites

45 minutes ago, skizzosjt said:

I just implemented this, it's basically the same thing that RocketLauncher does from what I can tell. For even better control, I went the same route and made an INI file to have the game's exe and SteamID included somewhere in the script for better handling of the startup and shutdown screens in LB/BB. It works fine without this extra step, but there are some games that are an exception to this rule. I def read this from others sharing their ideas....I doubt I came up with this myself. You can also use the %gameid% variable, check that against your Platform.xml file in this instance it would likely be "Windows.xml" which has that gameid value in it. Then use an INI file same way that RocketLauncher would. GameID = InsertRealGameName which uses exe ABC and SteamID XYZ. But I kinda like this method of making dummy files with the SteamID too. The dummy file method I think is better if I wasn't being so OCD about the startup and shutdown screens, because you still need an INI file to list out the title and/or exe to control the various windows and prevent the shutdown screen from prematurely exiting. Now I gotta pick a lane and stay in it, I'm not sure which method I want to devote to since both need custom setup and jumping through hoops, but neither have any real life advantage. Each give me the ability to get the start up and shutdown screens working after getting advice from @Your Friendly A.I Overlord found here in this thread

Where do you implement it? in native launchbox?

Rocket Launcher I find it very cumbersome

Instead with my script you just need to remember to create a rom (text file) with the same number you see when you import with launchbox.

If you want to implement the executable of each game it must be an automatic thing but otherwise too much trouble for those who have many games

 

Edited by Sbaby
Link to comment
Share on other sites

1 hour ago, Sbaby said:

Where do you implement it? in native launchbox?

Yes I did it in LaunchBox/BigBox. I did more or less the same that you and others have shared, it's mainly all about using AHK as the emulator and passing something that is unique to the game so it knows which game to launch. When no other LB/BB specific variables are used %1% defaults to the "ROM" file which is what your script does. I wanted to try a method using the %gameid% because I was using it to make a template launcher.  I used AHK as an emulator, and would have every single Steam game use a "ROM" file that is a single AHK file....a template for launching Steam games. ie 100 Steam games would all have the same "Steam Launch Template.ahk" as their "ROM". In this situation I used that gameid variable since my "ROM" was a script. The way you created something unique is through those dummy files as the "ROM". We took different roads to get to Rome, the end result is the same. But this was my first idea, and perhaps not the best idea.

I then tried the dummy ROM file method, which required me to put my AHK Steam Launch Template into the emulators command lines instead of the ROM file....BUT my problem is I still need to use either a game title or exe name to  have best control over the startup and shutdown screens. That's the kicker for me, those screens. Many Steam games work fine with the startup/shutdown screens without doing this extra step....but some games don't behave well. If you need to use lines like WinWait and WinActivate for the game you cannot do that with a non-existent window that is a background process like gameoverlayui.exe. This is why I went the route to implement a ini file, so those lines could have the proper window identified. The ini file was purely to make the whole plan come together on getting startup and shutdown screens working as intended for all games, rather than a portion. Though in reality it seems any path you take, there is going to be some exceptions and hoops to jump through. If my anal retentiveness wasn't so severe then the ini file wouldn't be required and the dummy ROM files would be sufficient lol

 

1 hour ago, Sbaby said:

Rocket Launcher I find it very cumbersome

RocketLauncher......is why I'm here now with LB/BB 🤣. But.....I'll give credit where it is due. It does have a leg up on LB/BB on a few things. The way that program implements bezels for example is handier by comparison in my opinion and I love the option to change them on the fly...it's better than Retroarch's implementation bc RocketLauncher will dynamically adjust the window/viewing area so the bezel does not cut off part of the game window when not in fullscreen mode.

 

But my main point of bringing it up was as I started putting my setup template setup together with the ini file it dawned on me...."I've seen this before". I was literally recreating the same implementation that RL uses. But, the plus side is you don't need to actually use RL lol it's still all through LB/BB

 

  

1 hour ago, Sbaby said:

If you want to implement the executable of each game it must be an automatic thing but otherwise too much trouble for those who have many games

I've run into sporadic issues with Steam games not liking it when they are launched directly from their exe. Like running at 5 FPS, crashing once they get past the opening splash screen, it's the exception rather than the norm, but this is why I don't normally launch from the exe for Steam games. It's OK for a last resort, but even then it might not work. I think it's really odd a game launches fine when you click PLAY in Steam....but if you launch directly from the exe it messes up, even when launching from Windows rather than from within LB/BB.

Edited by skizzosjt
Link to comment
Share on other sites

12 hours ago, Sbaby said:

ok when and if you want to share your work I will be happy to try it ☺️

I got no secrets so never feel afraid to ask for sharing from me! I really just went off what you and others shared already. What I did do that is a little different that I don't think anyone brought up yet was the incorporation of an ini file.

 

Here's the AHK Steam Launcher template script, which is really the scripting method shared about how to get startup and shutdown screens working well! The main takeaway is using an ini file to pull in variables, rather than make a butt load of game specific scripts. 

IniRead, exe, C:\Users\Scott\Desktop\Steam Database.ini, %1%, exe
SteamID = %1%

Run, steam://rungameid/%SteamID%
WinWait, ahk_exe %exe%
SetWinDelay, 3000
WinActivate, ahk_exe %exe%
WinSet, Bottom, , LaunchBox Game Startup
Sleep, 500
WinSet, Bottom, , LaunchBox BigBox
WinSet, Bottom, , LaunchBox
WinWaitClose, ahk_exe %exe%
SetWinDelay, -1
WinActivate, LaunchBox Game Startup
WinSet, AlwaysOnTop, on, LaunchBox Game Startup
ExitApp

 

Emulator Setup for this. Personally my experience is I cannot get variables to be passed if I put the actual script file as the application (like what you and many others do on here I have noticed). I seem to need to put the AHK exe as the app, and then either have the individual script launched via the command lines or as a ROM file. (the key is having the exe as the app for me) But nevertheless it doesn't matter really because I can still just put the script in the command lines even when extra variables or parameters were required.

image.thumb.png.1bc5f4efecc8de57b393a8a1f0a23f11.png

 

 

Here is the associated ini file. The TOP portion is when I was using "%gameid%" variable. So that is what that long string of randomness is, these are the "ID" #'s that are in the platform's XML file for the individual game. At the time, the template script would have had one additional line for the ini which was pulling in the SteamID key since I was not yet using the dummy files

The BOTTOM portion is when I started trying using the "dummy file" method for the ROM file, the method you detailed. This would not need any LB/BB specific variables used like %gameid% since we are creating a game specific variable, the SteamID, through naming the dummy ROM file as such

[cf71371c-b6c8-4c07-b151-9a4302336254]
SteamID = 1203710
Title = UnMetal
exe = unmetal.exe

[7ec62344-b6b3-4718-b587-bf1c5e1dfb24]
SteamID = 609110
Title = Blazing Chrome
exe = Blazing Chrome.exe

[c50e2993-621b-48f7-bf34-cf7fcd83d74c]
SteamID = 1361510
Title = Teenage Mutant Ninja Turtles: Shredder's Revenge
exe = TMNT.exe

[fea789b4-8b3a-4858-9270-5b9b1d38b8d3]
SteamID = 1244950
Title = Battletoads
exe = Battletoads.exe

###########################################

[1203710]
Title = UnMetal
exe = unmetal.exe

[609110]
Title = Blazing Chrome
exe = Blazing Chrome.exe

[1361510]
Title = Teenage Mutant Ninja Turtles: Shredder's Revenge
exe = TMNT.exe

[1244950]
Title = Battletoads
exe = Battletoads.exe

 

Technically I am not using the "Title" key for anything in my script. It's just there so I know wtf game "cf71371c-b6c8-4c07-b151-9a4302336254" or "1203710" is without having to cross reference to other files

If you're familiar with RocketLauncher the bottom part is literally 1:1 what you do in their PCLauncher module's "SteamID" ini file.

So this hopefully walks you through seeing why I wanted the ini file. It gives the ability to control game specific windows during the launch and shutdown sequences, which I applied the games exe into the %exe% variable. Don't forget that Overlord said we need to check "Hide All Windows that are not in Exclusive Fullscreen Mode", this is critical also for this whole plan to work as intended.

Link to comment
Share on other sites

10 hours ago, skizzosjt said:

I got no secrets so never feel afraid to ask for sharing from me! I really just went off what you and others shared already. What I did do that is a little different that I don't think anyone brought up yet was the incorporation of an ini file.

 

Here's the AHK Steam Launcher template script, which is really the scripting method shared about how to get startup and shutdown screens working well! The main takeaway is using an ini file to pull in variables, rather than make a butt load of game specific scripts. 

IniRead, exe, C:\Users\Scott\Desktop\Steam Database.ini, %1%, exe
SteamID = %1%

Run, steam://rungameid/%SteamID%
WinWait, ahk_exe %exe%
SetWinDelay, 3000
WinActivate, ahk_exe %exe%
WinSet, Bottom, , LaunchBox Game Startup
Sleep, 500
WinSet, Bottom, , LaunchBox BigBox
WinSet, Bottom, , LaunchBox
WinWaitClose, ahk_exe %exe%
SetWinDelay, -1
WinActivate, LaunchBox Game Startup
WinSet, AlwaysOnTop, on, LaunchBox Game Startup
ExitApp

 

Emulator Setup for this. Personally my experience is I cannot get variables to be passed if I put the actual script file as the application (like what you and many others do on here I have noticed). I seem to need to put the AHK exe as the app, and then either have the individual script launched via the command lines or as a ROM file. (the key is having the exe as the app for me) But nevertheless it doesn't matter really because I can still just put the script in the command lines even when extra variables or parameters were required.

image.thumb.png.1bc5f4efecc8de57b393a8a1f0a23f11.png

 

 

Here is the associated ini file. The TOP portion is when I was using "%gameid%" variable. So that is what that long string of randomness is, these are the "ID" #'s that are in the platform's XML file for the individual game. At the time, the template script would have had one additional line for the ini which was pulling in the SteamID key since I was not yet using the dummy files

The BOTTOM portion is when I started trying using the "dummy file" method for the ROM file, the method you detailed. This would not need any LB/BB specific variables used like %gameid% since we are creating a game specific variable, the SteamID, through naming the dummy ROM file as such

[cf71371c-b6c8-4c07-b151-9a4302336254]
SteamID = 1203710
Title = UnMetal
exe = unmetal.exe

[7ec62344-b6b3-4718-b587-bf1c5e1dfb24]
SteamID = 609110
Title = Blazing Chrome
exe = Blazing Chrome.exe

[c50e2993-621b-48f7-bf34-cf7fcd83d74c]
SteamID = 1361510
Title = Teenage Mutant Ninja Turtles: Shredder's Revenge
exe = TMNT.exe

[fea789b4-8b3a-4858-9270-5b9b1d38b8d3]
SteamID = 1244950
Title = Battletoads
exe = Battletoads.exe

###########################################

[1203710]
Title = UnMetal
exe = unmetal.exe

[609110]
Title = Blazing Chrome
exe = Blazing Chrome.exe

[1361510]
Title = Teenage Mutant Ninja Turtles: Shredder's Revenge
exe = TMNT.exe

[1244950]
Title = Battletoads
exe = Battletoads.exe

 

Technically I am not using the "Title" key for anything in my script. It's just there so I know wtf game "cf71371c-b6c8-4c07-b151-9a4302336254" or "1203710" is without having to cross reference to other files

If you're familiar with RocketLauncher the bottom part is literally 1:1 what you do in their PCLauncher module's "SteamID" ini file.

So this hopefully walks you through seeing why I wanted the ini file. It gives the ability to control game specific windows during the launch and shutdown sequences, which I applied the games exe into the %exe% variable. Don't forget that Overlord said we need to check "Hide All Windows that are not in Exclusive Fullscreen Mode", this is critical also for this whole plan to work as intended.

Great ! 😎

I should figure out how to marry my TcNo-Acc-Switcher multiaccount choice with your ini manager. I'll do some rehearsals as soon as I can. thank you...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...