05:45:54:885 | RL | INFO | +N/A | Main - RocketLauncher v1.1.1.1 (www.rlauncher.com)
05:45:55:597 | RL | INFO | +703 | Main - System Specs:
RocketLauncher Dir: C:\RocketLauncher
RocketLauncher is: 32-bit
OS: Microsoft Windows 10 Pro
SKU: Professional
Total Memory: 8188.17 MB
Free Memory: 6417.76 MB
Used Memory: 1770.414 MB
SystemType: 64-bit
Physical Processors: 1
Logical Processors: 8
GPU 1 Name: NVIDIA GeForce GTX 950
GPU 1 RAM: -2048.00 MB
GPU 1 Driver Version: 21.21.13.7270
Sound 1 Device: NVIDIA High Definition Audio
Sound 1 Status: Enabled
OS Language: English_United_States
System Locale: en-US
Formats Locale: en-US
Windows UI Language: en-US
Text Encoding: Windows-1252
OS Admin Status: No
RL Compatibility Flags: HIGHDPIAWARE
Latest .Net Version: v4.0.30319
Monitor #1 (\\.\DISPLAY1): 1920x1080 (1920x1020 work) [32bit] [60hz] [Landscape] (Primary)
Current AHK Desktop Width: 1920
Current AHK Desktop Height: 1080
Monitor #1 DPI: 150
ErrorMode: 0
AutoHotkey Path:
AHK Version: 1.1.13.00
Unicode: No
05:45:55:597 | RL | INFO | +0 | CheckFile - Checking if C:\RocketLauncher\RocketLauncher.exe exists
05:45:55:598 | RL | INFO | +0 | Main - Raw CLI received: "-s PC Games -r Gauntlet Slayer Edition -f C:\RocketLauncher\RocketLauncherUI\RocketLauncherUI.exe -p RocketLauncherUI -o 1"
05:45:55:598 | RL | INFO | +0 | Main - Loading Front End Plugin: "RocketLauncherUI"
05:45:55:598 | RL | INFO | +0 | Process.Process - "Exist" "RocketLauncherUI.exe"
05:45:55:603 | RL | INFO | +0 | Main - Detected RocketLauncherUI.exe is currently running
05:45:55:603 | RL | INFO | +0 | Main - RocketLauncherUI.exe coordinates are x190 y67 w1539 h886
05:45:55:603 | RL | INFO | +0 | Main - RocketLauncher received "PC Games" and "Gauntlet Slayer Edition"
05:45:55:611 | RL | INFO | +16 | Main - Did not find a "C:\RocketLauncher\Settings\PC Games\Game Options.ini" file, skipping any game-specific options.
05:45:55:611 | RL | INFO | +0 | Main - Gauntlet Slayer Edition is using the default emulator: PCLauncher
05:45:55:611 | RL | INFO | +0 | Main - Checking for a [PCLauncher] section in C:\RocketLauncher\Settings\PC Games\Emulators.ini
05:45:55:611 | RL | INFO | +0 | Main - Checking for a [PCLauncher] section in C:\RocketLauncher\Settings\Global Emulators.ini
05:45:55:612 | RL | INFO | +0 | Main - Found [PCLauncher] in C:\RocketLauncher\Settings\Global Emulators.ini
05:45:55:613 | RL | INFO | +0 | CheckFile - Checking if C:\RocketLauncher\Modules\PCLauncher\PCLauncher.ahk exists
05:45:55:618 | RL | INFO | +0 | Main - CRC Check - CRC matches, this is an official unedited module.
05:45:55:619 | RL | INFO | +15 | Main - Gauntlet Slayer Edition will use module: C:\RocketLauncher\Modules\PCLauncher\PCLauncher.ahk
05:45:55:624 | RL | WARNING | +0 | RIniLoadVar - Created missing Global ini key: "Fade_Click_Through " in section: "Fade" in "C:\RocketLauncher\Settings\Global RocketLauncher.ini"
05:45:55:624 | RL | WARNING | +0 | RIniLoadVar - Created missing System ini key: "Fade_Click_Through " in section: "Fade" in "C:\RocketLauncher\Settings\PC Games\RocketLauncher.ini"
05:45:55:660 | RL | INFO | +31 | Main - Using SkipChecks method "Rom and Emu" or emuName = "PCLauncher".
05:45:55:660 | RL | INFO | +0 | Main - INI Keys read
05:45:55:660 | RL | INFO | +0 | CheckFile - Checking if C:\RocketLauncher\Module Extensions\7z.exe exists
05:45:55:713 | RL | INFO | +63 | CheckFile - Checking if C:\RocketLauncher\Module Extensions\7z.dll exists
05:45:55:749 | RL | INFO | +31 | Main - "Gauntlet Slayer Edition" does not qualify for MultiGame. Only roms with any of these strings in their name are acceptable: \(Disc|\(Disk|\(Cart|\(Tape|\(Cassette|\(Part|\(Side
05:45:55:749 | RL | INFO | +0 | CheckPaths - Started
05:45:55:749 | RL | INFO | +0 | CheckPaths - Looking for rom: G:\Games\PC Games\Gauntlet Slayer Edition.lnk
05:45:55:750 | RL | INFO | +0 | CheckPaths - Found rom: G:\Games\PC Games\Gauntlet Slayer Edition.lnk
05:45:55:750 | RL | INFO | +0 | CheckPaths - Ended
05:45:55:750 | RL | INFO | +0 | BuildScript - User Variables:
;----------------------------------------------------------------------------
; INJECTED VARIABLES
;----------------------------------------------------------------------------
#NoTrayIcon
#InstallKeybdHook
MiscUtils.DetectHiddenWindows("On")
SetTitleMatchMode, 2
SendMode, Event
0 = 10
rlPath = C:\RocketLauncher
pluginPath = C:\RocketLauncher\Plugins
pluginName = RocketLauncherUI
pluginExt = .plugin
contextOnExit =
rlMode =
rlTitle = RocketLauncher
rlVersion = 1.1.1.1
rlAuthor = djvj
rlURL = www.rlauncher.com
langFile = C:\RocketLauncher\Data\Language\Localization.ini
primMonitor = 1
frontendPID = 3140
frontendPath = C:\RocketLauncher\RocketLauncherUI
frontendExe = RocketLauncherUI.exe
frontendExt = exe
frontendName = RocketLauncherUI
frontendDrive = C
exitEmulatorKey = Esc|1joy7&1joy8|2joy7&2joy8
restoreFE = false
exitScriptKey = ~q & ~s
toggleCursorKey = ~e & ~t
emuFullPath =
emuPath =
emuName = PCLauncher
emuExt =
baseRomPath =
romPath = G:\Games\PC Games
romPathFromIni = G:\Games\PC Games
romExtension = .lnk
romExtensionOrig = .lnk
romExtensions = lnk
executable =
systemDbName = PC Games
systemName = PC Games
dbPath =
dbName = Gauntlet Slayer Edition
dbExt =
romName = Gauntlet Slayer Edition
romMapPath =
romMappingEnabled = false
romMappingLaunchMenuEnabled = false
romMappingFirstMatchingExt = false
romMappingShowAllRomsInArchive = true
romMappingNumberOfGamesByScreen = 7
romMappingHideParent = false
romMappingMenuWidth = 400
romMappingMenuMargin = 65
romMappingTextFont = Bebas Neue
romMappingTextOptions = cFFFFFFFF r4 s60 Bold
romMappingDisabledTextColor = ff888888
romMappingTextSizeDifference = 7
romMappingTextMargin = 15
romMappingTitleTextFont = Bebas Neue
romMappingTitleTextOptions = cFFFFFFFF r4 s90 Bold
romMappingTitle2TextFont = Bebas Neue
romMappingTitle2TextOptions = cFFFFFFFF r4 s22 Bold
romMappingGameInfoTextFont = Bebas Neue
romMappingGameInfoTextOptions = cFFFFFFFF r4 s22 Regular
romMappingGameNameTextFont = Bebas Neue
romMappingGameNameTextOptions = cFFFFFFFF r4 s40 Regular
romMappingBackgroundBrush = aa000000
romMappingColumnBrush = 33000000
romMappingButtonBrush1 = 6f000000
romMappingButtonBrush2 = 33000000
romMappingBackgroundAlign = Stretch and Lose Aspect
romMappingMenuFlagWidth = 55
romMappingMenuFlagSeparation = 7
romMappingDefaultMenuList = FullList
romMappingSingleFilteredRomAutomaticLaunch = false
altArchiveNameOnly =
altRomNameOnly =
altArchiveAndRomName =
altArchiveAndManyRomNames =
altRomNamesOnly =
romMapScenario =
skipchecks = false
romMatchExt = false
blockInputTime = 0
blockInputFile = C:\RocketLauncher\Module Extensions\BlockInput.exe
errorLevelReporting = false
lockLaunch = false
lockLaunchGame =
screenRotationAngle = 0
screenRotationAngleGame =
setResolution =
logFile =
logLabel := [" INFO"," WARNING"," ERROR"," DEBUG"," TRACE"]
logLevel = 3
logShowDebugConsole = false
logShowCommandWindow = false
logCommandWindow = false
logIncludeModule = true
logIncludeFileProperties = true
logIncludeDLLLogs = false
errorSounds = true
rlDebugConsoleStdout =
sysLang = English_United_States
sysType = 64-bit
broadcastWindowTitle =
navUpKey = Up
navDownKey = Down
navLeftKey = Left
navRightKey = Right
navSelectKey = Enter
navP2UpKey = Numpad8
navP2DownKey = Numpad2
navP2LeftKey = Numpad4
navP2RightKey = Numpad6
navP2SelectKey = NumpadEnter
originalWidth = 1920
originalHeight = 1080
vdEnabled = false
vdFullPath =
vdUseSCSI = true
vdDriveLetter =
vdDriveLetterScsi =
vdAddDrive = true
demulShooterPath =
servoStikEnabled = false
servoStikExitMode = false
ledblinkyEnabled = false
ledblinkySystemName =
ledblinkyFullPath =
ledblinkyProfilePath = C:\RocketLauncher\Profiles\LEDBlinky
ledblinkyRLProfile = C:\RocketLauncher\Profiles\LEDBlinky\RocketLauncher
winIPACFullPath =
ultraMapEnabled = false
ultraMapFullPath =
emuIdleShutdown = 0
launchPasswordHash = UpUpDownDownLeftRightLeftRight
hideCursor = false
hideEmu = false
hideFE = false
suspendFE = false
fadeIn = false
fadeInDuration = 500
fadeInTransitionAnimation = DefaultAnimateFadeIn
fadeInDelay = 0
fadeInExitDelay = 0
fadeOutExitDelay = 0
fadeOut = false
fadeOutExtraScreen = false
fadeOutDuration = 500
fadeOutTransitionAnimation = DefaultAnimateFadeOut
fadeOutDelay = 0
fadeLyrInterpolation = 7
fadeMuteEmulator = false
fadeUseBackgrounds = false
fadeClickThrough = false
fadeSounds = true
fade7zProgressMode = extraction
fadeWidthBaseRes = 1920
fadeHeightBaseRes = 1080
fadeLyr1Color = FF000000
fadeLyr1AlignImage = Stretch and Lose Aspect
fadeLyr2Pos = Stretch and Lose Aspect
fadeLyr2X = 0
fadeLyr2Y = 0
fadeLyr2W =
fadeLyr2H =
fadeLyr2Adjust = 1
fadeLyr2PicPad = 0
fadeLyr2Prefix = Extra Layer 1 - Console
fadeLyr3Pos = Center
fadeLyr3X = 450
fadeLyr3Y = 450
fadeLyr3W =
fadeLyr3H =
fadeLyr3Adjust = 1
fadeLyr3PicPad = 0
fadeLyr3Speed = 750
fadeLyr3Animation = DefaultFadeAnimation
fadeLyr37zAnimation = DefaultFadeAnimation
fadeLyr3Type = imageandbar
fadeLyr3ImgFollow7zProgress = true
fadeLyr3Repeat = 1
fadeLyr3BackImageTransparency = 30
fadeLyr3StaticPos = No Alignment
fadeLyr3StaticX = 0
fadeLyr3StaticY = 870|1575
fadeLyr3StaticW =
fadeLyr3StaticH =
fadeLyr3StaticAdjust = 1
fadeLyr3StaticPicPad = 0
fadeLyr3StaticPrefix = Info Bar
fadeLyr4Adjust = 1
fadeLyr4X = 1792|952
fadeLyr4Y = 891|1596
fadeLyr4W = 128
fadeLyr4H =
fadeLyr4Pos = No Alignment
fadeLyr4FPS = 50
fadeLyr4PicPad = 0
fadeTranspGifColor = FFFFFF
fadeBarWindow = Image
fadeBarWindowX =
fadeBarWindowY =
fadeBarWindowW = 900
fadeBarWindowH =
fadeBarWindowR = 30
fadeBarWindowM = 30
fadeBarWindowHatchStyle = 8
fadeBar = 7zOnly
fadeProgressDuration = 0
fadeBarBack = true
fadeBarBackColor = FF555555
fadeBarH = 30
fadeBarR = 10
fadeBarColor = DD00BFFF
fadeBarHatchStyle = 8
fadeBarPercentageText = true
fadeBarInfoText = true
fadeBarXOffset = 0
fadeBarYOffset = 150
fadeRomInfoDescription = filtered text
fadeRomInfoSystemName = image
fadeRomInfoYear = text with label
fadeRomInfoDeveloper = text with label
fadeRomInfoPublisher = text with label
fadeRomInfoGenre = disabled
fadeRomInfoRating = image
fadeRomInfoOrder = Description|SystemName|Year|Developer|Genre|Rating|Publisher
fadeRomInfoTextPlacement = User Defined
fadeRomInfoTextMargin = 7
fadeRomInfoText1Options = w1600|787 h90 x165 y870|1575 cFFE1E1E1 r4 s90 Left Regular
fadeRomInfoText2Options = w400 x8 y15 cFF555555 r4 s60 Bold
fadeRomInfoText3Options = w310 x165 y960|1665 cFFE1E1E1 r4 s66 Left Regular
fadeRomInfoText4Options = w1305|492 h66 x460 y960|1665 cFFE1E1E1 r4 s66 Left Regular
fadeRomInfoText5Options = cFF555555 r4 s42 Bold
fadeRomInfoText6Options = h135 x15 y885|1590 cFFCFCFCA r4 s120 Regular
fadeRomInfoText7Options = h135 x15 y885|1590 cFFCFCFCA r4 s120 Regular
fadeStats_Number_of_Times_Played = text with label
fadeStats_Last_Time_Played = text with label
fadeStats_Average_Time_Played = text with label
fadeStats_Total_Time_Played = text with label
fadeStats_System_Total_Played_Time = text with label
fadeStats_Total_Global_Played_Time = text with label
fadeStatsInfoOrder = Number_of_Times_Played|Last_Time_Played|Average_Time_Played|Total_Time_Played|System_Total_Played_Time|Total_Global_Played_Time
fadeStatsInfoTextPlacement = topRight
fadeStatsInfoTextMargin = 7
fadeStatsInfoText1Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText2Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText3Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText4Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText5Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText6Options = cFFB4B4B4 r4 s22 Bold
fadeText1X = 0
fadeText1Y = 0
fadeText1Options = cFFB4B4B4 r4 s30 Right Bold
fadeText1 = Loading Game
fadeText2X = 0
fadeText2Y = 0
fadeText2Options = cFFB4B4B4 r4 s30 Right Bold
fadeText2 = Extraction Complete, Ready
fadeText3 = Loading Game
fadeText4 = Loading Complete
fadeFont = Bebas Neue
fadeSystemAndRomLayersOnly = false
fadeExtractionTime = disabled
fadeExtractionTimeTextX = 0
fadeExtractionTimeTextY = 0
fadeExtractionTimeTextOptions = cFF555555 r4 s20 Bold
fadeInterruptKey =
detectFadeErrorEnabled = true
fadeImgPath = C:\RocketLauncher\Media\Fade
RLDataPath = C:\RocketLauncher\Data
RLMediaPath = C:\RocketLauncher\Media
RLErrSoundPath = C:\RocketLauncher\Media\Sounds\Error
modulesPath = C:\RocketLauncher\Modules
moduleFullName = C:\RocketLauncher\Modules\PCLauncher\PCLauncher.ahk
moduleName = PCLauncher
modulePath = C:\RocketLauncher\Modules\PCLauncher
moduleExtension = ahk
moduleExtensionsPath = C:\RocketLauncher\Module Extensions
libPath = C:\RocketLauncher\Lib
sevenZEnabled = false
sevenZPath = C:\RocketLauncher\Module Extensions\7z.exe
sevenZDllPath = C:\RocketLauncher\Module Extensions\7z.dll
sevenZExtractPath = C:\Users\odonnellj\AppData\Local\Temp\HS
sevenZExtractPathOrig =
sevenZAttachSystemName = false
sevenZDelTemp = true
sevenZFormats = .zip|.rar|.7z|.lzh|.gzip|.tar
sevenZFormatsNoP = zip|rar|7z|lzh|gzip|tar
sevenZFormatsRegEx = \.zip|\.rar|\.7z|\.lzh|\.gzip|\.tar
7zExtractPath = C:\Users\odonnellj\AppData\Local\Temp\HS
mgEnabled = false
mgKey = ~NumpadSub
mgBackgroundColor = FF000000
mgSidePadding = 0.2
mgWidthBaseRes = 1920
mgHeightBaseRes = 1080
mgYOffset = 500|800
mgFont = Arial
mgText1Options = x10p y250|500 w80p Center cBBFFFFFF r4 s100 BoldItalic
mgText1Text = Please select a game
mgText2Options = w96p cFFFFFFFF r4 s50 Center BoldItalic
mgText2Offset = 100
mgUseSound = true
mgSoundfreq = 300
mgExitEffect = none
mgSelectedEffect = rotate
mgUseGameArt = false
mgCandidate =
mgValidTypes = \(Disc|\(Disk|\(Cart|\(Tape|\(Cassette|\(Part|\(Side
mgOnLaunch = false
pauseEnabled = false
pauseKey = ~NumpadAdd
pauseBackToMenuBarKey = X
pauseZoomInKey = C
pauseZoomOutKey = V
pauseScreenshotKey = ~PrintScreen
pauseHiToTextPath = C:\RocketLauncher\Module Extensions\HiToText.exe
pauseSaveStateKeyCodes =
pauseLoadStateKeyCodes =
keyboardEncoder =
keyboardEncoderEnabled = false
keymapperEnabled = false
keymapperAHKMethod = false
keymapper = xpadder
xpadderFullPath = C:\Utilities\Xpadder\xpadder.exe
joyToKeyFullPath = C:\Utilities\JoyToKey\JoyToKey.exe
profilePath = C:\RocketLauncher\Profiles
keymapperProfilePath = C:\RocketLauncher\Profiles\xpadder
keymapperFrontEndProfileName = RocketLauncherUI
keymapperFrontEndProfile = false
keymapperRocketLauncherProfileEnabled = false
joyIDsEnabled = false
joyIDsPreferredControllersGlobal =
joyIDsPreferredControllersSystem = use_global
joyIDsPreferredControllersOnExit =
CustomJoyNamesEnabled = false
CustomJoyNames =
rotateMethod = false
FEProfile = C:\RocketLauncher\Profiles\xpadder\RocketLauncherUI
defaultProfile = C:\RocketLauncher\Profiles\xpadder\_Default
systemProfile = C:\RocketLauncher\Profiles\xpadder\PC Games
xPadderSystemProfile = C:\RocketLauncher\Profiles\xpadder\PC Games\_Default
emuProfile = C:\RocketLauncher\Profiles\xpadder\PC Games\PCLauncher
romProfile = C:\RocketLauncher\Profiles\xpadder\PC Games\Gauntlet Slayer Edition
RocketLauncherProfile = C:\RocketLauncher\Profiles\xpadder\RocketLauncher
blankProfile = C:\RocketLauncher\Profiles\xpadder\_Default\blank
ahkFEProfile = C:\RocketLauncher\Profiles\AHK\RocketLauncherUI
ahkDefaultProfile = C:\RocketLauncher\Profiles\AHK\_Default
ahkSystemProfile = C:\RocketLauncher\Profiles\AHK\PC Games
ahkEmuProfile = C:\RocketLauncher\Profiles\AHK\PC Games\PCLauncher
ahkRomProfile = C:\RocketLauncher\Profiles\AHK\PC Games\Gauntlet Slayer Edition
ahkRocketLauncherProfile = C:\RocketLauncher\Profiles\AHK\RocketLauncher
bezelEnabled = false
bezelICEnabled = false
shaderName = false
shaderColor =
shaderTransparency =
statisticsEnabled = true
pressDuration = -1
emuVolume = 1
dxwndIni = C:\RocketLauncher\Module Extensions\dxwnd\dxwnd.ini
dxwndFullPath = C:\RocketLauncher\Module Extensions\dxwnd\dxwnd.exe
qResFullPath = C:\RocketLauncher\Module Extensions\QRes.exe
mon1O =
pacDrivedllFile = C:\RocketLauncher\Module Extensions\PacDrive32.dll
userFadeAnimIniFile = C:\RocketLauncher\Lib\User Fade Animations.ini
testFile =
testDuration =
initialErrorMode = 0
05:45:55:767 | RL | INFO | +16 | BuildScript - Loaded XHotkey Init.ahk scripts
05:45:55:767 | RL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts
05:45:55:767 | RL | WARNING | +0 | BuildScript - "C:\RocketLauncher\Lib\User Functions Init.ahk" not found
05:45:55:767 | RL | INFO | +0 | BuildScript - Validating module
05:45:55:770 | RL | INFO | +0 | BuildScript - Validation complete
05:45:55:770 | RL | INFO | +0 | BuildScript - Module:
MEmu = PCLauncher
MEmuV = N/A
MURL = http://www.rlauncher.com/wiki/index.php?title=PCLauncher
MAuthor = djvj
MVersion = 2.2.6
MCRC = 64F63B83
iCRC = 6B31C137
mId = 635243126483565041
MSystem = "American Laser Games","Arcade PC","Doujin Soft","Examu eX-BOARD","Fan Remakes","Games for Windows","Konami e-Amusement","Konami Bemani","Microsoft Windows","PCLauncher","PC Games","Singstar","Steam","Steam Big Picture","Taito Type X","Taito Type X2","Touhou","Touhou Project","Ultrastar","Ultrastar Deluxe","Windows Games"
;----------------------------------------------------------------------------
; Notes:
; Use the examples in the ini, in your Modules\PCLauncher\ folder, to add more applications.
; PCLauncher supports per-System inis. Copy your PCLauncher ini in the same folder and rename it to match the System's Name. Use this if you have games with the same name across multiple systems.
; Read the tooltips for each module setting in RocketLauncherUI for the definitions of each key and help using them.
; For information on how to use this module and what all the settings do, please see http://www.rlauncher.com/wiki/index.php?title=PCLauncher
;----------------------------------------------------------------------------
StartModule()
moduleIni.CheckFile("Could not find """ . moduleIni.FileFullPath . """`n`nRocketLauncherUI will create this file when you configure your first game to be used with the " . MEmu . " module.")
Application := moduleIni.Read(dbName, "Application","","",1)
AppWaitExe := moduleIni.Read(dbName, "AppWaitExe","","",1)
DiscImage := moduleIni.Read(dbName, "DiscImage","","",1)
DXWndGame := moduleIni.Read(dbName, "DXWndGame","","",1)
DXWndMaximizeWindow := moduleIni.Read(dbName, "DXWndMaximizeWindow","","",1)
ExitMethod := moduleIni.Read(dbName, "ExitMethod","","",1)
FadeTitle := moduleIni.Read(dbName, "FadeTitle","","",1)
FadeTitleWaitTillActive := moduleIni.Read(dbName, "FadeTitleWaitTillActive","true","",1)
FadeTitleTimeout := moduleIni.Read(dbName, "FadeTitleTimeout","","",1)
FadeInExitSleep := moduleIni.Read(dbName, "FadeInExitSleep","","",1)
HideConsole := moduleIni.Read(dbName, "HideConsole","","",1)
OriginGame := moduleIni.Read(dbName, "OriginGame","","",1)
Parameters := moduleIni.Read(dbName, "Parameters","","",1)
PostLaunch := moduleIni.Read(dbName, "PostLaunch","","",1)
PostLaunchParameters := moduleIni.Read(dbName, "PostLaunchParameters","","",1)
PostLaunchSleep := moduleIni.Read(dbName, "PostLaunchSleep","","",1)
PostExit := moduleIni.Read(dbName, "PostExit","","",1)
PostExitParameters := moduleIni.Read(dbName, "PostExitParameters","","",1)
PostExitSleep := moduleIni.Read(dbName, "PostExitSleep","","",1)
PreLaunch := moduleIni.Read(dbName, "PreLaunch","","",1)
PreLaunchParameters := moduleIni.Read(dbName, "PreLaunchParameters","","",1)
PreLaunchMode := moduleIni.Read(dbName, "PreLaunchMode","","",1)
PreLaunchSleep := moduleIni.Read(dbName, "PreLaunchSleep","","",1)
SteamID := moduleIni.Read(dbName, "SteamID","","",1)
WorkingFolder := moduleIni.Read(dbName, "WorkingFolder","","",1)
If (!Application && !SteamID) { ; This app cannot be launched if no info exists already in the ini and this is not a steam game
ScriptError("You have not set up " . dbName . " in RocketLauncherUI yet, so PCLauncher does not know what exe, FadeTitle, and/or SteamID to watch for.")
}
BezelGUI()
FadeInStart()
BezelStart()
If Application {
primaryExe := new Emulator(Application) ; instantiate primary application executable object
}
If (AppWaitExe != "") {
AppWaitExe := new Process(AppWaitExe)
}
If FadeTitle {
FadeTitleObj := StringUtils.ParsePCTitle(FadeTitle)
appPrimaryWindow := new Window(new WindowTitle(FadeTitleObj.Title,FadeTitleObj.Class)) ; instantiate primary application window object
}
; If Application needs a cd/dvd image in the drive, mount it in DT first
If DiscImage {
RLLog.Info("PCLauncher - Application is a Disc Image, mounting it in DT")
appIsImage := 1
DiscImage := new File(GetFullName(DiscImage)) ; convert a relative path defined in the PCLauncher ini to absolute
DiscImage.CheckFile("Cannot find this DiscImage for " . dbName . ":`n" . DiscImage.FileFullPath)
; StringUtils.SplitPath(DiscImage,"",ImagePath,ImageExt,ImageName)
If StringUtils.Contains(DiscImage.FileExt,"mds|mdx|b5t|b6t|bwt|ccd|cue|isz|nrg|cdi|iso|ape|flac")
{ VirtualDrive("get") ; get the vdDriveLetter
; VirtualDrive("mount",ImagePath . "\" . ImageName . "." . ImageExt)
VirtualDrive("mount",DiscImage.FileFullPath)
} Else
ScriptError("You defined a DiscImage, but it is not a supported format for this module and/or DT:`nccd,cdi,cue,iso,isz,nrg")
}
; Verify module's settings are set
CheckSettings()
If PreLaunch {
RLLog.Info("PCLauncher - PreLaunch set by user, running: " . PreLaunch)
PreLaunchParameters := If (!PreLaunchParameters or PreLaunchParameters="ERROR") ? "" : PreLaunchParameters
If (preLaunchMode = "run") {
errLevel := PreLaunchExe.Run(If PreLaunchIsURL ? "" : PreLaunchParameters,"","","","",(If PreLaunchIsURL ? "" : 1)) ; If this is a url, do not send params
If errLevel
ScriptError("There was a problem launching your PreLaunch application. Please check it is a valid executable.")
TimerUtils.Sleep(PreLaunchSleep)
} Else {
errLevel := PreLaunchExe.RunWait(If PreLaunchIsURL ? "" : PreLaunchParameters,"",(If PreLaunchIsURL ? "" : 1)) ; If this is a url, do not send params
If errLevel
ScriptError("There was a problem launching your PreLaunch application. Please check it is a valid executable.")
}
}
If (DXWndGame = "true") ; start dxwnd if needed
DxwndRun()
If StringUtils.Contains(mode,"steam|steambp") ; steam launch
Steam(SteamID, primaryExe.FileFullPath, Parameters)
Else If (mode = "origin") ; origin launch
Origin(primaryExe.FileName, primaryExe.FilePath, Parameters)
Else {
If (mode = "url")
{ RLLog.Info("PCLauncher - Launching URL.")
errLevel := primaryExe.Run()
} Else { ; standard launch
RLLog.Info("PCLauncher - Launching a standard application.")
If (HideConsole = "true" and primaryExe.FileExt = "bat") {
RLLog.Info("PCLauncher - Hiding DOS console for bat file.")
objShell := ComObjCreate("WScript.Shell")
objShell.CurrentDirectory := If WorkingFolder ? WorkingFolder : primaryExe.FilePath
errLevel := objShell.Run("""" . primaryExe.FileName . """ " . Parameters, 0, false)
}
Else
errLevel := primaryExe.Run(Parameters,"","","","",1,If WorkingFolder ? WorkingFolder : "")
}
If errLevel
ScriptError("There was a problem launching your " . (If appIsImage ? "ImageExe" : "Application") . ". Please check it is a valid executable.")
}
If PostLaunch {
RLLog.Info("PCLauncher - PostLaunch set by user, running: " . PostLaunch)
PostLaunchExe := new Process(PostLaunch)
PostLaunchParameters := If (!PostLaunchParameters or PostLaunchParameters="ERROR") ? "" : PostLaunchParameters
errLevel := PostLaunchExe.Run(If PostLaunchIsURL ? "" : PostLaunchParameters,"","","","",(If PostLaunchIsURL ? "" : 1)) ; If this is a url, do not send params
If errLevel
ScriptError("There was a problem launching your PostLaunch application. Please check it is a valid executable.")
TimerUtils.Sleep(PostLaunchSleep)
}
If FadeTitle {
RLLog.Info("PCLauncher - FadeTitle set by user, waiting for """ . appPrimaryWindow.WinTitle.GetWindowTitle() . """")
If (FadeTitleTimeout)
appPrimaryWindow.Wait(FadeTitleTimeout)
Else
appPrimaryWindow.Wait()
If (FadeTitleWaitTillActive = "true")
appPrimaryWindow.WaitActive()
} Else If AppWaitExe {
RLLog.Info("PCLauncher - FadeTitle not set by user, but AppWaitExe is. Waiting for AppWaitExe: " . AppWaitExe.FileName)
AppWaitExe.Process("Wait",15)
If (AppWaitExe.PID = 0)
ScriptError("PCLauncher - There was an error getting the Process ID of your AppWaitExe """ . AppWaitExe.FileName . """. Please try setting a FadeTitle instead.")
} Else If SteamIDExe {
RLLog.Info("PCLauncher - FadeTitle and AppWaitExe not set by user, but SteamIDExe was found. Waiting for SteamIDExe: " . SteamIDExe.FileFullPath)
SteamIDExe.Process("Wait",15) ; wait 15 seconds for this process to launch
If (SteamIDExe.PID = 0)
ScriptError("PCLauncher - There was an error getting the Process ID from your SteamIDExe for """ . dbName . """. Please try setting a FadeTitle instead.")
} Else If primaryExe.PID {
RLLog.Info("PCLauncher - FadeTitle and AppWaitExe not set by user, but a PID for the primary application was found. Waiting for PID: " . primaryExe.PID)
appPrimaryWindow.PID := primaryExe.PID ; store the PID of the primary exe into the window object
appPrimaryWindow.Wait("",primaryExe.PID) ; only wait for the pid, not any other window element
appPrimaryWindow.WaitActive("",primaryExe.PID)
} Else
RLLog.Error("PCLauncher - FadeTitle and AppWaitExe not set by user and no AppPID found from an Application, PCLauncher has nothing to wait for")
If (DXWndGame = "true" and (DXWndMaximizeWindow = "aspect" or DXWndMaximizeWindow = "stretch"))
appPrimaryWindow.Maximize(If (DXWndMaximizeWindow="aspect") ? "true" : "false")
BezelDraw()
TimerUtils.Sleep(FadeInExitSleep) ; PCLauncher setting for some stubborn games that keeps the fadeIn screen up a little longer
FadeInExit()
If AppWaitExe {
If !FadeTitle {
RLLog.Info("PCLauncher - Creating a window based on the AppWaitExe because FadeTitle was not set")
appPrimaryWindow := new Window(new WindowTitle("","","","",AppWaitExe.PID)) ; instantiate AppWaitExe window object
appPrimaryWindow.Wait()
appPrimaryWindow.Get("ID")
appPrimaryWindow.WinTitle.PID := "" ; remove PID from future window matches
appPrimaryWindow.WinTitle.ID := appPrimaryWindow.ID ; inject hwnd ID so future matches use it instead
}
RLLog.Info("PCLauncher - Waiting for AppWaitExe """ . AppWaitExe.FileName . """ to close.")
AppWaitExe.Process("WaitClose")
} Else If FadeTitle { ; If fadeTitle is set and no appPID was created.
RLLog.Info("PCLauncher - Waiting for FadeTitle """ . appPrimaryWindow.WinTitle.GetWindowTitle() . """ to close.")
appPrimaryWindow.WaitClose()
} Else If SteamIDExe {
RLLog.Info("PCLauncher - Waiting for SteamIDExe """ . SteamIDExe.FileName . """ to close.")
SteamIDExe.Process("WaitClose")
} Else If primaryExe.PID {
If !FadeTitle {
RLLog.Info("PCLauncher - Creating a window based on the Primary Application """ . primaryExe.FileName . """ because FadeTitle nor AppWaitExe were set")
appPrimaryWindow := new Window(new WindowTitle("","","","",primaryExe.PID)) ; instantiate primary application window object
appPrimaryWindow.Wait()
appPrimaryWindow.Get("ID")
appPrimaryWindow.WinTitle.PID := "" ; remove PID from future window matches
appPrimaryWindow.WinTitle.ID := appPrimaryWindow.ID ; inject hwnd ID so future matches use it instead
}
RLLog.Info("PCLauncher - Waiting for the Primary Application PID """ . primaryExe.PID . """ to close.")
primaryExe.Process("WaitClose")
} Else
ScriptError("Could not find a proper AppWaitExe`, FadeTitle`, or AppPID (from the launched Application). Try setting either an AppWaitExe or FadeTitle so the module has something to look for.")
If PostExit {
RLLog.Info("PCLauncher - PostExit set by user, running: " . PostExit)
PostExitExe := new Process(PostExit)
PostExitParameters := If (!PostExitParameters or PostExitParameters="ERROR") ? "" : PostExitParameters
errLevel := PostExitExe.Run(If PostExitIsURL ? "" : PostExitParameters,"","","","",(If PostExitIsURL ? "" : 1)) ; If this is a url, do not send params
If errLevel
ScriptError("There was a problem launching your PostExit application. Please check it is a valid executable.")
TimerUtils.Sleep(PostExitSleep)
}
; If Application is a cd/dvd image, unmount it in DT
If appIsImage
VirtualDrive("unmount")
; Close steam if it was not open prior to launch, not really needed anymore because module knows how to launch if steam already running now
; If (primaryExe.PID = 0)
; Run, Steam.exe -shutdown, %SteamPath% ; close steam
If (DXWndGame = "true")
DxwndClose()
BezelExit()
FadeOutExit()
ExitModule()
CheckSettings() {
Global Application,primaryExe
Global PreLaunch,PreLaunchExe,PreLaunchIsURL
Global PostLaunch,PostLaunchExe,PostLaunchIsURL
Global PostExit,PostExitExe,PostExitIsURL
Global moduleName,appIsImage,vdDriveLetter,SteamID,OriginGame,DXWndGame,mode,AppWaitExe,SteamIDExe,FadeTitle
Global modulePath,fadeIn
RLLog.Info("CheckSettings - Started")
; These checks allow you to run URL and Steam browser protocol commands. Without them ahk would error out that it can't find the file. This is different than setting a SteamID but either work
If (SteamID) {
mode := "steam" ; setting module to use steam mode
RLLog.Info("PCLauncher - SteamID is set, setting mode to: """ . mode . """")
} Else If (StringUtils.SubStr(Application,1,3) = "ste") {
mode := "steambp" ; setting module to use Steam Browser Protocol mode
RLLog.Info("PCLauncher - Application is a Steam Browser Protocol, setting mode to: """ . mode . """")
} Else If (StringUtils.SubStr(Application,1,4) = "http") {
mode := "url" ; setting module to use url mode
RLLog.Info("PCLauncher - Application is a URL, setting mode to: """ . mode . """")
} Else If OriginGame {
mode := "origin" ; setting module to use Origin mode
StringUtils.BackslashCheck(primaryExe.FileFullPath,"Application")
RLLog.Info("PCLauncher - Origin mode enabled. Will log in to Origin if required.")
} Else If Application {
mode := "standard" ; for standard launching
StringUtils.BackslashCheck(primaryExe.FileFullPath,"Application")
RLLog.Info("PCLauncher - Setting mode to: """ . mode . """")
} Else ; error if no modes are used
ScriptError("Please set an Application, SteamID, Steam Browser Protocol, or URL in " moduleName . ".ini for """ . dbName . """")
If (SteamID && Application) ; do not allow 2 launching methods as module cannot know which should be used
ScriptError("You are trying to use Steam and an Application, you must choose one or the other.")
If ((mode = "steam" || mode = "steambp") && !AppWaitExe && !FadeTitle) { ; && fadeIn = "true") { ; If AppWaitExe or FadeTitle are defined, that will take precedence over the automatic method using the SteamIDs.ini
SteamIDFile := new IniFile(modulePath . "\SteamIDs.ini")
SteamIDFile.CheckFile()
If !SteamID ; if this game does not have a SteamID defined
StringUtils.SplitPath(Application,SteamID) ; try to grab the ID from the Application name
SteamIDExe := SteamIDFile.ReadCheck(SteamID, "exe","","",1)
If !SteamIDExe ; if it was still not found, error out
ScriptError("You are using launching a Steam game but no way for the module to know what window to wait for after launching. Please set a AppWaitExe, FadeTitle, or make sure your SteamID and the correct exe is defined in the SteamIDs.ini",10)
Else {
RLLog.Info("PCLauncher - Found an exe in the SteamIDs.ini for this game: """ . SteamIDExe . """")
SteamIDExe := new Process(SteamIDExe)
}
} Else If (mode = "url" && !AppWaitExe && !FadeTitle)
ScriptError("You are using launching a URL but no way for the module to know what to window to wait for after launching. Please set a AppWaitExe or FadeTitle to your default application that gets launched when opening URLs.",10)
If (appIsImage && !primaryExe.FilePath) ; if user only defined an exe for Application with no path, assume it will be found on the root dir of the image when mounted
primaryExe.FilePath := vdDriveLetter . ":\"
If (!primaryExe.FileName && mode = "standard" && (mode != "steam" || mode != "steambp"))
ScriptError("Missing filename on the end of your Application in " . moduleName . ".ini:`n" . primaryExe.FileFullPath)
If (!primaryExe.FileExt && mode = "standard" && (mode != "steam" || mode != "steambp"))
ScriptError("Missing extension on your Application in " . moduleName . ".ini:`n" . primaryExe.FileFullPath)
PreLaunchExe := AltAppCheck(PreLaunch,"PreLaunch",PreLaunchIsURL)
PostLaunchExe := AltAppCheck(PostLaunch,"PostLaunch",PostLaunchIsURL)
PostExitExe := AltAppCheck(PostExit,"PostExit",PostExitIsURL)
If (mode = "standard")
primaryExe.CheckFile("Cannot find this Application:`n" . primaryExe.FileFullPath) ; keeping this last so more descriptive errors will trigger first
RLLog.Info("CheckSettings - Ended")
}
AltAppCheck(file,id,ByRef urlID) {
If file {
obj := new Process(file)
urlID := If (StringUtils.SubStr(file,1,4)="http" || StringUtils.SubStr(file,1,3)="ste") ? 1:""
If urlID
RLLog.Info("PCLauncher - " . id . " is a URL or Steam Browser Protocol: " . file)
Else {
StringUtils.BackslashCheck(obj.FileFullPath,id)
obj.CheckFile("Cannot find this " . id . " application:`n" . obj.FileFullPath)
}
Return obj
}
}
CloseProcess:
If (ExitMethod != "InGame") {
FadeOutStart()
If (ExitMethod = "Process Close AppWaitExe" && AppWaitExe) {
RLLog.Info("CloseProcess - ExitMethod is ""Process Close AppWaitExe""")
AppWaitExe.Process("Close")
} Else If (ExitMethod = "WinClose AppWaitExe" && AppWaitExe) {
RLLog.Info("CloseProcess - ExitMethod is ""WinClose AppWaitExe""")
AppWaitExe.Process("Exist")
AppWaitWindow := new Window(new WindowTitle("","","","",AppWaitExe.PID))
AppWaitWindow.Close()
} Else If (ExitMethod = "Process Close Application") {
RLLog.Info("CloseProcess - ExitMethod is ""Process Close Application""")
primaryExe.Process("Close")
} Else If (ExitMethod = "WinClose Application" && FadeTitle) {
RLLog.Info("CloseProcess - ExitMethod is ""WinClose Close Application""")
appPrimaryWindow.Close()
} Else If (ExitMethod = "Send Alt+F4") {
RLLog.Info("CloseProcess - ExitMethod is ""Send Alt+F4""")
KeyUtils.Send("!{F4}")
} Else {
RLLog.Info("CloseProcess - Default ExitMethod`, using ""WinClose""")
appPrimaryWindow.Close()
}
}
Return
05:45:55:910 | RL | INFO | +140 | BuildScript - Loaded Multi-Player scripts
05:45:55:912 | RL | INFO | +0 | BuildScript - Loaded Statistics.ahk script
05:45:55:912 | RL | WARNING | +0 | BuildScript - "C:\RocketLauncher\Lib\User Functions.ahk" not found
05:45:55:912 | RL | INFO | +0 | BuildScript - Finished injecting functions into module
05:45:55:914 | RL | INFO | +0 | Main - Module is built
05:45:55:914 | RL | INFO | +0 | CheckFile - Checking if C:\RocketLauncher\AutoHotkey.dll exists
05:45:55:944 | RL | INFO | +32 | Main - Running module