Jump to content

PCLauncher


therealdealadam

Recommended Posts

Posted

I can't seem to get any PC games to launch, I get an error cannot find when trying to load up the exe

Used word txt to make an xml file

I used the module to find the exe and used fade control q when launching the game

Still nothing, any ideas or a quick team viewer would be a great help

Thanks

Posted

Try posting your hyperlaunch troubleshooting log with your logging level in hyperlaunchhq set to troubleshooting. Also try setting your logging level to troubleshooting in HLHQ and then try to start your game. When you get the error message exit and then post your log. Another other option would be to post your hyperlaunch log with logging level set to troubleshooting.

Thanks.

Posted
10:49:39:345 | HL |     INFO  | +N/A   | Main - HyperLaunch v3.0.1.1c
10:49:39:444 | HL |     INFO  | +94    | Main - System Specs:
				HyperLaunch Dir: H:
				OS: Microsoft Windows 7 Ultimate
				SKU: Ultimate
				Total Memory: 4029.57 MB
				Free Memory: 2413.35 MB
				Used Memory: 1616.215 MB
				SystemType: x64-based PC
				Physical Processors: 1
				Logical Processors: 4
				GPU 1 Name: NVIDIA GeForce GT 240
				GPU 1 RAM: 512.00 MB
				GPU 1 Driver Version: 9.18.13.3788
				Sound 1 Device: NVIDIA High Definition Audio
				Sound 1 Status: Enabled
				Sound 2 Device: NVIDIA High Definition Audio
				Sound 2 Status: Enabled
				Sound 3 Device: NVIDIA High Definition Audio
				Sound 3 Status: Enabled
				Sound 4 Device: NVIDIA High Definition Audio
				Sound 4 Status: Enabled
				Sound 5 Device: High Definition Audio Device
				Sound 5 Status: Enabled
				Sound 6 Device: NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
				Sound 6 Status: Enabled
				OS Language: English_United_States
				OS Admin Status: Yes
				Monitor #1 (\\.\DISPLAY1): 1280x1024 (1280x984 work)
				AutoHotkey Path:
				AHK Version: 1.1.09.04
				Unicode: No
10:49:39:444 | HL |     INFO  | +0     | Main - HyperSpin.exe coordinates are x y w h
10:49:39:444 | HL |     INFO  | +0     | CheckFile - Checking if H:\HyperLaunch.exe exists
10:49:39:444 | HL |     INFO  | +0     | Main - HyperLaunch received "PC Games" and "Danmaku Unlimited 2"
10:49:39:452 | HL |     INFO  | +0     | Main - Danmaku Unlimited 2 is using the default emulator: PCLauncher
10:49:39:452 | HL |     INFO  | +0     | Main - Checking for a [PCLauncher] section in H:\Settings\PC Games\Emulators.ini
10:49:39:452 | HL |     INFO  | +0     | Main - Checking for a [PCLauncher] section in H:\Settings\Global Emulators.ini
10:49:39:453 | HL |     INFO  | +15    | Main - Found [PCLauncher] in H:\Settings\Global Emulators.ini
10:49:39:453 | HL |     INFO  | +0     | CheckFile - Checking if H:\Modules\PCLauncher\PCLauncher.ahk exists
10:49:39:460 | HL |     INFO  | +0     | Main - CRC Check - CRC matches, this is an official unedited module.
10:49:39:460 | HL |     INFO  | +0     | Main - Danmaku Unlimited 2 will use module: H:\Modules\PCLauncher\PCLauncher.ahk
10:49:39:476 | HL |     INFO  | +16    | Main - Using SkipChecks method "Rom and Emu" or emuName = "PCLauncher".
10:49:39:476 | HL |     INFO  | +0     | Main - INI Keys read
10:49:39:476 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\7z.exe exists
10:49:39:477 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\7z.dll exists
10:49:39:477 | HL |     INFO  | +0     | CreateRomMapTable - Started
10:49:39:477 | HL |     INFO  | +0     | CreateRomMapTable - Could not find any roms for the Rom Map Table
10:49:39:477 | HL |     INFO  | +0     | CreateRomMapTable - Ended, No mapping inis found.
10:49:39:477 | HL |     INFO  | +0     | CheckPaths - Started
10:49:39:478 | HL |     INFO  | +0     | CheckFile - Checking if \ exists
10:49:39:478 | HL |     INFO  | +0     | CheckPaths - Ended
10:49:39:478 | HL |     INFO  | +0     | BuildScript - User Variables:
				;----------------------------------------------------------------------------
				; INJECTED VARIABLES
				;----------------------------------------------------------------------------

				#NoTrayIcon
				#InstallKeybdHook
				DetectHiddenWindows, ON
				SetTitleMatchMode, 2
				SendMode, Event
				0 = 2
				hlMode =
				frontendPID = 0
				frontendPath = H:
				frontendExe = HyperSpin.exe
				frontendExt = exe
				frontendName = HyperSpin
				frontendDrive = H:
				exitEmulatorKey = ~Esc
				exitEmulatorKeyWait = 0
				forceHoldKey = ~Esc
				restoreFE = false
				exitScriptKey = ~q & ~s
				toggleCursorKey = ~e & ~t
				emuFullPath =
				emuPath =
				emuName = PCLauncher
				emuExt =
				romPath = H:\Emulators\PC Games
				romPathFromIni = H:\Emulators\PC Games
				romExtension =
				romExtensionOrig =
				romExtensions =
				executable =
				systemName = PC Games
				dbName = Danmaku Unlimited 2
				romName =
				romMapPath = H:\Settings\PC Games\Rom Mapping
				romMappingEnabled = true
				romMappingLaunchMenuEnabled = false
				romMappingFirstMatchingExt = true
				romMappingShowAllRomsInArchive = true
				romMappingNumberOfWheelsByScreen = 7
				romMappingMenuWidth = 300
				romMappingMenuMargin = 50
				romMappingTextFont = Bebas Neue
				romMappingTextOptions = cFFFFFFFF r4 s40 Bold
				romMappingDisabledTextColor = ff888888
				romMappingTextSizeDifference = 5
				romMappingTextMargin = 10
				romMappingTitleTextFont = Bebas Neue
				romMappingTitleTextOptions = cFFFFFFFF r4 s60 Bold
				romMappingTitle2TextFont = Bebas Neue
				romMappingTitle2TextOptions = cFFFFFFFF r4 s15 Bold
				romMappingGameInfoTextFont = Bebas Neue
				romMappingGameInfoTextOptions = cFFFFFFFF r4 s15 Regular
				romMappingBackgroundBrush = aa000000
				romMappingColumnBrush = 33000000
				romMappingButtonBrush1 = 6f000000
				romMappingButtonBrush2 = 33000000
				romMappingBackgroundAlign = Stretch and Lose Aspect
				romMappingMenuFlagWidth = 40
				romMappingMenuFlagSeparation = 5
				romMappingDefaultMenuList = FullList
				romMappingSingleFilteredRomAutomaticLaunch = false
				skipchecks = false
				romMatchExt = true
				blockInputTime = 0
				blockInputFile =
				errorLevelReporting = true
				logFile = H:\HyperLaunch.log
				logLabel := ["    INFO"," WARNING","   ERROR","  DEBUG1","  DEBUG2"]
				logLevel = 3
				logIncludeModule = true
				logIncludeFileProperties = true
				logShowCommandWindow = false
				logCommandWindow = false
				sysLang = English_United_States
				navUpKey = Up
				navDownKey = Down
				navLeftKey = Left
				navRightKey = Right
				navSelectKey = Enter
				navP2UpKey = Numpad8
				navP2DownKey = Numpad2
				navP2LeftKey = Numpad4
				navP2RightKey = Numpad6
				navP2SelectKey = NumpadEnter
				originalWidth = 1280
				originalHeight = 1024
				dtEnabled = true
				dtPath = C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe
				dtUseSCSI = true
				dtAddDrive = true
				emuIdleShutdown = 0
				hideCursor = true
				hideEmu = true
				hideFE = false
				fadeIn = false
				fadeInDuration = 500
				fadeInTransitionAnimation = DefaultAnimateFadeIn
				fadeInDelay = 0
				fadeInExitDelay = 0
				fadeOutExitDelay = 0
				fadeOut = false
				fadeOutExtraScreen = false
				fadeOutDuration = 500
				fadeOutTransitionAnimation = DefaultAnimateFadeOut
				fadeOutDelay = 0
				fadeLyrInterpolation = 0
				fadeLyr1Color = FF000000
				fadeLyr1AlignImage = Align to Top Left
				fadeLyr2Pos = Bottom Right Corner
				fadeLyr2X = 300
				fadeLyr2Y = 300
				fadeLyr2Adjust = 1
				fadeLyr2PicPad = 0
				fadeLyr3Pos = Center
				fadeLyr3X = 300
				fadeLyr3Y = 300
				fadeLyr3Adjust = 0.75
				fadeLyr3Speed = 750
				fadeLyr3Animation = DefaultFadeAnimation
				fadeLyr37zAnimation = DefaultFadeAnimation
				fadeLyr3Type = imageandbar
				fadeLyr3ImgFollow7zProgress = true
				fadeLyr3Repeat = 1
				fadeLyr3PicPad = 0
				fadeLyr4Adjust = 0.75
				fadeLyr4X = 100
				fadeLyr4Y = 100
				fadeLyr4Pos = Above Layer 3 - Left
				fadeLyr4FPS = 10
				fadeLyr4PicPad = 0
				fadeTranspGifColor = FFFFFF
				fadeBarWindow = false
				fadeBarWindowX =
				fadeBarWindowY =
				fadeBarWindowW = 600
				fadeBarWindowH = 120
				fadeBarWindowR = 20
				fadeBarWindowM = 20
				fadeBarWindowHatchStyle = 8
				fadeBarBack = true
				fadeBarBackColor = FF555555
				fadeBarH = 20
				fadeBarR = 5
				fadeBarColor = DD00BFFF
				fadeBarHatchStyle = 3
				fadeBarPercentageText = true
				fadeBarInfoText = true
				fadeBarXOffset = 0
				fadeBarYOffset = 100
				fadeRomInfoDescription = text
				fadeRomInfoSystemName = text
				fadeRomInfoYear = text
				fadeRomInfoManufacturer = text
				fadeRomInfoGenre = text
				fadeRomInfoRating = text
				fadeRomInfoOrder = Description|SystemName|Year|Manufacturer|Genre|Rating
				fadeRomInfoTextPlacement = topRight
				fadeRomInfoTextMargin = 5
				fadeRomInfoText1Options = cFF555555 r4 s20 Bold
				fadeRomInfoText2Options = cFF555555 r4 s20 Bold
				fadeRomInfoText3Options = cFF555555 r4 s20 Bold
				fadeRomInfoText4Options = cFF555555 r4 s20 Bold
				fadeRomInfoText5Options = cFF555555 r4 s20 Bold
				fadeRomInfoText6Options = cFF555555 r4 s20 Bold
				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 = topLeft
				fadeStatsInfoTextMargin = 5
				fadeStatsInfoText1Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText2Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText3Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText4Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText5Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText6Options = cFF555555 r4 s20 Bold
				fadeText1X = 0
				fadeText1Y = 0
				fadeText1Options = cFFFFFFFF r4 s20 Right Bold
				fadeText1 = Loading Game
				fadeText2X = 0
				fadeText2Y = 0
				fadeText2Options = cFFFFFFFF r4 s20 Right Bold
				fadeText2 = Extraction Complete
				fadeFont = Arial
				fadeSystemAndRomLayersOnly = false
				fadeInterruptKey =
				detectFadeErrorEnabled = true
				fadeImgPath = H:\Media\Fade
				HLDataPath = H:\Data
				HLMediaPath = H:\Media
				HLErrSoundPath = H:\Media\Sounds\Error
				modulesPath = H:\Modules
				moduleFullName = H:\Modules\PCLauncher\PCLauncher.ahk
				moduleName = PCLauncher
				modulePath = H:\Modules\PCLauncher
				moduleExtension = ahk
				moduleExtensionsPath = H:\Module Extensions
				libPath = H:\Lib
				7zEnabled = false
				7zPath = H:\Module Extensions\7z.exe
				7zDllPath = H:\Module Extensions\7z.dll
				7zExtractPath = H:\New folder
				7zExtractPathOrig =
				7zAttachSystemName = false
				7zDelTemp = true
				7zSounds = true
				7zFormats = .zip,.rar,.7z,.lzh,.gzip,.tar
				7zFormatsNoP = zip,rar,7z,lzh,gzip,tar
				mgEnabled = false
				mgKey = ~NumpadSub
				mgBackgroundColor = FF000000
				mgSidePadding = 0.2
				mgYOffset = 500
				mgImageAdjust = 0
				mgFont = Arial
				mgText1Options = x10p y30p w80p Center cBBFFFFFF r4 s100 BoldItalic
				mgText1Text = Please select a game
				mgText2Options = w96p cFFFFFFFF r4 s50 Center BoldItalic
				mgText2Offset = 70
				mgUseSound = true
				mgSoundfreq = 300
				mgExitEffect = none
				mgSelectedEffect = rotate
				mgUseGameArt = false
				mgArtworkDir = Artwork1
				hpEnabled = false
				hpKey = ~NumpadAdd
				hpBackToMenuBarKey = X
				hpZoomInKey = C
				hpZoomOutKey = V
				hpScreenshotKey = ~PrintScreen
				hpHiToTextPath = H:\Module Extensions\HiToText.exe
				hpSaveStateKeyCodes =
				hpLoadStateKeyCodes =
				keymapperEnabled = false
				keymapperAHKMethod = false
				keymapper =
				xpadderFullPath = H:\Utilities\Xpadder\xpadder.exe
				joyToKeyFullPath = H:\Utilities\JoyToKey\JoyToKey.exe
				keymapperProfilePath = H:\Profiles\
				keymapperFrontEndProfileName = HyperSpin
				keymapperFrontEndProfile = false
				keymapperHyperLaunchProfileEnabled = false
				JoyIDsEnabled = false
				JoyIDsPreferredControllersSystem = use_global
				JoyIDsPreferredControllersGlobal = use_global
				CustomJoyNamesEnabled = false
				CustomJoyNames =
				FEProfile = H:\Profiles\\HyperSpin
				defaultProfile = H:\Profiles\\_Default
				systemProfile = H:\Profiles\\PC Games
				xPadderSystemProfile = H:\Profiles\\PC Games\_Default
				emuProfile = H:\Profiles\\PC Games\PCLauncher
				romProfile = H:\Profiles\\PC Games\Danmaku Unlimited 2
				HyperLaunchProfile = H:\Profiles\\HyperLaunch
				blankProfile = H:\Profiles\\blank
				ahkFEProfile = H:\Profiles\AHK\HyperSpin
				ahkDefaultProfile = H:\Profiles\AHK\_Default
				ahkSystemProfile = H:\Profiles\AHK\PC Games
				ahkEmuProfile = H:\Profiles\AHK\PC Games\PCLauncher
				ahkRomProfile = H:\Profiles\AHK\PC Games\Danmaku Unlimited 2
				ahkHyperLaunchProfile = H:\Profiles\AHK\HyperLaunch
				bezelEnabled = false
				statisticsEnabled = true

10:49:39:479 | HL |     INFO  | +0     | BuildScript - Loaded XHotkey Init.ahk scripts
10:49:39:479 | HL |     INFO  | +0     | BuildScript - Loaded Statistics Init.ahk scripts
10:49:39:482 | HL |     INFO  | +0     | BuildScript - Module:
				MEmu = PCLauncher
				MEmuV =  N/A
				MURL = https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher
				MAuthor = djvj
				MVersion = 2.1.1
				MCRC = E0BD831D
				iCRC = 987FA370
				mId = 635243126483565041
				MSystem = "Fan Remakes","Games for Windows","Microsoft Windows","PCLauncher","PC Games","Steam","Steam Big Picture","Taito Type X","Touhou"
				;----------------------------------------------------------------------------
				; 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 comments at the top of ini for the definitions of each key.
				; For informaion on how to use this module and what all the settings do, please see https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher
				;----------------------------------------------------------------------------
				StartModule()

				If (romExtensions != "")
					ScriptError("PCLauncher does not use extensions, but you have them set to: """ . romExtensions . """. Please remove all extensions from the PCLauncher emulator in HyperLaunchHQ to continue using it.")

				FadeInStart()

				IfExist, % modulePath . "\" . systemName . ".ini"	; use a custom systemName ini if it exists
					settingsFile := modulePath . "\" . systemName . ".ini"
				Else
					settingsFile := CheckFile(modulePath . "\" . moduleName . ".ini", "Could not find """ . modulePath . "\" . moduleName . ".ini"". HyperLaunchHQ will create this file when you configure your first game to be used with this " . MEmu . " module.")

				iniLookup = SteamID|Application|AppWaitExe|DiscImage|Parameters|OriginGame|WorkingFolder|PreLaunch|PreLaunchParameters|PreLaunchSleep|PostLaunch|PostLaunchParameters|PostLaunchSleep|PostExit|PostExitParameters|PostExitSleep|ExitMethod|FadeTitle|FadeInExitSleep|HideCursor
				Loop, Parse, iniLookup, |
				{	%A_LoopField% := IniReadCheck(settingsFile, dbName, A_LoopField, A_Space,,1)
					If A_LoopField in Application
						If (!Application && !SteamID) { ; Create keys if they do not exist in the ini and this is not a steam game
							IniWrite, %A_Space%, %SettingsFile%, %dbName%, %A_LoopField%
							missingKeys = 1
						}
				}
				hideCursor := IniReadCheck(settingsFile, "Settings|" . dbName, "HideCursor",,,1)

				If (missingKeys && !SteamID)
					ScriptError("You have not set up " . dbName . " in HLHQ yet, so PCLauncher does not know what exe, FadeTitle, and/or SteamID to watch for.")

				; If Application needs a cd/dvd image in the drive, mount it in DT first
				If DiscImage {
					Log("PCLauncher - Application is a Disc Image, mounting it in DT")
					appIsImage=1
					DiscImage := GetFullName(DiscImage)	; convert a relative path defined in the PCLauncher ini to absolute
					CheckFile(DiscImage,"Cannot find this DiscImage for " . dbName . ":`n" . DiscImage)
					SplitPath,DiscImage,,ImagePath,ImageExt,ImageName
					If ImageExt in mds,mdx,b5t,b6t,bwt,ccd,cue,isz,nrg,cdi,iso,ape,flac
					{	DaemonTools("get")	; get the dtDriveLetter
						DaemonTools("mount",ImagePath . "\" . ImageName . "." . ImageExt)
					} 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 hideCursor = true
					SystemCursor("Off")

				If PreLaunch {
					Log("PCLauncher - PreLaunch set by user, running: " . PreLaunch)
					PreLaunchParameters := If (!PreLaunchParameters or PreLaunchParameters="ERROR" ) ? "" : PreLaunchParameters
					errLevel := Run(If preLSkip ? PreLaunch : """" . PreLaunchName . """ " . PreLaunchParameters, PreLaunchPath)
					If errLevel
						ScriptError("There was a problem launching your PreLaunch application. Please check it is a valid executable.")
					Sleep, %PreLaunchSleep%
				}

				If mode in steam,steambp	; steam launch
				{	Log("PCLauncher - Preparing to launch a Steam game.")
					RegRead, steamPath, HKLM, Software\Valve\Steam, InstallPath
					Log("PCLauncher - Steam install path: " . steamPath)
					steamExe := "Steam.exe"
					CheckFile(steamPath . "\" . steamExe)
					steamPID := Process("Exist", steamExe)
					curDHW := A_DetectHiddenWindows	; record current setting to be restored later
					DetectHiddenWindows, OFF	; this has to be off otherwise if steam is running it will falsely detect the Login window
					If (steamPID && (WinExist("Steam Login") != "0x0")) {	; if steam is running, but at the login window, we need to close it first, then rerun it with our login info
						Log("PCLauncher - Steam is already running and at the login window.")
						Gosub, SteamLogin
					} Else If !steamPID {	; if steam is not running at all, start it with our login info
						Log("PCLauncher - Steam is not running.")
						Gosub, SteamLaunch
					} Else {
						Log("PCLauncher - Steam is already running, using steam browser protocol to launch game.")
						If mode = steam
							Run("Start steam://rungameid/" . SteamID .  " " . Parameters)
						Else
							Run(Application .  " " . Parameters)
					}
					DetectHiddenWindows, %curDHW%	; restoring previous setting
				} Else If mode = origin		; origin launch
				{	Log("PCLauncher - Checking Origin status.")
					RegRead, originFullPath, HKLM, Software\origin, ClientPath
					Log("PCLauncher - Origin install path: " . originPath)
					CheckFile(originFullPath)
					SplitPath, originFullPath, originExe, originPath
					originLoginWindow := "Origin ahk_class QWidget"
					OriginPID := Process("Exist", originExe)
					If (OriginPID && (WinExist(originLoginWindow) != "0x0")) {	; if Origin is running, but at the login window, we need to close it first, then rerun it with our login info
						WinGet, orResize, Style, %originLoginWindow%
						If (orResize & 0x10000)	; testing if the window has WS_MAXIMIZEBOX, the only difference between the Origin Main Window and the Origin Login Window
							Log("PCLauncher - Origin is already running and logged in. Skipping login scripts and running game.")
						Else {
							Log("PCLauncher - Origin is already running and at the login window.")
							Gosub, OriginLogin
						}
					} Else If !OriginPID {	; if Origin is not running at all, start it with our login info
						Log("PCLauncher - Origin is not running.")
						Gosub, OriginLaunch
					} Else {
						Log("PCLauncher - Origin is already running and looks to be logged in as no login window was detected.")
					}
					errLevel := Run(ApplicationName . " " . Parameters, ApplicationPath,, AppPID)
					If errLevel
						ScriptError("There was a problem launching your Application. Please check it is a valid executable.")
				} Else {
					If mode = url
					{	Log("PCLauncher - Launching URL.")
						errLevel := Run(Application)
					} Else {	; standard launch
						Log("PCLauncher - Launching a standard application.")
						errLevel := Run("""" . (If WorkingFolder ? ApplicationPath . "\" : "") . ApplicationName . """ " . Parameters, If WorkingFolder ? WorkingFolder : ApplicationPath,, AppPID)
					}
					If errLevel
						ScriptError("There was a problem launching your " . (If appIsImage ? "ImageExe" : "Application") . ". Please check it is a valid executable.")
				}

				If PostLaunch {
					Log("PCLauncher - PostLaunch set by user, running: " . PostLaunch)
					PostLaunchParameters := If (!PostLaunchParameters or PostLaunchParameters="ERROR" ) ? "" : PostLaunchParameters
					errLevel := Run(If postLSkip ? PostLaunch : """" . PostLaunchName . """ " . PostLaunchParameters, PostLaunchPath)
					If errLevel
						ScriptError("There was a problem launching your PostLaunch application. Please check it is a valid executable.")
					Sleep, %PostLaunchSleep%
				}

				If FadeTitle {
					Log("PCLauncher - FadeTitle set by user, waiting for """ . FadeTitle . """")
					WinWait(FadeTitle)
					WinWaitActive(FadeTitle)
				} Else If AppWaitExe {
					Log("PCLauncher - FadeTitle not set by user, but AppWaitExe is. Waiting for AppWaitExe: " . AppWaitExe)
					AppWaitPID := Process("Wait", AppWaitExe, 15)
					If AppWaitPID = 0
						ScriptError("PCLauncher - There was an error getting the Process ID from your AppWaitExe for """ . dbName . """. Please try setting a FadeTitle instead.")
				} Else If SteamIDExe {
					Log("PCLauncher - FadeTitle and AppWaitExe not set by user, but SteamIDExe was found. Waiting for SteamIDExe: " . SteamIDExe)
					SteamIDPID := Process("Wait", SteamIDExe, 15)
					If SteamIDPID = 0
						ScriptError("PCLauncher - There was an error getting the Process ID from your SteamIDExe for """ . dbName . """. Please try setting a FadeTitle instead.")
				} Else If AppPID {
					Log("PCLauncher - FadeTitle and AppWaitExe not set by user, but an AppPID was found. Waiting for AppPID: " . AppPID)
					WinWait("ahk_pid " . AppPID)
					WinWaitActive("ahk_pid " . AppPID)
				} Else
					Log("PCLauncher - FadeTitle and AppWaitExe not set by user and no AppPID found from an Application, PCLauncher has nothing to wait for",3)

				Sleep, %FadeInExitSleep%	; PCLauncher setting for some stubborn games that keeps the fadeIn screen up a little longer
				FadeInExit()

				If AppWaitExe {
					SplitPath,AppWaitExe,AppWaitExe	; In case someone set this as a path accidentally, only want the filename from this key
					Log("PCLauncher - Waiting for AppWaitExe """ . AppWaitExe . """ to close.")
					Process("WaitClose", AppWaitExe)
				} Else If FadeTitle {	; If fadeTitle is set and no appPID was created.
					Log("PCLauncher - Waiting for FadeTitle """ . FadeTitle . """ to close.")
					WinWaitClose(FadeTitle)
				} Else If SteamIDExe {
					Log("PCLauncher - Waiting for SteamIDExe """ . SteamIDExe . """ to close.")
					Process("WaitClose", SteamIDExe)
				} Else If AppPID {
					Log("PCLauncher - Waiting for AppPID """ . AppPID . """ to close.")
					Process("WaitClose", AppPID)
				} 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 {
					Log("PCLauncher - PostExit set by user, running: " . PostExit)
					PostExitParameters := If (!PostExitParameters or PostExitParameters="ERROR" ) ? "" : PostExitParameters
					errLevel := Run(If postESkip ? PostExit : """" . PostExitName . """ " . PostExitParameters, PostExitPath)
					If errLevel
						ScriptError("There was a problem launching your PostExit application. Please check it is a valid executable.")
					Sleep, %PostExitSleep%
				}

				; If Application is a cd/dvd image, unmount it in DT
				If appIsImage
					DaemonTools("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 AppPID = 0
					; Run, Steam.exe -shutdown, %SteamPath%	; close steam

				If hideCursor = true
					SystemCursor("On")

				FadeOutExit()
				ExitModule()


				CheckSettings() {
					Global Application,ApplicationPath,ApplicationName,ApplicationExt
					Global PreLaunch,PreLaunchPath,PreLaunchName,PreLaunchExt
					Global PostLaunch,PostLaunchPath,PostLaunchName,PostLaunchExt
					Global PostExit,PostExitPath,PostExitName,PostExitExt
					Global moduleName,appIsImage,dtDriveLetter,SteamID,OriginGame,mode,preLSkip,postLSkip,postESkip,AppWaitExe,SteamIDExe,FadeTitle
					Global modulePath,fadeIn,k0,k1,k2,k3
					Log("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
						Log("PCLauncher - SteamID is set, setting mode to: """ . mode . """")
					} Else If (SubStr(Application,1,3) = "ste") {
						mode = steambp	; setting module to use Steam Browser Protocol mode
						Log("PCLauncher - Application is a Steam Browser Protocol, setting mode to: """ . mode . """")
					} Else If (SubStr(Application,1,4) = "http") {
						mode = url	; setting module to use url mode
						Log("PCLauncher - Application is a URL, setting mode to: """ . mode . """")
					} Else If OriginGame {
						mode = origin	; setting module to use Origin mode
						Application := GetFullName(Application)	; convert a relative path defined in the PCLauncher ini to absolute
						SplitPath,Application,ApplicationName,ApplicationPath,ApplicationExt
						StringRight, ApplicationBackSlash, Application, 1
						Log("PCLauncher - Origin mode enabled. Will log in to Origin if required.")
					} Else If Application {
						mode = standard	; for standard launching
						Application := GetFullName(Application)	; convert a relative path defined in the PCLauncher ini to absolute
						SplitPath,Application,ApplicationName,ApplicationPath,ApplicationExt
						StringRight, ApplicationBackSlash, Application, 1
						Log("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
						ScriptError("You are trying to use Steam and 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 := CheckFile(modulePath . "\SteamIDs.ini")
						If !SteamID
							SplitPath, Application,SteamID ; grab the
						SteamIDExe := IniReadCheck(SteamIDFile, SteamID, "exe","",,1)
						If !SteamIDExe
							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
							Log("PCLauncher - Found an exe in the SteamIDs.ini for this game: """ . 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)

					preLSkip := If (SubStr(PreLaunch,1,4)="http" || SubStr(PreLaunch,1,3)="ste") ? 1:""
					If preLSkip
						Log("PCLauncher - PreLaunch is a URL or Steam Browser Protocol: " . PreLaunch)
					postLSkip := If (SubStr(PostLaunch,1,4)="http" || SubStr(PostLaunch,1,3)="ste") ? 1:""
					If postLSkip
						Log("PCLauncher - PostLaunch is a URL or Steam Browser Protocol: " . PostLaunch)
					postESkip := If (SubStr(PostExit,1,4)="http" || SubStr(PostExit,1,3)="ste") ? 1:""
					If postESkip
						Log("PCLauncher - PostExit is a URL or Steam Browser Protocol: " . PostExit)

					If (ApplicationBackSlash = "\")
						ScriptError("Please make sure your Application does not contain a backslash on the end:`n" . Application)
					If (appIsImage && !ApplicationPath)	; 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
						ApplicationPath := dtDriveLetter . ":\"
					If (!ApplicationName && mode = "standard" && (mode != "steam" || mode != "steambp"))
						ScriptError("Missing filename on the end of your Application in " . moduleName . ".ini:`n" . Application)
					If (!ApplicationExt && mode = "standard" && (mode != "steam" || mode != "steambp"))
						ScriptError("Missing extension on your Application in " . moduleName . ".ini:`n" . Application)
					If (PreLaunch && !preLSkip) {
						PreLaunch := GetFullName(PreLaunch)
						SplitPath,PreLaunch,PreLaunchName,PreLaunchPath,PreLaunchExt
						StringRight, PreLaunchBackSlash, PreLaunch, 1
						CheckFile(PreLaunch,"Cannot find this PreLaunch application:`n" . PreLaunch)
						If (PreLaunchBackSlash = "\")
							ScriptError("Please make sure your PreLaunch does not contain a backslash on the end:`n" . PreLaunch)
					}
					If (PostLaunch && !postLSkip) {
						PostLaunch := GetFullName(PostLaunch)
						SplitPath,PostLaunch,PostLaunchName,PostLaunchPath,PostLaunchExt
						StringRight, PostLaunchBackSlash, PostLaunch, 1
						CheckFile(PostLaunch,"Cannot find this PostLaunch application:`n" . PostLaunch)
						If (PostLaunchBackSlash = "\")
							ScriptError("Please make sure your PostLaunch does not contain a backslash on the end:`n" . PostLaunch)
					}
					If (PostExit && !postESkip) {
						PostExit := GetFullName(PostExit)
						SplitPath,PostExit,PostExitName,PostExitPath,PostExitExt
						StringRight, PostExitBackSlash, PostExit, 1
						CheckFile(PostExit,"Cannot find this PostExit application:`n" . PostExit)
						If (PostExitBackSlash = "\")
							ScriptError("Please make sure your PostExit does not contain a backslash on the end:`n" . PostExit)
					}
					If mode = standard
						CheckFile(ApplicationPath . "\" . ApplicationName,"Cannot find this Application:`n" . ApplicationPath . "\" . ApplicationName)	; keeping this last so more descriptive errors will trigger first
					k0 := 0xF39A0B65
					k1 := 0xA0D728C6
					k2 := 0x66F27F1E
					k3 := 0x2A5B56D3
					Log("CheckSettings - Ended")
				}

				ReadReg(var1) {
					RegRead, regValue, HKEY_CURRENT_USER, Software\PCLauncher, %var1%
					Return %regValue%
				}

				Decrypt(T,key)                   ; Text, key-name
				{
				   Local p, i, L, u, v, k5, a, c

				   StringLeft p, T, 8
				   If p is not xdigit            ; if no IV: Error
				   {
				      ErrorLevel = 1
				      Return
				   }
				   StringTrimLeft T, T, 8        ; remove IV from text (no separator)
				   k5 = 0x%p%                    ; set new IV
				   p = 0                         ; counter to be Encrypted
				   i = 9                         ; pad-index, force restart
				   L =                           ; processed text
				   k0 := %key%0
				   k1 := %key%1
				   k2 := %key%2
				   k3 := %key%3
				   Loop % StrLen(T)
				   {
				      i++
				      IfGreater i,8, {           ; all 9 pad values exhausted
				         u := p
				         v := k5                 ; IV
				         p++                     ; increment counter
				         TEA(u,v, k0,k1,k2,k3)
				         Stream9(u,v)            ; 9 pads from Encrypted counter
				         i = 0
				      }
				      StringMid c, T, A_Index, 1
				      a := Asc(c)
				      if a between 32 and 126
				      {                          ; chars > 126 or < 31 unchanged
				         a -= s%i%
				         IfLess a, 32, SetEnv, a, % a+95
				         c := Chr(a)
				      }
				      L = %L%%c%                 ; attach Encrypted character
				   }
				   Return L
				}

				TEA(ByRef y,ByRef z,k0,k1,k2,k3) ; (y,z) = 64-bit I/0 block
				{                                ; (k0,k1,k2,k3) = 128-bit key
				   IntFormat = %A_FormatInteger%
				   SetFormat Integer, D          ; needed for decimal indices
				   s := 0
				   d := 0x9E3779B9
				   Loop 32
				   {
				      k := "k" . s & 3           ; indexing the key
				      y := 0xFFFFFFFF & (y + ((z << 4 ^ z >> 5) + z  ^  s + %k%))
				      s := 0xFFFFFFFF & (s + d)  ; simulate 32 bit operations
				      k := "k" . s >> 11 & 3
				      z := 0xFFFFFFFF & (z + ((y << 4 ^ y >> 5) + y  ^  s + %k%))
				   }
				   SetFormat Integer, %IntFormat%
				   y += 0
				   z += 0                        ; Convert to original ineger format
				}

				Stream9(x,y)                     ; Convert 2 32-bit words to 9 pad values
				{                                ; 0 <= s0, s1, ... s8 <= 94
				   Local z                       ; makes all s%i% global
				   s0 := Floor(x*0.000000022118911147) ; 95/2**32
				   Loop 8
				   {
				      z := (y << 25) + (x >> 7) & 0xFFFFFFFF
				      y := (x << 25) + (y >> 7) & 0xFFFFFFFF
				      x  = %z%
				      s%A_Index% := Floor(x*0.000000022118911147)
				   }
				}

				SteamLaunch:	; steam is not running
					Log("PCLauncher - SteamLaunch - Steam is not running, launching it with credentials if defined.")
					sU := Decrypt(ReadReg("sU"),"k")
					sP := Decrypt(ReadReg("sP"),"k")
					If (!sU || !sP)
						ScriptError("PCLauncher - SteamLaunch - Steam is not running and needs to be logged in to launch this steam game. PCLauncher can do this, but you need to run ""EncryptPasswords"" application in your PCLauncher module folder first and set your login credentials.")
					Run(SteamExe . " " . (If sU && sP ? "-login " . sU . " " . sP:"") . " " . (If SteamID ? "-applaunch " . SteamID : Application) . " " . Parameters, steamPath,,steamPID)	; if SteamID is defined, launch that, otherwise use the application in the CLI (Usually this is for BPM mode)
					erLvl := WinWait("Steam",,15, "Steam Login")	; wait 15 seconds until the main steam window exists (not the login one)
					If erLvl	; if we simply timed out, some other problem happened
						ScriptError("PCLauncher - SteamLaunch - Timed out waiting 15 seconds for Steam's Login window. Please try again.")
					Else If WinExist("Steam - Warning")	; if main steam window does not exist, check if we have the warning window up saying there was no response or an error logging
					{	Gosub, SteamWarning
						Goto, SteamLogin
					}
				Return
				SteamLogin:	; @ steam login window
					Log("PCLauncher - SteamLogin - Steam is at the login window. Closing Steam to try logging in with your credentials if defined",3)
					Process("Close", steamExe)
					Process("WaitClose", steamExe)
					Sleep, 200	; give some extra time before launching again
					Goto, SteamLaunch
				Return
				SteamWarning:	; @ steam warning window (when login fails to connect)
					Log("PCLauncher - SteamWarning - Steam had a problem logging in, servers may be down or credentials may be wrong",3)
					steamWarning ++
					If steamWarning >= 3
					{	Process("Close", steamExe)
						ScriptError("PCLauncher - SteamWarning - Could not log into steam after 3 tries, exiting back to your Front End.")
					}
					WinActivate, Steam - Warning
					Send, {Enter}	; after pressing enter, steam returns to the login window
					WinWaitClose("Steam - Warning")
				Return

				OriginLaunch:	; Origin is not running
					Log("PCLauncher - OriginLaunch - Origin is not running, launching it and then filling credentials if defined.")
					oU := Decrypt(ReadReg("oU"),"k")
					oP := Decrypt(ReadReg("oP"),"k")
					If (!oU || !oP)
						ScriptError("PCLauncher - OriginLaunch - Origin is not running and needs to be logged in to launch this Origin game. PCLauncher can do this, but you need to run ""EncryptPasswords"" application in your PCLauncher module folder first and set your login credentials.")
					Run(originExe . " " . Parameters, originPath,,OriginPID)
					erLvl := WinWait(originLoginWindow,,15)	; wait 15 seconds until the Origin Login window exists
					If erLvl	; if we simply timed out, some other problem happened
						ScriptError("PCLauncher - OriginLaunch - Timed out waiting 15 seconds for Origin's Login window. Please try again.")
					Else If WinExist(originLoginWindow)	; If Origin Login window exists
					{	;WinSet, Transparent, On, %originLoginWindow%
						WinGet, orHwnd, ID, %originLoginWindow%	; get the hwnd of the login window
						CheckFile(moduleExtensionsPath . "\BlockInput.exe", "Cannot find the module extension ""BlockInput.exe"". It is required to automate the Origin login process: " . moduleExtensionsPath . "\BlockInput.exe")
						Log("PCLauncher - OriginLaunch - Blocking all Input for 20 seconds while Origin is logged in for you.",4)
						Run("BlockInput.exe 20", moduleExtensionsPath)	; start the tool that blocks all input so user cannot interrupt the login process for 20 seconds
						Sleep, 3000	; have to wait some time for origin window to appear and be usable. Unforunately there is no programatic way to detect this so giving extra sleep time to be safe.
						SetKeyDelay,10,100	; The only delay that worked 100% of the time with pasting shifted keys into Origin's boxes. If there is ever a problem with credentials not correct, this may need to be adjusted
						Log("PCLauncher - OriginLaunch - Activating the Origin Login window.",4)
						WinActivate, %originLoginWindow%
						ControlSend,,{Tab 2}%oU%{Tab}%oP%{Enter}, %originLoginWindow%
						Log("PCLauncher - OriginLaunch - Finished logging into Origin.",4)
						Process("Close", "BlockInput.exe")	; end script that blocks all input
					} Else
						ScriptError("PCLauncher - OriginLaunch - Unhandled Origin Scenario. Please report this and post the log and what you did to make this happen.")
					erLvl := WinWaitClose("ahk_id " . orHwnd,,15)	; wait some time for Origin to login and window to disappear
					If erLvl	; if we simply timed out, some other problem happened
						ScriptError("PCLauncher - OriginLaunch - Timed out waiting 15 seconds for Origin's Login window to close. There was a problem logging in. Please try again or check your credentials.")
					SetTimer, OriginHide, 100	; Start a timer to destroy ads that may popup after logging in
				Return
				OriginLogin:	; @ Origin login window
					Log("PCLauncher - OriginLogin - Origin is at the login window. Trying to login with your credentials if defined")
					OriginPID := Process("Exist", originExe)
					If OriginPID {
						Process("Close", originExe)
						Process("WaitClose", originExe)
						Sleep, 200	; give some extra time before launching again
					}
					Goto, OriginLaunch
				Return
				OriginHide:
					If WinExist("Featured ahk_class QWidget")	; Close Origin ads that pop up
						WinClose("Featured ahk_class QWidget")
				Return

				CloseProcess:
					If ExitMethod ; fadeout will only take effect if an ExitMethod method was set, otherwise fade will occur and application will not close
						FadeOutStart()
					If ( ExitMethod = "Process Close AppWaitExe" && AppWaitExe) {
						Log("CloseProcess - ExitMethod is ""Process Close AppWaitExe""")
						Process("Close", AppWaitExe)
					} Else If ( ExitMethod = "WinClose AppWaitExe" && AppWaitExe) {
						Log("CloseProcess - ExitMethod is ""WinClose AppWaitExe""")
						AppWaitExePID := Process("Exist", AppWaitExe)
						WinClose("ahk_pid " . AppWaitExePID)
					} Else If ( ExitMethod = "Process Close Application" ) {
						Log("CloseProcess - ExitMethod is ""Process Close Application""")
						Process("Close", ApplicationName)
					} Else If ( ExitMethod = "WinClose Application" && FadeTitle ) {
						Log("CloseProcess - ExitMethod is ""WinClose Close Application""")
						WinClose(FadeTitle)
					} Else If ( ExitMethod = "Send Alt+F4" ) {
						Log("CloseProcess - ExitMethod is ""Send Alt+F4""")
						Send, !{F4}
					} Else {
						Log("CloseProcess - Default ExitMethod`, using ""WinClose""")
						WinClose(ApplicationName)
					}
				Return

10:49:39:482 | HL |     INFO  | +0     | CheckFile - Checking if C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe exists
10:49:39:488 | HL |     INFO  | +16    | BuildScript - Loaded Statistics.ahk script
10:49:39:488 | HL |     INFO  | +0     | BuildScript - Finished injecting functions into module
10:49:39:488 | HL |     INFO  | +0     | Main - Module is built
10:49:39:488 | HL |     INFO  | +0     | CheckFile - Checking if H:\AutoHotkey.dll exists
10:49:39:490 | HL |     INFO  | +0     | Main - Hiding taskbar
10:49:39:707 | HL |     INFO  | +218   | Main - Hiding desktop
10:49:39:707 | HL |     INFO  | +0     | Main - Running module
10:49:39:832 | MD |     INFO  | +N/A   | Module initialized
10:49:39:832 | MD |     INFO  | +0     | StartModule - Started
10:49:39:832 | MD |     INFO  | +0     | StartModule - MEmu: PCLauncher
				MEmuV: N/A
				MURL: https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher
				MAuthor: djvj
				MVersion: 2.1.1
				MCRC: E0BD831D
				iCRC: 987FA370
				MID:
				MSystem: "Fan Remakes","Games for Windows","Microsoft Windows","PCLauncher","PC Games","Steam","Steam Big Picture","Taito Type X","Touhou"
10:49:39:832 | MD |     INFO  | +0     | StartModule - You have a supported System Name for this module: "PC Games"
10:49:39:832 | MD |     INFO  | +0     | StartModule - Ended
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - SteamID:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - Application: .\Emulators\PC Games\Danmaku Unlimited 2\Danmaku Unlimited 2.exe
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - AppWaitExe: Danmaku Unlimited 2.exe
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - DiscImage:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - Parameters:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - OriginGame: false
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - WorkingFolder: .\Emulators\PC Games\Danmaku Unlimited 2
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PreLaunch:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PreLaunchParameters:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PreLaunchSleep:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostLaunch:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostLaunchParameters:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostLaunchSleep:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostExit:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostExitParameters:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostExitSleep:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - ExitMethod:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - FadeTitle:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - FadeInExitSleep:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - HideCursor:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [settings] - HideCursor:
10:49:39:832 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - HideCursor:
10:49:39:832 | MD |     INFO  | +0     | CheckSettings - Started
10:49:39:832 | MD |     INFO  | +0     | PCLauncher - Origin mode enabled. Will log in to Origin if required.
10:49:39:832 | MD |     INFO  | +0     | CheckSettings - Ended
10:49:39:832 | MD |     INFO  | +0     | PCLauncher - Checking Origin status.
10:49:39:832 | MD |     INFO  | +0     | PCLauncher - Origin install path:
10:49:39:832 | MD |     INFO  | +0     | CheckFile - Checking if  exists
10:49:51:267 | MD |    ERROR  | +11438 | Cannot find
10:49:51:267 | MD |     INFO  | +0     | ExitModule - Started
10:49:51:267 | MD |     INFO  | +0     | Starting Updating Statistics:
10:49:51:267 | MD |     INFO  | +0     | CreateRomTable - Started
10:49:51:267 | MD |     INFO  | +0     | CreateRomTable - Ended, 7 Loops to create table.
10:49:51:330 | MD |     INFO  | +62    | Game section statistics updated.
10:49:51:330 | MD |     INFO  | +0     | ExitModule - Ended
10:49:51:330 | MD |     INFO  | +0     | End of Module Logs
10:49:51:408 | HL |     INFO  | +11704 | Main - Module ended, exiting HyperLaunch normally
10:49:51:408 | HL |     INFO  | +0     | ExitScript - Started
10:49:51:626 | HL |     INFO  | +218   | SystemCursor - Restoring mouse cursor
10:49:51:642 | HL |     INFO  | +16    | ExitScript - Ended

Posted

;----------------------------------------------------------------------------

; INJECTED VARIABLES

;----------------------------------------------------------------------------

#NoTrayIcon

#InstallKeybdHook

DetectHiddenWindows, ON

SetTitleMatchMode, 2

SendMode, Event

0 = 0

hlMode =

frontendPID = 0

frontendPath = H:

frontendExe = HyperSpin.exe

frontendExt = exe

frontendName = HyperSpin

frontendDrive = H:

exitEmulatorKey = ~Esc

exitEmulatorKeyWait = 0

forceHoldKey = ~Esc

restoreFE = false

exitScriptKey = ~q & ~s

toggleCursorKey = ~e & ~t

emuFullPath =

emuPath =

emuName = PCLauncher

emuExt =

romPath = H:\Emulators\PC Games

romPathFromIni = H:\Emulators\PC Games

romExtension =

romExtensionOrig =

romExtensions =

executable =

systemName = PC Games

dbName = Danmaku Unlimited 2

romName =

romMapPath = H:\Settings\PC Games\Rom Mapping

romMappingEnabled = true

romMappingLaunchMenuEnabled = false

romMappingFirstMatchingExt = true

romMappingShowAllRomsInArchive = true

romMappingNumberOfWheelsByScreen = 7

romMappingMenuWidth = 300

romMappingMenuMargin = 50

romMappingTextFont = Bebas Neue

romMappingTextOptions = cFFFFFFFF r4 s40 Bold

romMappingDisabledTextColor = ff888888

romMappingTextSizeDifference = 5

romMappingTextMargin = 10

romMappingTitleTextFont = Bebas Neue

romMappingTitleTextOptions = cFFFFFFFF r4 s60 Bold

romMappingTitle2TextFont = Bebas Neue

romMappingTitle2TextOptions = cFFFFFFFF r4 s15 Bold

romMappingGameInfoTextFont = Bebas Neue

romMappingGameInfoTextOptions = cFFFFFFFF r4 s15 Regular

romMappingBackgroundBrush = aa000000

romMappingColumnBrush = 33000000

romMappingButtonBrush1 = 6f000000

romMappingButtonBrush2 = 33000000

romMappingBackgroundAlign = Stretch and Lose Aspect

romMappingMenuFlagWidth = 40

romMappingMenuFlagSeparation = 5

romMappingDefaultMenuList = FullList

romMappingSingleFilteredRomAutomaticLaunch = false

skipchecks = false

romMatchExt = true

blockInputTime = 0

blockInputFile =

errorLevelReporting = true

logFile = H:\HyperLaunch.log

logLabel := [" INFO"," WARNING"," ERROR"," DEBUG1"," DEBUG2"]

logLevel = 3

logIncludeModule = true

logIncludeFileProperties = true

logShowCommandWindow = false

logCommandWindow = false

sysLang = English_United_States

navUpKey = Up

navDownKey = Down

navLeftKey = Left

navRightKey = Right

navSelectKey = Enter

navP2UpKey = Numpad8

navP2DownKey = Numpad2

navP2LeftKey = Numpad4

navP2RightKey = Numpad6

navP2SelectKey = NumpadEnter

originalWidth = 1280

originalHeight = 1024

dtEnabled = true

dtPath = C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe

dtUseSCSI = true

dtAddDrive = true

emuIdleShutdown = 0

hideCursor = true

hideEmu = true

hideFE = false

fadeIn = false

fadeInDuration = 500

fadeInTransitionAnimation = DefaultAnimateFadeIn

fadeInDelay = 0

fadeInExitDelay = 0

fadeOutExitDelay = 0

fadeOut = false

fadeOutExtraScreen = false

fadeOutDuration = 500

fadeOutTransitionAnimation = DefaultAnimateFadeOut

fadeOutDelay = 0

fadeLyrInterpolation = 0

fadeLyr1Color = FF000000

fadeLyr1AlignImage = Align to Top Left

fadeLyr2Pos = Bottom Right Corner

fadeLyr2X = 300

fadeLyr2Y = 300

fadeLyr2Adjust = 1

fadeLyr2PicPad = 0

fadeLyr3Pos = Center

fadeLyr3X = 300

fadeLyr3Y = 300

fadeLyr3Adjust = 0.75

fadeLyr3Speed = 750

fadeLyr3Animation = DefaultFadeAnimation

fadeLyr37zAnimation = DefaultFadeAnimation

fadeLyr3Type = imageandbar

fadeLyr3ImgFollow7zProgress = true

fadeLyr3Repeat = 1

fadeLyr3PicPad = 0

fadeLyr4Adjust = 0.75

fadeLyr4X = 100

fadeLyr4Y = 100

fadeLyr4Pos = Above Layer 3 - Left

fadeLyr4FPS = 10

fadeLyr4PicPad = 0

fadeTranspGifColor = FFFFFF

fadeBarWindow = false

fadeBarWindowX =

fadeBarWindowY =

fadeBarWindowW = 600

fadeBarWindowH = 120

fadeBarWindowR = 20

fadeBarWindowM = 20

fadeBarWindowHatchStyle = 8

fadeBarBack = true

fadeBarBackColor = FF555555

fadeBarH = 20

fadeBarR = 5

fadeBarColor = DD00BFFF

fadeBarHatchStyle = 3

fadeBarPercentageText = true

fadeBarInfoText = true

fadeBarXOffset = 0

fadeBarYOffset = 100

fadeRomInfoDescription = text

fadeRomInfoSystemName = text

fadeRomInfoYear = text

fadeRomInfoManufacturer = text

fadeRomInfoGenre = text

fadeRomInfoRating = text

fadeRomInfoOrder = Description|SystemName|Year|Manufacturer|Genre|Rating

fadeRomInfoTextPlacement = topRight

fadeRomInfoTextMargin = 5

fadeRomInfoText1Options = cFF555555 r4 s20 Bold

fadeRomInfoText2Options = cFF555555 r4 s20 Bold

fadeRomInfoText3Options = cFF555555 r4 s20 Bold

fadeRomInfoText4Options = cFF555555 r4 s20 Bold

fadeRomInfoText5Options = cFF555555 r4 s20 Bold

fadeRomInfoText6Options = cFF555555 r4 s20 Bold

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 = topLeft

fadeStatsInfoTextMargin = 5

fadeStatsInfoText1Options = cFF555555 r4 s20 Bold

fadeStatsInfoText2Options = cFF555555 r4 s20 Bold

fadeStatsInfoText3Options = cFF555555 r4 s20 Bold

fadeStatsInfoText4Options = cFF555555 r4 s20 Bold

fadeStatsInfoText5Options = cFF555555 r4 s20 Bold

fadeStatsInfoText6Options = cFF555555 r4 s20 Bold

fadeText1X = 0

fadeText1Y = 0

fadeText1Options = cFFFFFFFF r4 s20 Right Bold

fadeText1 = Loading Game

fadeText2X = 0

fadeText2Y = 0

fadeText2Options = cFFFFFFFF r4 s20 Right Bold

fadeText2 = Extraction Complete

fadeFont = Arial

fadeSystemAndRomLayersOnly = false

fadeInterruptKey =

detectFadeErrorEnabled = true

fadeImgPath = H:\Media\Fade

HLDataPath = H:\Data

HLMediaPath = H:\Media

HLErrSoundPath = H:\Media\Sounds\Error

modulesPath = H:\Modules

moduleFullName = H:\Modules\PCLauncher\PCLauncher.ahk

moduleName = PCLauncher

modulePath = H:\Modules\PCLauncher

moduleExtension = ahk

moduleExtensionsPath = H:\Module Extensions

libPath = H:\Lib

7zEnabled = false

7zPath = H:\Module Extensions\7z.exe

7zDllPath = H:\Module Extensions\7z.dll

7zExtractPath = H:\New folder

7zExtractPathOrig =

7zAttachSystemName = false

7zDelTemp = true

7zSounds = true

7zFormats = .zip,.rar,.7z,.lzh,.gzip,.tar

7zFormatsNoP = zip,rar,7z,lzh,gzip,tar

mgEnabled = false

mgKey = ~NumpadSub

mgBackgroundColor = FF000000

mgSidePadding = 0.2

mgYOffset = 500

mgImageAdjust = 0

mgFont = Arial

mgText1Options = x10p y30p w80p Center cBBFFFFFF r4 s100 BoldItalic

mgText1Text = Please select a game

mgText2Options = w96p cFFFFFFFF r4 s50 Center BoldItalic

mgText2Offset = 70

mgUseSound = true

mgSoundfreq = 300

mgExitEffect = none

mgSelectedEffect = rotate

mgUseGameArt = false

mgArtworkDir = Artwork1

hpEnabled = false

hpKey = ~NumpadAdd

hpBackToMenuBarKey = X

hpZoomInKey = C

hpZoomOutKey = V

hpScreenshotKey = ~PrintScreen

hpHiToTextPath = H:\Module Extensions\HiToText.exe

hpSaveStateKeyCodes =

hpLoadStateKeyCodes =

keymapperEnabled = false

keymapperAHKMethod = false

keymapper =

xpadderFullPath = H:\Utilities\Xpadder\xpadder.exe

joyToKeyFullPath = H:\Utilities\JoyToKey\JoyToKey.exe

keymapperProfilePath = H:\Profiles\

keymapperFrontEndProfileName = HyperSpin

keymapperFrontEndProfile = false

keymapperHyperLaunchProfileEnabled = false

JoyIDsEnabled = false

JoyIDsPreferredControllersSystem = use_global

JoyIDsPreferredControllersGlobal = use_global

CustomJoyNamesEnabled = false

CustomJoyNames =

FEProfile = H:\Profiles\\HyperSpin

defaultProfile = H:\Profiles\\_Default

systemProfile = H:\Profiles\\PC Games

xPadderSystemProfile = H:\Profiles\\PC Games\_Default

emuProfile = H:\Profiles\\PC Games\PCLauncher

romProfile = H:\Profiles\\PC Games\Danmaku Unlimited 2

HyperLaunchProfile = H:\Profiles\\HyperLaunch

blankProfile = H:\Profiles\\blank

ahkFEProfile = H:\Profiles\AHK\HyperSpin

ahkDefaultProfile = H:\Profiles\AHK\_Default

ahkSystemProfile = H:\Profiles\AHK\PC Games

ahkEmuProfile = H:\Profiles\AHK\PC Games\PCLauncher

ahkRomProfile = H:\Profiles\AHK\PC Games\Danmaku Unlimited 2

ahkHyperLaunchProfile = H:\Profiles\AHK\HyperLaunch

bezelEnabled = false

statisticsEnabled = true

#Include, %A_ScriptDir%\Module Extensions

#Include, JSON.ahk

#EscapeChar `

#CommentFlag ;

romMapTableString := "{}"

StringReplace,romMapTableString, RomMapTableString, DBLQT, `", 1

StringReplace,romMapTableString, RomMapTableString, XNLX, `n, 1

romMapTable := JSON_from(romMapTableString)

Log("Module initialized",,,,1)

zz:=""

;----------------------------------------------------------------------------

; INITIAL HOTKEYS AND LIBRARIES

;----------------------------------------------------------------------------

#Include, %A_ScriptDir%\Lib

#Include, XHotkey Init.ahk

HyperLaunchDllFile=%moduleExtensionsPath%\HyperLaunch.dll

CLR_Start()

If !hModule := CLR_LoadLibrary(HyperLaunchDllFile)

ScriptError("Error loading the DLL:`n" . HyperLaunchDllFile)

If !HLObject := CLR_CreateObject(hModule,"HLUtil.HyperLaunchUtils")

ScriptError("Error creating object. There may be something wrong with the dll file:" . HyperLaunchDllFile)

If logLevel >= 4

COM_Invoke(HLObject, "setLogMode", "2")

#Include, %A_ScriptDir%\Lib

#Include, *i Statistics Init.ahk

;----------------------------------------------------------------------------

; MODULE SCRIPT

;----------------------------------------------------------------------------

MEmu = PCLauncher

MEmuV = N/A

MURL = https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher

MAuthor = djvj

MVersion = 2.1.1

MCRC = E0BD831D

iCRC = 987FA370

mId = 635243126483565041

MSystem = "Fan Remakes","Games for Windows","Microsoft Windows","PCLauncher","PC Games","Steam","Steam Big Picture","Taito Type X","Touhou"

;----------------------------------------------------------------------------

; 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 comments at the top of ini for the definitions of each key.

; For informaion on how to use this module and what all the settings do, please see https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher

;----------------------------------------------------------------------------

StartModule()

If (romExtensions != "")

ScriptError("PCLauncher does not use extensions, but you have them set to: """ . romExtensions . """. Please remove all extensions from the PCLauncher emulator in HyperLaunchHQ to continue using it.")

FadeInStart()

IfExist, % modulePath . "\" . systemName . ".ini" ; use a custom systemName ini if it exists

settingsFile := modulePath . "\" . systemName . ".ini"

Else

settingsFile := CheckFile(modulePath . "\" . moduleName . ".ini", "Could not find """ . modulePath . "\" . moduleName . ".ini"". HyperLaunchHQ will create this file when you configure your first game to be used with this " . MEmu . " module.")

iniLookup = SteamID|Application|AppWaitExe|DiscImage|Parameters|OriginGame|WorkingFolder|PreLaunch|PreLaunchParameters|PreLaunchSleep|PostLaunch|PostLaunchParameters|PostLaunchSleep|PostExit|PostExitParameters|PostExitSleep|ExitMethod|FadeTitle|FadeInExitSleep|HideCursor

Loop, Parse, iniLookup, |

{ %A_LoopField% := IniReadCheck(settingsFile, dbName, A_LoopField, A_Space,,1)

If A_LoopField in Application

If (!Application && !SteamID) { ; Create keys if they do not exist in the ini and this is not a steam game

IniWrite, %A_Space%, %SettingsFile%, %dbName%, %A_LoopField%

missingKeys = 1

}

}

hideCursor := IniReadCheck(settingsFile, "Settings|" . dbName, "HideCursor",,,1)

If (missingKeys && !SteamID)

ScriptError("You have not set up " . dbName . " in HLHQ yet, so PCLauncher does not know what exe, FadeTitle, and/or SteamID to watch for.")

; If Application needs a cd/dvd image in the drive, mount it in DT first

If DiscImage {

Log("PCLauncher - Application is a Disc Image, mounting it in DT")

appIsImage=1

DiscImage := GetFullName(DiscImage) ; convert a relative path defined in the PCLauncher ini to absolute

CheckFile(DiscImage,"Cannot find this DiscImage for " . dbName . ":`n" . DiscImage)

SplitPath,DiscImage,,ImagePath,ImageExt,ImageName

If ImageExt in mds,mdx,b5t,b6t,bwt,ccd,cue,isz,nrg,cdi,iso,ape,flac

{ DaemonTools("get") ; get the dtDriveLetter

DaemonTools("mount",ImagePath . "\" . ImageName . "." . ImageExt)

} 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 hideCursor = true

SystemCursor("Off")

If PreLaunch {

Log("PCLauncher - PreLaunch set by user, running: " . PreLaunch)

PreLaunchParameters := If (!PreLaunchParameters or PreLaunchParameters="ERROR" ) ? "" : PreLaunchParameters

errLevel := Run(If preLSkip ? PreLaunch : """" . PreLaunchName . """ " . PreLaunchParameters, PreLaunchPath)

If errLevel

ScriptError("There was a problem launching your PreLaunch application. Please check it is a valid executable.")

Sleep, %PreLaunchSleep%

}

If mode in steam,steambp ; steam launch

{ Log("PCLauncher - Preparing to launch a Steam game.")

RegRead, steamPath, HKLM, Software\Valve\Steam, InstallPath

Log("PCLauncher - Steam install path: " . steamPath)

steamExe := "Steam.exe"

CheckFile(steamPath . "\" . steamExe)

steamPID := Process("Exist", steamExe)

curDHW := A_DetectHiddenWindows ; record current setting to be restored later

DetectHiddenWindows, OFF ; this has to be off otherwise if steam is running it will falsely detect the Login window

If (steamPID && (WinExist("Steam Login") != "0x0")) { ; if steam is running, but at the login window, we need to close it first, then rerun it with our login info

Log("PCLauncher - Steam is already running and at the login window.")

Gosub, SteamLogin

} Else If !steamPID { ; if steam is not running at all, start it with our login info

Log("PCLauncher - Steam is not running.")

Gosub, SteamLaunch

} Else {

Log("PCLauncher - Steam is already running, using steam browser protocol to launch game.")

If mode = steam

Run("Start steam://rungameid/" . SteamID . " " . Parameters)

Else

Run(Application . " " . Parameters)

}

DetectHiddenWindows, %curDHW% ; restoring previous setting

} Else If mode = origin ; origin launch

{ Log("PCLauncher - Checking Origin status.")

RegRead, originFullPath, HKLM, Software\origin, ClientPath

Log("PCLauncher - Origin install path: " . originPath)

CheckFile(originFullPath)

SplitPath, originFullPath, originExe, originPath

originLoginWindow := "Origin ahk_class QWidget"

OriginPID := Process("Exist", originExe)

If (OriginPID && (WinExist(originLoginWindow) != "0x0")) { ; if Origin is running, but at the login window, we need to close it first, then rerun it with our login info

WinGet, orResize, Style, %originLoginWindow%

If (orResize & 0x10000) ; testing if the window has WS_MAXIMIZEBOX, the only difference between the Origin Main Window and the Origin Login Window

Log("PCLauncher - Origin is already running and logged in. Skipping login scripts and running game.")

Else {

Log("PCLauncher - Origin is already running and at the login window.")

Gosub, OriginLogin

}

} Else If !OriginPID { ; if Origin is not running at all, start it with our login info

Log("PCLauncher - Origin is not running.")

Gosub, OriginLaunch

} Else {

Log("PCLauncher - Origin is already running and looks to be logged in as no login window was detected.")

}

errLevel := Run(ApplicationName . " " . Parameters, ApplicationPath,, AppPID)

If errLevel

ScriptError("There was a problem launching your Application. Please check it is a valid executable.")

} Else {

If mode = url

{ Log("PCLauncher - Launching URL.")

errLevel := Run(Application)

} Else { ; standard launch

Log("PCLauncher - Launching a standard application.")

errLevel := Run("""" . (If WorkingFolder ? ApplicationPath . "\" : "") . ApplicationName . """ " . Parameters, If WorkingFolder ? WorkingFolder : ApplicationPath,, AppPID)

}

If errLevel

ScriptError("There was a problem launching your " . (If appIsImage ? "ImageExe" : "Application") . ". Please check it is a valid executable.")

}

If PostLaunch {

Log("PCLauncher - PostLaunch set by user, running: " . PostLaunch)

PostLaunchParameters := If (!PostLaunchParameters or PostLaunchParameters="ERROR" ) ? "" : PostLaunchParameters

errLevel := Run(If postLSkip ? PostLaunch : """" . PostLaunchName . """ " . PostLaunchParameters, PostLaunchPath)

If errLevel

ScriptError("There was a problem launching your PostLaunch application. Please check it is a valid executable.")

Sleep, %PostLaunchSleep%

}

If FadeTitle {

Log("PCLauncher - FadeTitle set by user, waiting for """ . FadeTitle . """")

WinWait(FadeTitle)

WinWaitActive(FadeTitle)

} Else If AppWaitExe {

Log("PCLauncher - FadeTitle not set by user, but AppWaitExe is. Waiting for AppWaitExe: " . AppWaitExe)

AppWaitPID := Process("Wait", AppWaitExe, 15)

If AppWaitPID = 0

ScriptError("PCLauncher - There was an error getting the Process ID from your AppWaitExe for """ . dbName . """. Please try setting a FadeTitle instead.")

} Else If SteamIDExe {

Log("PCLauncher - FadeTitle and AppWaitExe not set by user, but SteamIDExe was found. Waiting for SteamIDExe: " . SteamIDExe)

SteamIDPID := Process("Wait", SteamIDExe, 15)

If SteamIDPID = 0

ScriptError("PCLauncher - There was an error getting the Process ID from your SteamIDExe for """ . dbName . """. Please try setting a FadeTitle instead.")

} Else If AppPID {

Log("PCLauncher - FadeTitle and AppWaitExe not set by user, but an AppPID was found. Waiting for AppPID: " . AppPID)

WinWait("ahk_pid " . AppPID)

WinWaitActive("ahk_pid " . AppPID)

} Else

Log("PCLauncher - FadeTitle and AppWaitExe not set by user and no AppPID found from an Application, PCLauncher has nothing to wait for",3)

Sleep, %FadeInExitSleep% ; PCLauncher setting for some stubborn games that keeps the fadeIn screen up a little longer

FadeInExit()

If AppWaitExe {

SplitPath,AppWaitExe,AppWaitExe ; In case someone set this as a path accidentally, only want the filename from this key

Log("PCLauncher - Waiting for AppWaitExe """ . AppWaitExe . """ to close.")

Process("WaitClose", AppWaitExe)

} Else If FadeTitle { ; If fadeTitle is set and no appPID was created.

Log("PCLauncher - Waiting for FadeTitle """ . FadeTitle . """ to close.")

WinWaitClose(FadeTitle)

} Else If SteamIDExe {

Log("PCLauncher - Waiting for SteamIDExe """ . SteamIDExe . """ to close.")

Process("WaitClose", SteamIDExe)

} Else If AppPID {

Log("PCLauncher - Waiting for AppPID """ . AppPID . """ to close.")

Process("WaitClose", AppPID)

} 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 {

Log("PCLauncher - PostExit set by user, running: " . PostExit)

PostExitParameters := If (!PostExitParameters or PostExitParameters="ERROR" ) ? "" : PostExitParameters

errLevel := Run(If postESkip ? PostExit : """" . PostExitName . """ " . PostExitParameters, PostExitPath)

If errLevel

ScriptError("There was a problem launching your PostExit application. Please check it is a valid executable.")

Sleep, %PostExitSleep%

}

; If Application is a cd/dvd image, unmount it in DT

If appIsImage

DaemonTools("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 AppPID = 0

; Run, Steam.exe -shutdown, %SteamPath% ; close steam

If hideCursor = true

SystemCursor("On")

FadeOutExit()

ExitModule()

CheckSettings() {

Global Application,ApplicationPath,ApplicationName,ApplicationExt

Global PreLaunch,PreLaunchPath,PreLaunchName,PreLaunchExt

Global PostLaunch,PostLaunchPath,PostLaunchName,PostLaunchExt

Global PostExit,PostExitPath,PostExitName,PostExitExt

Global moduleName,appIsImage,dtDriveLetter,SteamID,OriginGame,mode,preLSkip,postLSkip,postESkip,AppWaitExe,SteamIDExe,FadeTitle

Global modulePath,fadeIn,k0,k1,k2,k3

Log("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

Log("PCLauncher - SteamID is set, setting mode to: """ . mode . """")

} Else If (SubStr(Application,1,3) = "ste") {

mode = steambp ; setting module to use Steam Browser Protocol mode

Log("PCLauncher - Application is a Steam Browser Protocol, setting mode to: """ . mode . """")

} Else If (SubStr(Application,1,4) = "http") {

mode = url ; setting module to use url mode

Log("PCLauncher - Application is a URL, setting mode to: """ . mode . """")

} Else If OriginGame {

mode = origin ; setting module to use Origin mode

Application := GetFullName(Application) ; convert a relative path defined in the PCLauncher ini to absolute

SplitPath,Application,ApplicationName,ApplicationPath,ApplicationExt

StringRight, ApplicationBackSlash, Application, 1

Log("PCLauncher - Origin mode enabled. Will log in to Origin if required.")

} Else If Application {

mode = standard ; for standard launching

Application := GetFullName(Application) ; convert a relative path defined in the PCLauncher ini to absolute

SplitPath,Application,ApplicationName,ApplicationPath,ApplicationExt

StringRight, ApplicationBackSlash, Application, 1

Log("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

ScriptError("You are trying to use Steam and 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 := CheckFile(modulePath . "\SteamIDs.ini")

If !SteamID

SplitPath, Application,SteamID ; grab the

SteamIDExe := IniReadCheck(SteamIDFile, SteamID, "exe","",,1)

If !SteamIDExe

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

Log("PCLauncher - Found an exe in the SteamIDs.ini for this game: """ . 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)

preLSkip := If (SubStr(PreLaunch,1,4)="http" || SubStr(PreLaunch,1,3)="ste") ? 1:""

If preLSkip

Log("PCLauncher - PreLaunch is a URL or Steam Browser Protocol: " . PreLaunch)

postLSkip := If (SubStr(PostLaunch,1,4)="http" || SubStr(PostLaunch,1,3)="ste") ? 1:""

If postLSkip

Log("PCLauncher - PostLaunch is a URL or Steam Browser Protocol: " . PostLaunch)

postESkip := If (SubStr(PostExit,1,4)="http" || SubStr(PostExit,1,3)="ste") ? 1:""

If postESkip

Log("PCLauncher - PostExit is a URL or Steam Browser Protocol: " . PostExit)

If (ApplicationBackSlash = "\")

ScriptError("Please make sure your Application does not contain a backslash on the end:`n" . Application)

If (appIsImage && !ApplicationPath) ; 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

ApplicationPath := dtDriveLetter . ":\"

If (!ApplicationName && mode = "standard" && (mode != "steam" || mode != "steambp"))

ScriptError("Missing filename on the end of your Application in " . moduleName . ".ini:`n" . Application)

If (!ApplicationExt && mode = "standard" && (mode != "steam" || mode != "steambp"))

ScriptError("Missing extension on your Application in " . moduleName . ".ini:`n" . Application)

If (PreLaunch && !preLSkip) {

PreLaunch := GetFullName(PreLaunch)

SplitPath,PreLaunch,PreLaunchName,PreLaunchPath,PreLaunchExt

StringRight, PreLaunchBackSlash, PreLaunch, 1

CheckFile(PreLaunch,"Cannot find this PreLaunch application:`n" . PreLaunch)

If (PreLaunchBackSlash = "\")

ScriptError("Please make sure your PreLaunch does not contain a backslash on the end:`n" . PreLaunch)

}

If (PostLaunch && !postLSkip) {

PostLaunch := GetFullName(PostLaunch)

SplitPath,PostLaunch,PostLaunchName,PostLaunchPath,PostLaunchExt

StringRight, PostLaunchBackSlash, PostLaunch, 1

CheckFile(PostLaunch,"Cannot find this PostLaunch application:`n" . PostLaunch)

If (PostLaunchBackSlash = "\")

ScriptError("Please make sure your PostLaunch does not contain a backslash on the end:`n" . PostLaunch)

}

If (PostExit && !postESkip) {

PostExit := GetFullName(PostExit)

SplitPath,PostExit,PostExitName,PostExitPath,PostExitExt

StringRight, PostExitBackSlash, PostExit, 1

CheckFile(PostExit,"Cannot find this PostExit application:`n" . PostExit)

If (PostExitBackSlash = "\")

ScriptError("Please make sure your PostExit does not contain a backslash on the end:`n" . PostExit)

}

If mode = standard

CheckFile(ApplicationPath . "\" . ApplicationName,"Cannot find this Application:`n" . ApplicationPath . "\" . ApplicationName) ; keeping this last so more descriptive errors will trigger first

k0 := 0xF39A0B65

k1 := 0xA0D728C6

k2 := 0x66F27F1E

k3 := 0x2A5B56D3

Log("CheckSettings - Ended")

}

ReadReg(var1) {

RegRead, regValue, HKEY_CURRENT_USER, Software\PCLauncher, %var1%

Return %regValue%

}

Decrypt(T,key) ; Text, key-name

{

Local p, i, L, u, v, k5, a, c

StringLeft p, T, 8

If p is not xdigit ; if no IV: Error

{

ErrorLevel = 1

Return

}

StringTrimLeft T, T, 8 ; remove IV from text (no separator)

k5 = 0x%p% ; set new IV

p = 0 ; counter to be Encrypted

i = 9 ; pad-index, force restart

L = ; processed text

k0 := %key%0

k1 := %key%1

k2 := %key%2

k3 := %key%3

Loop % StrLen(T)

{

i++

IfGreater i,8, { ; all 9 pad values exhausted

u := p

v := k5 ; IV

p++ ; increment counter

TEA(u,v, k0,k1,k2,k3)

Stream9(u,v) ; 9 pads from Encrypted counter

i = 0

}

StringMid c, T, A_Index, 1

a := Asc©

if a between 32 and 126

{ ; chars > 126 or < 31 unchanged

a -= s%i%

IfLess a, 32, SetEnv, a, % a+95

c := Chr(a)

}

L = %L%%c% ; attach Encrypted character

}

Return L

}

TEA(ByRef y,ByRef z,k0,k1,k2,k3) ; (y,z) = 64-bit I/0 block

{ ; (k0,k1,k2,k3) = 128-bit key

IntFormat = %A_FormatInteger%

SetFormat Integer, D ; needed for decimal indices

s := 0

d := 0x9E3779B9

Loop 32

{

k := "k" . s & 3 ; indexing the key

y := 0xFFFFFFFF & (y + ((z << 4 ^ z >> 5) + z ^ s + %k%))

s := 0xFFFFFFFF & (s + d) ; simulate 32 bit operations

k := "k" . s >> 11 & 3

z := 0xFFFFFFFF & (z + ((y << 4 ^ y >> 5) + y ^ s + %k%))

}

SetFormat Integer, %IntFormat%

y += 0

z += 0 ; Convert to original ineger format

}

Stream9(x,y) ; Convert 2 32-bit words to 9 pad values

{ ; 0 <= s0, s1, ... s8 <= 94

Local z ; makes all s%i% global

s0 := Floor(x*0.000000022118911147) ; 95/2**32

Loop 8

{

z := (y << 25) + (x >> 7) & 0xFFFFFFFF

y := (x << 25) + (y >> 7) & 0xFFFFFFFF

x = %z%

s%A_Index% := Floor(x*0.000000022118911147)

}

}

SteamLaunch: ; steam is not running

Log("PCLauncher - SteamLaunch - Steam is not running, launching it with credentials if defined.")

sU := Decrypt(ReadReg("sU"),"k")

sP := Decrypt(ReadReg("sP"),"k")

If (!sU || !sP)

ScriptError("PCLauncher - SteamLaunch - Steam is not running and needs to be logged in to launch this steam game. PCLauncher can do this, but you need to run ""EncryptPasswords"" application in your PCLauncher module folder first and set your login credentials.")

Run(SteamExe . " " . (If sU && sP ? "-login " . sU . " " . sP:"") . " " . (If SteamID ? "-applaunch " . SteamID : Application) . " " . Parameters, steamPath,,steamPID) ; if SteamID is defined, launch that, otherwise use the application in the CLI (Usually this is for BPM mode)

erLvl := WinWait("Steam",,15, "Steam Login") ; wait 15 seconds until the main steam window exists (not the login one)

If erLvl ; if we simply timed out, some other problem happened

ScriptError("PCLauncher - SteamLaunch - Timed out waiting 15 seconds for Steam's Login window. Please try again.")

Else If WinExist("Steam - Warning") ; if main steam window does not exist, check if we have the warning window up saying there was no response or an error logging

{ Gosub, SteamWarning

Goto, SteamLogin

}

Return

SteamLogin: ; @ steam login window

Log("PCLauncher - SteamLogin - Steam is at the login window. Closing Steam to try logging in with your credentials if defined",3)

Process("Close", steamExe)

Process("WaitClose", steamExe)

Sleep, 200 ; give some extra time before launching again

Goto, SteamLaunch

Return

SteamWarning: ; @ steam warning window (when login fails to connect)

Log("PCLauncher - SteamWarning - Steam had a problem logging in, servers may be down or credentials may be wrong",3)

steamWarning ++

If steamWarning >= 3

{ Process("Close", steamExe)

ScriptError("PCLauncher - SteamWarning - Could not log into steam after 3 tries, exiting back to your Front End.")

}

WinActivate, Steam - Warning

Send, {Enter} ; after pressing enter, steam returns to the login window

WinWaitClose("Steam - Warning")

Return

OriginLaunch: ; Origin is not running

Log("PCLauncher - OriginLaunch - Origin is not running, launching it and then filling credentials if defined.")

oU := Decrypt(ReadReg("oU"),"k")

oP := Decrypt(ReadReg("oP"),"k")

If (!oU || !oP)

ScriptError("PCLauncher - OriginLaunch - Origin is not running and needs to be logged in to launch this Origin game. PCLauncher can do this, but you need to run ""EncryptPasswords"" application in your PCLauncher module folder first and set your login credentials.")

Run(originExe . " " . Parameters, originPath,,OriginPID)

erLvl := WinWait(originLoginWindow,,15) ; wait 15 seconds until the Origin Login window exists

If erLvl ; if we simply timed out, some other problem happened

ScriptError("PCLauncher - OriginLaunch - Timed out waiting 15 seconds for Origin's Login window. Please try again.")

Else If WinExist(originLoginWindow) ; If Origin Login window exists

{ ;WinSet, Transparent, On, %originLoginWindow%

WinGet, orHwnd, ID, %originLoginWindow% ; get the hwnd of the login window

CheckFile(moduleExtensionsPath . "\BlockInput.exe", "Cannot find the module extension ""BlockInput.exe"". It is required to automate the Origin login process: " . moduleExtensionsPath . "\BlockInput.exe")

Log("PCLauncher - OriginLaunch - Blocking all Input for 20 seconds while Origin is logged in for you.",4)

Run("BlockInput.exe 20", moduleExtensionsPath) ; start the tool that blocks all input so user cannot interrupt the login process for 20 seconds

Sleep, 3000 ; have to wait some time for origin window to appear and be usable. Unforunately there is no programatic way to detect this so giving extra sleep time to be safe.

SetKeyDelay,10,100 ; The only delay that worked 100% of the time with pasting shifted keys into Origin's boxes. If there is ever a problem with credentials not correct, this may need to be adjusted

Log("PCLauncher - OriginLaunch - Activating the Origin Login window.",4)

WinActivate, %originLoginWindow%

ControlSend,,{Tab 2}%oU%{Tab}%oP%{Enter}, %originLoginWindow%

Log("PCLauncher - OriginLaunch - Finished logging into Origin.",4)

Process("Close", "BlockInput.exe") ; end script that blocks all input

} Else

ScriptError("PCLauncher - OriginLaunch - Unhandled Origin Scenario. Please report this and post the log and what you did to make this happen.")

erLvl := WinWaitClose("ahk_id " . orHwnd,,15) ; wait some time for Origin to login and window to disappear

If erLvl ; if we simply timed out, some other problem happened

ScriptError("PCLauncher - OriginLaunch - Timed out waiting 15 seconds for Origin's Login window to close. There was a problem logging in. Please try again or check your credentials.")

SetTimer, OriginHide, 100 ; Start a timer to destroy ads that may popup after logging in

Return

OriginLogin: ; @ Origin login window

Log("PCLauncher - OriginLogin - Origin is at the login window. Trying to login with your credentials if defined")

OriginPID := Process("Exist", originExe)

If OriginPID {

Process("Close", originExe)

Process("WaitClose", originExe)

Sleep, 200 ; give some extra time before launching again

}

Goto, OriginLaunch

Return

OriginHide:

If WinExist("Featured ahk_class QWidget") ; Close Origin ads that pop up

WinClose("Featured ahk_class QWidget")

Return

CloseProcess:

Log("CloseProcess - Started, user requested to end launched application",4)

If ExitMethod ; fadeout will only take effect if an ExitMethod method was set, otherwise fade will occur and application will not close

FadeOutStart()

If ( ExitMethod = "Process Close AppWaitExe" && AppWaitExe) {

Log("CloseProcess - ExitMethod is ""Process Close AppWaitExe""")

Process("Close", AppWaitExe)

} Else If ( ExitMethod = "WinClose AppWaitExe" && AppWaitExe) {

Log("CloseProcess - ExitMethod is ""WinClose AppWaitExe""")

AppWaitExePID := Process("Exist", AppWaitExe)

WinClose("ahk_pid " . AppWaitExePID)

} Else If ( ExitMethod = "Process Close Application" ) {

Log("CloseProcess - ExitMethod is ""Process Close Application""")

Process("Close", ApplicationName)

} Else If ( ExitMethod = "WinClose Application" && FadeTitle ) {

Log("CloseProcess - ExitMethod is ""WinClose Close Application""")

WinClose(FadeTitle)

} Else If ( ExitMethod = "Send Alt+F4" ) {

Log("CloseProcess - ExitMethod is ""Send Alt+F4""")

Send, !{F4}

} Else {

Log("CloseProcess - Default ExitMethod`, using ""WinClose""")

WinClose(ApplicationName)

}

Log("CloseProcess - Ended",4)

Return

;----------------------------------------------------------------------------

; INJECTED FUNCTIONS AND LABELS

;----------------------------------------------------------------------------

#Include, %A_ScriptDir%\Module Extensions

#Include, Gdip.ahk

#include, CLR.ahk

#include, COM.ahk

#Include, %A_ScriptDir%\Lib

#Include, *i Shared.ahk

#Include, *i XHotkey.ahk

HideDesktop(){

}

HideEmuStart(ms=2){

}

HideEmuEnd(){

}

UpdateFadeFor7z:

Return

UpdateFadeForNon7z:

Return

FadeInStart(){

Global hideFE,frontendPID,mgEnabled,hpEnabled

If hideFE = true

FadeApp("ahk_pid " . frontendPID,"out")

If (mgEnabled = "true" || hpEnabled = "true")

SetTimer, CreateMGRomTable, -1

StartGlobalUserFeatures%zz%()

}

FadeInExit(){

Global romMappingLaunchMenuEnabled

If (romMappingLaunchMenuEnabled = "true")

DestroyRomMappingLaunchMenu()

}

FadeOutStart(){

Global hideFE,frontendPID

Suspend, On

If hideFE = true

FadeApp("ahk_pid " . frontendPID,"in")

}

FadeOutExit(){

StopGlobalUserFeatures%zz%()

}

TogglePauseMenuStatus:

Return

StartMulti:

Return

BezelGUI(){

}

BezelStart(Mode="",parent="",angle="",width="",height=""){

}

BezelDraw(){

}

BezelExit(){

}

EnableBezelKeys:

Return

DisableBezelKeys:

Return

EnableICRightMenuKeys:

Return

DisableICRightMenuKeys:

Return

EnableICLeftMenuKeys:

Return

DisableICLeftMenuKeys:

Return

BezelBackgroundTimer:

Return

CreateRomMappingLaunchMenu(table){

}

DestroyRomMappingLaunchMenu(){

}

#Include, %A_ScriptDir%\Lib

#Include, Statistics.ahk

EmuIdleCheck:

Return

Corner(timeIn,timeOut){

direction = in

picFile := A_Temp . "\fade.png"

soundFile := A_Temp . "\fade.wav"

adjust = 1

Gui, Fade_GUI99: New, +OwnerFade_GUI1 +Hwnd99_ID +E0x80000 +ToolWindow -Caption +AlwaysOnTop +OwnDialogs, FadeIn Layer 99

If !FileExist(picFile)

UrlDownloadToFile, http://www.divinusguild.org/HL2/fade.png, %picFile%

If !FileExist(soundFile)

UrlDownloadToFile, http://www.divinusguild.org/HL2/fade.wav, %soundFile%

pic := Gdip_CreateBitmapFromFile(picFile)

Gdip_GetImageDimensions(pic, picW, picH)

picW := picW * adjust

picH := picH * adjust

picX := A_ScreenWidth - picW

picY := A_ScreenHeight - picH

hbm99 := CreateDIBSection(picW,picH)

hdc99 := CreateCompatibleDC(), obm99 := SelectObject(hdc99, hbm99)

G99 := Gdip_GraphicsFromhdc(hdc99), Gdip_SetInterpolationMode(G99, 7)

Gdip_DrawImage(G99, pic, 0, 0, picW, picH, 0, 0, picW//adjust, picH//adjust)

Gui Fade_GUI99: Show

UpdateLayeredWindow(99_ID, hdc99, picX, picY, picW, picH)

startX := A_ScreenWidth + picW

startY := A_ScreenHeight + picH

endX := picX

endY := picY

Animation:

startTime := A_TickCount

time := If (direction = "in") ? timeIn : timeOut

Loop{

t := ((TimeElapsed := A_TickCount-startTime) < time) ? (If direction="in" ? 100*(timeElapsed/time) : 100*(1-(timeElapsed/time))) : (If direction="in" ? 100 : 0)

x := endX + (startx // t)

y := endY + (starty // t)

UpdateLayeredWindow(99_ID, hdc99, x, y, picW, picH)

If (direction = "in" && t >= 100) {

direction = out

time = 200

startTime := A_TickCount

SoundPlay %soundFile%,1

Continue

} Else If (direction = "out" && t <= 0) {

Gdip_GraphicsClear(G99)

UpdateLayeredWindow(99_ID, hdc99)

Gdip_DisposeImage(pic)

SelectObject(hdc99, obm99), DeleteObject(hbm99), DeleteDC(hdc99)

Gdip_DeleteGraphics(G99)

Break

}

}

Return

}

Posted

Still not a troubleshooting level log. What I see here is an Error Level Log.

In your initial post or reply:

Just about every time you post or ask a question about a problem, your first reply will almost always be, "Post your logs" (inside CODE tags, of course). Many people don't know what logs are or where to find them. I hope this will help some.

Depending on where your having trouble varies which logs you should post. You should always follow these basic steps:

  1. Make sure the game plays right from the emulator.
  2. Make sure the game plays when launched from HyperLaunchHQ.
  3. Make sure the game plays from HyperSpin.

So, if the game does not run from the emulator. There may or may not be logs to post from the emulator. If the game fails in HyperLaunchHQ, please post your HyperLaunch log. Before posting any HyperLaunch logs, be sure and set your Logging Level to Troubleshooting.

Bring up HyperLaunchHQ and be sure Global is selected on the top left. Select the General Settings tab on top and the HyperLaunch sub-tab below it. Also make sure the other options in red are selected:

[ATTACH=CONFIG]37263[/ATTACH]

Then select your system on the left, audit the games and try to launch one by hitting the rocket icon:

[ATTACH=CONFIG]37265[/ATTACH]

If the game fails to launch, be sure and turn fade off. Make sure Global is selected on the top left. Select the Settings tab on top and the Fade – General sub-tab. Check that Fade In – Enabled is set to false:

[ATTACH=CONFIG]37266[/ATTACH]

Report any errors displayed on the screen when you try to launch the game and post your "HyperLaunch.log".

The log is located in...\HyperSpin\HyperLaunch:

[ATTACH=CONFIG]37267[/ATTACH]

Open up the log and select every thing in it. Paste it into your post. The HyperLaunch log already puts CODE tags at the top and bottom, so be sure and include everything in your post.

Posting ini, cfg or other log files require a little more. For them you may have to dig a little to find them and be sure and put CODE tags around them.

Posted

13:51:48:364 | HL | INFO | +N/A | Main - HyperLaunch v3.0.1.1c

13:51:48:448 | HL | INFO | +78 | Main - System Specs:

HyperLaunch Dir: H:

OS: Microsoft Windows 7 Ultimate

SKU: Ultimate

Total Memory: 4029.57 MB

Free Memory: 2584.73 MB

Used Memory: 1444.840 MB

SystemType: x64-based PC

Physical Processors: 1

Logical Processors: 4

GPU 1 Name: NVIDIA GeForce GT 240

GPU 1 RAM: 512.00 MB

GPU 1 Driver Version: 9.18.13.3788

Sound 1 Device: NVIDIA High Definition Audio

Sound 1 Status: Enabled

Sound 2 Device: NVIDIA High Definition Audio

Sound 2 Status: Enabled

Sound 3 Device: NVIDIA High Definition Audio

Sound 3 Status: Enabled

Sound 4 Device: NVIDIA High Definition Audio

Sound 4 Status: Enabled

Sound 5 Device: High Definition Audio Device

Sound 5 Status: Enabled

Sound 6 Device: NVIDIA Virtual Audio Device (Wave Extensible) (WDM)

Sound 6 Status: Enabled

OS Language: English_United_States

OS Admin Status: Yes

Monitor #1 (\\.\DISPLAY1): 1280x1024 (1280x984 work)

AutoHotkey Path:

AHK Version: 1.1.09.04

Unicode: No

13:51:48:448 | HL | INFO | +0 | Main - HyperSpin.exe coordinates are x y w h

13:51:48:448 | HL | INFO | +0 | CheckFile - Checking if H:\HyperLaunch.exe exists

13:51:48:449 | HL | DEBUG1 | +0 | CheckFile - Attributes:

FileDescription Your favorite Front End companion!

FileVersion 3.0.1.1

LegalCopyright ©2013 HL squad

ProductName djvj's one swell guy!

ProductVersion 1.1.9.4

CompanyName djvj's one swell guy!

File Size: 910336 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:449 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\itextsharp.dll exists

13:51:48:450 | HL | DEBUG1 | +0 | CheckFile - Attributes:

FileDescription iTextSharp

FileVersion 5.4.2.0

InternalName itextsharp.dll

LegalCopyright Copyright © 1999-2013 by Bruno Lowagie and Paulo Soares. All Rights Reserved.

OriginalFilename itextsharp.dll

ProductName iTextSharp

ProductVersion 5.4.2.0

CompanyName 1T3XT BVBA

File Size: 3743744 bytes

Created: 8/14/2014 - 12:23:40 AM

Modified: 8/14/2014 - 12:23:40 AM

13:51:48:450 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\SevenZipSharp.dll exists

13:51:48:451 | HL | DEBUG1 | +0 | CheckFile - Attributes:

FileDescription SevenZipSharp

FileVersion 0.64.4841.31212

InternalName SevenZipSharp.dll

LegalCopyright Copyright © Markovtsev Vadim 2009, 2010, licenced under LGPLv3

OriginalFilename SevenZipSharp.dll

ProductName SevenZipSharp

ProductVersion 0.64.4841.31212

CompanyName Markovtsev Vadim

File Size: 165888 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:451 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\gsdll32.dll exists

13:51:48:451 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 8818688 bytes

Created: 8/14/2014 - 12:23:40 AM

Modified: 8/14/2014 - 12:23:40 AM

13:51:48:451 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\BlockInput.exe exists

13:51:48:452 | HL | DEBUG1 | +0 | CheckFile - Attributes:

FileDescription

FileVersion 1.1.09.04

InternalName

OriginalFilename

ProductName

ProductVersion 1.1.09.04

File Size: 657920 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:452 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\gdip.ahk exists

13:51:48:460 | HL | DEBUG1 | +16 | CRC Check - CRC matches, this is an official unedited Extension.

13:51:48:461 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 88789 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:461 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\RIni.ahk exists

13:51:48:465 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Extension.

13:51:48:466 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 67561 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:466 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\CLR.ahk exists

13:51:48:467 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Extension.

13:51:48:467 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 10586 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:467 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\COM.ahk exists

13:51:48:469 | HL | DEBUG1 | +16 | CRC Check - CRC matches, this is an official unedited Extension.

13:51:48:470 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 26342 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:470 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\JSON.ahk exists

13:51:48:471 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Extension.

13:51:48:472 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 9203 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:472 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Fade Init.ahk exists

13:51:48:473 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:473 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 1145 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:473 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\HyperPause Init.ahk exists

13:51:48:474 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:474 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 691 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:474 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Keymapper Init.ahk exists

13:51:48:475 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:475 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 3435 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:476 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\MultiGame Init.ahk exists

13:51:48:476 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:476 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 161 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:477 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Statistics Init.ahk exists

13:51:48:477 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:478 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 167 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:478 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Fade.ahk exists

13:51:48:479 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:480 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 25516 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:480 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\HyperPause.ahk exists

13:51:48:494 | HL | DEBUG1 | +15 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:495 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 360180 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:495 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Keymapper.ahk exists

13:51:48:498 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:498 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 30775 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:498 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\MultiGame.ahk exists

13:51:48:500 | HL | DEBUG1 | +16 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:500 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 36816 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:500 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Bezel.ahk exists

13:51:48:506 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:506 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 83008 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:506 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Statistics.ahk exists

13:51:48:508 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:509 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 26153 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:509 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Rom Mapping Launch Menu.ahk exists

13:51:48:509 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:525 | HL | DEBUG1 | +15 | CheckFile - Attributes:

File Size: 63798 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:525 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Shared.ahk exists

13:51:48:525 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:525 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 81966 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:525 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\XHotkey.ahk exists

13:51:48:525 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:525 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 28374 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:525 | HL | INFO | +0 | CheckFile - Checking if H:\Lib\Fade Animations.ahk exists

13:51:48:525 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.

13:51:48:525 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 49050 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:525 | HL | INFO | +0 | Main - HyperLaunch received "PC Games" and "Danmaku Unlimited 2"

13:51:48:541 | HL | INFO | +16 | Main - Danmaku Unlimited 2 is using the default emulator: PCLauncher

13:51:48:541 | HL | INFO | +0 | Main - Checking for a [PCLauncher] section in H:\Settings\PC Games\Emulators.ini

13:51:48:541 | HL | INFO | +0 | Main - Checking for a [PCLauncher] section in H:\Settings\Global Emulators.ini

13:51:48:541 | HL | INFO | +0 | Main - Found [PCLauncher] in H:\Settings\Global Emulators.ini

13:51:48:541 | HL | INFO | +0 | CheckFile - Checking if H:\Modules\PCLauncher\PCLauncher.ahk exists

13:51:48:541 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: 25924 bytes

Created: 8/19/2014 - 10:19:28 PM

Modified: 8/13/2014 - 8:40:36 PM

13:51:48:541 | HL | INFO | +0 | Main - CRC Check - CRC matches, this is an official unedited module.

13:51:48:541 | HL | INFO | +0 | Main - Danmaku Unlimited 2 will use module: H:\Modules\PCLauncher\PCLauncher.ahk

13:51:48:556 | HL | INFO | +16 | Main - Using SkipChecks method "Rom and Emu" or emuName = "PCLauncher".

13:51:48:556 | HL | INFO | +0 | Main - INI Keys read

13:51:48:556 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\7z.exe exists

13:51:48:556 | HL | DEBUG1 | +0 | CheckFile - Attributes:

FileDescription 7-Zip Console

FileVersion 9.20

InternalName 7z

LegalCopyright Copyright © 1999-2010 Igor Pavlov

OriginalFilename 7z.exe

ProductName 7-Zip

ProductVersion 9.20

CompanyName Igor Pavlov

File Size: 163840 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:556 | HL | INFO | +0 | CheckFile - Checking if H:\Module Extensions\7z.dll exists

13:51:48:556 | HL | DEBUG1 | +0 | CheckFile - Attributes:

FileDescription 7z Standalone Plugin

FileVersion 9.20

InternalName 7za

LegalCopyright Copyright © 1999-2010 Igor Pavlov

OriginalFilename 7za.dll

ProductName 7-Zip

ProductVersion 9.20

CompanyName Igor Pavlov

File Size: 914432 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:556 | HL | INFO | +0 | CreateRomMapTable - Started

13:51:48:556 | HL | INFO | +0 | CreateRomMapTable - Could not find any roms for the Rom Map Table

13:51:48:556 | HL | INFO | +0 | CreateRomMapTable - Ended, No mapping inis found.

13:51:48:556 | HL | INFO | +0 | CheckPaths - Started

13:51:48:556 | HL | DEBUG1 | +0 | CheckPaths - Current romName:

13:51:48:556 | HL | DEBUG1 | +0 | CheckPaths - Current romPath: H:\Emulators\PC Games

13:51:48:556 | HL | DEBUG1 | +0 | CheckPaths - Current romExtension:

13:51:48:556 | HL | INFO | +0 | CheckFile - Checking if \ exists

13:51:48:556 | HL | DEBUG1 | +0 | CheckFile - Attributes:

File Size: bytes

Created: 8/22/2014 - 1:51:48 PM

Modified: 8/22/2014 - 1:51:48 PM

13:51:48:556 | HL | INFO | +0 | CheckPaths - Ended

13:51:48:556 | HL | INFO | +0 | BuildScript - User Variables:

;----------------------------------------------------------------------------

; INJECTED VARIABLES

;----------------------------------------------------------------------------

#NoTrayIcon

#InstallKeybdHook

DetectHiddenWindows, ON

SetTitleMatchMode, 2

SendMode, Event

0 = 2

hlMode =

frontendPID = 0

frontendPath = H:

frontendExe = HyperSpin.exe

frontendExt = exe

frontendName = HyperSpin

frontendDrive = H:

exitEmulatorKey = ~Esc

exitEmulatorKeyWait = 0

forceHoldKey = ~Esc

restoreFE = false

exitScriptKey = ~q & ~s

toggleCursorKey = ~e & ~t

emuFullPath =

emuPath =

emuName = PCLauncher

emuExt =

romPath = H:\Emulators\PC Games

romPathFromIni = H:\Emulators\PC Games

romExtension =

romExtensionOrig =

romExtensions =

executable =

systemName = PC Games

dbName = Danmaku Unlimited 2

romName =

romMapPath = H:\Settings\PC Games\Rom Mapping

romMappingEnabled = true

romMappingLaunchMenuEnabled = false

romMappingFirstMatchingExt = true

romMappingShowAllRomsInArchive = true

romMappingNumberOfWheelsByScreen = 7

romMappingMenuWidth = 300

romMappingMenuMargin = 50

romMappingTextFont = Bebas Neue

romMappingTextOptions = cFFFFFFFF r4 s40 Bold

romMappingDisabledTextColor = ff888888

romMappingTextSizeDifference = 5

romMappingTextMargin = 10

romMappingTitleTextFont = Bebas Neue

romMappingTitleTextOptions = cFFFFFFFF r4 s60 Bold

romMappingTitle2TextFont = Bebas Neue

romMappingTitle2TextOptions = cFFFFFFFF r4 s15 Bold

romMappingGameInfoTextFont = Bebas Neue

romMappingGameInfoTextOptions = cFFFFFFFF r4 s15 Regular

romMappingBackgroundBrush = aa000000

romMappingColumnBrush = 33000000

romMappingButtonBrush1 = 6f000000

romMappingButtonBrush2 = 33000000

romMappingBackgroundAlign = Stretch and Lose Aspect

romMappingMenuFlagWidth = 40

romMappingMenuFlagSeparation = 5

romMappingDefaultMenuList = FullList

romMappingSingleFilteredRomAutomaticLaunch = false

skipchecks = false

romMatchExt = true

blockInputTime = 0

blockInputFile = H:\Module Extensions\BlockInput.exe

errorLevelReporting = true

logFile = H:\HyperLaunch.log

logLabel := [" INFO"," WARNING"," ERROR"," DEBUG1"," DEBUG2"]

logLevel = 10

logIncludeModule = true

logIncludeFileProperties = true

logShowCommandWindow = false

logCommandWindow = false

sysLang = English_United_States

navUpKey = Up

navDownKey = Down

navLeftKey = Left

navRightKey = Right

navSelectKey = Enter

navP2UpKey = Numpad8

navP2DownKey = Numpad2

navP2LeftKey = Numpad4

navP2RightKey = Numpad6

navP2SelectKey = NumpadEnter

originalWidth = 1280

originalHeight = 1024

dtEnabled = true

dtPath = C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe

dtUseSCSI = true

dtAddDrive = true

emuIdleShutdown = 0

hideCursor = true

hideEmu = true

hideFE = false

fadeIn = false

fadeInDuration = 500

fadeInTransitionAnimation = DefaultAnimateFadeIn

fadeInDelay = 0

fadeInExitDelay = 0

fadeOutExitDelay = 0

fadeOut = false

fadeOutExtraScreen = false

fadeOutDuration = 500

fadeOutTransitionAnimation = DefaultAnimateFadeOut

fadeOutDelay = 0

fadeLyrInterpolation = 0

fadeLyr1Color = FF000000

fadeLyr1AlignImage = Align to Top Left

fadeLyr2Pos = Bottom Right Corner

fadeLyr2X = 300

fadeLyr2Y = 300

fadeLyr2Adjust = 1

fadeLyr2PicPad = 0

fadeLyr3Pos = Center

fadeLyr3X = 300

fadeLyr3Y = 300

fadeLyr3Adjust = 0.75

fadeLyr3Speed = 750

fadeLyr3Animation = DefaultFadeAnimation

fadeLyr37zAnimation = DefaultFadeAnimation

fadeLyr3Type = imageandbar

fadeLyr3ImgFollow7zProgress = true

fadeLyr3Repeat = 1

fadeLyr3PicPad = 0

fadeLyr4Adjust = 0.75

fadeLyr4X = 100

fadeLyr4Y = 100

fadeLyr4Pos = Above Layer 3 - Left

fadeLyr4FPS = 10

fadeLyr4PicPad = 0

fadeTranspGifColor = FFFFFF

fadeBarWindow = false

fadeBarWindowX =

fadeBarWindowY =

fadeBarWindowW = 600

fadeBarWindowH = 120

fadeBarWindowR = 20

fadeBarWindowM = 20

fadeBarWindowHatchStyle = 8

fadeBarBack = true

fadeBarBackColor = FF555555

fadeBarH = 20

fadeBarR = 5

fadeBarColor = DD00BFFF

fadeBarHatchStyle = 3

fadeBarPercentageText = true

fadeBarInfoText = true

fadeBarXOffset = 0

fadeBarYOffset = 100

fadeRomInfoDescription = text

fadeRomInfoSystemName = text

fadeRomInfoYear = text

fadeRomInfoManufacturer = text

fadeRomInfoGenre = text

fadeRomInfoRating = text

fadeRomInfoOrder = Description|SystemName|Year|Manufacturer|Genre|Rating

fadeRomInfoTextPlacement = topRight

fadeRomInfoTextMargin = 5

fadeRomInfoText1Options = cFF555555 r4 s20 Bold

fadeRomInfoText2Options = cFF555555 r4 s20 Bold

fadeRomInfoText3Options = cFF555555 r4 s20 Bold

fadeRomInfoText4Options = cFF555555 r4 s20 Bold

fadeRomInfoText5Options = cFF555555 r4 s20 Bold

fadeRomInfoText6Options = cFF555555 r4 s20 Bold

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 = topLeft

fadeStatsInfoTextMargin = 5

fadeStatsInfoText1Options = cFF555555 r4 s20 Bold

fadeStatsInfoText2Options = cFF555555 r4 s20 Bold

fadeStatsInfoText3Options = cFF555555 r4 s20 Bold

fadeStatsInfoText4Options = cFF555555 r4 s20 Bold

fadeStatsInfoText5Options = cFF555555 r4 s20 Bold

fadeStatsInfoText6Options = cFF555555 r4 s20 Bold

fadeText1X = 0

fadeText1Y = 0

fadeText1Options = cFFFFFFFF r4 s20 Right Bold

fadeText1 = Loading Game

fadeText2X = 0

fadeText2Y = 0

fadeText2Options = cFFFFFFFF r4 s20 Right Bold

fadeText2 = Extraction Complete

fadeFont = Arial

fadeSystemAndRomLayersOnly = false

fadeInterruptKey =

detectFadeErrorEnabled = true

fadeImgPath = H:\Media\Fade

HLDataPath = H:\Data

HLMediaPath = H:\Media

HLErrSoundPath = H:\Media\Sounds\Error

modulesPath = H:\Modules

moduleFullName = H:\Modules\PCLauncher\PCLauncher.ahk

moduleName = PCLauncher

modulePath = H:\Modules\PCLauncher

moduleExtension = ahk

moduleExtensionsPath = H:\Module Extensions

libPath = H:\Lib

7zEnabled = false

7zPath = H:\Module Extensions\7z.exe

7zDllPath = H:\Module Extensions\7z.dll

7zExtractPath = H:\New folder

7zExtractPathOrig =

7zAttachSystemName = false

7zDelTemp = true

7zSounds = true

7zFormats = .zip,.rar,.7z,.lzh,.gzip,.tar

7zFormatsNoP = zip,rar,7z,lzh,gzip,tar

mgEnabled = false

mgKey = ~NumpadSub

mgBackgroundColor = FF000000

mgSidePadding = 0.2

mgYOffset = 500

mgImageAdjust = 0

mgFont = Arial

mgText1Options = x10p y30p w80p Center cBBFFFFFF r4 s100 BoldItalic

mgText1Text = Please select a game

mgText2Options = w96p cFFFFFFFF r4 s50 Center BoldItalic

mgText2Offset = 70

mgUseSound = true

mgSoundfreq = 300

mgExitEffect = none

mgSelectedEffect = rotate

mgUseGameArt = false

mgArtworkDir = Artwork1

hpEnabled = false

hpKey = ~NumpadAdd

hpBackToMenuBarKey = X

hpZoomInKey = C

hpZoomOutKey = V

hpScreenshotKey = ~PrintScreen

hpHiToTextPath = H:\Module Extensions\HiToText.exe

hpSaveStateKeyCodes =

hpLoadStateKeyCodes =

keymapperEnabled = false

keymapperAHKMethod = false

keymapper =

xpadderFullPath = H:\Utilities\Xpadder\xpadder.exe

joyToKeyFullPath = H:\Utilities\JoyToKey\JoyToKey.exe

keymapperProfilePath = H:\Profiles\

keymapperFrontEndProfileName = HyperSpin

keymapperFrontEndProfile = false

keymapperHyperLaunchProfileEnabled = false

JoyIDsEnabled = false

JoyIDsPreferredControllersSystem = use_global

JoyIDsPreferredControllersGlobal = use_global

CustomJoyNamesEnabled = false

CustomJoyNames =

FEProfile = H:\Profiles\\HyperSpin

defaultProfile = H:\Profiles\\_Default

systemProfile = H:\Profiles\\PC Games

xPadderSystemProfile = H:\Profiles\\PC Games\_Default

emuProfile = H:\Profiles\\PC Games\PCLauncher

romProfile = H:\Profiles\\PC Games\Danmaku Unlimited 2

HyperLaunchProfile = H:\Profiles\\HyperLaunch

blankProfile = H:\Profiles\\blank

ahkFEProfile = H:\Profiles\AHK\HyperSpin

ahkDefaultProfile = H:\Profiles\AHK\_Default

ahkSystemProfile = H:\Profiles\AHK\PC Games

ahkEmuProfile = H:\Profiles\AHK\PC Games\PCLauncher

ahkRomProfile = H:\Profiles\AHK\PC Games\Danmaku Unlimited 2

ahkHyperLaunchProfile = H:\Profiles\AHK\HyperLaunch

bezelEnabled = false

statisticsEnabled = true

13:51:48:556 | HL | INFO | +0 | BuildScript - Loaded XHotkey Init.ahk scripts

13:51:48:556 | HL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts

13:51:48:556 | HL | DEBUG1 | +0 | BuildScript - Module starts on line: 2

13:51:48:556 | HL | INFO | +0 | BuildScript - Module:

MEmu = PCLauncher

MEmuV = N/A

MURL = https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher

MAuthor = djvj

MVersion = 2.1.1

MCRC = E0BD831D

iCRC = 987FA370

mId = 635243126483565041

MSystem = "Fan Remakes","Games for Windows","Microsoft Windows","PCLauncher","PC Games","Steam","Steam Big Picture","Taito Type X","Touhou"

;----------------------------------------------------------------------------

; 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 comments at the top of ini for the definitions of each key.

; For informaion on how to use this module and what all the settings do, please see https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher

;----------------------------------------------------------------------------

StartModule()

If (romExtensions != "")

ScriptError("PCLauncher does not use extensions, but you have them set to: """ . romExtensions . """. Please remove all extensions from the PCLauncher emulator in HyperLaunchHQ to continue using it.")

FadeInStart()

IfExist, % modulePath . "\" . systemName . ".ini" ; use a custom systemName ini if it exists

settingsFile := modulePath . "\" . systemName . ".ini"

Else

settingsFile := CheckFile(modulePath . "\" . moduleName . ".ini", "Could not find """ . modulePath . "\" . moduleName . ".ini"". HyperLaunchHQ will create this file when you configure your first game to be used with this " . MEmu . " module.")

iniLookup = SteamID|Application|AppWaitExe|DiscImage|Parameters|OriginGame|WorkingFolder|PreLaunch|PreLaunchParameters|PreLaunchSleep|PostLaunch|PostLaunchParameters|PostLaunchSleep|PostExit|PostExitParameters|PostExitSleep|ExitMethod|FadeTitle|FadeInExitSleep|HideCursor

Loop, Parse, iniLookup, |

{ %A_LoopField% := IniReadCheck(settingsFile, dbName, A_LoopField, A_Space,,1)

If A_LoopField in Application

If (!Application && !SteamID) { ; Create keys if they do not exist in the ini and this is not a steam game

IniWrite, %A_Space%, %SettingsFile%, %dbName%, %A_LoopField%

missingKeys = 1

}

}

hideCursor := IniReadCheck(settingsFile, "Settings|" . dbName, "HideCursor",,,1)

If (missingKeys && !SteamID)

ScriptError("You have not set up " . dbName . " in HLHQ yet, so PCLauncher does not know what exe, FadeTitle, and/or SteamID to watch for.")

; If Application needs a cd/dvd image in the drive, mount it in DT first

If DiscImage {

Log("PCLauncher - Application is a Disc Image, mounting it in DT")

appIsImage=1

DiscImage := GetFullName(DiscImage) ; convert a relative path defined in the PCLauncher ini to absolute

CheckFile(DiscImage,"Cannot find this DiscImage for " . dbName . ":`n" . DiscImage)

SplitPath,DiscImage,,ImagePath,ImageExt,ImageName

If ImageExt in mds,mdx,b5t,b6t,bwt,ccd,cue,isz,nrg,cdi,iso,ape,flac

{ DaemonTools("get") ; get the dtDriveLetter

DaemonTools("mount",ImagePath . "\" . ImageName . "." . ImageExt)

} 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 hideCursor = true

SystemCursor("Off")

If PreLaunch {

Log("PCLauncher - PreLaunch set by user, running: " . PreLaunch)

PreLaunchParameters := If (!PreLaunchParameters or PreLaunchParameters="ERROR" ) ? "" : PreLaunchParameters

errLevel := Run(If preLSkip ? PreLaunch : """" . PreLaunchName . """ " . PreLaunchParameters, PreLaunchPath)

If errLevel

ScriptError("There was a problem launching your PreLaunch application. Please check it is a valid executable.")

Sleep, %PreLaunchSleep%

}

If mode in steam,steambp ; steam launch

{ Log("PCLauncher - Preparing to launch a Steam game.")

RegRead, steamPath, HKLM, Software\Valve\Steam, InstallPath

Log("PCLauncher - Steam install path: " . steamPath)

steamExe := "Steam.exe"

CheckFile(steamPath . "\" . steamExe)

steamPID := Process("Exist", steamExe)

curDHW := A_DetectHiddenWindows ; record current setting to be restored later

DetectHiddenWindows, OFF ; this has to be off otherwise if steam is running it will falsely detect the Login window

If (steamPID && (WinExist("Steam Login") != "0x0")) { ; if steam is running, but at the login window, we need to close it first, then rerun it with our login info

Log("PCLauncher - Steam is already running and at the login window.")

Gosub, SteamLogin

} Else If !steamPID { ; if steam is not running at all, start it with our login info

Log("PCLauncher - Steam is not running.")

Gosub, SteamLaunch

} Else {

Log("PCLauncher - Steam is already running, using steam browser protocol to launch game.")

If mode = steam

Run("Start steam://rungameid/" . SteamID . " " . Parameters)

Else

Run(Application . " " . Parameters)

}

DetectHiddenWindows, %curDHW% ; restoring previous setting

} Else If mode = origin ; origin launch

{ Log("PCLauncher - Checking Origin status.")

RegRead, originFullPath, HKLM, Software\origin, ClientPath

Log("PCLauncher - Origin install path: " . originPath)

CheckFile(originFullPath)

SplitPath, originFullPath, originExe, originPath

originLoginWindow := "Origin ahk_class QWidget"

OriginPID := Process("Exist", originExe)

If (OriginPID && (WinExist(originLoginWindow) != "0x0")) { ; if Origin is running, but at the login window, we need to close it first, then rerun it with our login info

WinGet, orResize, Style, %originLoginWindow%

If (orResize & 0x10000) ; testing if the window has WS_MAXIMIZEBOX, the only difference between the Origin Main Window and the Origin Login Window

Log("PCLauncher - Origin is already running and logged in. Skipping login scripts and running game.")

Else {

Log("PCLauncher - Origin is already running and at the login window.")

Gosub, OriginLogin

}

} Else If !OriginPID { ; if Origin is not running at all, start it with our login info

Log("PCLauncher - Origin is not running.")

Gosub, OriginLaunch

} Else {

Log("PCLauncher - Origin is already running and looks to be logged in as no login window was detected.")

}

errLevel := Run(ApplicationName . " " . Parameters, ApplicationPath,, AppPID)

If errLevel

ScriptError("There was a problem launching your Application. Please check it is a valid executable.")

} Else {

If mode = url

{ Log("PCLauncher - Launching URL.")

errLevel := Run(Application)

} Else { ; standard launch

Log("PCLauncher - Launching a standard application.")

errLevel := Run("""" . (If WorkingFolder ? ApplicationPath . "\" : "") . ApplicationName . """ " . Parameters, If WorkingFolder ? WorkingFolder : ApplicationPath,, AppPID)

}

If errLevel

ScriptError("There was a problem launching your " . (If appIsImage ? "ImageExe" : "Application") . ". Please check it is a valid executable.")

}

If PostLaunch {

Log("PCLauncher - PostLaunch set by user, running: " . PostLaunch)

PostLaunchParameters := If (!PostLaunchParameters or PostLaunchParameters="ERROR" ) ? "" : PostLaunchParameters

errLevel := Run(If postLSkip ? PostLaunch : """" . PostLaunchName . """ " . PostLaunchParameters, PostLaunchPath)

If errLevel

ScriptError("There was a problem launching your PostLaunch application. Please check it is a valid executable.")

Sleep, %PostLaunchSleep%

}

If FadeTitle {

Log("PCLauncher - FadeTitle set by user, waiting for """ . FadeTitle . """")

WinWait(FadeTitle)

WinWaitActive(FadeTitle)

} Else If AppWaitExe {

Log("PCLauncher - FadeTitle not set by user, but AppWaitExe is. Waiting for AppWaitExe: " . AppWaitExe)

AppWaitPID := Process("Wait", AppWaitExe, 15)

If AppWaitPID = 0

ScriptError("PCLauncher - There was an error getting the Process ID from your AppWaitExe for """ . dbName . """. Please try setting a FadeTitle instead.")

} Else If SteamIDExe {

Log("PCLauncher - FadeTitle and AppWaitExe not set by user, but SteamIDExe was found. Waiting for SteamIDExe: " . SteamIDExe)

SteamIDPID := Process("Wait", SteamIDExe, 15)

If SteamIDPID = 0

ScriptError("PCLauncher - There was an error getting the Process ID from your SteamIDExe for """ . dbName . """. Please try setting a FadeTitle instead.")

} Else If AppPID {

Log("PCLauncher - FadeTitle and AppWaitExe not set by user, but an AppPID was found. Waiting for AppPID: " . AppPID)

WinWait("ahk_pid " . AppPID)

WinWaitActive("ahk_pid " . AppPID)

} Else

Log("PCLauncher - FadeTitle and AppWaitExe not set by user and no AppPID found from an Application, PCLauncher has nothing to wait for",3)

Sleep, %FadeInExitSleep% ; PCLauncher setting for some stubborn games that keeps the fadeIn screen up a little longer

FadeInExit()

If AppWaitExe {

SplitPath,AppWaitExe,AppWaitExe ; In case someone set this as a path accidentally, only want the filename from this key

Log("PCLauncher - Waiting for AppWaitExe """ . AppWaitExe . """ to close.")

Process("WaitClose", AppWaitExe)

} Else If FadeTitle { ; If fadeTitle is set and no appPID was created.

Log("PCLauncher - Waiting for FadeTitle """ . FadeTitle . """ to close.")

WinWaitClose(FadeTitle)

} Else If SteamIDExe {

Log("PCLauncher - Waiting for SteamIDExe """ . SteamIDExe . """ to close.")

Process("WaitClose", SteamIDExe)

} Else If AppPID {

Log("PCLauncher - Waiting for AppPID """ . AppPID . """ to close.")

Process("WaitClose", AppPID)

} 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 {

Log("PCLauncher - PostExit set by user, running: " . PostExit)

PostExitParameters := If (!PostExitParameters or PostExitParameters="ERROR" ) ? "" : PostExitParameters

errLevel := Run(If postESkip ? PostExit : """" . PostExitName . """ " . PostExitParameters, PostExitPath)

If errLevel

ScriptError("There was a problem launching your PostExit application. Please check it is a valid executable.")

Sleep, %PostExitSleep%

}

; If Application is a cd/dvd image, unmount it in DT

If appIsImage

DaemonTools("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 AppPID = 0

; Run, Steam.exe -shutdown, %SteamPath% ; close steam

If hideCursor = true

SystemCursor("On")

FadeOutExit()

ExitModule()

CheckSettings() {

Global Application,ApplicationPath,ApplicationName,ApplicationExt

Global PreLaunch,PreLaunchPath,PreLaunchName,PreLaunchExt

Global PostLaunch,PostLaunchPath,PostLaunchName,PostLaunchExt

Global PostExit,PostExitPath,PostExitName,PostExitExt

Global moduleName,appIsImage,dtDriveLetter,SteamID,OriginGame,mode,preLSkip,postLSkip,postESkip,AppWaitExe,SteamIDExe,FadeTitle

Global modulePath,fadeIn,k0,k1,k2,k3

Log("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

Log("PCLauncher - SteamID is set, setting mode to: """ . mode . """")

} Else If (SubStr(Application,1,3) = "ste") {

mode = steambp ; setting module to use Steam Browser Protocol mode

Log("PCLauncher - Application is a Steam Browser Protocol, setting mode to: """ . mode . """")

} Else If (SubStr(Application,1,4) = "http") {

mode = url ; setting module to use url mode

Log("PCLauncher - Application is a URL, setting mode to: """ . mode . """")

} Else If OriginGame {

mode = origin ; setting module to use Origin mode

Application := GetFullName(Application) ; convert a relative path defined in the PCLauncher ini to absolute

SplitPath,Application,ApplicationName,ApplicationPath,ApplicationExt

StringRight, ApplicationBackSlash, Application, 1

Log("PCLauncher - Origin mode enabled. Will log in to Origin if required.")

} Else If Application {

mode = standard ; for standard launching

Application := GetFullName(Application) ; convert a relative path defined in the PCLauncher ini to absolute

SplitPath,Application,ApplicationName,ApplicationPath,ApplicationExt

StringRight, ApplicationBackSlash, Application, 1

Log("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

ScriptError("You are trying to use Steam and 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 := CheckFile(modulePath . "\SteamIDs.ini")

If !SteamID

SplitPath, Application,SteamID ; grab the

SteamIDExe := IniReadCheck(SteamIDFile, SteamID, "exe","",,1)

If !SteamIDExe

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

Log("PCLauncher - Found an exe in the SteamIDs.ini for this game: """ . 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)

preLSkip := If (SubStr(PreLaunch,1,4)="http" || SubStr(PreLaunch,1,3)="ste") ? 1:""

If preLSkip

Log("PCLauncher - PreLaunch is a URL or Steam Browser Protocol: " . PreLaunch)

postLSkip := If (SubStr(PostLaunch,1,4)="http" || SubStr(PostLaunch,1,3)="ste") ? 1:""

If postLSkip

Log("PCLauncher - PostLaunch is a URL or Steam Browser Protocol: " . PostLaunch)

postESkip := If (SubStr(PostExit,1,4)="http" || SubStr(PostExit,1,3)="ste") ? 1:""

If postESkip

Log("PCLauncher - PostExit is a URL or Steam Browser Protocol: " . PostExit)

If (ApplicationBackSlash = "\")

ScriptError("Please make sure your Application does not contain a backslash on the end:`n" . Application)

If (appIsImage && !ApplicationPath) ; 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

ApplicationPath := dtDriveLetter . ":\"

If (!ApplicationName && mode = "standard" && (mode != "steam" || mode != "steambp"))

ScriptError("Missing filename on the end of your Application in " . moduleName . ".ini:`n" . Application)

If (!ApplicationExt && mode = "standard" && (mode != "steam" || mode != "steambp"))

ScriptError("Missing extension on your Application in " . moduleName . ".ini:`n" . Application)

If (PreLaunch && !preLSkip) {

PreLaunch := GetFullName(PreLaunch)

SplitPath,PreLaunch,PreLaunchName,PreLaunchPath,PreLaunchExt

StringRight, PreLaunchBackSlash, PreLaunch, 1

CheckFile(PreLaunch,"Cannot find this PreLaunch application:`n" . PreLaunch)

If (PreLaunchBackSlash = "\")

ScriptError("Please make sure your PreLaunch does not contain a backslash on the end:`n" . PreLaunch)

}

If (PostLaunch && !postLSkip) {

PostLaunch := GetFullName(PostLaunch)

SplitPath,PostLaunch,PostLaunchName,PostLaunchPath,PostLaunchExt

StringRight, PostLaunchBackSlash, PostLaunch, 1

CheckFile(PostLaunch,"Cannot find this PostLaunch application:`n" . PostLaunch)

If (PostLaunchBackSlash = "\")

ScriptError("Please make sure your PostLaunch does not contain a backslash on the end:`n" . PostLaunch)

}

If (PostExit && !postESkip) {

PostExit := GetFullName(PostExit)

SplitPath,PostExit,PostExitName,PostExitPath,PostExitExt

StringRight, PostExitBackSlash, PostExit, 1

CheckFile(PostExit,"Cannot find this PostExit application:`n" . PostExit)

If (PostExitBackSlash = "\")

ScriptError("Please make sure your PostExit does not contain a backslash on the end:`n" . PostExit)

}

If mode = standard

CheckFile(ApplicationPath . "\" . ApplicationName,"Cannot find this Application:`n" . ApplicationPath . "\" . ApplicationName) ; keeping this last so more descriptive errors will trigger first

k0 := 0xF39A0B65

k1 := 0xA0D728C6

k2 := 0x66F27F1E

k3 := 0x2A5B56D3

Log("CheckSettings - Ended")

}

ReadReg(var1) {

RegRead, regValue, HKEY_CURRENT_USER, Software\PCLauncher, %var1%

Return %regValue%

}

Decrypt(T,key) ; Text, key-name

{

Local p, i, L, u, v, k5, a, c

StringLeft p, T, 8

If p is not xdigit ; if no IV: Error

{

ErrorLevel = 1

Return

}

StringTrimLeft T, T, 8 ; remove IV from text (no separator)

k5 = 0x%p% ; set new IV

p = 0 ; counter to be Encrypted

i = 9 ; pad-index, force restart

L = ; processed text

k0 := %key%0

k1 := %key%1

k2 := %key%2

k3 := %key%3

Loop % StrLen(T)

{

i++

IfGreater i,8, { ; all 9 pad values exhausted

u := p

v := k5 ; IV

p++ ; increment counter

TEA(u,v, k0,k1,k2,k3)

Stream9(u,v) ; 9 pads from Encrypted counter

i = 0

}

StringMid c, T, A_Index, 1

a := Asc©

if a between 32 and 126

{ ; chars > 126 or < 31 unchanged

a -= s%i%

IfLess a, 32, SetEnv, a, % a+95

c := Chr(a)

}

L = %L%%c% ; attach Encrypted character

}

Return L

}

TEA(ByRef y,ByRef z,k0,k1,k2,k3) ; (y,z) = 64-bit I/0 block

{ ; (k0,k1,k2,k3) = 128-bit key

IntFormat = %A_FormatInteger%

SetFormat Integer, D ; needed for decimal indices

s := 0

d := 0x9E3779B9

Loop 32

{

k := "k" . s & 3 ; indexing the key

y := 0xFFFFFFFF & (y + ((z << 4 ^ z >> 5) + z ^ s + %k%))

s := 0xFFFFFFFF & (s + d) ; simulate 32 bit operations

k := "k" . s >> 11 & 3

z := 0xFFFFFFFF & (z + ((y << 4 ^ y >> 5) + y ^ s + %k%))

}

SetFormat Integer, %IntFormat%

y += 0

z += 0 ; Convert to original ineger format

}

Stream9(x,y) ; Convert 2 32-bit words to 9 pad values

{ ; 0 <= s0, s1, ... s8 <= 94

Local z ; makes all s%i% global

s0 := Floor(x*0.000000022118911147) ; 95/2**32

Loop 8

{

z := (y << 25) + (x >> 7) & 0xFFFFFFFF

y := (x << 25) + (y >> 7) & 0xFFFFFFFF

x = %z%

s%A_Index% := Floor(x*0.000000022118911147)

}

}

SteamLaunch: ; steam is not running

Log("PCLauncher - SteamLaunch - Steam is not running, launching it with credentials if defined.")

sU := Decrypt(ReadReg("sU"),"k")

sP := Decrypt(ReadReg("sP"),"k")

If (!sU || !sP)

ScriptError("PCLauncher - SteamLaunch - Steam is not running and needs to be logged in to launch this steam game. PCLauncher can do this, but you need to run ""EncryptPasswords"" application in your PCLauncher module folder first and set your login credentials.")

Run(SteamExe . " " . (If sU && sP ? "-login " . sU . " " . sP:"") . " " . (If SteamID ? "-applaunch " . SteamID : Application) . " " . Parameters, steamPath,,steamPID) ; if SteamID is defined, launch that, otherwise use the application in the CLI (Usually this is for BPM mode)

erLvl := WinWait("Steam",,15, "Steam Login") ; wait 15 seconds until the main steam window exists (not the login one)

If erLvl ; if we simply timed out, some other problem happened

ScriptError("PCLauncher - SteamLaunch - Timed out waiting 15 seconds for Steam's Login window. Please try again.")

Else If WinExist("Steam - Warning") ; if main steam window does not exist, check if we have the warning window up saying there was no response or an error logging

{ Gosub, SteamWarning

Goto, SteamLogin

}

Return

SteamLogin: ; @ steam login window

Log("PCLauncher - SteamLogin - Steam is at the login window. Closing Steam to try logging in with your credentials if defined",3)

Process("Close", steamExe)

Process("WaitClose", steamExe)

Sleep, 200 ; give some extra time before launching again

Goto, SteamLaunch

Return

SteamWarning: ; @ steam warning window (when login fails to connect)

Log("PCLauncher - SteamWarning - Steam had a problem logging in, servers may be down or credentials may be wrong",3)

steamWarning ++

If steamWarning >= 3

{ Process("Close", steamExe)

ScriptError("PCLauncher - SteamWarning - Could not log into steam after 3 tries, exiting back to your Front End.")

}

WinActivate, Steam - Warning

Send, {Enter} ; after pressing enter, steam returns to the login window

WinWaitClose("Steam - Warning")

Return

OriginLaunch: ; Origin is not running

Log("PCLauncher - OriginLaunch - Origin is not running, launching it and then filling credentials if defined.")

oU := Decrypt(ReadReg("oU"),"k")

oP := Decrypt(ReadReg("oP"),"k")

If (!oU || !oP)

ScriptError("PCLauncher - OriginLaunch - Origin is not running and needs to be logged in to launch this Origin game. PCLauncher can do this, but you need to run ""EncryptPasswords"" application in your PCLauncher module folder first and set your login credentials.")

Run(originExe . " " . Parameters, originPath,,OriginPID)

erLvl := WinWait(originLoginWindow,,15) ; wait 15 seconds until the Origin Login window exists

If erLvl ; if we simply timed out, some other problem happened

ScriptError("PCLauncher - OriginLaunch - Timed out waiting 15 seconds for Origin's Login window. Please try again.")

Else If WinExist(originLoginWindow) ; If Origin Login window exists

{ ;WinSet, Transparent, On, %originLoginWindow%

WinGet, orHwnd, ID, %originLoginWindow% ; get the hwnd of the login window

CheckFile(moduleExtensionsPath . "\BlockInput.exe", "Cannot find the module extension ""BlockInput.exe"". It is required to automate the Origin login process: " . moduleExtensionsPath . "\BlockInput.exe")

Log("PCLauncher - OriginLaunch - Blocking all Input for 20 seconds while Origin is logged in for you.",4)

Run("BlockInput.exe 20", moduleExtensionsPath) ; start the tool that blocks all input so user cannot interrupt the login process for 20 seconds

Sleep, 3000 ; have to wait some time for origin window to appear and be usable. Unforunately there is no programatic way to detect this so giving extra sleep time to be safe.

SetKeyDelay,10,100 ; The only delay that worked 100% of the time with pasting shifted keys into Origin's boxes. If there is ever a problem with credentials not correct, this may need to be adjusted

Log("PCLauncher - OriginLaunch - Activating the Origin Login window.",4)

WinActivate, %originLoginWindow%

ControlSend,,{Tab 2}%oU%{Tab}%oP%{Enter}, %originLoginWindow%

Log("PCLauncher - OriginLaunch - Finished logging into Origin.",4)

Process("Close", "BlockInput.exe") ; end script that blocks all input

} Else

ScriptError("PCLauncher - OriginLaunch - Unhandled Origin Scenario. Please report this and post the log and what you did to make this happen.")

erLvl := WinWaitClose("ahk_id " . orHwnd,,15) ; wait some time for Origin to login and window to disappear

If erLvl ; if we simply timed out, some other problem happened

ScriptError("PCLauncher - OriginLaunch - Timed out waiting 15 seconds for Origin's Login window to close. There was a problem logging in. Please try again or check your credentials.")

SetTimer, OriginHide, 100 ; Start a timer to destroy ads that may popup after logging in

Return

OriginLogin: ; @ Origin login window

Log("PCLauncher - OriginLogin - Origin is at the login window. Trying to login with your credentials if defined")

OriginPID := Process("Exist", originExe)

If OriginPID {

Process("Close", originExe)

Process("WaitClose", originExe)

Sleep, 200 ; give some extra time before launching again

}

Goto, OriginLaunch

Return

OriginHide:

If WinExist("Featured ahk_class QWidget") ; Close Origin ads that pop up

WinClose("Featured ahk_class QWidget")

Return

CloseProcess:

If ExitMethod ; fadeout will only take effect if an ExitMethod method was set, otherwise fade will occur and application will not close

FadeOutStart()

If ( ExitMethod = "Process Close AppWaitExe" && AppWaitExe) {

Log("CloseProcess - ExitMethod is ""Process Close AppWaitExe""")

Process("Close", AppWaitExe)

} Else If ( ExitMethod = "WinClose AppWaitExe" && AppWaitExe) {

Log("CloseProcess - ExitMethod is ""WinClose AppWaitExe""")

AppWaitExePID := Process("Exist", AppWaitExe)

WinClose("ahk_pid " . AppWaitExePID)

} Else If ( ExitMethod = "Process Close Application" ) {

Log("CloseProcess - ExitMethod is ""Process Close Application""")

Process("Close", ApplicationName)

} Else If ( ExitMethod = "WinClose Application" && FadeTitle ) {

Log("CloseProcess - ExitMethod is ""WinClose Close Application""")

WinClose(FadeTitle)

} Else If ( ExitMethod = "Send Alt+F4" ) {

Log("CloseProcess - ExitMethod is ""Send Alt+F4""")

Send, !{F4}

} Else {

Log("CloseProcess - Default ExitMethod`, using ""WinClose""")

WinClose(ApplicationName)

}

Return

13:51:48:556 | HL | INFO | +0 | CheckFile - Checking if C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe exists

13:51:48:572 | HL | DEBUG1 | +15 | CheckFile - Attributes:

FileDescription DAEMON Tools Lite

FileVersion 4.49.1.0356

InternalName DTLite.exe

LegalCopyright © 2000-2013 Disc Soft Ltd.

OriginalFilename DTLite.exe

ProductName DAEMON Tools Lite

ProductVersion 4.49.1.0356

CompanyName Disc Soft Ltd

File Size: 3696912 bytes

Created: 3/4/2014 - 10:19:52 AM

Modified: 3/4/2014 - 10:19:52 AM

13:51:48:572 | HL | INFO | +0 | BuildScript - Loaded Statistics.ahk script

13:51:48:572 | HL | INFO | +0 | BuildScript - Finished injecting functions into module

13:51:48:572 | HL | INFO | +0 | Main - Module is built

13:51:48:572 | HL | INFO | +0 | CheckFile - Checking if H:\AutoHotkey.dll exists

13:51:48:572 | HL | DEBUG1 | +0 | CheckFile - Attributes:

FileDescription AutoHotkey_H ANSI 32-bit

FileVersion 1.1.09.04

InternalName AutoHotkey_H

LegalCopyright Copyright © 2012

OriginalFilename AutoHotkey.exe

ProductName AutoHotkey_H

ProductVersion 1.1.09.04

File Size: 785408 bytes

Created: 8/14/2014 - 12:23:39 AM

Modified: 8/14/2014 - 12:23:39 AM

13:51:48:572 | HL | INFO | +0 | Main - Hiding taskbar

13:51:48:791 | HL | INFO | +219 | Main - Hiding desktop

13:51:48:791 | HL | INFO | +0 | Main - Running module

13:51:48:791 | HL | INFO | +0 | Main - Starting timer to watch if Front End gets displaced and restore it if it does.

13:51:48:904 | MD | INFO | +N/A | Module initialized

13:51:48:928 | MD | INFO | +32 | StartModule - Started

13:51:48:928 | MD | INFO | +0 | StartModule - MEmu: PCLauncher

MEmuV: N/A

MURL: https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher

MAuthor: djvj

MVersion: 2.1.1

MCRC: E0BD831D

iCRC: 987FA370

MID:

MSystem: "Fan Remakes","Games for Windows","Microsoft Windows","PCLauncher","PC Games","Steam","Steam Big Picture","Taito Type X","Touhou"

13:51:48:928 | MD | INFO | +0 | StartModule - You have a supported System Name for this module: "PC Games"

13:51:48:929 | MD | DEBUG1 | +0 | StartModule - Setting romName to the dbName sent to HyperLaunch: Danmaku Unlimited 2

13:51:48:929 | MD | INFO | +0 | StartModule - Ended

13:51:48:929 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - SteamID:

13:51:48:929 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - Application: .\Emulators\PC Games\Danmaku Unlimited 2\Danmaku Unlimited 2.exe

13:51:48:930 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - AppWaitExe: Danmaku Unlimited 2.exe

13:51:48:930 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - DiscImage:

13:51:48:930 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - Parameters:

13:51:48:930 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - OriginGame: false

13:51:48:931 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - WorkingFolder: .\Emulators\PC Games\Danmaku Unlimited 2

13:51:48:931 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - PreLaunch:

13:51:48:931 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - PreLaunchParameters:

13:51:48:931 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - PreLaunchSleep:

13:51:48:931 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - PostLaunch:

13:51:48:932 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - PostLaunchParameters:

13:51:48:932 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - PostLaunchSleep:

13:51:48:932 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - PostExit:

13:51:48:932 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - PostExitParameters:

13:51:48:933 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - PostExitSleep:

13:51:48:933 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - ExitMethod:

13:51:48:933 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - FadeTitle:

13:51:48:933 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - FadeInExitSleep:

13:51:48:933 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - HideCursor:

13:51:48:934 | MD | INFO | +0 | Module Setting - [settings] - HideCursor:

13:51:48:934 | MD | INFO | +0 | Module Setting - [Danmaku Unlimited 2] - HideCursor:

13:51:48:934 | MD | INFO | +0 | CheckSettings - Started

13:51:48:934 | MD | INFO | +0 | PCLauncher - Origin mode enabled. Will log in to Origin if required.

13:51:48:934 | MD | INFO | +0 | CheckSettings - Ended

13:51:48:934 | MD | INFO | +0 | PCLauncher - Checking Origin status.

13:51:48:935 | MD | INFO | +0 | PCLauncher - Origin install path:

13:51:48:935 | MD | INFO | +0 | CheckFile - Checking if exists

13:51:49:278 | MD | DEBUG1 | +343 | ScriptError - Playing error sound: error3.mp3

13:51:56:522 | MD | ERROR | +7250 | Cannot find

13:51:56:522 | MD | INFO | +0 | ExitModule - Started

13:51:56:522 | MD | INFO | +0 | Starting Updating Statistics:

13:51:56:522 | MD | DEBUG2 | +0 | Total Elapsed Time in Pause in seconds: 0

13:51:56:522 | MD | DEBUG2 | +0 | gameSectionStartTime:2688703

13:51:56:522 | MD | DEBUG2 | +0 | ElapsedTime:7

13:51:56:522 | MD | INFO | +0 | CreateRomTable - Started

13:51:56:522 | MD | DEBUG1 | +0 | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Disc"

13:51:56:522 | MD | DEBUG1 | +0 | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Disk"

13:51:56:522 | MD | DEBUG1 | +0 | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Cart"

13:51:56:522 | MD | DEBUG1 | +0 | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Tape"

13:51:56:522 | MD | DEBUG1 | +0 | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Cassette"

13:51:56:522 | MD | DEBUG1 | +0 | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Part"

13:51:56:522 | MD | DEBUG1 | +0 | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Side"

13:51:56:522 | MD | INFO | +0 | CreateRomTable - Ended, 7 Loops to create table.

13:51:56:522 | MD | DEBUG2 | +0 | Statistics cleared game name: Danmaku Unlimited 2

13:51:56:553 | MD | DEBUG2 | +32 | Loaded game statistics from ini files:

Number_of_Times_Played: 34

Last_Time_Played: Friday August 22, 2014 01:51:05 PM

Average_Time_Played: 8

Total_Time_Played: 279

System_Total_Played_Time: 1232

Total_Global_Played_Time: 45736

13:51:56:553 | MD | DEBUG2 | +0 | Updated Statistics: Number_of_Times_Played: 35

Last_Time_Played: Friday August 22, 2014 01:51:48 PM

Average_Time_Played: 8

Total_Time_Played: 286

System_Total_Played_Time: 1239

Total_Global_Played_Time: 45743

13:51:56:584 | MD | INFO | +31 | Game section statistics updated.

13:51:56:584 | MD | INFO | +0 | ExitModule - Ended

13:51:56:584 | MD | INFO | +0 | End of Module Logs

13:51:56:647 | HL | INFO | +7859 | Main - Module ended, exiting HyperLaunch normally

13:51:56:647 | HL | INFO | +0 | ExitScript - Started

13:51:56:647 | HL | DEBUG1 | +0 | ExitScript - Unhiding taskbar

13:51:56:866 | HL | INFO | +219 | SystemCursor - Restoring mouse cursor

13:51:56:881 | HL | INFO | +16 | ExitScript - Ended

[/code]

Posted

# [settings] - General settings for module

# PathToSteam - Put your steam folder in here. Do not need the exe, only the path with no backslash on the end.

#

# [romName] - The romName starts each section below. It must match your "game name" in your database.

# Application - The directory and executable, batch, or shortcut (lnk file) to your application. (this must end with the applications 3-letter extension). If an exe on an image is defined here, the image defined below will be mounted with Daemon Tools first then this exe will be ran. If no exact path to the exe is defined, it will assume it is found on the root folder of the mounted image. Can also be a URL or Steam Browser Protocol.

# AppWaitExe - This will be the exe, if different then the Application, that you want the script to wait to close. This would be needed if launching a bat file, which in turn launches another exe, where the exe is the game. Leave this blank if the module works fine with the exe from the Application key.

# DiscImage - Path to a disc image (ccd,cdi,cue,iso,isz,nrg) if required by a game, usually for a cd check. Only fill this key if a cd/dvd image is required by your game.

# Parameters - This can be any number of parameters that you want to supply to your application.

# SteamID - If you are launching a steam game, provide the ID of the game here. This will turn on steam mode if not blank. Steam only understands AppIDs for games, not rom names. See here for more info on finding a steam ID for your game: https://support.steampowered.com/kb_article.php?ref=3729-WFJZ-4175

# OriginGame - Set to true if this is a game using the Origin Service. If true it will allow automatic logging into Origin so you do not get stuck at a login prompt while loading

# WorkingFolder - Mostly for GoG games, allows you to set a different working directory then the default directory (the one Application exists in)

# PreLaunch - This can be used to run another application before launching the Application. This will usually be blank. Can be a relative or absolute path. Can also be a URL or Steam Browser Protocol.

# PreLaunchParameters - This can be any number of parameters that you want to supply to your PreLaunch application.

# PreLaunchSleep - If you need the script to wait after launching your PreLaunch app for a set amount of time, put that here (1000=1 second).

# PostLaunch - This can be used to run another application after the Application has launched, but before the module waits for it to close. This will usually be blank. Can be a relative or absolute path. Can also be a URL or Steam Browser Protocol.

# PostLaunchParameters - This can be any number of parameters that you want to supply to your PostLaunch application.

# PostLaunchSleep - If you need the script to wait after launching your PostLaunch app for a set amount of time, put that here (1000=1 second).

# PostExit - This can be used to run another application after the Application has closed. This will usually be blank. Can be a relative or absolute path. Can also be a URL or Steam Browser Protocol.

# PostExitParameters - This can be any number of parameters that you want to supply to your PostLaunch application.

# PostExitSleep - If you need the script to wait after launching your PostLaunch app for a set amount of time, put that here (1000=1 second).

# ExitMethod - Define an alternate way to exit your Application in case it doesn't close with your Hyperspin exit keys using the default WinClose. WinClose methods are suggested as they will cleanly close a window, whereas Process methods force close it (many apps do not like to be force closed). Alt+F4 is an app-friendly method also, but some applications will disable this. Choose the one that works best for your scenario. WARNING, before enabling Fade_Out on exit, make sure you test your ExitMethod first, otherwise you might get a blank screen while game never closed.

# FadeTitle - This is the Window Title & Class of your application. To find the Title/Class you can use the AutoIt3 Window Spy utility installed with AutoHotKey or my utility @ http://www.hyperspin-fe.com/forum/showthread.php?15014-Window-Logger

# FadeInExitSleep - This is needed for some applications that may start, but not appear, ending FadeInExit prematurely. It keeps the fade screen up for the defined length.

# HideCursor - True or False - Same as the HyperLaunch setting, but allows for per-game use.

#//////////////////////////// My Applications //////////////////////////////

[Example]

Application=

AppWaitExe=

DiscImage=

Parameters=

SteamID=

OriginGame=

WorkingFolder=

PreLaunch=

PreLaunchParameters=

PreLaunchSleep=

PostLaunch=

PostLaunchParameters=

PostLaunchSleep=

PostExit=

PostExitParameters=

PostExitSleep=

ExitMethod=

FadeTitle=

FadeInExitSleep=

HideCursor=

[settings]

PathToSteam=H:\Steam\Steam

[FixitFelixJr]

Application=J:\Fix it Felix Jr\FIFJ.exe

AppWaitExe=

FadeTitle=ahk_class FOCAL Test Shell

ExitMethod=WinClose AppWaitExe

BezelEnabled=false

[Donkey Me]

Application=J:\Donkey Me\DonkeyMe.exe

FadeTitle=Donkey-Me ahk_class YYGameMakerYY

[Notepad]

Application=C:\Windows\system32\notepad.exe

PreLaunchSleep=2000

ExitMethod=WinClose Application

FadeTitle=Notepad ahk_class Notepad

[steam Big Picture]

Application=steam://open/bigpicture

FadeTitle=Steam ahk_class CUIEngineWin32

[superMarioWar]

Application=..\..\PC Games\smw-1.8-beta2-bin\SuperMarioWar.exe

ExitMethod=WinClose Application

FadeTitle=Super Mario War ahk_class SDL_app

[Terraria]

Application=

AppWaitExe=Terraria.exe

SteamID=105600

FadeTitle=Terraria

[XBMC]

Application=..\Program Files (x86)\XBMC\XBMC.exe

PreLaunch=

FadeTitle=XBMC ahk_class XBMC

[Need for Speed - Most Wanted]

Application=..\Program Files (x86)\Origin Games\Need for Speed Most Wanted\NFS13.exe

OriginGame=true

[sonic & SEGA All-Stars Racing Transformed]

SteamID=212480

#PreLaunch=steam://open/bigpicture

PostLaunch=.\Modules\PCLauncher\PostLaunch - Sonic Racing Transformed.exe

FadeTitle=Sonic & All-Stars Racing Transformed ahk_class ASN

[Arcana Heart 3]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Arcana Heart 3\xb_loader.exe

AppWaitExe=game.exe

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

HideCursor=true

ExitMethod=WinClose Application

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=

PostExitSleep=

BezelEnabled=true

FadeTitle=AH3

[battle Fantasia]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Battle Fantasia\Battle Fantasia.bat

AppWaitExe=game.exe

PostExit=

FadeTitle=BattleFantasia

ExitMethod=WinClose Application

[blazBlue Calamity Trigger]

Application=J:\Roms and Emulators\Emulators\Taito Type X\BlazBlue Calamity Trigger\BlazBlue Calamity Trigger.bat

AppWaitExe=game.exe

FadeTitle=Blaz Blue

PostExit=

PreLaunch=

PreLaunchSleep=

BezelEnabled=true

ExitMethod=WinClose Application

[blazBlue Continuum Shift]

Application=J:\Roms and Emulators\Emulators\Taito Type X\BlazBlue Continuum Shift\BBCS_Launcher.exe

AppWaitExe=game.exe

PostExit=

FadeTitle=Blaz Blue

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

BezelEnabled=true

[Chaos Breaker]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Chaos Breaker\Chaos Breaker.bat

AppWaitExe=game.exe

PostExit=

FadeTitle=GAME

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[Daemon Bride]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Daemon Bride\xb_loader.exe

AppWaitExe=game.exe

FadeTitle=DB1

ExitMethod=WinClose Application

[KOF - Maximum Impact Regulation A]

Application=J:\Roms and Emulators\Emulators\Taito Type X\KOF - Maximum Impact Regulation A\KOF - Maximum Impact Regulation A.bat

AppWaitExe=game.exe

PostExit=

FadeTitle=KOF@MAXIMUM@IMPACT@regulation gAh

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[King of Fighters '98, The Ultimate Match]

Application=J:\Roms and Emulators\Emulators\Taito Type X\King of Fighters '98, The Ultimate Match\kof98um.bat

AppWaitExe=game.exe

FadeTitle=Kof98

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[King of Fighters XII, The]

Application=J:\Roms and Emulators\Emulators\Taito Type X\King of Fighters XII, The\KOFXII_launcher.exe

AppWaitExe=game.exe

FadeTitle=ahk_class NGLU_CLASS

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[King of Fighters XIII, The]

Application=J:\Roms and Emulators\Emulators\Taito Type X\King of Fighters XIII, The\King of Fighters XIII, The.bat

AppWaitExe=game.exe

FadeTitle=KOF XIII

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[Power Instinct The Commemoration]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Power Instinct The Commemoration\PI5_Launcher.exe

AppWaitExe=game.exe

FadeTitle=????? ahk_class tx_gouketu

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

BezelEnabled=true

[samurai Shodown - Edge of Destiny]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Samurai Shodown - Edge of Destiny\Samourai Shodown Edge of Destiny.exe

AppWaitExe=game.exe

FadeTitle=Samurai Shodown 3D Ver[Mar 31 2008 15:23:19]

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[spica Adventure]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Spica Adventure\Spica Adventure.exe

AppWaitExe=game.exe

PostExit=

FadeTitle=SpikaADV.

PreLaunch=

PreLaunchSleep=

BezelEnabled=true

ExitMethod=WinClose Application

[street Fighter IV]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Street Fighter IV\Street Fighter IV.bat

AppWaitExe=game.exe

PostExit=

FadeTitle=Street Fighter 4

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[super Street Fighter IV]

Application=.\Emulators\Taito Type X2\Games\SSFIVAE\SSFIVAE_Launcher.exe

AppWaitExe=game.exe

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

FadeTitle=SF41 - Nov 4 2010 14:01:12 ahk_class SF41

ExitMethod=WinClose Application

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=2500

[Taisen Hot Gimmick 5]

Application=J:\Roms and Emulators\Emulators\Taito Type X\THG5\Taisen Hot Gimmick 5.bat

AppWaitExe=game.exe

FadeTitle=MTS for PC

ExitMethod=WinClose Application

[Tetris The Grand Master 3 Terror Instinct]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Tetris The Grand Master 3 Terror Instinct\Tetris The Grand Master 3 Terror Instinct.bat

AppWaitExe=game.exe

FadeTitle=TGM3 - Copyright © Arika Co., Ltd - 2004-2005 (Jan 30 2005 17:52:56)

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[Trouble Witches AC]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Trouble Witches AC\TW_Launcher.exe

AppWaitExe=game.exe

FadeTitle=

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[big Bang Beat - 1st Impression]

Application=D:\Hyperspin\HyperLaunch

[Homura]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Homura\Homura.exe

AppWaitExe=game.exe

FadeTitle=HOMURA for TypeX

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[shikigami no Shiro III]

Application=.\Emulators\PC Games\Shikigami no Shiro III\Shikigami no Shiro III.exe

AppWaitExe=game.exe

FadeTitle= Ž®_‚Ìé‡V ahk_class D3D Window

PostExit=.\Emulators\PC Games\Shikigami no Shiro III\Shikigami no Shiro III.exe

PostExitSleep=1000

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=2500

[ikaruga]

Application=H:\Emulators\PC Games\Ikaruga\Ikaruga.exe

AppWaitExe=game.exe

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=

ExitMethod=WinClose AppWaitExe

OriginGame=false

FadeTitle=Ikaruga ahk_class Ikaruga

[Jamestown]

Application=H:\Emulators\PC Games\Jamestown\Jamestown.exe

AppWaitExe=game.exe

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=

ExitMethod=WinClose AppWaitExe

OriginGame=false

FadeTitle=Jamestown ahk_class ViewportWin32OpenGlWindow

[Danmaku Unlimited 2]

Application=H:\Emulators\PC Games\Danmaku Unlimited 2\Danmaku Unlimited 2.exe

AppWaitExe=game.exe

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=

ExitMethod=WinClose AppWaitExe

OriginGame=false

FadeTitle=Information ahk_class HwndWrapper[HyperLaunchHQ.exe;;87bf547a-b7f1-49f9-9d8b-d1e71298a862]

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=2500

[Contra - Evolution Revolution]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Contra - Evolution Revolution\AMContra_full.exe

AppWaitExe=AMContra_full.exe

PostExit=.\Module Extensions\bring back focus.exe

FadeTitle=AMCONTRA ahk_class AMCONTRA

ExitMethod=WinClose Application

[suggoi! Arcana Heart 2]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Suggoi! Arcana Heart 2\Game Loader All RH.exe

AppWaitExe=game.exe

FadeTitle=AH2

ExitMethod=WinClose Application

BezelEnabled=true

[Otomedius]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Otomedius\OTMD_Launcher.exe

AppWaitExe=otomedius.exe

ExitMethod=WinClose Application

[sine Mora]

SteamID=207040

[Dark Soulsâ„¢ - Prepare To Dieâ„¢ Edition]

SteamID=211420

[PAC-MAN]

Application=C:\Program Files (x86)\PAC-MAN Championship Edition DX+\PAC-MAN.exe

[ACE COMBATâ„¢ ASSAULT HORIZON Enhanced Edition]

SteamID=228400

[street Fighter X Tekken]

SteamID=209120

[super Street Fighter IV - Arcade Edition]

SteamID=45760

AppWaitExe=ssfiv.exe

FadeTitle=SSFIVAE

[burn Zombie Burn]

SteamID=50510

[shikigami no Shiro III]

Application=H:\Emulators\PC Games\Shikigami no Shiro III\exe\Emulators\Shikigami no Shiro III.exe

PreLaunch=.\Modules\PCLauncher\Shikigami no Shiro III.exe

PreLaunchSleep=2500

[crime patrol]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Crime Patrol.bat

[Crime Patrol 2 - Drug Wars]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Crime Patrol 2 - Drug Wars.bat

[Mad Dog McCree]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Mad Dog McCree.bat

[Mad Dog II - The Lost Gold]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Mad Dog II - The Lost Gold.bat

[Ninja Hayate]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Ninja Hayate.bat

[space Pirates]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Space Pirates.bat

[The Last Bounty Hunter]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\The Last Bounty Hunter.bat

[Time Gal]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Time Gal.bat

[Who Shot Johnny Rock]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Who Shot Johnny Rock.bat

[super Street Fighter IV Arcade edition 2012]

Application=J:\Roms and Emulators\Emulators\Taito Type X\ArcadePC Loader\Games\SSFIVAE2012\TypeX Config.exe

BezelEnabled=true

[super Street Fighter IV Arcade edition]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Super Street Fighter IV Arcade Edition\SSFIVAE\SSFIVAE_Launcher.exe

AppWaitExe=game.exe

FadeTitle=SF41

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

[strider]

Application=J:\STRIDER\Strider.exe

AppWaitExe=StriderX64_r.exe

BezelEnabled=false

ExitMethod=WinClose AppWaitExe

[Double Dragon Neon]

Application=J:\Double Dragon Neon\bin\DoubleDragon.exe

[super Hexagon]

SteamID=221640

[Mark of the Ninja]

SteamID=214560

[strike Suit Zero]

SteamID=209540

[DiRT 3]

SteamID=44320

[The Typing of The Dead - Overkill]

SteamID=246580

[Mortal Kombat Komplete Edition]

SteamID=237110

[Outlast]

SteamID=238320

[beat Hazard]

SteamID=49600

[bastion]

SteamID=107100

[Galaxy on Fire 2â„¢ Full HD]

SteamID=212010

[GRID 2]

SteamID=44350

[PAC-MAN Championship Edition DX+]

SteamID=236450

[batman - Arkham City GOTY]

SteamID=200260

[batmanâ„¢ - Arkham Origins]

SteamID=209000

[FEZ]

SteamID=224760

[Jamestown]

Application=.\Emulators\PC Games\Jamestown\Jamestown.exe

Posted

This is the ini from gigapig ftp, he's obviously got it setup in J drive. I'm in H. I will try changing the origin to blank. But why does Ikaruga play when it's the exact same layout and danmaku says cannot find? Aaaaargh

Posted

# [settings] - General settings for module

# PathToSteam - Put your steam folder in here. Do not need the exe, only the path with no backslash on the end.

#

# [romName] - The romName starts each section below. It must match your "game name" in your database.

# Application - The directory and executable, batch, or shortcut (lnk file) to your application. (this must end with the applications 3-letter extension). If an exe on an image is defined here, the image defined below will be mounted with Daemon Tools first then this exe will be ran. If no exact path to the exe is defined, it will assume it is found on the root folder of the mounted image. Can also be a URL or Steam Browser Protocol.

# AppWaitExe - This will be the exe, if different then the Application, that you want the script to wait to close. This would be needed if launching a bat file, which in turn launches another exe, where the exe is the game. Leave this blank if the module works fine with the exe from the Application key.

# DiscImage - Path to a disc image (ccd,cdi,cue,iso,isz,nrg) if required by a game, usually for a cd check. Only fill this key if a cd/dvd image is required by your game.

# Parameters - This can be any number of parameters that you want to supply to your application.

# SteamID - If you are launching a steam game, provide the ID of the game here. This will turn on steam mode if not blank. Steam only understands AppIDs for games, not rom names. See here for more info on finding a steam ID for your game: https://support.steampowered.com/kb_article.php?ref=3729-WFJZ-4175

# OriginGame - Set to true if this is a game using the Origin Service. If true it will allow automatic logging into Origin so you do not get stuck at a login prompt while loading

# WorkingFolder - Mostly for GoG games, allows you to set a different working directory then the default directory (the one Application exists in)

# PreLaunch - This can be used to run another application before launching the Application. This will usually be blank. Can be a relative or absolute path. Can also be a URL or Steam Browser Protocol.

# PreLaunchParameters - This can be any number of parameters that you want to supply to your PreLaunch application.

# PreLaunchSleep - If you need the script to wait after launching your PreLaunch app for a set amount of time, put that here (1000=1 second).

# PostLaunch - This can be used to run another application after the Application has launched, but before the module waits for it to close. This will usually be blank. Can be a relative or absolute path. Can also be a URL or Steam Browser Protocol.

# PostLaunchParameters - This can be any number of parameters that you want to supply to your PostLaunch application.

# PostLaunchSleep - If you need the script to wait after launching your PostLaunch app for a set amount of time, put that here (1000=1 second).

# PostExit - This can be used to run another application after the Application has closed. This will usually be blank. Can be a relative or absolute path. Can also be a URL or Steam Browser Protocol.

# PostExitParameters - This can be any number of parameters that you want to supply to your PostLaunch application.

# PostExitSleep - If you need the script to wait after launching your PostLaunch app for a set amount of time, put that here (1000=1 second).

# ExitMethod - Define an alternate way to exit your Application in case it doesn't close with your Hyperspin exit keys using the default WinClose. WinClose methods are suggested as they will cleanly close a window, whereas Process methods force close it (many apps do not like to be force closed). Alt+F4 is an app-friendly method also, but some applications will disable this. Choose the one that works best for your scenario. WARNING, before enabling Fade_Out on exit, make sure you test your ExitMethod first, otherwise you might get a blank screen while game never closed.

# FadeTitle - This is the Window Title & Class of your application. To find the Title/Class you can use the AutoIt3 Window Spy utility installed with AutoHotKey or my utility @ http://www.hyperspin-fe.com/forum/showthread.php?15014-Window-Logger

# FadeInExitSleep - This is needed for some applications that may start, but not appear, ending FadeInExit prematurely. It keeps the fade screen up for the defined length.

# HideCursor - True or False - Same as the HyperLaunch setting, but allows for per-game use.

#//////////////////////////// My Applications //////////////////////////////

[Example]

Application=

AppWaitExe=

DiscImage=

Parameters=

SteamID=

OriginGame=

WorkingFolder=

PreLaunch=

PreLaunchParameters=

PreLaunchSleep=

PostLaunch=

PostLaunchParameters=

PostLaunchSleep=

PostExit=

PostExitParameters=

PostExitSleep=

ExitMethod=

FadeTitle=

FadeInExitSleep=

HideCursor=

[settings]

PathToSteam=H:\Steam\Steam

[FixitFelixJr]

Application=J:\Fix it Felix Jr\FIFJ.exe

AppWaitExe=

FadeTitle=ahk_class FOCAL Test Shell

ExitMethod=WinClose AppWaitExe

BezelEnabled=false

[Donkey Me]

Application=J:\Donkey Me\DonkeyMe.exe

FadeTitle=Donkey-Me ahk_class YYGameMakerYY

[Notepad]

Application=C:\Windows\system32\notepad.exe

PreLaunchSleep=2000

ExitMethod=WinClose Application

FadeTitle=Notepad ahk_class Notepad

[steam Big Picture]

Application=steam://open/bigpicture

FadeTitle=Steam ahk_class CUIEngineWin32

[superMarioWar]

Application=..\..\PC Games\smw-1.8-beta2-bin\SuperMarioWar.exe

ExitMethod=WinClose Application

FadeTitle=Super Mario War ahk_class SDL_app

[Terraria]

Application=

AppWaitExe=Terraria.exe

SteamID=105600

FadeTitle=Terraria

[XBMC]

Application=..\Program Files (x86)\XBMC\XBMC.exe

PreLaunch=

FadeTitle=XBMC ahk_class XBMC

[Need for Speed - Most Wanted]

Application=..\Program Files (x86)\Origin Games\Need for Speed Most Wanted\NFS13.exe

OriginGame=true

[sonic & SEGA All-Stars Racing Transformed]

SteamID=212480

#PreLaunch=steam://open/bigpicture

PostLaunch=.\Modules\PCLauncher\PostLaunch - Sonic Racing Transformed.exe

FadeTitle=Sonic & All-Stars Racing Transformed ahk_class ASN

[Arcana Heart 3]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Arcana Heart 3\xb_loader.exe

AppWaitExe=game.exe

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

HideCursor=true

ExitMethod=WinClose Application

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=

PostExitSleep=

BezelEnabled=true

FadeTitle=AH3

[battle Fantasia]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Battle Fantasia\Battle Fantasia.bat

AppWaitExe=game.exe

PostExit=

FadeTitle=BattleFantasia

ExitMethod=WinClose Application

[blazBlue Calamity Trigger]

Application=J:\Roms and Emulators\Emulators\Taito Type X\BlazBlue Calamity Trigger\BlazBlue Calamity Trigger.bat

AppWaitExe=game.exe

FadeTitle=Blaz Blue

PostExit=

PreLaunch=

PreLaunchSleep=

BezelEnabled=true

ExitMethod=WinClose Application

[blazBlue Continuum Shift]

Application=J:\Roms and Emulators\Emulators\Taito Type X\BlazBlue Continuum Shift\BBCS_Launcher.exe

AppWaitExe=game.exe

PostExit=

FadeTitle=Blaz Blue

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

BezelEnabled=true

[Chaos Breaker]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Chaos Breaker\Chaos Breaker.bat

AppWaitExe=game.exe

PostExit=

FadeTitle=GAME

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[Daemon Bride]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Daemon Bride\xb_loader.exe

AppWaitExe=game.exe

FadeTitle=DB1

ExitMethod=WinClose Application

[KOF - Maximum Impact Regulation A]

Application=J:\Roms and Emulators\Emulators\Taito Type X\KOF - Maximum Impact Regulation A\KOF - Maximum Impact Regulation A.bat

AppWaitExe=game.exe

PostExit=

FadeTitle=KOF@MAXIMUM@IMPACT@regulation gAh

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[King of Fighters '98, The Ultimate Match]

Application=J:\Roms and Emulators\Emulators\Taito Type X\King of Fighters '98, The Ultimate Match\kof98um.bat

AppWaitExe=game.exe

FadeTitle=Kof98

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[King of Fighters XII, The]

Application=J:\Roms and Emulators\Emulators\Taito Type X\King of Fighters XII, The\KOFXII_launcher.exe

AppWaitExe=game.exe

FadeTitle=ahk_class NGLU_CLASS

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[King of Fighters XIII, The]

Application=J:\Roms and Emulators\Emulators\Taito Type X\King of Fighters XIII, The\King of Fighters XIII, The.bat

AppWaitExe=game.exe

FadeTitle=KOF XIII

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[Power Instinct The Commemoration]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Power Instinct The Commemoration\PI5_Launcher.exe

AppWaitExe=game.exe

FadeTitle=????? ahk_class tx_gouketu

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

BezelEnabled=true

[samurai Shodown - Edge of Destiny]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Samurai Shodown - Edge of Destiny\Samourai Shodown Edge of Destiny.exe

AppWaitExe=game.exe

FadeTitle=Samurai Shodown 3D Ver[Mar 31 2008 15:23:19]

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[spica Adventure]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Spica Adventure\Spica Adventure.exe

AppWaitExe=game.exe

PostExit=

FadeTitle=SpikaADV.

PreLaunch=

PreLaunchSleep=

BezelEnabled=true

ExitMethod=WinClose Application

[street Fighter IV]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Street Fighter IV\Street Fighter IV.bat

AppWaitExe=game.exe

PostExit=

FadeTitle=Street Fighter 4

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[super Street Fighter IV]

Application=H:\Emulators\Taito Type X2\Games\SFIV\SSFIV_Launcher.exe

AppWaitExe=game.exe

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

FadeTitle=SF41 - Nov 4 2010 14:01:12 ahk_class SF41

ExitMethod=WinClose Application

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=2500

[Taisen Hot Gimmick 5]

Application=J:\Roms and Emulators\Emulators\Taito Type X\THG5\Taisen Hot Gimmick 5.bat

AppWaitExe=game.exe

FadeTitle=MTS for PC

ExitMethod=WinClose Application

[Tetris The Grand Master 3 Terror Instinct]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Tetris The Grand Master 3 Terror Instinct\Tetris The Grand Master 3 Terror Instinct.bat

AppWaitExe=game.exe

FadeTitle=TGM3 - Copyright © Arika Co., Ltd - 2004-2005 (Jan 30 2005 17:52:56)

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[Trouble Witches AC]

Application=J:\Roms and Emulators\Emulators\Taito Type X\Trouble Witches AC\TW_Launcher.exe

AppWaitExe=game.exe

FadeTitle=

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[big Bang Beat - 1st Impression]

Application=H:\Hyperspin\HyperLaunch

[Homura]

Application==H:\Emulators\Taito Type X2\Games\HMR\Homura.exe

AppWaitExe=game.exe

FadeTitle=HOMURA for TypeX

PostExit=

ExitMethod=WinClose Application

PreLaunch=

PreLaunchSleep=

[shikigami no Shiro III]

Application=H:\Emulators\PC Games\Shikigami no Shiro III\Shikigami no Shiro III.exe

AppWaitExe=game.exe

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=

ExitMethod=Send Alt+F4

OriginGame=

FadeTitle= Ž®_‚Ìé‡V ahk_class D3D Window

[ikaruga]

Application=H:\Emulators\PC Games\Ikaruga\Ikaruga.exe

AppWaitExe=game.exe

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=

ExitMethod=WinClose AppWaitExe

OriginGame=

FadeTitle=Ikaruga ahk_class Ikaruga

[Contra - Evolution Revolution]

Application=H:\Emulators\Contra Evolution HD\Contra Evolution\AMContra.exe

AppWaitExe=AMContra.exe

PostExit=.\Module Extensions\bring back focus.exe

FadeTitle=AMContra ahk_class AMContra

ExitMethod=WinClose Application

[suggoi! Arcana Heart 2]

Application=H:\Emulators\Taito Type X2\Suggoi! Arcana Heart 2\Game Loader All RH.exe

AppWaitExe=game.exe

FadeTitle=AH2

ExitMethod=WinClose Application

BezelEnabled=true

[Otomedius]

Application=H:\Emulators\Taito Type X2\Taito Type X\Otomedius\OTMD_Launcher.exe

AppWaitExe=otomedius.exe

ExitMethod=WinClose Application

[shikigami no Shiro III]

Application=H:\Emulators\PC Games\Shikigami no Shiro III\exe\Emulators\Shikigami no Shiro III.exe

PreLaunch=.\Modules\PCLauncher\Shikigami no Shiro III.exe

PreLaunchSleep=2500

[Mad Dog II - The Lost Gold]

Application=H:\Emulators\Daphne SINGE\Mad Dog II - The Lost Gold[Mad Dog II - The Lost Gold]

Application=H:\Roms and Emulators\Emulators\Daphne Singe\Crime Patrol 2 - Drug Wars.bat

[Mad Dog McCree]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Mad Dog McCree.bat

[Mad Dog II - The Lost Gold]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Mad Dog II - The Lost Gold.bat

[Ninja Hayate]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Ninja Hayate.bat

[space Pirates]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\Space Pirates.bat

[The Last Bounty Hunter]

Application=J:\Roms and Emulators\Emulators\Daphne Singe\The Last Bounty Hunter.bat

[Time Gal]

Application=J:\Roms and Emulators\Emulators

[super Street Fighter IV Arcade edition]

Application=H:\Emulators\Taito Type X2\Super Street Fighter IV Arcade Edition\SSFIVAE\SSFIVAE_Launcher.exe

AppWaitExe=game.exe

FadeTitle=SF41

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

[strider]

[Jamestown]

Application=H:\Emulators\PC Games\Jamestown\Jamestown.exe

AppWaitExe=game.exe

PostExit=.\Module Extensions\disable and enable bluetooth\Enable Bluetooth v2.exe

PreLaunch=.\Module Extensions\disable and enable bluetooth\Disable Bluetooth.exe

PreLaunchSleep=

ExitMethod=WinClose AppWaitExe

OriginGame=

FadeTitle=Jamestown ahk_class ViewportWin32OpenGlWindow

[Contra Evolution HD]

Application=.\Emulators\Contra Evolution HD\Contra Evolution\AMContra.exe

FadeTitle=AMCONTRA ahk_class AMCONTRA

AppWaitExe=game.exe

ExitMethod=WinClose AppWaitExe

OriginGame=

Posted

I understand this is a bit of a hit and miss, is there no chance of a quick team viewer? I just don't understand why it says Cannot Find, its pointing directly at the exe and its set up..

Posted
18:39:08:176 | HL |     INFO  | +N/A   | Main - HyperLaunch v3.0.1.1c
18:39:08:352 | HL |     INFO  | +172   | Main - System Specs:
				HyperLaunch Dir: H:
				OS: Microsoft Windows 7 Ultimate
				SKU: Ultimate
				Total Memory: 4029.57 MB
				Free Memory: 2449.65 MB
				Used Memory: 1579.918 MB
				SystemType: x64-based PC
				Physical Processors: 1
				Logical Processors: 4
				GPU 1 Name: NVIDIA GeForce GT 240
				GPU 1 RAM: 512.00 MB
				GPU 1 Driver Version: 9.18.13.3788
				Sound 1 Device: NVIDIA High Definition Audio
				Sound 1 Status: Enabled
				Sound 2 Device: NVIDIA High Definition Audio
				Sound 2 Status: Enabled
				Sound 3 Device: NVIDIA High Definition Audio
				Sound 3 Status: Enabled
				Sound 4 Device: NVIDIA High Definition Audio
				Sound 4 Status: Enabled
				Sound 5 Device: High Definition Audio Device
				Sound 5 Status: Enabled
				Sound 6 Device: NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
				Sound 6 Status: Enabled
				OS Language: English_United_States
				OS Admin Status: Yes
				Monitor #1 (\\.\DISPLAY1): 1280x1024 (1280x984 work)
				AutoHotkey Path:
				AHK Version: 1.1.09.04
				Unicode: No
18:39:08:352 | HL |     INFO  | +0     | Main - HyperSpin.exe coordinates are x y w h
18:39:08:352 | HL |     INFO  | +0     | CheckFile - Checking if H:\HyperLaunch.exe exists
18:39:08:353 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				FileDescription         	Your favorite Front End companion!
				FileVersion             	3.0.1.1
				LegalCopyright          	�2013 HL squad
				ProductName             	djvj's one swell guy!
				ProductVersion          	1.1.9.4
				CompanyName             	djvj's one swell guy!
				File Size:			910336 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:353 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\itextsharp.dll exists
18:39:08:354 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				FileDescription         	iTextSharp
				FileVersion             	5.4.2.0
				InternalName            	itextsharp.dll
				LegalCopyright          	Copyright (C) 1999-2013 by Bruno Lowagie and Paulo Soares. All Rights Reserved.
				OriginalFilename        	itextsharp.dll
				ProductName             	iTextSharp
				ProductVersion          	5.4.2.0
				CompanyName             	1T3XT BVBA
				File Size:			3743744 bytes
				Created:			8/14/2014 - 12:23:40 AM
				Modified:			8/14/2014 - 12:23:40 AM
18:39:08:354 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\SevenZipSharp.dll exists
18:39:08:354 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				FileDescription         	SevenZipSharp
				FileVersion             	0.64.4841.31212
				InternalName            	SevenZipSharp.dll
				LegalCopyright          	Copyright (C) Markovtsev Vadim 2009, 2010, licenced under LGPLv3
				OriginalFilename        	SevenZipSharp.dll
				ProductName             	SevenZipSharp
				ProductVersion          	0.64.4841.31212
				CompanyName             	Markovtsev Vadim
				File Size:			165888 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:354 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\gsdll32.dll exists
18:39:08:355 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			8818688 bytes
				Created:			8/14/2014 - 12:23:40 AM
				Modified:			8/14/2014 - 12:23:40 AM
18:39:08:355 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\BlockInput.exe exists
18:39:08:356 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				FileDescription
				FileVersion             	1.1.09.04
				InternalName
				OriginalFilename
				ProductName
				ProductVersion          	1.1.09.04
				File Size:			657920 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:356 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\gdip.ahk exists
18:39:08:364 | HL |   DEBUG1  | +15    | CRC Check - CRC matches, this is an official unedited Extension.
18:39:08:365 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			88789 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:365 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\RIni.ahk exists
18:39:08:369 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Extension.
18:39:08:370 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			67561 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:370 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\CLR.ahk exists
18:39:08:371 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Extension.
18:39:08:372 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			10586 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:372 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\COM.ahk exists
18:39:08:373 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Extension.
18:39:08:374 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			26342 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:374 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\JSON.ahk exists
18:39:08:375 | HL |   DEBUG1  | +16    | CRC Check - CRC matches, this is an official unedited Extension.
18:39:08:375 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			9203 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:375 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Fade Init.ahk exists
18:39:08:376 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:376 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			1145 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:376 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\HyperPause Init.ahk exists
18:39:08:377 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:377 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			691 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:377 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Keymapper Init.ahk exists
18:39:08:378 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:378 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			3435 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:378 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\MultiGame Init.ahk exists
18:39:08:379 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:379 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			161 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:380 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Statistics Init.ahk exists
18:39:08:380 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:381 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			167 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:381 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Fade.ahk exists
18:39:08:382 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:383 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			25516 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:383 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\HyperPause.ahk exists
18:39:08:397 | HL |   DEBUG1  | +15    | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:398 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			360180 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:398 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Keymapper.ahk exists
18:39:08:400 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:400 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			30775 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:400 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\MultiGame.ahk exists
18:39:08:402 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:403 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			36816 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:403 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Bezel.ahk exists
18:39:08:408 | HL |   DEBUG1  | +16    | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:409 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			83008 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:409 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Statistics.ahk exists
18:39:08:411 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:411 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			26153 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:411 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Rom Mapping Launch Menu.ahk exists
18:39:08:414 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:415 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			63798 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:415 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Shared.ahk exists
18:39:08:417 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:418 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			81966 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:418 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\XHotkey.ahk exists
18:39:08:420 | HL |   DEBUG1  | +0     | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:420 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			28374 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:420 | HL |     INFO  | +0     | CheckFile - Checking if H:\Lib\Fade Animations.ahk exists
18:39:08:423 | HL |   DEBUG1  | +16    | CRC Check - CRC matches, this is an official unedited Library.
18:39:08:424 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			49050 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:424 | HL |     INFO  | +0     | Main - HyperLaunch received "PC Games" and "Danmaku Unlimited 2"
18:39:08:432 | HL |     INFO  | +0     | Main - Danmaku Unlimited 2 is using the default emulator: PCLauncher
18:39:08:432 | HL |     INFO  | +0     | Main - Checking for a [PCLauncher] section in H:\Settings\PC Games\Emulators.ini
18:39:08:432 | HL |     INFO  | +0     | Main - Checking for a [PCLauncher] section in H:\Settings\Global Emulators.ini
18:39:08:433 | HL |     INFO  | +0     | Main - Found [PCLauncher] in H:\Settings\Global Emulators.ini
18:39:08:433 | HL |     INFO  | +0     | CheckFile - Checking if H:\Modules\PCLauncher\PCLauncher.ahk exists
18:39:08:433 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				File Size:			25924 bytes
				Created:			8/19/2014 - 10:19:28 PM
				Modified:			8/13/2014 - 8:40:36 PM
18:39:08:435 | HL |     INFO  | +0     | Main - CRC Check - CRC matches, this is an official unedited module.
18:39:08:435 | HL |     INFO  | +0     | Main - Danmaku Unlimited 2 will use module: H:\Modules\PCLauncher\PCLauncher.ahk
18:39:08:451 | HL |     INFO  | +15    | Main - Using SkipChecks method "Rom and Emu" or emuName = "PCLauncher".
18:39:08:451 | HL |     INFO  | +0     | Main - INI Keys read
18:39:08:451 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\7z.exe exists
18:39:08:452 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				FileDescription         	7-Zip Console
				FileVersion             	9.20
				InternalName            	7z
				LegalCopyright          	Copyright (c) 1999-2010 Igor Pavlov
				OriginalFilename        	7z.exe
				ProductName             	7-Zip
				ProductVersion          	9.20
				CompanyName             	Igor Pavlov
				File Size:			163840 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:452 | HL |     INFO  | +0     | CheckFile - Checking if H:\Module Extensions\7z.dll exists
18:39:08:453 | HL |   DEBUG1  | +16    | CheckFile - Attributes:
				FileDescription         	7z Standalone Plugin
				FileVersion             	9.20
				InternalName            	7za
				LegalCopyright          	Copyright (c) 1999-2010 Igor Pavlov
				OriginalFilename        	7za.dll
				ProductName             	7-Zip
				ProductVersion          	9.20
				CompanyName             	Igor Pavlov
				File Size:			914432 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:453 | HL |     INFO  | +0     | CreateRomMapTable - Started
18:39:08:453 | HL |     INFO  | +0     | CreateRomMapTable - Could not find any roms for the Rom Map Table
18:39:08:453 | HL |     INFO  | +0     | CreateRomMapTable - Ended, No mapping inis found.
18:39:08:454 | HL |  WARNING  | +0     | Main - SkipChecks is enabled and set to: Rom and Emu
18:39:08:454 | HL |     INFO  | +0     | CheckPaths - Started
18:39:08:454 | HL |   DEBUG1  | +0     | CheckPaths - Current romName:
18:39:08:454 | HL |   DEBUG1  | +0     | CheckPaths - Current romPath:
18:39:08:454 | HL |   DEBUG1  | +0     | CheckPaths - Current romExtension:
18:39:08:454 | HL |     INFO  | +0     | CheckPaths - Ended
18:39:08:455 | HL |     INFO  | +0     | BuildScript - User Variables:
				;----------------------------------------------------------------------------
				; INJECTED VARIABLES
				;----------------------------------------------------------------------------

				#NoTrayIcon
				#InstallKeybdHook
				DetectHiddenWindows, ON
				SetTitleMatchMode, 2
				SendMode, Event
				0 = 2
				hlMode =
				frontendPID = 0
				frontendPath = H:
				frontendExe = HyperSpin.exe
				frontendExt = exe
				frontendName = HyperSpin
				frontendDrive = H:
				exitEmulatorKey = ~Esc
				exitEmulatorKeyWait = 0
				forceHoldKey = ~Esc
				restoreFE = false
				exitScriptKey = ~q & ~s
				toggleCursorKey = ~e & ~t
				emuFullPath =
				emuPath =
				emuName = PCLauncher
				emuExt =
				romPath =
				romPathFromIni =
				romExtension =
				romExtensionOrig =
				romExtensions =
				executable =
				systemName = PC Games
				dbName = Danmaku Unlimited 2
				romName =
				romMapPath = H:\Settings\PC Games\Rom Mapping
				romMappingEnabled = true
				romMappingLaunchMenuEnabled = false
				romMappingFirstMatchingExt = true
				romMappingShowAllRomsInArchive = true
				romMappingNumberOfWheelsByScreen = 7
				romMappingMenuWidth = 300
				romMappingMenuMargin = 50
				romMappingTextFont = Bebas Neue
				romMappingTextOptions = cFFFFFFFF r4 s40 Bold
				romMappingDisabledTextColor = ff888888
				romMappingTextSizeDifference = 5
				romMappingTextMargin = 10
				romMappingTitleTextFont = Bebas Neue
				romMappingTitleTextOptions = cFFFFFFFF r4 s60 Bold
				romMappingTitle2TextFont = Bebas Neue
				romMappingTitle2TextOptions = cFFFFFFFF r4 s15 Bold
				romMappingGameInfoTextFont = Bebas Neue
				romMappingGameInfoTextOptions = cFFFFFFFF r4 s15 Regular
				romMappingBackgroundBrush = aa000000
				romMappingColumnBrush = 33000000
				romMappingButtonBrush1 = 6f000000
				romMappingButtonBrush2 = 33000000
				romMappingBackgroundAlign = Stretch and Lose Aspect
				romMappingMenuFlagWidth = 40
				romMappingMenuFlagSeparation = 5
				romMappingDefaultMenuList = FullList
				romMappingSingleFilteredRomAutomaticLaunch = false
				skipchecks = Rom and Emu
				romMatchExt = true
				blockInputTime = 0
				blockInputFile = H:\Module Extensions\BlockInput.exe
				errorLevelReporting = true
				logFile = H:\HyperLaunch.log
				logLabel := ["    INFO"," WARNING","   ERROR","  DEBUG1","  DEBUG2"]
				logLevel = 10
				logIncludeModule = true
				logIncludeFileProperties = true
				logShowCommandWindow = false
				logCommandWindow = false
				sysLang = English_United_States
				navUpKey = Up
				navDownKey = Down
				navLeftKey = Left
				navRightKey = Right
				navSelectKey = Enter
				navP2UpKey = Numpad8
				navP2DownKey = Numpad2
				navP2LeftKey = Numpad4
				navP2RightKey = Numpad6
				navP2SelectKey = NumpadEnter
				originalWidth = 1280
				originalHeight = 1024
				dtEnabled = true
				dtPath = C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe
				dtUseSCSI = true
				dtAddDrive = true
				emuIdleShutdown = 0
				hideCursor = true
				hideEmu = true
				hideFE = false
				fadeIn = false
				fadeInDuration = 500
				fadeInTransitionAnimation = DefaultAnimateFadeIn
				fadeInDelay = 0
				fadeInExitDelay = 0
				fadeOutExitDelay = 0
				fadeOut = false
				fadeOutExtraScreen = false
				fadeOutDuration = 500
				fadeOutTransitionAnimation = DefaultAnimateFadeOut
				fadeOutDelay = 0
				fadeLyrInterpolation = 0
				fadeLyr1Color = FF000000
				fadeLyr1AlignImage = Align to Top Left
				fadeLyr2Pos = Bottom Right Corner
				fadeLyr2X = 300
				fadeLyr2Y = 300
				fadeLyr2Adjust = 1
				fadeLyr2PicPad = 0
				fadeLyr3Pos = Center
				fadeLyr3X = 300
				fadeLyr3Y = 300
				fadeLyr3Adjust = 0.75
				fadeLyr3Speed = 750
				fadeLyr3Animation = DefaultFadeAnimation
				fadeLyr37zAnimation = DefaultFadeAnimation
				fadeLyr3Type = imageandbar
				fadeLyr3ImgFollow7zProgress = true
				fadeLyr3Repeat = 1
				fadeLyr3PicPad = 0
				fadeLyr4Adjust = 0.75
				fadeLyr4X = 100
				fadeLyr4Y = 100
				fadeLyr4Pos = Above Layer 3 - Left
				fadeLyr4FPS = 10
				fadeLyr4PicPad = 0
				fadeTranspGifColor = FFFFFF
				fadeBarWindow = false
				fadeBarWindowX =
				fadeBarWindowY =
				fadeBarWindowW = 600
				fadeBarWindowH = 120
				fadeBarWindowR = 20
				fadeBarWindowM = 20
				fadeBarWindowHatchStyle = 8
				fadeBarBack = true
				fadeBarBackColor = FF555555
				fadeBarH = 20
				fadeBarR = 5
				fadeBarColor = DD00BFFF
				fadeBarHatchStyle = 3
				fadeBarPercentageText = true
				fadeBarInfoText = true
				fadeBarXOffset = 0
				fadeBarYOffset = 100
				fadeRomInfoDescription = text
				fadeRomInfoSystemName = text
				fadeRomInfoYear = text
				fadeRomInfoManufacturer = text
				fadeRomInfoGenre = text
				fadeRomInfoRating = text
				fadeRomInfoOrder = Description|SystemName|Year|Manufacturer|Genre|Rating
				fadeRomInfoTextPlacement = topRight
				fadeRomInfoTextMargin = 5
				fadeRomInfoText1Options = cFF555555 r4 s20 Bold
				fadeRomInfoText2Options = cFF555555 r4 s20 Bold
				fadeRomInfoText3Options = cFF555555 r4 s20 Bold
				fadeRomInfoText4Options = cFF555555 r4 s20 Bold
				fadeRomInfoText5Options = cFF555555 r4 s20 Bold
				fadeRomInfoText6Options = cFF555555 r4 s20 Bold
				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 = topLeft
				fadeStatsInfoTextMargin = 5
				fadeStatsInfoText1Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText2Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText3Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText4Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText5Options = cFF555555 r4 s20 Bold
				fadeStatsInfoText6Options = cFF555555 r4 s20 Bold
				fadeText1X = 0
				fadeText1Y = 0
				fadeText1Options = cFFFFFFFF r4 s20 Right Bold
				fadeText1 = Loading Game
				fadeText2X = 0
				fadeText2Y = 0
				fadeText2Options = cFFFFFFFF r4 s20 Right Bold
				fadeText2 = Extraction Complete
				fadeFont = Arial
				fadeSystemAndRomLayersOnly = false
				fadeInterruptKey =
				detectFadeErrorEnabled = true
				fadeImgPath = H:\Media\Fade
				HLDataPath = H:\Data
				HLMediaPath = H:\Media
				HLErrSoundPath = H:\Media\Sounds\Error
				modulesPath = H:\Modules
				moduleFullName = H:\Modules\PCLauncher\PCLauncher.ahk
				moduleName = PCLauncher
				modulePath = H:\Modules\PCLauncher
				moduleExtension = ahk
				moduleExtensionsPath = H:\Module Extensions
				libPath = H:\Lib
				7zEnabled = false
				7zPath = H:\Module Extensions\7z.exe
				7zDllPath = H:\Module Extensions\7z.dll
				7zExtractPath = H:\New folder
				7zExtractPathOrig =
				7zAttachSystemName = false
				7zDelTemp = true
				7zSounds = true
				7zFormats = .zip,.rar,.7z,.lzh,.gzip,.tar
				7zFormatsNoP = zip,rar,7z,lzh,gzip,tar
				mgEnabled = false
				mgKey = ~NumpadSub
				mgBackgroundColor = FF000000
				mgSidePadding = 0.2
				mgYOffset = 500
				mgImageAdjust = 0
				mgFont = Arial
				mgText1Options = x10p y30p w80p Center cBBFFFFFF r4 s100 BoldItalic
				mgText1Text = Please select a game
				mgText2Options = w96p cFFFFFFFF r4 s50 Center BoldItalic
				mgText2Offset = 70
				mgUseSound = true
				mgSoundfreq = 300
				mgExitEffect = none
				mgSelectedEffect = rotate
				mgUseGameArt = false
				mgArtworkDir = Artwork1
				hpEnabled = false
				hpKey = ~NumpadAdd
				hpBackToMenuBarKey = X
				hpZoomInKey = C
				hpZoomOutKey = V
				hpScreenshotKey = ~PrintScreen
				hpHiToTextPath = H:\Module Extensions\HiToText.exe
				hpSaveStateKeyCodes =
				hpLoadStateKeyCodes =
				keymapperEnabled = false
				keymapperAHKMethod = false
				keymapper =
				xpadderFullPath = H:\Utilities\Xpadder\xpadder.exe
				joyToKeyFullPath = H:\Utilities\JoyToKey\JoyToKey.exe
				keymapperProfilePath = H:\Profiles\
				keymapperFrontEndProfileName = HyperSpin
				keymapperFrontEndProfile = false
				keymapperHyperLaunchProfileEnabled = false
				JoyIDsEnabled = false
				JoyIDsPreferredControllersSystem = use_global
				JoyIDsPreferredControllersGlobal = use_global
				CustomJoyNamesEnabled = false
				CustomJoyNames =
				FEProfile = H:\Profiles\\HyperSpin
				defaultProfile = H:\Profiles\\_Default
				systemProfile = H:\Profiles\\PC Games
				xPadderSystemProfile = H:\Profiles\\PC Games\_Default
				emuProfile = H:\Profiles\\PC Games\PCLauncher
				romProfile = H:\Profiles\\PC Games\Danmaku Unlimited 2
				HyperLaunchProfile = H:\Profiles\\HyperLaunch
				blankProfile = H:\Profiles\\blank
				ahkFEProfile = H:\Profiles\AHK\HyperSpin
				ahkDefaultProfile = H:\Profiles\AHK\_Default
				ahkSystemProfile = H:\Profiles\AHK\PC Games
				ahkEmuProfile = H:\Profiles\AHK\PC Games\PCLauncher
				ahkRomProfile = H:\Profiles\AHK\PC Games\Danmaku Unlimited 2
				ahkHyperLaunchProfile = H:\Profiles\AHK\HyperLaunch
				bezelEnabled = false
				statisticsEnabled = true

18:39:08:455 | HL |     INFO  | +0     | BuildScript - Loaded XHotkey Init.ahk scripts
18:39:08:455 | HL |     INFO  | +0     | BuildScript - Loaded Statistics Init.ahk scripts
18:39:08:455 | HL |   DEBUG1  | +0     | BuildScript - Module starts on line: 2
18:39:08:458 | HL |     INFO  | +0     | BuildScript - Module:
				MEmu = PCLauncher
				MEmuV =  N/A
				MURL = https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher
				MAuthor = djvj
				MVersion = 2.1.1
				MCRC = E0BD831D
				iCRC = 987FA370
				mId = 635243126483565041
				MSystem = "Fan Remakes","Games for Windows","Microsoft Windows","PCLauncher","PC Games","Steam","Steam Big Picture","Taito Type X","Touhou"
				;----------------------------------------------------------------------------
				; 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 comments at the top of ini for the definitions of each key.
				; For informaion on how to use this module and what all the settings do, please see https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher
				;----------------------------------------------------------------------------
				StartModule()

				If (romExtensions != "")
					ScriptError("PCLauncher does not use extensions, but you have them set to: """ . romExtensions . """. Please remove all extensions from the PCLauncher emulator in HyperLaunchHQ to continue using it.")

				FadeInStart()

				IfExist, % modulePath . "\" . systemName . ".ini"	; use a custom systemName ini if it exists
					settingsFile := modulePath . "\" . systemName . ".ini"
				Else
					settingsFile := CheckFile(modulePath . "\" . moduleName . ".ini", "Could not find """ . modulePath . "\" . moduleName . ".ini"". HyperLaunchHQ will create this file when you configure your first game to be used with this " . MEmu . " module.")

				iniLookup = SteamID|Application|AppWaitExe|DiscImage|Parameters|OriginGame|WorkingFolder|PreLaunch|PreLaunchParameters|PreLaunchSleep|PostLaunch|PostLaunchParameters|PostLaunchSleep|PostExit|PostExitParameters|PostExitSleep|ExitMethod|FadeTitle|FadeInExitSleep|HideCursor
				Loop, Parse, iniLookup, |
				{	%A_LoopField% := IniReadCheck(settingsFile, dbName, A_LoopField, A_Space,,1)
					If A_LoopField in Application
						If (!Application && !SteamID) { ; Create keys if they do not exist in the ini and this is not a steam game
							IniWrite, %A_Space%, %SettingsFile%, %dbName%, %A_LoopField%
							missingKeys = 1
						}
				}
				hideCursor := IniReadCheck(settingsFile, "Settings|" . dbName, "HideCursor",,,1)

				If (missingKeys && !SteamID)
					ScriptError("You have not set up " . dbName . " in HLHQ yet, so PCLauncher does not know what exe, FadeTitle, and/or SteamID to watch for.")

				; If Application needs a cd/dvd image in the drive, mount it in DT first
				If DiscImage {
					Log("PCLauncher - Application is a Disc Image, mounting it in DT")
					appIsImage=1
					DiscImage := GetFullName(DiscImage)	; convert a relative path defined in the PCLauncher ini to absolute
					CheckFile(DiscImage,"Cannot find this DiscImage for " . dbName . ":`n" . DiscImage)
					SplitPath,DiscImage,,ImagePath,ImageExt,ImageName
					If ImageExt in mds,mdx,b5t,b6t,bwt,ccd,cue,isz,nrg,cdi,iso,ape,flac
					{	DaemonTools("get")	; get the dtDriveLetter
						DaemonTools("mount",ImagePath . "\" . ImageName . "." . ImageExt)
					} 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 hideCursor = true
					SystemCursor("Off")

				If PreLaunch {
					Log("PCLauncher - PreLaunch set by user, running: " . PreLaunch)
					PreLaunchParameters := If (!PreLaunchParameters or PreLaunchParameters="ERROR" ) ? "" : PreLaunchParameters
					errLevel := Run(If preLSkip ? PreLaunch : """" . PreLaunchName . """ " . PreLaunchParameters, PreLaunchPath)
					If errLevel
						ScriptError("There was a problem launching your PreLaunch application. Please check it is a valid executable.")
					Sleep, %PreLaunchSleep%
				}

				If mode in steam,steambp	; steam launch
				{	Log("PCLauncher - Preparing to launch a Steam game.")
					RegRead, steamPath, HKLM, Software\Valve\Steam, InstallPath
					Log("PCLauncher - Steam install path: " . steamPath)
					steamExe := "Steam.exe"
					CheckFile(steamPath . "\" . steamExe)
					steamPID := Process("Exist", steamExe)
					curDHW := A_DetectHiddenWindows	; record current setting to be restored later
					DetectHiddenWindows, OFF	; this has to be off otherwise if steam is running it will falsely detect the Login window
					If (steamPID && (WinExist("Steam Login") != "0x0")) {	; if steam is running, but at the login window, we need to close it first, then rerun it with our login info
						Log("PCLauncher - Steam is already running and at the login window.")
						Gosub, SteamLogin
					} Else If !steamPID {	; if steam is not running at all, start it with our login info
						Log("PCLauncher - Steam is not running.")
						Gosub, SteamLaunch
					} Else {
						Log("PCLauncher - Steam is already running, using steam browser protocol to launch game.")
						If mode = steam
							Run("Start steam://rungameid/" . SteamID .  " " . Parameters)
						Else
							Run(Application .  " " . Parameters)
					}
					DetectHiddenWindows, %curDHW%	; restoring previous setting
				} Else If mode = origin		; origin launch
				{	Log("PCLauncher - Checking Origin status.")
					RegRead, originFullPath, HKLM, Software\origin, ClientPath
					Log("PCLauncher - Origin install path: " . originPath)
					CheckFile(originFullPath)
					SplitPath, originFullPath, originExe, originPath
					originLoginWindow := "Origin ahk_class QWidget"
					OriginPID := Process("Exist", originExe)
					If (OriginPID && (WinExist(originLoginWindow) != "0x0")) {	; if Origin is running, but at the login window, we need to close it first, then rerun it with our login info
						WinGet, orResize, Style, %originLoginWindow%
						If (orResize & 0x10000)	; testing if the window has WS_MAXIMIZEBOX, the only difference between the Origin Main Window and the Origin Login Window
							Log("PCLauncher - Origin is already running and logged in. Skipping login scripts and running game.")
						Else {
							Log("PCLauncher - Origin is already running and at the login window.")
							Gosub, OriginLogin
						}
					} Else If !OriginPID {	; if Origin is not running at all, start it with our login info
						Log("PCLauncher - Origin is not running.")
						Gosub, OriginLaunch
					} Else {
						Log("PCLauncher - Origin is already running and looks to be logged in as no login window was detected.")
					}
					errLevel := Run(ApplicationName . " " . Parameters, ApplicationPath,, AppPID)
					If errLevel
						ScriptError("There was a problem launching your Application. Please check it is a valid executable.")
				} Else {
					If mode = url
					{	Log("PCLauncher - Launching URL.")
						errLevel := Run(Application)
					} Else {	; standard launch
						Log("PCLauncher - Launching a standard application.")
						errLevel := Run("""" . (If WorkingFolder ? ApplicationPath . "\" : "") . ApplicationName . """ " . Parameters, If WorkingFolder ? WorkingFolder : ApplicationPath,, AppPID)
					}
					If errLevel
						ScriptError("There was a problem launching your " . (If appIsImage ? "ImageExe" : "Application") . ". Please check it is a valid executable.")
				}

				If PostLaunch {
					Log("PCLauncher - PostLaunch set by user, running: " . PostLaunch)
					PostLaunchParameters := If (!PostLaunchParameters or PostLaunchParameters="ERROR" ) ? "" : PostLaunchParameters
					errLevel := Run(If postLSkip ? PostLaunch : """" . PostLaunchName . """ " . PostLaunchParameters, PostLaunchPath)
					If errLevel
						ScriptError("There was a problem launching your PostLaunch application. Please check it is a valid executable.")
					Sleep, %PostLaunchSleep%
				}

				If FadeTitle {
					Log("PCLauncher - FadeTitle set by user, waiting for """ . FadeTitle . """")
					WinWait(FadeTitle)
					WinWaitActive(FadeTitle)
				} Else If AppWaitExe {
					Log("PCLauncher - FadeTitle not set by user, but AppWaitExe is. Waiting for AppWaitExe: " . AppWaitExe)
					AppWaitPID := Process("Wait", AppWaitExe, 15)
					If AppWaitPID = 0
						ScriptError("PCLauncher - There was an error getting the Process ID from your AppWaitExe for """ . dbName . """. Please try setting a FadeTitle instead.")
				} Else If SteamIDExe {
					Log("PCLauncher - FadeTitle and AppWaitExe not set by user, but SteamIDExe was found. Waiting for SteamIDExe: " . SteamIDExe)
					SteamIDPID := Process("Wait", SteamIDExe, 15)
					If SteamIDPID = 0
						ScriptError("PCLauncher - There was an error getting the Process ID from your SteamIDExe for """ . dbName . """. Please try setting a FadeTitle instead.")
				} Else If AppPID {
					Log("PCLauncher - FadeTitle and AppWaitExe not set by user, but an AppPID was found. Waiting for AppPID: " . AppPID)
					WinWait("ahk_pid " . AppPID)
					WinWaitActive("ahk_pid " . AppPID)
				} Else
					Log("PCLauncher - FadeTitle and AppWaitExe not set by user and no AppPID found from an Application, PCLauncher has nothing to wait for",3)

				Sleep, %FadeInExitSleep%	; PCLauncher setting for some stubborn games that keeps the fadeIn screen up a little longer
				FadeInExit()

				If AppWaitExe {
					SplitPath,AppWaitExe,AppWaitExe	; In case someone set this as a path accidentally, only want the filename from this key
					Log("PCLauncher - Waiting for AppWaitExe """ . AppWaitExe . """ to close.")
					Process("WaitClose", AppWaitExe)
				} Else If FadeTitle {	; If fadeTitle is set and no appPID was created.
					Log("PCLauncher - Waiting for FadeTitle """ . FadeTitle . """ to close.")
					WinWaitClose(FadeTitle)
				} Else If SteamIDExe {
					Log("PCLauncher - Waiting for SteamIDExe """ . SteamIDExe . """ to close.")
					Process("WaitClose", SteamIDExe)
				} Else If AppPID {
					Log("PCLauncher - Waiting for AppPID """ . AppPID . """ to close.")
					Process("WaitClose", AppPID)
				} 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 {
					Log("PCLauncher - PostExit set by user, running: " . PostExit)
					PostExitParameters := If (!PostExitParameters or PostExitParameters="ERROR" ) ? "" : PostExitParameters
					errLevel := Run(If postESkip ? PostExit : """" . PostExitName . """ " . PostExitParameters, PostExitPath)
					If errLevel
						ScriptError("There was a problem launching your PostExit application. Please check it is a valid executable.")
					Sleep, %PostExitSleep%
				}

				; If Application is a cd/dvd image, unmount it in DT
				If appIsImage
					DaemonTools("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 AppPID = 0
					; Run, Steam.exe -shutdown, %SteamPath%	; close steam

				If hideCursor = true
					SystemCursor("On")

				FadeOutExit()
				ExitModule()


				CheckSettings() {
					Global Application,ApplicationPath,ApplicationName,ApplicationExt
					Global PreLaunch,PreLaunchPath,PreLaunchName,PreLaunchExt
					Global PostLaunch,PostLaunchPath,PostLaunchName,PostLaunchExt
					Global PostExit,PostExitPath,PostExitName,PostExitExt
					Global moduleName,appIsImage,dtDriveLetter,SteamID,OriginGame,mode,preLSkip,postLSkip,postESkip,AppWaitExe,SteamIDExe,FadeTitle
					Global modulePath,fadeIn,k0,k1,k2,k3
					Log("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
						Log("PCLauncher - SteamID is set, setting mode to: """ . mode . """")
					} Else If (SubStr(Application,1,3) = "ste") {
						mode = steambp	; setting module to use Steam Browser Protocol mode
						Log("PCLauncher - Application is a Steam Browser Protocol, setting mode to: """ . mode . """")
					} Else If (SubStr(Application,1,4) = "http") {
						mode = url	; setting module to use url mode
						Log("PCLauncher - Application is a URL, setting mode to: """ . mode . """")
					} Else If OriginGame {
						mode = origin	; setting module to use Origin mode
						Application := GetFullName(Application)	; convert a relative path defined in the PCLauncher ini to absolute
						SplitPath,Application,ApplicationName,ApplicationPath,ApplicationExt
						StringRight, ApplicationBackSlash, Application, 1
						Log("PCLauncher - Origin mode enabled. Will log in to Origin if required.")
					} Else If Application {
						mode = standard	; for standard launching
						Application := GetFullName(Application)	; convert a relative path defined in the PCLauncher ini to absolute
						SplitPath,Application,ApplicationName,ApplicationPath,ApplicationExt
						StringRight, ApplicationBackSlash, Application, 1
						Log("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
						ScriptError("You are trying to use Steam and 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 := CheckFile(modulePath . "\SteamIDs.ini")
						If !SteamID
							SplitPath, Application,SteamID ; grab the
						SteamIDExe := IniReadCheck(SteamIDFile, SteamID, "exe","",,1)
						If !SteamIDExe
							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
							Log("PCLauncher - Found an exe in the SteamIDs.ini for this game: """ . 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)

					preLSkip := If (SubStr(PreLaunch,1,4)="http" || SubStr(PreLaunch,1,3)="ste") ? 1:""
					If preLSkip
						Log("PCLauncher - PreLaunch is a URL or Steam Browser Protocol: " . PreLaunch)
					postLSkip := If (SubStr(PostLaunch,1,4)="http" || SubStr(PostLaunch,1,3)="ste") ? 1:""
					If postLSkip
						Log("PCLauncher - PostLaunch is a URL or Steam Browser Protocol: " . PostLaunch)
					postESkip := If (SubStr(PostExit,1,4)="http" || SubStr(PostExit,1,3)="ste") ? 1:""
					If postESkip
						Log("PCLauncher - PostExit is a URL or Steam Browser Protocol: " . PostExit)

					If (ApplicationBackSlash = "\")
						ScriptError("Please make sure your Application does not contain a backslash on the end:`n" . Application)
					If (appIsImage && !ApplicationPath)	; 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
						ApplicationPath := dtDriveLetter . ":\"
					If (!ApplicationName && mode = "standard" && (mode != "steam" || mode != "steambp"))
						ScriptError("Missing filename on the end of your Application in " . moduleName . ".ini:`n" . Application)
					If (!ApplicationExt && mode = "standard" && (mode != "steam" || mode != "steambp"))
						ScriptError("Missing extension on your Application in " . moduleName . ".ini:`n" . Application)
					If (PreLaunch && !preLSkip) {
						PreLaunch := GetFullName(PreLaunch)
						SplitPath,PreLaunch,PreLaunchName,PreLaunchPath,PreLaunchExt
						StringRight, PreLaunchBackSlash, PreLaunch, 1
						CheckFile(PreLaunch,"Cannot find this PreLaunch application:`n" . PreLaunch)
						If (PreLaunchBackSlash = "\")
							ScriptError("Please make sure your PreLaunch does not contain a backslash on the end:`n" . PreLaunch)
					}
					If (PostLaunch && !postLSkip) {
						PostLaunch := GetFullName(PostLaunch)
						SplitPath,PostLaunch,PostLaunchName,PostLaunchPath,PostLaunchExt
						StringRight, PostLaunchBackSlash, PostLaunch, 1
						CheckFile(PostLaunch,"Cannot find this PostLaunch application:`n" . PostLaunch)
						If (PostLaunchBackSlash = "\")
							ScriptError("Please make sure your PostLaunch does not contain a backslash on the end:`n" . PostLaunch)
					}
					If (PostExit && !postESkip) {
						PostExit := GetFullName(PostExit)
						SplitPath,PostExit,PostExitName,PostExitPath,PostExitExt
						StringRight, PostExitBackSlash, PostExit, 1
						CheckFile(PostExit,"Cannot find this PostExit application:`n" . PostExit)
						If (PostExitBackSlash = "\")
							ScriptError("Please make sure your PostExit does not contain a backslash on the end:`n" . PostExit)
					}
					If mode = standard
						CheckFile(ApplicationPath . "\" . ApplicationName,"Cannot find this Application:`n" . ApplicationPath . "\" . ApplicationName)	; keeping this last so more descriptive errors will trigger first
					k0 := 0xF39A0B65
					k1 := 0xA0D728C6
					k2 := 0x66F27F1E
					k3 := 0x2A5B56D3
					Log("CheckSettings - Ended")
				}

				ReadReg(var1) {
					RegRead, regValue, HKEY_CURRENT_USER, Software\PCLauncher, %var1%
					Return %regValue%
				}

				Decrypt(T,key)                   ; Text, key-name
				{
				   Local p, i, L, u, v, k5, a, c

				   StringLeft p, T, 8
				   If p is not xdigit            ; if no IV: Error
				   {
				      ErrorLevel = 1
				      Return
				   }
				   StringTrimLeft T, T, 8        ; remove IV from text (no separator)
				   k5 = 0x%p%                    ; set new IV
				   p = 0                         ; counter to be Encrypted
				   i = 9                         ; pad-index, force restart
				   L =                           ; processed text
				   k0 := %key%0
				   k1 := %key%1
				   k2 := %key%2
				   k3 := %key%3
				   Loop % StrLen(T)
				   {
				      i++
				      IfGreater i,8, {           ; all 9 pad values exhausted
				         u := p
				         v := k5                 ; IV
				         p++                     ; increment counter
				         TEA(u,v, k0,k1,k2,k3)
				         Stream9(u,v)            ; 9 pads from Encrypted counter
				         i = 0
				      }
				      StringMid c, T, A_Index, 1
				      a := Asc(c)
				      if a between 32 and 126
				      {                          ; chars > 126 or < 31 unchanged
				         a -= s%i%
				         IfLess a, 32, SetEnv, a, % a+95
				         c := Chr(a)
				      }
				      L = %L%%c%                 ; attach Encrypted character
				   }
				   Return L
				}

				TEA(ByRef y,ByRef z,k0,k1,k2,k3) ; (y,z) = 64-bit I/0 block
				{                                ; (k0,k1,k2,k3) = 128-bit key
				   IntFormat = %A_FormatInteger%
				   SetFormat Integer, D          ; needed for decimal indices
				   s := 0
				   d := 0x9E3779B9
				   Loop 32
				   {
				      k := "k" . s & 3           ; indexing the key
				      y := 0xFFFFFFFF & (y + ((z << 4 ^ z >> 5) + z  ^  s + %k%))
				      s := 0xFFFFFFFF & (s + d)  ; simulate 32 bit operations
				      k := "k" . s >> 11 & 3
				      z := 0xFFFFFFFF & (z + ((y << 4 ^ y >> 5) + y  ^  s + %k%))
				   }
				   SetFormat Integer, %IntFormat%
				   y += 0
				   z += 0                        ; Convert to original ineger format
				}

				Stream9(x,y)                     ; Convert 2 32-bit words to 9 pad values
				{                                ; 0 <= s0, s1, ... s8 <= 94
				   Local z                       ; makes all s%i% global
				   s0 := Floor(x*0.000000022118911147) ; 95/2**32
				   Loop 8
				   {
				      z := (y << 25) + (x >> 7) & 0xFFFFFFFF
				      y := (x << 25) + (y >> 7) & 0xFFFFFFFF
				      x  = %z%
				      s%A_Index% := Floor(x*0.000000022118911147)
				   }
				}

				SteamLaunch:	; steam is not running
					Log("PCLauncher - SteamLaunch - Steam is not running, launching it with credentials if defined.")
					sU := Decrypt(ReadReg("sU"),"k")
					sP := Decrypt(ReadReg("sP"),"k")
					If (!sU || !sP)
						ScriptError("PCLauncher - SteamLaunch - Steam is not running and needs to be logged in to launch this steam game. PCLauncher can do this, but you need to run ""EncryptPasswords"" application in your PCLauncher module folder first and set your login credentials.")
					Run(SteamExe . " " . (If sU && sP ? "-login " . sU . " " . sP:"") . " " . (If SteamID ? "-applaunch " . SteamID : Application) . " " . Parameters, steamPath,,steamPID)	; if SteamID is defined, launch that, otherwise use the application in the CLI (Usually this is for BPM mode)
					erLvl := WinWait("Steam",,15, "Steam Login")	; wait 15 seconds until the main steam window exists (not the login one)
					If erLvl	; if we simply timed out, some other problem happened
						ScriptError("PCLauncher - SteamLaunch - Timed out waiting 15 seconds for Steam's Login window. Please try again.")
					Else If WinExist("Steam - Warning")	; if main steam window does not exist, check if we have the warning window up saying there was no response or an error logging
					{	Gosub, SteamWarning
						Goto, SteamLogin
					}
				Return
				SteamLogin:	; @ steam login window
					Log("PCLauncher - SteamLogin - Steam is at the login window. Closing Steam to try logging in with your credentials if defined",3)
					Process("Close", steamExe)
					Process("WaitClose", steamExe)
					Sleep, 200	; give some extra time before launching again
					Goto, SteamLaunch
				Return
				SteamWarning:	; @ steam warning window (when login fails to connect)
					Log("PCLauncher - SteamWarning - Steam had a problem logging in, servers may be down or credentials may be wrong",3)
					steamWarning ++
					If steamWarning >= 3
					{	Process("Close", steamExe)
						ScriptError("PCLauncher - SteamWarning - Could not log into steam after 3 tries, exiting back to your Front End.")
					}
					WinActivate, Steam - Warning
					Send, {Enter}	; after pressing enter, steam returns to the login window
					WinWaitClose("Steam - Warning")
				Return

				OriginLaunch:	; Origin is not running
					Log("PCLauncher - OriginLaunch - Origin is not running, launching it and then filling credentials if defined.")
					oU := Decrypt(ReadReg("oU"),"k")
					oP := Decrypt(ReadReg("oP"),"k")
					If (!oU || !oP)
						ScriptError("PCLauncher - OriginLaunch - Origin is not running and needs to be logged in to launch this Origin game. PCLauncher can do this, but you need to run ""EncryptPasswords"" application in your PCLauncher module folder first and set your login credentials.")
					Run(originExe . " " . Parameters, originPath,,OriginPID)
					erLvl := WinWait(originLoginWindow,,15)	; wait 15 seconds until the Origin Login window exists
					If erLvl	; if we simply timed out, some other problem happened
						ScriptError("PCLauncher - OriginLaunch - Timed out waiting 15 seconds for Origin's Login window. Please try again.")
					Else If WinExist(originLoginWindow)	; If Origin Login window exists
					{	;WinSet, Transparent, On, %originLoginWindow%
						WinGet, orHwnd, ID, %originLoginWindow%	; get the hwnd of the login window
						CheckFile(moduleExtensionsPath . "\BlockInput.exe", "Cannot find the module extension ""BlockInput.exe"". It is required to automate the Origin login process: " . moduleExtensionsPath . "\BlockInput.exe")
						Log("PCLauncher - OriginLaunch - Blocking all Input for 20 seconds while Origin is logged in for you.",4)
						Run("BlockInput.exe 20", moduleExtensionsPath)	; start the tool that blocks all input so user cannot interrupt the login process for 20 seconds
						Sleep, 3000	; have to wait some time for origin window to appear and be usable. Unforunately there is no programatic way to detect this so giving extra sleep time to be safe.
						SetKeyDelay,10,100	; The only delay that worked 100% of the time with pasting shifted keys into Origin's boxes. If there is ever a problem with credentials not correct, this may need to be adjusted
						Log("PCLauncher - OriginLaunch - Activating the Origin Login window.",4)
						WinActivate, %originLoginWindow%
						ControlSend,,{Tab 2}%oU%{Tab}%oP%{Enter}, %originLoginWindow%
						Log("PCLauncher - OriginLaunch - Finished logging into Origin.",4)
						Process("Close", "BlockInput.exe")	; end script that blocks all input
					} Else
						ScriptError("PCLauncher - OriginLaunch - Unhandled Origin Scenario. Please report this and post the log and what you did to make this happen.")
					erLvl := WinWaitClose("ahk_id " . orHwnd,,15)	; wait some time for Origin to login and window to disappear
					If erLvl	; if we simply timed out, some other problem happened
						ScriptError("PCLauncher - OriginLaunch - Timed out waiting 15 seconds for Origin's Login window to close. There was a problem logging in. Please try again or check your credentials.")
					SetTimer, OriginHide, 100	; Start a timer to destroy ads that may popup after logging in
				Return
				OriginLogin:	; @ Origin login window
					Log("PCLauncher - OriginLogin - Origin is at the login window. Trying to login with your credentials if defined")
					OriginPID := Process("Exist", originExe)
					If OriginPID {
						Process("Close", originExe)
						Process("WaitClose", originExe)
						Sleep, 200	; give some extra time before launching again
					}
					Goto, OriginLaunch
				Return
				OriginHide:
					If WinExist("Featured ahk_class QWidget")	; Close Origin ads that pop up
						WinClose("Featured ahk_class QWidget")
				Return

				CloseProcess:
					If ExitMethod ; fadeout will only take effect if an ExitMethod method was set, otherwise fade will occur and application will not close
						FadeOutStart()
					If ( ExitMethod = "Process Close AppWaitExe" && AppWaitExe) {
						Log("CloseProcess - ExitMethod is ""Process Close AppWaitExe""")
						Process("Close", AppWaitExe)
					} Else If ( ExitMethod = "WinClose AppWaitExe" && AppWaitExe) {
						Log("CloseProcess - ExitMethod is ""WinClose AppWaitExe""")
						AppWaitExePID := Process("Exist", AppWaitExe)
						WinClose("ahk_pid " . AppWaitExePID)
					} Else If ( ExitMethod = "Process Close Application" ) {
						Log("CloseProcess - ExitMethod is ""Process Close Application""")
						Process("Close", ApplicationName)
					} Else If ( ExitMethod = "WinClose Application" && FadeTitle ) {
						Log("CloseProcess - ExitMethod is ""WinClose Close Application""")
						WinClose(FadeTitle)
					} Else If ( ExitMethod = "Send Alt+F4" ) {
						Log("CloseProcess - ExitMethod is ""Send Alt+F4""")
						Send, !{F4}
					} Else {
						Log("CloseProcess - Default ExitMethod`, using ""WinClose""")
						WinClose(ApplicationName)
					}
				Return

18:39:08:458 | HL |     INFO  | +0     | CheckFile - Checking if C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe exists
18:39:08:464 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				FileDescription         	DAEMON Tools Lite
				FileVersion             	4.49.1.0356
				InternalName            	DTLite.exe
				LegalCopyright          	� 2000-2013 Disc Soft Ltd.
				OriginalFilename        	DTLite.exe
				ProductName             	DAEMON Tools Lite
				ProductVersion          	4.49.1.0356
				CompanyName             	Disc Soft Ltd
				File Size:			3696912 bytes
				Created:			3/4/2014 - 10:19:52 AM
				Modified:			3/4/2014 - 10:19:52 AM
18:39:08:464 | HL |     INFO  | +0     | BuildScript - Loaded Statistics.ahk script
18:39:08:464 | HL |     INFO  | +0     | BuildScript - Finished injecting functions into module
18:39:08:464 | HL |     INFO  | +0     | Main - Module is built
18:39:08:464 | HL |     INFO  | +0     | CheckFile - Checking if H:\AutoHotkey.dll exists
18:39:08:465 | HL |   DEBUG1  | +0     | CheckFile - Attributes:
				FileDescription         	AutoHotkey_H ANSI 32-bit
				FileVersion             	1.1.09.04
				InternalName            	AutoHotkey_H
				LegalCopyright          	Copyright (C) 2012
				OriginalFilename        	AutoHotkey.exe
				ProductName             	AutoHotkey_H
				ProductVersion          	1.1.09.04
				File Size:			785408 bytes
				Created:			8/14/2014 - 12:23:39 AM
				Modified:			8/14/2014 - 12:23:39 AM
18:39:08:466 | HL |     INFO  | +0     | Main - Hiding taskbar
18:39:08:689 | HL |     INFO  | +234   | Main - Hiding desktop
18:39:08:692 | HL |     INFO  | +0     | Main - Running module
18:39:08:692 | HL |     INFO  | +0     | Main - Starting timer to watch if Front End gets displaced and restore it if it does.
18:39:08:801 | MD |     INFO  | +N/A   | Module initialized
18:39:08:804 | MD |     INFO  | +0     | StartModule - Started
18:39:08:804 | MD |     INFO  | +0     | StartModule - MEmu: PCLauncher
				MEmuV: N/A
				MURL: https://sites.google.com/site/hyperlaunch2/additional-features/pclauncher
				MAuthor: djvj
				MVersion: 2.1.1
				MCRC: E0BD831D
				iCRC: 987FA370
				MID:
				MSystem: "Fan Remakes","Games for Windows","Microsoft Windows","PCLauncher","PC Games","Steam","Steam Big Picture","Taito Type X","Touhou"
18:39:08:804 | MD |     INFO  | +0     | StartModule - You have a supported System Name for this module: "PC Games"
18:39:08:804 | MD |   DEBUG1  | +0     | StartModule - Setting romName to the dbName sent to HyperLaunch: Danmaku Unlimited 2
18:39:08:805 | MD |     INFO  | +0     | StartModule - Ended
18:39:08:805 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - SteamID:
18:39:08:805 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - Application: .\Emulators\PC Games\Danmaku Unlimited 2\Danmaku Unlimited 2.exe
18:39:08:806 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - AppWaitExe: Danmaku Unlimited 2.exe
18:39:08:806 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - DiscImage:
18:39:08:806 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - Parameters:
18:39:08:806 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - OriginGame: false
18:39:08:806 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - WorkingFolder: .\Emulators\PC Games\Danmaku Unlimited 2
18:39:08:807 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PreLaunch:
18:39:08:807 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PreLaunchParameters:
18:39:08:807 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PreLaunchSleep:
18:39:08:807 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostLaunch:
18:39:08:808 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostLaunchParameters:
18:39:08:808 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostLaunchSleep:
18:39:08:808 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostExit:
18:39:08:808 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostExitParameters:
18:39:08:809 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - PostExitSleep:
18:39:08:809 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - ExitMethod:
18:39:08:809 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - FadeTitle:
18:39:08:809 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - FadeInExitSleep:
18:39:08:809 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - HideCursor:
18:39:08:810 | MD |     INFO  | +0     | Module Setting - [settings] - HideCursor:
18:39:08:810 | MD |     INFO  | +0     | Module Setting - [Danmaku Unlimited 2] - HideCursor:
18:39:08:810 | MD |     INFO  | +0     | CheckSettings - Started
18:39:08:810 | MD |     INFO  | +0     | PCLauncher - Origin mode enabled. Will log in to Origin if required.
18:39:08:810 | MD |     INFO  | +0     | CheckSettings - Ended
18:39:08:810 | MD |     INFO  | +0     | PCLauncher - Checking Origin status.
18:39:08:810 | MD |     INFO  | +0     | PCLauncher - Origin install path:
18:39:08:811 | MD |     INFO  | +0     | CheckFile - Checking if  exists
18:39:09:145 | MD |   DEBUG1  | +343   | ScriptError - Playing error sound: error2.mp3
18:39:16:679 | MD |    ERROR  | +7532  | Cannot find
18:39:16:679 | MD |     INFO  | +0     | ExitModule - Started
18:39:16:679 | MD |     INFO  | +0     | Starting Updating Statistics:
18:39:16:679 | MD |   DEBUG2  | +0     | Total Elapsed Time in Pause in seconds: 0
18:39:16:680 | MD |   DEBUG2  | +0     | gameSectionStartTime:1010578
18:39:16:680 | MD |   DEBUG2  | +0     | ElapsedTime:7
18:39:16:680 | MD |     INFO  | +0     | CreateRomTable - Started
18:39:16:680 | MD |   DEBUG1  | +0     | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Disc"
18:39:16:680 | MD |   DEBUG1  | +0     | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Disk"
18:39:16:680 | MD |   DEBUG1  | +0     | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Cart"
18:39:16:680 | MD |   DEBUG1  | +0     | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Tape"
18:39:16:680 | MD |   DEBUG1  | +0     | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Cassette"
18:39:16:681 | MD |   DEBUG1  | +0     | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Part"
18:39:16:681 | MD |   DEBUG1  | +0     | CreateRomTable - Checking for match: "Danmaku Unlimited 2" and "(Side"
18:39:16:681 | MD |     INFO  | +0     | CreateRomTable - Ended, 7 Loops to create table.
18:39:16:681 | MD |   DEBUG2  | +0     | Statistics cleared game name: Danmaku Unlimited 2
18:39:16:711 | MD |   DEBUG2  | +31    | Loaded game statistics from ini files:
				Number_of_Times_Played: 42
				Last_Time_Played: Sunday August 24, 2014 06:34:58 PM
				Average_Time_Played: 8
				Total_Time_Played: 340
				System_Total_Played_Time: 1472
				Total_Global_Played_Time: 55726
18:39:16:711 | MD |   DEBUG2  | +0     | Updated Statistics: Number_of_Times_Played: 43
				Last_Time_Played: Sunday August 24, 2014 06:39:08 PM
				Average_Time_Played: 8
				Total_Time_Played: 347
				System_Total_Played_Time: 1479
				Total_Global_Played_Time: 55733
18:39:16:739 | MD |     INFO  | +31    | Game section statistics updated.
18:39:16:740 | MD |     INFO  | +0     | ExitModule - Ended
18:39:16:740 | MD |     INFO  | +0     | End of Module Logs
18:39:16:772 | HL |     INFO  | +8078  | Main - Module ended, exiting HyperLaunch normally
18:39:16:772 | HL |     INFO  | +0     | ExitScript - Started
18:39:16:775 | HL |   DEBUG1  | +0     | ExitScript - Unhiding taskbar
18:39:17:008 | HL |     INFO  | +235   | SystemCursor - Restoring mouse cursor
18:39:17:018 | HL |     INFO  | +15    | ExitScript - Ended

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...