fuzzi23 Posted September 6, 2013 Posted September 6, 2013 If I add a new key in General Settings>Controls>Exit Emulator Key, the new key works fine, but only for some times. After a couple of times (2 or 3) I use the new key, the key has no longer any effect until I restart Windows. Then it repeats, works 2 or 3 times and then it has no longer any effect until I restart Windows. It works for me fine for a long time, but now it makes trouble.
pofo14 Posted September 6, 2013 Posted September 6, 2013 This seems like strange behavior. Is there any logging information your can provide. Specifically a log from when it works, and then one from when it does not work.
fuzzi23 Posted September 6, 2013 Author Posted September 6, 2013 Yes it's strange. Forgot to say: I make a test for this, I totaly delete HS + HL and set it up from scratch only with zsnes to test it and make sure there is nothing other that can cause this issue. Also, the new key entry stays in HL if it not works. HL don't kick the entry from the key list, it only don't works then. Also want to say I try all this on my desktop PC and there it's the same issue. Ok, I make a clear new log. I try with Mr. Nutz Rom. Three times the "F" key works, the 4th time it refuses. If I delete the "F" key and set it again, it works again for 2 or 3 times. Here the log: 00:41:16:453 | HL | INFO | +N/A | Main - HyperLaunch v3.0.0.9 00:41:16:453 | HL | INFO | +0 | Main - System Specs: HyperLaunch Dir: D:\---\Hyperspin\HyperLaunch OS: WIN_XP Architecture: 32-bit (might not be accurate) OS Language: German_Standard OS Admin Status: Yes Monitor #1 (\\.\DISPLAY1): 1680x1050 (1680x1050 work) AutoHotkey Path: AHK Version: 1.1.09.04 Unicode: No 00:41:16:453 | HL | INFO | +0 | Main - HyperSpin.exe coordinates are x0 y0 w1680 h1050 00:41:16:453 | HL | INFO | +0 | CheckFile - Checking if D:\---\Hyperspin\HyperLaunch\HyperLaunch.exe exists 00:41:16:453 | HL | INFO | +0 | Main - HyperLaunch received "Super Nintendo Entertainment System" and "Mr. Nutz" 00:41:16:468 | HL | INFO | +16 | Main - Mr. Nutz is using the default emulator: ZSNESw 00:41:16:468 | HL | INFO | +0 | Main - Checking for a [ZSNESw] section in D:\---\Hyperspin\HyperLaunch\Settings\Super Nintendo Entertainment System\Emulators.ini 00:41:16:468 | HL | INFO | +0 | Main - Checking for a [ZSNESw] section in D:\---\Hyperspin\HyperLaunch\Settings\Global Emulators.ini 00:41:16:468 | HL | INFO | +0 | Main - Found [ZSNESw] in D:\---\Hyperspin\HyperLaunch\Settings\Global Emulators.ini 00:41:16:468 | HL | INFO | +0 | CheckFile - Checking if D:\---\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk exists 00:41:16:484 | HL | WARNING | +15 | Main - CRC Check - CRC does not match official module and will not be supported. Continue using at your own risk. 00:41:16:484 | HL | INFO | +0 | Main - Mr. Nutz will use module: D:\---\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk 00:41:16:500 | HL | INFO | +16 | Main - Using standard method with "Rom Extensions" SkipChecks or without any SkipChecks. 00:41:16:500 | HL | INFO | +0 | Main - INI Keys read 00:41:16:500 | HL | INFO | +0 | CheckFile - Checking if D:\---\Hyperspin\HyperLaunch\Module Extensions\7z.exe exists 00:41:16:500 | HL | INFO | +0 | CheckFile - Checking if D:\---\Hyperspin\HyperLaunch\Module Extensions\7z.dll exists 00:41:16:500 | HL | INFO | +0 | CheckPaths - Started 00:41:16:500 | HL | INFO | +0 | CheckPaths - Found rom: D:\---\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Mr. Nutz.smc 00:41:16:500 | HL | INFO | +0 | CheckFile - Checking if D:\---\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.exe exists 00:41:16:500 | HL | INFO | +0 | CheckPaths - Ended 00:41:16:500 | HL | INFO | +0 | BuildScript - User Variables: ;---------------------------------------------------------------------------- ; INJECTED VARIABLES ;---------------------------------------------------------------------------- #NoTrayIcon #InstallKeybdHook DetectHiddenWindows, ON SetTitleMatchMode, 2 SendMode, Event 0 = 2 frontendPID = 4012 frontendPath = D:\---\Hyperspin frontendExe = HyperSpin.exe frontendExt = exe frontendName = HyperSpin frontendDrive = D: exitEmulatorKey = ~Esc|F exitEmulatorKeyWait = 0 forceHoldKey = ~Esc restoreFE = false exitScriptKey = ~q & ~s emuFullPath = D:\---\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.exe emuPath = D:\---\Hyperspin\Emulators\Super Nintendo Entertainment System emuName = ZSNESw emuExt = exe romPath = D:\---\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms romPathFromIni = D:\---\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms romExtension = .smc romExtensionOrig = .smc romExtensions = 7z|zip|sfc|smc executable = zsnesw.exe systemName = Super Nintendo Entertainment System dbName = Mr. Nutz romName = romMapPath = romMappingEnabled = false romMappingLaunchMenuEnabled = false romMappingFirstMatchingExt = false 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 logFile = D:\---\Hyperspin\HyperLaunch\HyperLaunch.log logLabel := [" INFO"," WARNING"," ERROR"," DEBUG1"," DEBUG2"] logLevel = 3 logIncludeModule = true logIncludeFileProperties = true logShowCommandWindow = false logCommandWindow = false navUpKey = Up navDownKey = Down navLeftKey = Left navRightKey = Right navSelectKey = Enter navP2UpKey = Numpad8 navP2DownKey = Numpad2 navP2LeftKey = Numpad4 navP2RightKey = Numpad6 navP2SelectKey = NumpadEnter originalWidth = 1680 originalHeight = 1050 dtEnabled = true dtPath = C:\Programme\DAEMON Tools Lite\DTLite.exe dtUseSCSI = true dtAddDrive = true emuIdleShutdown = 0 hideEmu = false hideFE = false fadeIn = false fadeInDuration = 500 fadeInTransitionAnimation = DefaultAnimateFadeIn fadeInDelay = 0 fadeInExitDelay = 0 fadeOutExitDelay = 0 fadeOut = false fadeOutDuration = 500 fadeOutTransitionAnimation = DefaultAnimateFadeOut fadeOutDelay = 0 fadeLyrInterpolation = 7 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 = D:\---\Hyperspin\HyperLaunch\Media\Fade HLDataPath = D:\---\Hyperspin\HyperLaunch\Data HLMediaPath = D:\---\Hyperspin\HyperLaunch\Media HLErrSoundPath = D:\---\Hyperspin\HyperLaunch\Media\Sounds\Error modulesPath = D:\---\Hyperspin\HyperLaunch\Modules moduleFullName = D:\---\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk moduleName = ZSNESw modulePath = D:\---\Hyperspin\HyperLaunch\Modules\ZSNESw moduleExtension = ahk moduleExtensionsPath = D:\---\Hyperspin\HyperLaunch\Module Extensions libPath = D:\---\Hyperspin\HyperLaunch\Lib 7zEnabled = false 7zPath = D:\---\Hyperspin\HyperLaunch\Module Extensions\7z.exe 7zDllPath = D:\---\Hyperspin\HyperLaunch\Module Extensions\7z.dll 7zExtractPath = C:\Dokumente und Einstellungen\Steve\Lokale Einstellungen\Temp\HS 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 = 1 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 = D:\---\Hyperspin\HyperLaunch\Module Extensions\HiToText.exe hpSaveStateKeyCodes = hpLoadStateKeyCodes = keymapperEnabled = false keymapper = ahk xpadderFullPath = D:\---\Hyperspin\Utilities\Xpadder\xpadder.exe joyToKeyFullPath = D:\---\Hyperspin\Utilities\JoyToKey\JoyToKey.exe keymapperProfilePath = D:\---\Hyperspin\HyperLaunch\Profiles\ahk keymapperFrontEndProfileName = HyperSpin keymapperHyperLaunchProfileEnabled = false JoyIDsEnabled = false JoyIDsPreferredControllersSystem = use_global JoyIDsPreferredControllersGlobal = use_global CustomJoyNamesEnabled = false CustomJoyNames = FEProfile = D:\---\Hyperspin\HyperLaunch\Profiles\ahk\HyperSpin defaultProfile = D:\---\Hyperspin\HyperLaunch\Profiles\ahk\_Default systemProfile = D:\---\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System xPadderSystemProfile = D:\---\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\_Default emuProfile = D:\---\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\ZSNESw romProfile = D:\---\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\Mr. Nutz blankProfile = D:\---\Hyperspin\HyperLaunch\Profiles\ahk\blank HyperLaunchProfile = D:\---\Hyperspin\HyperLaunch\Profiles\ahk\HyperLaunch bezelEnabled = false statisticsEnabled = true 00:41:16:500 | HL | INFO | +0 | BuildScript - Loaded XHotkey Init.ahk scripts 00:41:16:500 | HL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts 00:41:16:500 | HL | INFO | +0 | BuildScript - Loaded User Functions Init.ahk script 00:41:16:515 | HL | INFO | +16 | BuildScript - Module: MEmu = ZSNESw MEmuV = v1.51 MURL = http://www.zsnes.com/ MAuthor = djvj MVersion = 2.0 MCRC = 90F089AF iCRC = 3B0E8F48 MID = 635038268938832977 MSystem = "Super Nintendo Entertainment System" ;---------------------------------------------------------------------------- ; Notes: ; Make sure you set quickexit to your Exit_Emulator_Key key while in ZSNES. ; If you want to use Esc as your quick exit key, open zsnesw.cfg with a text editor and find the lines below. ; Set KeyQuickExit to 1, as shown below. You can't set the quick exit key to escape while in the emulator, because that's the exit key to configuring keys. ; ; Quit ZSNES / Load Menu / Reset Game / Panic Key ; KeyQuickExit=1 ; KeyQuickLoad=0 ; KeyQuickRst=0 ; KeyResetAll=42 ;---------------------------------------------------------------------------- StartModule() FadeInStart() settingsFile := modulePath . "\" . moduleName . ".ini" Fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1) Stretch := IniReadCheck(settingsFile, "Settings", "Stretch","true",,1) resX := IniReadCheck(settingsFile, "Settings", "resX","1280",,1) resY := IniReadCheck(settingsFile, "Settings", "resY","1024",,1) DisplayRomInfo := IniReadCheck(settingsFile, "Settings", "DisplayRomInfo","false",,1) ; Display rom info on load along bottom of screen SetKeyDelay, 50 zsnesFile := CheckFile(emuPath . "\zsnesw.cfg") FileRead, zsnesCfg, %zsnesFile% xLine := TF_Find(zsnesCfg,"","","CustomResX=") ; find location in zsnes cfg where it stores its custom X res yLine := TF_Find(zsnesCfg,"","","CustomResY=") ; find location in zsnes cfg where it stores its custom Y res modeLine := TF_Find(zsnesCfg,"","","cvidmode=") ; find location in zsnes cfg where it stores its custom vid mode zsnesCfg := TF_ReplaceLine(zsnesCfg,xLine,xLine,"CustomResX=" . resX) ; update custom X res in zsnes cfg file zsnesCfg := TF_ReplaceLine(zsnesCfg,yLine,yLine,"CustomResY=" . resY) ; update custom Yres in zsnes cfg file If ( Fullscreen = "true" && Stretch = "true" ) ; sets fullscreen, stretch, and filter support vidMode = 39 Else If ( Fullscreen = "true" && Stretch != "true" ) ; sets fullscreen, correct aspect ratio, and filter support vidMode = 42 Else ; sets windowed mode with filter support vidMode = 38 zsnesCfg := TF_ReplaceLine(zsnesCfg,modeLine,modeLine,"cvidmode=" . vidMode) ; update custom vid mode in zsnes cfg file ; Setting DisplayRomInfo setting in cfg if it doesn't match what user wants above currentDRI := (InStr(zsnesCfg, "DisplayInfo=1") ? ("true") : ("false")) If ( DisplayRomInfo != "true" And currentDRI = "true" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=1, DisplayInfo=0 } Else If ( DisplayRomInfo = "true" And currentDRI = "false" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=0, DisplayInfo=1 } SaveFile(zsnesCfg, zsnesFile) ; save changes to zsnesw.cfg 7z(romPath, romName, romExtension, 7zExtractPath) Run(executable . " """ . romPath . "\" . romName . romExtension . """", emuPath) WinWait("ZSNES ahk_class ZSNES") WinWaitActive("ZSNES ahk_class ZSNES") FadeInExit() Process("WaitClose",executable) 7zCleanUp() FadeOutExit() ExitModule() SaveFile(text,file) { FileDelete, %file% FileAppend, %text%, %file% } CloseProcess: FadeOutStart() SetWinDelay, 50 Send, {Alt Down}{F4 Down}{F4 Up}{Alt Up} ; No other closing method seems to work Return TF_Find(Text, StartLine = 1, EndLine = 0, SearchText = "", ReturnFirst = 1, ReturnText = 0) { ; complete rewrite for 3.1 TF_GetData(OW, Text, FileName) If (RegExMatch(Text, SearchText) < 1) Return "0" ; SearchText not in file or error, do nothing TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n { If A_Index in %TF_MatchList% { If (RegExMatch(A_LoopField, SearchText) > 0) { If (ReturnText = 0) Lines .= A_Index "," ; line number Else If (ReturnText = 1) Lines .= A_LoopField "`n" ; text of line Else If (ReturnText = 2) Lines .= A_Index ": " A_LoopField "`n" ; add line number If (ReturnFirst = 1) ; only return first occurence Break } } } If (Lines <> "") StringTrimRight, Lines, Lines, 1 ; trim trailing , or `n Else Lines = 0 ; make sure we return 0 Return Lines } TF_ReplaceLine(Text, StartLine = 1, Endline = 0, ReplaceText = "") { TF_GetData(OW, Text, FileName) TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n, `r { If A_Index in %TF_MatchList% Output .= ReplaceText "`n" Else Output .= A_LoopField "`n" } Return TF_ReturnOutPut(OW, OutPut, FileName) } TF_GetData(byref OW, byref Text, byref FileName) { OW=0 ; default setting: asume it is a file and create file_copy IfNotInString, Text, `n ; it can be a file as the Text doesn't contact a newline character { If (SubStr(Text,1,1)="!") ; first we check for "overwrite" { Text:=SubStr(Text,2) OW=1 ; overwrite file (if it is a file) } IfNotExist, %Text% ; now we can check if the file exists, it doesn't so it is a var { If (OW=1) ; the variable started with a ! so we need to put it back because it is variable/text not a file Text:= "!" . Text OW=2 ; no file, so it is a var or Text passed on directly to TF } } Else ; there is a newline character in Text so it has to be a variable { OW=2 } If (OW = 0) or (OW = 1) ; it is a file, so we have to read into var Text { Text := (SubStr(Text,1,1)="!") ? (SubStr(Text,2)) : Text FileName=%Text% ; Store FileName FileRead, Text, %Text% ; Read file and return as var Text If (ErrorLevel > 0) { MsgBox, 48, TF Lib Error, % "Can not read " FileName ExitApp } } Return } TF_Count(String, Char) { StringReplace, String, String, %Char%,, UseErrorLevel Return ErrorLevel } TF_ReturnOutPut(OW, Text, FileName, TrimTrailing = 1, CreateNewFile = 0) { ; HugoV If (OW = 0) ; input was file, file_copy will be created, if it already exist file_copy will be overwritten { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 1) ; CreateNewFile used for TF_SplitFileBy* and others { OW = 1 Goto CreateNewFile } Else Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "_copy." Ext, % Dir "\backup\" Name "_copy.bak", 1 FileDelete, % Dir "\" Name "_copy." Ext FileAppend, %Text%, % Dir "\" Name "_copy." Ext Return Errorlevel ? False : True } CreateNewFile: If (OW = 1) ; input was file, will be overwritten by output { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 0) ; CreateNewFile used for TF_SplitFileBy* and others Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "." Ext, % Dir "\backup\" Name ".bak", 1 FileDelete, % Dir "\" Name "." Ext FileAppend, %Text%, % Dir "\" Name "." Ext Return Errorlevel ? False : True } If (OW = 2) ; input was var, return variable { If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n Return Text } } _MakeMatchList(Text, Start = 1, End = 0) { ErrorList= (join| Error 01: Invalid StartLine parameter (non numerical character) Error 02: Invalid EndLine parameter (non numerical character) Error 03: Invalid StartLine parameter (only one + allowed) ) StringSplit, ErrorMessage, ErrorList, | Error = 0 TF_MatchList= ; just to be sure If (Start = 0 or Start = "") Start = 1 ; some basic error checking ; error: only digits - and + allowed If (RegExReplace(Start, "[ 0-9+\-\,]", "") <> "") Error = 1 If (RegExReplace(End, "[0-9 ]", "") <> "") Error = 2 ; error: only one + allowed If (TF_Count(Start,"+") > 1) Error = 3 If (Error > 0 ) { MsgBox, 48, TF Lib Error, % ErrorMessage%Error% ExitApp } ; Option #1 ; StartLine has + character indicating startline + incremental processing. ; EndLine will be used ; Make TF_MatchList IfInString, Start, `+ { If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `+ LoopSection:=End + 1 - SectionLines1 Counter=0 TF_MatchList .= SectionLines1 "," Loop, %LoopSection% { If (A_Index >= End) ; Break If (Counter = (SectionLines2-1)) ; counter is smaller than the incremental value so skip { TF_MatchList .= (SectionLines1 + A_Index) "," Counter=0 } Else Counter++ } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #2 ; StartLine has - character indicating from-to, COULD be multiple sections. ; EndLine will be ignored ; Make TF_MatchList IfInString, Start, `- { StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `- LoopSection:=SectionLines2 + 1 - SectionLines1 Loop, %LoopSection% { TF_MatchList .= (SectionLines1 - 1 + A_Index) "," } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #3 ; StartLine has comma indicating multiple lines. ; EndLine will be ignored IfInString, Start, `, { TF_MatchList:=Start Return TF_MatchList } ; Option #4 ; parameters passed on as StartLine, EndLine. ; Make TF_MatchList from StartLine to EndLine If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 LoopTimes:=End-Start Loop, %LoopTimes% { TF_MatchList .= (Start - 1 + A_Index) "," } TF_MatchList .= End "," StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } 00:41:16:515 | HL | INFO | +0 | BuildScript - Loaded Statistics.ahk script 00:41:16:515 | HL | INFO | +0 | BuildScript - Loaded User Functions.ahk script 00:41:16:515 | HL | INFO | +0 | BuildScript - Finished injecting functions into module 00:41:16:515 | HL | INFO | +0 | Main - Module is built 00:41:16:515 | HL | INFO | +0 | CheckFile - Checking if D:\---\Hyperspin\HyperLaunch\AutoHotkey.dll exists 00:41:16:515 | HL | INFO | +0 | Main - Running module 00:41:16:609 | MD | INFO | +N/A | Module initialized 00:41:16:640 | MD | INFO | +32 | StartModule - Started 00:41:16:640 | MD | INFO | +0 | StartModule - MEmu: ZSNESw MEmuV: v1.51 MURL: http://www.zsnes.com/ MAuthor: djvj MVersion: 2.0 MCRC: 90F089AF iCRC: 3B0E8F48 MID: MSystem: "Super Nintendo Entertainment System" 00:41:16:640 | MD | INFO | +0 | StartModule - You have a supported System Name for this module: "Super Nintendo Entertainment System" 00:41:16:640 | MD | INFO | +0 | StartModule - Ended 00:41:16:640 | MD | INFO | +0 | StartGlobalUserFeatures - Starting 00:41:16:640 | MD | INFO | +0 | StartGlobalUserFeatures - Ending 00:41:16:640 | MD | INFO | +0 | Module Setting - Fullscreen: true 00:41:16:640 | MD | INFO | +0 | Module Setting - Stretch: true 00:41:16:640 | MD | INFO | +0 | Module Setting - resX: 1280 00:41:16:640 | MD | INFO | +0 | Module Setting - resY: 1024 00:41:16:640 | MD | INFO | +0 | Module Setting - DisplayRomInfo: false 00:41:16:640 | MD | INFO | +0 | CheckFile - Checking if D:\---\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.cfg exists 00:41:16:656 | MD | INFO | +15 | Module Run - Running: D:\---\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.exe "D:\---\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Mr. Nutz.smc" 00:41:16:687 | MD | INFO | +31 | Module WinWait - Waiting for ZSNES ahk_class ZSNES 00:41:17:156 | MD | INFO | +469 | Module WinWaitActive - Waiting for "ZSNES ahk_class ZSNES" 00:41:17:265 | MD | INFO | +110 | Module Process - WaitClose zsnesw.exe 00:41:30:062 | MD | INFO | +12796 | StopGlobalUserFeatures - Starting 00:41:30:062 | MD | INFO | +0 | StopGlobalUserFeatures - Ending 00:41:30:062 | MD | INFO | +0 | ExitModule - Started 00:41:30:062 | MD | INFO | +0 | Starting Updating Statistics: 00:41:30:062 | MD | INFO | +0 | CreateRomTable - Started 00:41:30:062 | MD | INFO | +0 | CreateRomTable - Ended, 7 Loops to create table. 00:41:30:171 | MD | INFO | +110 | Game section statistics updated. 00:41:30:171 | MD | INFO | +0 | ExitModule - Ended 00:41:30:171 | MD | INFO | +0 | End of Module Logs 00:41:30:281 | HL | INFO | +13765 | Main - Module ended, exiting HyperLaunch normally 00:41:30:281 | HL | INFO | +0 | ExitScript - Started 00:41:30:296 | HL | INFO | +16 | SystemCursor - Restoring mouse cursor 00:41:30:296 | HL | INFO | +0 | ExitScript - Ended I just tried it with ePSXe and it seems to be that there is no problem. Maybe could it be... in the log I read "Main - CRC check - crc does not match official module...", but I use the correct 1.51 Version?
djvj Posted September 7, 2013 Posted September 7, 2013 So if it only does it with one emu, stop using that emu. Hl doesn't leave anything behind. So this has nothing to do with HL. Something with zsnes is getting left behind or something it uses to function. If you insist on using that one emu, you want to start playing with its options and see if you can make it stop happening. Possibly scan your running processes before and after to see if there are any differences. Sent from my Samsung Galaxy S3 using Tapatalk 4. "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."RocketLauncher's Official Home If you appreciate my work:My Apps:Window LoggerIdle Volume AdjusterExplorerRestorerRom Folder CleanerModule UpdaterMy Guides:How To Mod Guncons with Aimtrak
brolly Posted September 7, 2013 Posted September 7, 2013 My guess is that Zsnes still stays running as a process in the background sometimes instead of properly closing.
djvj Posted September 7, 2013 Posted September 7, 2013 Yea but then HL wouldn't launch again if it did. He is saying he is able to open zsnes after this happens and not close. Unless that is not the truth. "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."RocketLauncher's Official Home If you appreciate my work:My Apps:Window LoggerIdle Volume AdjusterExplorerRestorerRom Folder CleanerModule UpdaterMy Guides:How To Mod Guncons with Aimtrak
fuzzi23 Posted September 7, 2013 Author Posted September 7, 2013 Just tried it again and had the same issue in ePSXe, so it seems to be that it is not only an zsnes problem. What happens in zsnes is: If the error appears I have to press esc, then the emu menu pops up in HS and I have to close the emu via the "x" icon of the emu. So, I think HS loses control over zsnesw at the point where the key problem appears. After closing the emu HS takes back control because then I can navigate again in HS menus/wheels. Only the new key is still not working until I restart windows. Sometimes, but only sometimes, it suffices to restart HS and it recognized the key again.
brolly Posted September 7, 2013 Posted September 7, 2013 Why not djvj? As long as HL doesn't stay running it will launch another instance of the emu just fine. fuzzi, like it was already suggested make sure you check your running processes after that problem happens. Also first you mention znes now snes9x so which one is it after all?
fuzzi23 Posted September 7, 2013 Author Posted September 7, 2013 Ups.. sorry, I mean zsnes. Slowly I get into a mess with all that testing and changing emus to arrive at a positive result. Also, it's pretty hard to realize what's really happens. As I say before, eG ePSXe, I try closing it 20 times and 1 times the issue appears, so I can not really say if it's on zsnes. What running processes do you mean? HL or zsnes? Because they all close correctly, no process is runnung after problem appears.
brolly Posted September 8, 2013 Posted September 8, 2013 I mean zsnes, because if HL was left running you'd never be able to launch any other game from that point on. Are you actually checking the task manager for running processes after the problem appears? Because it would be very very strange for the exit key to stop working out of the blue unless emulator isn't running in the background. Also post a log for when the exit key isn't working because in your log above it appears everything was exiting just fine.
djvj Posted September 8, 2013 Posted September 8, 2013 brolly, 2 things happen to prevent HL from accidentally being launched a 2nd time. 1) If the executable is currently running (emu), HL will not start 2) Multiple launches of HL are not allowed via #SingleInstance Ignore I'm sure you remember all those complaints about multiple HLs being allowed to open. The above is what I had to put in place to try to prevent that. "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."RocketLauncher's Official Home If you appreciate my work:My Apps:Window LoggerIdle Volume AdjusterExplorerRestorerRom Folder CleanerModule UpdaterMy Guides:How To Mod Guncons with Aimtrak
brolly Posted September 8, 2013 Posted September 8, 2013 I knew about #2, but wasn't aware of #1 I guess you added meanwhile and I missed it somehow. Will you show any error if the emulator is already running?
djvj Posted September 8, 2013 Posted September 8, 2013 Yes it shows in an error, but only in the log. Otherwise I can't for good reason. You don't want to see errors on your screen when you launch HL twice and the first was legitimate. I have no way to differentiate between an accidental launch and a properly mitigated 2nd launch. If I did, I would utilize that difference and script around it to identify one or the other and handle it all differently. "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."RocketLauncher's Official Home If you appreciate my work:My Apps:Window LoggerIdle Volume AdjusterExplorerRestorerRom Folder CleanerModule UpdaterMy Guides:How To Mod Guncons with Aimtrak
fuzzi23 Posted September 8, 2013 Author Posted September 8, 2013 Ok, again to make it clear (I hope). Just tried it again, this time the error is different. I launch zsnes, close it via "f", the 3rd time the issue appears and "f" has no effect. But this time, if I press esc, HL works fine. Esc closed zsnes and I can start zsnes via HL again but only "f" still desen't work until I restart HL. This are my processes exactly after the effect appears (sorry but I use a german XP but I think the processes are clear): And here are the logfile directly after it appears, and before closing zsnes or HL: 16:20:46:796 | HL | INFO | +N/A | Main - HyperLaunch v3.0.0.9 16:20:46:796 | HL | INFO | +0 | Main - System Specs: HyperLaunch Dir: D:\Hyperspin\HyperLaunch OS: WIN_XP Architecture: 32-bit (might not be accurate) OS Language: German_Standard OS Admin Status: Yes Monitor #1 (\\.\DISPLAY1): 1280x1024 (1280x1024 work) AutoHotkey Path: AHK Version: 1.1.09.04 Unicode: No 16:20:46:796 | HL | INFO | +0 | Main - HyperSpin.exe coordinates are x0 y0 w1280 h1024 16:20:46:796 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\HyperLaunch.exe exists 16:20:46:796 | HL | INFO | +0 | Main - HyperLaunch received "Super Nintendo Entertainment System" and "Super Mario World" 16:20:46:796 | HL | INFO | +0 | Main - Super Mario World is using the default emulator: ZSNESw 16:20:46:796 | HL | INFO | +0 | Main - Checking for a [ZSNESw] section in D:\Hyperspin\HyperLaunch\Settings\Super Nintendo Entertainment System\Emulators.ini 16:20:46:796 | HL | INFO | +0 | Main - Checking for a [ZSNESw] section in D:\Hyperspin\HyperLaunch\Settings\Global Emulators.ini 16:20:46:796 | HL | INFO | +0 | Main - Found [ZSNESw] in D:\Hyperspin\HyperLaunch\Settings\Global Emulators.ini 16:20:46:796 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk exists 16:20:46:796 | HL | WARNING | +0 | Main - CRC Check - CRC does not match official module and will not be supported. Continue using at your own risk. 16:20:46:796 | HL | INFO | +0 | Main - Super Mario World will use module: D:\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk 16:20:46:812 | HL | INFO | +15 | Main - Using standard method with "Rom Extensions" SkipChecks or without any SkipChecks. 16:20:46:812 | HL | INFO | +0 | Main - INI Keys read 16:20:46:812 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\7z.exe exists 16:20:46:812 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\7z.dll exists 16:20:46:812 | HL | INFO | +0 | CheckPaths - Started 16:20:46:812 | HL | INFO | +0 | CheckPaths - Found rom: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World.smc 16:20:46:812 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.exe exists 16:20:46:812 | HL | INFO | +0 | CheckPaths - Ended 16:20:46:812 | HL | INFO | +0 | BuildScript - User Variables: ;---------------------------------------------------------------------------- ; INJECTED VARIABLES ;---------------------------------------------------------------------------- #NoTrayIcon #InstallKeybdHook DetectHiddenWindows, ON SetTitleMatchMode, 2 SendMode, Event 0 = 2 frontendPID = 3532 frontendPath = D:\Hyperspin frontendExe = HyperSpin.exe frontendExt = exe frontendName = HyperSpin frontendDrive = D: exitEmulatorKey = ~Esc|F exitEmulatorKeyWait = 0 forceHoldKey = ~Esc restoreFE = false exitScriptKey = ~q & ~s emuFullPath = D:\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.exe emuPath = D:\Hyperspin\Emulators\Super Nintendo Entertainment System emuName = ZSNESw emuExt = exe romPath = D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms romPathFromIni = D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms romExtension = .smc romExtensionOrig = .smc romExtensions = 7z|zip|sfc|smc executable = zsnesw.exe systemName = Super Nintendo Entertainment System dbName = Super Mario World romName = romMapPath = romMappingEnabled = false romMappingLaunchMenuEnabled = false romMappingFirstMatchingExt = false 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 logFile = D:\Hyperspin\HyperLaunch\HyperLaunch.log logLabel := [" INFO"," WARNING"," ERROR"," DEBUG1"," DEBUG2"] logLevel = 3 logIncludeModule = true logIncludeFileProperties = true logShowCommandWindow = false logCommandWindow = false 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 = dtUseSCSI = true dtAddDrive = true emuIdleShutdown = 0 hideEmu = false hideFE = false fadeIn = false fadeInDuration = 500 fadeInTransitionAnimation = DefaultAnimateFadeIn fadeInDelay = 0 fadeInExitDelay = 0 fadeOutExitDelay = 0 fadeOut = false fadeOutDuration = 500 fadeOutTransitionAnimation = DefaultAnimateFadeOut fadeOutDelay = 0 fadeLyrInterpolation = 7 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 = D:\Hyperspin\HyperLaunch\Media\Fade HLDataPath = D:\Hyperspin\HyperLaunch\Data HLMediaPath = D:\Hyperspin\HyperLaunch\Media HLErrSoundPath = D:\Hyperspin\HyperLaunch\Media\Sounds\Error modulesPath = D:\Hyperspin\HyperLaunch\Modules moduleFullName = D:\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk moduleName = ZSNESw modulePath = D:\Hyperspin\HyperLaunch\Modules\ZSNESw moduleExtension = ahk moduleExtensionsPath = D:\Hyperspin\HyperLaunch\Module Extensions libPath = D:\Hyperspin\HyperLaunch\Lib 7zEnabled = false 7zPath = D:\Hyperspin\HyperLaunch\Module Extensions\7z.exe 7zDllPath = D:\Hyperspin\HyperLaunch\Module Extensions\7z.dll 7zExtractPath = C:\Dokumente und Einstellungen\Arcade Machine\Lokale Einstellungen\Temp\HS 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 = 1 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 = D:\Hyperspin\HyperLaunch\Module Extensions\HiToText.exe hpSaveStateKeyCodes = hpLoadStateKeyCodes = keymapperEnabled = false keymapper = ahk xpadderFullPath = D:\Hyperspin\Utilities\Xpadder\xpadder.exe joyToKeyFullPath = D:\Hyperspin\Utilities\JoyToKey\JoyToKey.exe keymapperProfilePath = D:\Hyperspin\HyperLaunch\Profiles\ahk keymapperFrontEndProfileName = HyperSpin keymapperHyperLaunchProfileEnabled = false JoyIDsEnabled = false JoyIDsPreferredControllersSystem = use_global JoyIDsPreferredControllersGlobal = use_global CustomJoyNamesEnabled = false CustomJoyNames = FEProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\HyperSpin defaultProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\_Default systemProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System xPadderSystemProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\_Default emuProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\ZSNESw romProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\Super Mario World blankProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\blank HyperLaunchProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\HyperLaunch bezelEnabled = false statisticsEnabled = true 16:20:46:812 | HL | INFO | +0 | BuildScript - Loaded XHotkey Init.ahk scripts 16:20:46:812 | HL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts 16:20:46:812 | HL | INFO | +0 | BuildScript - Loaded User Functions Init.ahk script 16:20:46:812 | HL | INFO | +0 | BuildScript - Module: MEmu = ZSNESw MEmuV = v1.51 MURL = http://www.zsnes.com/ MAuthor = djvj MVersion = 2.0 MCRC = 90F089AF iCRC = 3B0E8F48 MID = 635038268938832977 MSystem = "Super Nintendo Entertainment System" ;---------------------------------------------------------------------------- ; Notes: ; Make sure you set quickexit to your Exit_Emulator_Key key while in ZSNES. ; If you want to use Esc as your quick exit key, open zsnesw.cfg with a text editor and find the lines below. ; Set KeyQuickExit to 1, as shown below. You can't set the quick exit key to escape while in the emulator, because that's the exit key to configuring keys. ; ; Quit ZSNES / Load Menu / Reset Game / Panic Key ; KeyQuickExit=1 ; KeyQuickLoad=0 ; KeyQuickRst=0 ; KeyResetAll=42 ;---------------------------------------------------------------------------- StartModule() FadeInStart() settingsFile := modulePath . "\" . moduleName . ".ini" Fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1) Stretch := IniReadCheck(settingsFile, "Settings", "Stretch","true",,1) resX := IniReadCheck(settingsFile, "Settings", "resX","1280",,1) resY := IniReadCheck(settingsFile, "Settings", "resY","1024",,1) DisplayRomInfo := IniReadCheck(settingsFile, "Settings", "DisplayRomInfo","false",,1) ; Display rom info on load along bottom of screen SetKeyDelay, 50 zsnesFile := CheckFile(emuPath . "\zsnesw.cfg") FileRead, zsnesCfg, %zsnesFile% xLine := TF_Find(zsnesCfg,"","","CustomResX=") ; find location in zsnes cfg where it stores its custom X res yLine := TF_Find(zsnesCfg,"","","CustomResY=") ; find location in zsnes cfg where it stores its custom Y res modeLine := TF_Find(zsnesCfg,"","","cvidmode=") ; find location in zsnes cfg where it stores its custom vid mode zsnesCfg := TF_ReplaceLine(zsnesCfg,xLine,xLine,"CustomResX=" . resX) ; update custom X res in zsnes cfg file zsnesCfg := TF_ReplaceLine(zsnesCfg,yLine,yLine,"CustomResY=" . resY) ; update custom Yres in zsnes cfg file If ( Fullscreen = "true" && Stretch = "true" ) ; sets fullscreen, stretch, and filter support vidMode = 39 Else If ( Fullscreen = "true" && Stretch != "true" ) ; sets fullscreen, correct aspect ratio, and filter support vidMode = 42 Else ; sets windowed mode with filter support vidMode = 38 zsnesCfg := TF_ReplaceLine(zsnesCfg,modeLine,modeLine,"cvidmode=" . vidMode) ; update custom vid mode in zsnes cfg file ; Setting DisplayRomInfo setting in cfg if it doesn't match what user wants above currentDRI := (InStr(zsnesCfg, "DisplayInfo=1") ? ("true") : ("false")) If ( DisplayRomInfo != "true" And currentDRI = "true" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=1, DisplayInfo=0 } Else If ( DisplayRomInfo = "true" And currentDRI = "false" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=0, DisplayInfo=1 } SaveFile(zsnesCfg, zsnesFile) ; save changes to zsnesw.cfg 7z(romPath, romName, romExtension, 7zExtractPath) Run(executable . " """ . romPath . "\" . romName . romExtension . """", emuPath) WinWait("ZSNES ahk_class ZSNES") WinWaitActive("ZSNES ahk_class ZSNES") FadeInExit() Process("WaitClose",executable) 7zCleanUp() FadeOutExit() ExitModule() SaveFile(text,file) { FileDelete, %file% FileAppend, %text%, %file% } CloseProcess: FadeOutStart() SetWinDelay, 50 Send, {Alt Down}{F4 Down}{F4 Up}{Alt Up} ; No other closing method seems to work Return TF_Find(Text, StartLine = 1, EndLine = 0, SearchText = "", ReturnFirst = 1, ReturnText = 0) { ; complete rewrite for 3.1 TF_GetData(OW, Text, FileName) If (RegExMatch(Text, SearchText) < 1) Return "0" ; SearchText not in file or error, do nothing TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n { If A_Index in %TF_MatchList% { If (RegExMatch(A_LoopField, SearchText) > 0) { If (ReturnText = 0) Lines .= A_Index "," ; line number Else If (ReturnText = 1) Lines .= A_LoopField "`n" ; text of line Else If (ReturnText = 2) Lines .= A_Index ": " A_LoopField "`n" ; add line number If (ReturnFirst = 1) ; only return first occurence Break } } } If (Lines <> "") StringTrimRight, Lines, Lines, 1 ; trim trailing , or `n Else Lines = 0 ; make sure we return 0 Return Lines } TF_ReplaceLine(Text, StartLine = 1, Endline = 0, ReplaceText = "") { TF_GetData(OW, Text, FileName) TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n, `r { If A_Index in %TF_MatchList% Output .= ReplaceText "`n" Else Output .= A_LoopField "`n" } Return TF_ReturnOutPut(OW, OutPut, FileName) } TF_GetData(byref OW, byref Text, byref FileName) { OW=0 ; default setting: asume it is a file and create file_copy IfNotInString, Text, `n ; it can be a file as the Text doesn't contact a newline character { If (SubStr(Text,1,1)="!") ; first we check for "overwrite" { Text:=SubStr(Text,2) OW=1 ; overwrite file (if it is a file) } IfNotExist, %Text% ; now we can check if the file exists, it doesn't so it is a var { If (OW=1) ; the variable started with a ! so we need to put it back because it is variable/text not a file Text:= "!" . Text OW=2 ; no file, so it is a var or Text passed on directly to TF } } Else ; there is a newline character in Text so it has to be a variable { OW=2 } If (OW = 0) or (OW = 1) ; it is a file, so we have to read into var Text { Text := (SubStr(Text,1,1)="!") ? (SubStr(Text,2)) : Text FileName=%Text% ; Store FileName FileRead, Text, %Text% ; Read file and return as var Text If (ErrorLevel > 0) { MsgBox, 48, TF Lib Error, % "Can not read " FileName ExitApp } } Return } TF_Count(String, Char) { StringReplace, String, String, %Char%,, UseErrorLevel Return ErrorLevel } TF_ReturnOutPut(OW, Text, FileName, TrimTrailing = 1, CreateNewFile = 0) { ; HugoV If (OW = 0) ; input was file, file_copy will be created, if it already exist file_copy will be overwritten { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 1) ; CreateNewFile used for TF_SplitFileBy* and others { OW = 1 Goto CreateNewFile } Else Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "_copy." Ext, % Dir "\backup\" Name "_copy.bak", 1 FileDelete, % Dir "\" Name "_copy." Ext FileAppend, %Text%, % Dir "\" Name "_copy." Ext Return Errorlevel ? False : True } CreateNewFile: If (OW = 1) ; input was file, will be overwritten by output { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 0) ; CreateNewFile used for TF_SplitFileBy* and others Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "." Ext, % Dir "\backup\" Name ".bak", 1 FileDelete, % Dir "\" Name "." Ext FileAppend, %Text%, % Dir "\" Name "." Ext Return Errorlevel ? False : True } If (OW = 2) ; input was var, return variable { If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n Return Text } } _MakeMatchList(Text, Start = 1, End = 0) { ErrorList= (join| Error 01: Invalid StartLine parameter (non numerical character) Error 02: Invalid EndLine parameter (non numerical character) Error 03: Invalid StartLine parameter (only one + allowed) ) StringSplit, ErrorMessage, ErrorList, | Error = 0 TF_MatchList= ; just to be sure If (Start = 0 or Start = "") Start = 1 ; some basic error checking ; error: only digits - and + allowed If (RegExReplace(Start, "[ 0-9+\-\,]", "") <> "") Error = 1 If (RegExReplace(End, "[0-9 ]", "") <> "") Error = 2 ; error: only one + allowed If (TF_Count(Start,"+") > 1) Error = 3 If (Error > 0 ) { MsgBox, 48, TF Lib Error, % ErrorMessage%Error% ExitApp } ; Option #1 ; StartLine has + character indicating startline + incremental processing. ; EndLine will be used ; Make TF_MatchList IfInString, Start, `+ { If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `+ LoopSection:=End + 1 - SectionLines1 Counter=0 TF_MatchList .= SectionLines1 "," Loop, %LoopSection% { If (A_Index >= End) ; Break If (Counter = (SectionLines2-1)) ; counter is smaller than the incremental value so skip { TF_MatchList .= (SectionLines1 + A_Index) "," Counter=0 } Else Counter++ } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #2 ; StartLine has - character indicating from-to, COULD be multiple sections. ; EndLine will be ignored ; Make TF_MatchList IfInString, Start, `- { StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `- LoopSection:=SectionLines2 + 1 - SectionLines1 Loop, %LoopSection% { TF_MatchList .= (SectionLines1 - 1 + A_Index) "," } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #3 ; StartLine has comma indicating multiple lines. ; EndLine will be ignored IfInString, Start, `, { TF_MatchList:=Start Return TF_MatchList } ; Option #4 ; parameters passed on as StartLine, EndLine. ; Make TF_MatchList from StartLine to EndLine If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 LoopTimes:=End-Start Loop, %LoopTimes% { TF_MatchList .= (Start - 1 + A_Index) "," } TF_MatchList .= End "," StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } 16:20:46:812 | HL | INFO | +0 | BuildScript - Loaded Statistics.ahk script 16:20:46:812 | HL | INFO | +0 | BuildScript - Loaded User Functions.ahk script 16:20:46:812 | HL | INFO | +0 | BuildScript - Finished injecting functions into module 16:20:46:812 | HL | INFO | +0 | Main - Module is built 16:20:46:812 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\AutoHotkey.dll exists 16:20:46:812 | HL | INFO | +0 | Main - Running module As I wrote before: Sometimes I have to completely restart windows to make "f" working again in HL (or set "f" again in HLHQ). Sometimes it suffices to restart HL. And sometimes HL loses completely control and zsnes runs in the background, so I then have to close the emu itself and also kill the HL process to return to normality.
brolly Posted September 8, 2013 Posted September 8, 2013 You forgot to set your log level to DEBUG1, it's in INFO level. But yeah it doesn't seem like it's entering the ExitModule function, even though I'm not sure if that gets logged at INFO level. Is that log AFTER you pressed 'f' and the emulator didn't close? Also this seem suspect: 16:20:46:796 | HL | WARNING | +0 | Main - CRC Check - CRC does not match official module and will not be supported. Continue using at your own risk. Did you edit anything in the module? And finally, did you set your exit key in ZSNES as per the module notes?
fuzzi23 Posted September 8, 2013 Author Posted September 8, 2013 1. I can only set min. to Debug1, is this correct? OK, here are the log with Debug1 set (ah and yes, it's AFTER pressing "f" and emu does not closed via HL): 22:09:14:828 | HL | INFO | +N/A | Main - HyperLaunch v3.0.0.922:09:14:828 | HL | INFO | +0 | Main - System Specs: HyperLaunch Dir: D:\Hyperspin\HyperLaunch OS: WIN_XP Architecture: 32-bit (might not be accurate) OS Language: German_Standard OS Admin Status: Yes Monitor #1 (\\.\DISPLAY1): 1280x1024 (1280x1024 work) AutoHotkey Path: AHK Version: 1.1.09.04 Unicode: No22:09:14:828 | HL | INFO | +0 | Main - HyperSpin.exe coordinates are x0 y0 w1280 h102422:09:14:828 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\HyperLaunch.exe exists22:09:14:828 | HL | INFO | +0 | Main - HyperLaunch received "Super Nintendo Entertainment System" and "Super Mario World"22:09:14:828 | HL | INFO | +0 | Main - Super Mario World is using the default emulator: ZSNESw22:09:14:828 | HL | INFO | +0 | Main - Checking for a [ZSNESw] section in D:\Hyperspin\HyperLaunch\Settings\Super Nintendo Entertainment System\Emulators.ini22:09:14:828 | HL | INFO | +0 | Main - Checking for a [ZSNESw] section in D:\Hyperspin\HyperLaunch\Settings\Global Emulators.ini22:09:14:828 | HL | INFO | +0 | Main - Found [ZSNESw] in D:\Hyperspin\HyperLaunch\Settings\Global Emulators.ini22:09:14:828 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk exists22:09:14:843 | HL | WARNING | +16 | Main - CRC Check - CRC does not match official module and will not be supported. Continue using at your own risk.22:09:14:843 | HL | INFO | +0 | Main - Super Mario World will use module: D:\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk22:09:14:843 | HL | INFO | +0 | Main - Using standard method with "Rom Extensions" SkipChecks or without any SkipChecks.22:09:14:843 | HL | INFO | +0 | Main - INI Keys read22:09:14:843 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\7z.exe exists22:09:14:843 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\7z.dll exists22:09:14:843 | HL | INFO | +0 | CheckPaths - Started22:09:14:843 | HL | INFO | +0 | CheckPaths - Found rom: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World.smc22:09:14:843 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.exe exists22:09:14:843 | HL | INFO | +0 | CheckPaths - Ended22:09:14:843 | HL | INFO | +0 | BuildScript - User Variables: ;---------------------------------------------------------------------------- ; INJECTED VARIABLES ;---------------------------------------------------------------------------- #NoTrayIcon #InstallKeybdHook DetectHiddenWindows, ON SetTitleMatchMode, 2 SendMode, Event 0 = 2 frontendPID = 1344 frontendPath = D:\Hyperspin frontendExe = HyperSpin.exe frontendExt = exe frontendName = HyperSpin frontendDrive = D: exitEmulatorKey = ~Esc|F exitEmulatorKeyWait = 0 forceHoldKey = ~Esc restoreFE = false exitScriptKey = ~q & ~s emuFullPath = D:\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.exe emuPath = D:\Hyperspin\Emulators\Super Nintendo Entertainment System emuName = ZSNESw emuExt = exe romPath = D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms romPathFromIni = D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms romExtension = .smc romExtensionOrig = .smc romExtensions = 7z|zip|sfc|smc executable = zsnesw.exe systemName = Super Nintendo Entertainment System dbName = Super Mario World romName = romMapPath = romMappingEnabled = false romMappingLaunchMenuEnabled = false romMappingFirstMatchingExt = false 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 logFile = D:\Hyperspin\HyperLaunch\HyperLaunch.log logLabel := [" INFO"," WARNING"," ERROR"," DEBUG1"," DEBUG2"] logLevel = 3 logIncludeModule = true logIncludeFileProperties = true logShowCommandWindow = false logCommandWindow = false 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 = dtUseSCSI = true dtAddDrive = true emuIdleShutdown = 0 hideEmu = false hideFE = false fadeIn = false fadeInDuration = 500 fadeInTransitionAnimation = DefaultAnimateFadeIn fadeInDelay = 0 fadeInExitDelay = 0 fadeOutExitDelay = 0 fadeOut = false fadeOutDuration = 500 fadeOutTransitionAnimation = DefaultAnimateFadeOut fadeOutDelay = 0 fadeLyrInterpolation = 7 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 = D:\Hyperspin\HyperLaunch\Media\Fade HLDataPath = D:\Hyperspin\HyperLaunch\Data HLMediaPath = D:\Hyperspin\HyperLaunch\Media HLErrSoundPath = D:\Hyperspin\HyperLaunch\Media\Sounds\Error modulesPath = D:\Hyperspin\HyperLaunch\Modules moduleFullName = D:\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk moduleName = ZSNESw modulePath = D:\Hyperspin\HyperLaunch\Modules\ZSNESw moduleExtension = ahk moduleExtensionsPath = D:\Hyperspin\HyperLaunch\Module Extensions libPath = D:\Hyperspin\HyperLaunch\Lib 7zEnabled = false 7zPath = D:\Hyperspin\HyperLaunch\Module Extensions\7z.exe 7zDllPath = D:\Hyperspin\HyperLaunch\Module Extensions\7z.dll 7zExtractPath = C:\Dokumente und Einstellungen\Arcade Machine\Lokale Einstellungen\Temp\HS 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 = 1 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 = D:\Hyperspin\HyperLaunch\Module Extensions\HiToText.exe hpSaveStateKeyCodes = hpLoadStateKeyCodes = keymapperEnabled = false keymapper = ahk xpadderFullPath = D:\Hyperspin\Utilities\Xpadder\xpadder.exe joyToKeyFullPath = D:\Hyperspin\Utilities\JoyToKey\JoyToKey.exe keymapperProfilePath = D:\Hyperspin\HyperLaunch\Profiles\ahk keymapperFrontEndProfileName = HyperSpin keymapperHyperLaunchProfileEnabled = false JoyIDsEnabled = false JoyIDsPreferredControllersSystem = use_global JoyIDsPreferredControllersGlobal = use_global CustomJoyNamesEnabled = false CustomJoyNames = FEProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\HyperSpin defaultProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\_Default systemProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System xPadderSystemProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\_Default emuProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\ZSNESw romProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\Super Mario World blankProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\blank HyperLaunchProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\HyperLaunch bezelEnabled = false statisticsEnabled = true22:09:14:843 | HL | INFO | +0 | BuildScript - Loaded XHotkey Init.ahk scripts22:09:14:843 | HL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts22:09:14:843 | HL | INFO | +0 | BuildScript - Loaded User Functions Init.ahk script22:09:14:859 | HL | INFO | +15 | BuildScript - Module: MEmu = ZSNESw MEmuV = v1.51 MURL = http://www.zsnes.com/ MAuthor = djvj MVersion = 2.0 MCRC = 90F089AF iCRC = 3B0E8F48 MID = 635038268938832977 MSystem = "Super Nintendo Entertainment System" ;---------------------------------------------------------------------------- ; Notes: ; Make sure you set quickexit to your Exit_Emulator_Key key while in ZSNES. ; If you want to use Esc as your quick exit key, open zsnesw.cfg with a text editor and find the lines below. ; Set KeyQuickExit to 1, as shown below. You can't set the quick exit key to escape while in the emulator, because that's the exit key to configuring keys. ; ; Quit ZSNES / Load Menu / Reset Game / Panic Key ; KeyQuickExit=1 ; KeyQuickLoad=0 ; KeyQuickRst=0 ; KeyResetAll=42 ;---------------------------------------------------------------------------- StartModule() FadeInStart() settingsFile := modulePath . "\" . moduleName . ".ini" Fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1) Stretch := IniReadCheck(settingsFile, "Settings", "Stretch","true",,1) resX := IniReadCheck(settingsFile, "Settings", "resX","1280",,1) resY := IniReadCheck(settingsFile, "Settings", "resY","1024",,1) DisplayRomInfo := IniReadCheck(settingsFile, "Settings", "DisplayRomInfo","false",,1) ; Display rom info on load along bottom of screen SetKeyDelay, 50 zsnesFile := CheckFile(emuPath . "\zsnesw.cfg") FileRead, zsnesCfg, %zsnesFile% xLine := TF_Find(zsnesCfg,"","","CustomResX=") ; find location in zsnes cfg where it stores its custom X res yLine := TF_Find(zsnesCfg,"","","CustomResY=") ; find location in zsnes cfg where it stores its custom Y res modeLine := TF_Find(zsnesCfg,"","","cvidmode=") ; find location in zsnes cfg where it stores its custom vid mode zsnesCfg := TF_ReplaceLine(zsnesCfg,xLine,xLine,"CustomResX=" . resX) ; update custom X res in zsnes cfg file zsnesCfg := TF_ReplaceLine(zsnesCfg,yLine,yLine,"CustomResY=" . resY) ; update custom Yres in zsnes cfg file If ( Fullscreen = "true" && Stretch = "true" ) ; sets fullscreen, stretch, and filter support vidMode = 39 Else If ( Fullscreen = "true" && Stretch != "true" ) ; sets fullscreen, correct aspect ratio, and filter support vidMode = 42 Else ; sets windowed mode with filter support vidMode = 38 zsnesCfg := TF_ReplaceLine(zsnesCfg,modeLine,modeLine,"cvidmode=" . vidMode) ; update custom vid mode in zsnes cfg file ; Setting DisplayRomInfo setting in cfg if it doesn't match what user wants above currentDRI := (InStr(zsnesCfg, "DisplayInfo=1") ? ("true") : ("false")) If ( DisplayRomInfo != "true" And currentDRI = "true" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=1, DisplayInfo=0 } Else If ( DisplayRomInfo = "true" And currentDRI = "false" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=0, DisplayInfo=1 } SaveFile(zsnesCfg, zsnesFile) ; save changes to zsnesw.cfg 7z(romPath, romName, romExtension, 7zExtractPath) Run(executable . " """ . romPath . "\" . romName . romExtension . """", emuPath) WinWait("ZSNES ahk_class ZSNES") WinWaitActive("ZSNES ahk_class ZSNES") FadeInExit() Process("WaitClose",executable) 7zCleanUp() FadeOutExit() ExitModule() SaveFile(text,file) { FileDelete, %file% FileAppend, %text%, %file% } CloseProcess: FadeOutStart() SetWinDelay, 50 Send, {Alt Down}{F4 Down}{F4 Up}{Alt Up} ; No other closing method seems to work Return TF_Find(Text, StartLine = 1, EndLine = 0, SearchText = "", ReturnFirst = 1, ReturnText = 0) { ; complete rewrite for 3.1 TF_GetData(OW, Text, FileName) If (RegExMatch(Text, SearchText) < 1) Return "0" ; SearchText not in file or error, do nothing TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n { If A_Index in %TF_MatchList% { If (RegExMatch(A_LoopField, SearchText) > 0) { If (ReturnText = 0) Lines .= A_Index "," ; line number Else If (ReturnText = 1) Lines .= A_LoopField "`n" ; text of line Else If (ReturnText = 2) Lines .= A_Index ": " A_LoopField "`n" ; add line number If (ReturnFirst = 1) ; only return first occurence Break } } } If (Lines <> "") StringTrimRight, Lines, Lines, 1 ; trim trailing , or `n Else Lines = 0 ; make sure we return 0 Return Lines } TF_ReplaceLine(Text, StartLine = 1, Endline = 0, ReplaceText = "") { TF_GetData(OW, Text, FileName) TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n, `r { If A_Index in %TF_MatchList% Output .= ReplaceText "`n" Else Output .= A_LoopField "`n" } Return TF_ReturnOutPut(OW, OutPut, FileName) } TF_GetData(byref OW, byref Text, byref FileName) { OW=0 ; default setting: asume it is a file and create file_copy IfNotInString, Text, `n ; it can be a file as the Text doesn't contact a newline character { If (SubStr(Text,1,1)="!") ; first we check for "overwrite" { Text:=SubStr(Text,2) OW=1 ; overwrite file (if it is a file) } IfNotExist, %Text% ; now we can check if the file exists, it doesn't so it is a var { If (OW=1) ; the variable started with a ! so we need to put it back because it is variable/text not a file Text:= "!" . Text OW=2 ; no file, so it is a var or Text passed on directly to TF } } Else ; there is a newline character in Text so it has to be a variable { OW=2 } If (OW = 0) or (OW = 1) ; it is a file, so we have to read into var Text { Text := (SubStr(Text,1,1)="!") ? (SubStr(Text,2)) : Text FileName=%Text% ; Store FileName FileRead, Text, %Text% ; Read file and return as var Text If (ErrorLevel > 0) { MsgBox, 48, TF Lib Error, % "Can not read " FileName ExitApp } } Return } TF_Count(String, Char) { StringReplace, String, String, %Char%,, UseErrorLevel Return ErrorLevel } TF_ReturnOutPut(OW, Text, FileName, TrimTrailing = 1, CreateNewFile = 0) { ; HugoV If (OW = 0) ; input was file, file_copy will be created, if it already exist file_copy will be overwritten { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 1) ; CreateNewFile used for TF_SplitFileBy* and others { OW = 1 Goto CreateNewFile } Else Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "_copy." Ext, % Dir "\backup\" Name "_copy.bak", 1 FileDelete, % Dir "\" Name "_copy." Ext FileAppend, %Text%, % Dir "\" Name "_copy." Ext Return Errorlevel ? False : True } CreateNewFile: If (OW = 1) ; input was file, will be overwritten by output { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 0) ; CreateNewFile used for TF_SplitFileBy* and others Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "." Ext, % Dir "\backup\" Name ".bak", 1 FileDelete, % Dir "\" Name "." Ext FileAppend, %Text%, % Dir "\" Name "." Ext Return Errorlevel ? False : True } If (OW = 2) ; input was var, return variable { If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n Return Text } } _MakeMatchList(Text, Start = 1, End = 0) { ErrorList= (join| Error 01: Invalid StartLine parameter (non numerical character) Error 02: Invalid EndLine parameter (non numerical character) Error 03: Invalid StartLine parameter (only one + allowed) ) StringSplit, ErrorMessage, ErrorList, | Error = 0 TF_MatchList= ; just to be sure If (Start = 0 or Start = "") Start = 1 ; some basic error checking ; error: only digits - and + allowed If (RegExReplace(Start, "[ 0-9+\-\,]", "") <> "") Error = 1 If (RegExReplace(End, "[0-9 ]", "") <> "") Error = 2 ; error: only one + allowed If (TF_Count(Start,"+") > 1) Error = 3 If (Error > 0 ) { MsgBox, 48, TF Lib Error, % ErrorMessage%Error% ExitApp } ; Option #1 ; StartLine has + character indicating startline + incremental processing. ; EndLine will be used ; Make TF_MatchList IfInString, Start, `+ { If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `+ LoopSection:=End + 1 - SectionLines1 Counter=0 TF_MatchList .= SectionLines1 "," Loop, %LoopSection% { If (A_Index >= End) ; Break If (Counter = (SectionLines2-1)) ; counter is smaller than the incremental value so skip { TF_MatchList .= (SectionLines1 + A_Index) "," Counter=0 } Else Counter++ } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #2 ; StartLine has - character indicating from-to, COULD be multiple sections. ; EndLine will be ignored ; Make TF_MatchList IfInString, Start, `- { StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `- LoopSection:=SectionLines2 + 1 - SectionLines1 Loop, %LoopSection% { TF_MatchList .= (SectionLines1 - 1 + A_Index) "," } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #3 ; StartLine has comma indicating multiple lines. ; EndLine will be ignored IfInString, Start, `, { TF_MatchList:=Start Return TF_MatchList } ; Option #4 ; parameters passed on as StartLine, EndLine. ; Make TF_MatchList from StartLine to EndLine If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 LoopTimes:=End-Start Loop, %LoopTimes% { TF_MatchList .= (Start - 1 + A_Index) "," } TF_MatchList .= End "," StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList }22:09:14:859 | HL | INFO | +0 | BuildScript - Loaded Statistics.ahk script22:09:14:859 | HL | INFO | +0 | BuildScript - Loaded User Functions.ahk script22:09:14:859 | HL | INFO | +0 | BuildScript - Finished injecting functions into module22:09:14:859 | HL | INFO | +0 | Main - Module is built22:09:14:859 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\AutoHotkey.dll exists22:09:14:859 | HL | INFO | +0 | Main - Running module2. Yes, as I said before. This wondered me too. And yes, I change x and y resolution to my res. 1280x1024, and change stretch to 'true'.3. Yes that's also correct. I set KeyQuickExit to "1" in zsnesw config. But that issue appears also without set it to "1".
brolly Posted September 8, 2013 Posted September 8, 2013 I didn't mean setting it to 1, I meant this part: ; Make sure you set quickexit to your Exit_Emulator_Key key while in ZSNES. Sounds like you aren't setting the exit key properly in ZSNES. Also why did you edit the module for that? Those settings should be changed in the ini through HLHQ you should never need to edit anything in the modules. Log is still wrong, you set the log level in the General Settings tab not in the log tab that's only for the log viewer filter.
fuzzi23 Posted September 9, 2013 Author Posted September 9, 2013 I do not understand what you mean with quickexit. I do exactly what is suggested in the notes, I change "0" to "1" in the zsnesw cfg file to set the quickexit key in zsnesw, because (as it's written in the notes) I can't change them in zsnes menu because esc is the exit key to configuring keys. So, what's wrong? What should I do? Or do you mean I should set it to my new key "f"? I do make changes in the module because, when I set the resolution in zsnes to 1280x1024 it does not shows these resolution in the emu if I start it via HL. Emulator itself starts in 1280x1024. Ok, set the log correct in general settings. Here it is (direct after the issue appears and beforce closing zsnes or HL): 20:48:28:453 | HL | INFO | +N/A | Main - HyperLaunch v3.0.0.920:48:28:453 | HL | INFO | +0 | Main - System Specs: HyperLaunch Dir: D:\Hyperspin\HyperLaunch OS: WIN_XP Architecture: 32-bit (might not be accurate) OS Language: German_Standard OS Admin Status: Yes Monitor #1 (\\.\DISPLAY1): 1280x1024 (1280x1024 work) AutoHotkey Path: AHK Version: 1.1.09.04 Unicode: No20:48:28:453 | HL | INFO | +0 | Main - HyperSpin.exe coordinates are x0 y0 w1280 h102420:48:28:453 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\HyperLaunch.exe exists20:48:28:453 | HL | DEBUG1 | +0 | CheckFile - Attributes: FileDescription Your favorite Front End companion! FileVersion 3.0.0.9 LegalCopyright ©2013 HL squad ProductName djvj's one swell guy! ProductVersion 1.1.9.4 CompanyName djvj's one swell guy! File Size: 899072 bytes Created: 9/6/2013 - 8:06:33 Modified: 9/6/2013 - 8:06:3420:48:28:453 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\gdip.ahk exists20:48:28:453 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Extension.20:48:28:453 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 88789 bytes Created: 9/6/2013 - 8:06:30 Modified: 9/6/2013 - 8:06:3220:48:28:453 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\RIni.ahk exists20:48:28:468 | HL | DEBUG1 | +16 | CRC Check - CRC matches, this is an official unedited Extension.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 67561 bytes Created: 9/6/2013 - 8:06:31 Modified: 9/6/2013 - 8:06:3220:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\CLR.ahk exists20:48:28:468 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Extension.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 10586 bytes Created: 9/6/2013 - 8:06:29 Modified: 9/6/2013 - 8:06:3020:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\COM.ahk exists20:48:28:468 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Extension.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 26342 bytes Created: 9/6/2013 - 8:06:29 Modified: 9/6/2013 - 8:06:3020:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\JSON.ahk exists20:48:28:468 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Extension.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 9203 bytes Created: 9/6/2013 - 8:06:30 Modified: 9/6/2013 - 8:06:3220:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Fade Init.ahk exists20:48:28:468 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 1145 bytes Created: 9/6/2013 - 8:06:29 Modified: 9/6/2013 - 8:06:3020:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\HyperPause Init.ahk exists20:48:28:468 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 691 bytes Created: 9/6/2013 - 8:06:30 Modified: 9/6/2013 - 8:06:3220:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Keymapper Init.ahk exists20:48:28:468 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 2485 bytes Created: 9/6/2013 - 8:06:30 Modified: 9/6/2013 - 8:06:3220:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\MultiGame Init.ahk exists20:48:28:468 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 161 bytes Created: 9/6/2013 - 8:06:30 Modified: 9/6/2013 - 8:06:3220:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Statistics Init.ahk exists20:48:28:468 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 167 bytes Created: 9/6/2013 - 8:06:31 Modified: 9/6/2013 - 8:06:3220:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Fade.ahk exists20:48:28:468 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:468 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 26644 bytes Created: 9/6/2013 - 8:06:29 Modified: 9/6/2013 - 8:06:3020:48:28:468 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\HyperPause.ahk exists20:48:28:484 | HL | DEBUG1 | +15 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:484 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 326352 bytes Created: 9/6/2013 - 8:06:30 Modified: 9/6/2013 - 8:06:3220:48:28:484 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Keymapper.ahk exists20:48:28:484 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:484 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 27844 bytes Created: 9/6/2013 - 8:06:30 Modified: 9/6/2013 - 8:06:3220:48:28:484 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\MultiGame.ahk exists20:48:28:484 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:484 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 28070 bytes Created: 9/6/2013 - 8:06:30 Modified: 9/6/2013 - 8:06:3220:48:28:484 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Bezel.ahk exists20:48:28:484 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:484 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 21407 bytes Created: 9/6/2013 - 8:06:29 Modified: 9/6/2013 - 8:06:3020:48:28:484 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Statistics.ahk exists20:48:28:484 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:484 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 26089 bytes Created: 9/6/2013 - 8:06:31 Modified: 9/6/2013 - 8:06:3220:48:28:484 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Rom Mapping Launch Menu.ahk exists20:48:28:500 | HL | DEBUG1 | +16 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:500 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 63798 bytes Created: 9/6/2013 - 8:06:31 Modified: 9/6/2013 - 8:06:3220:48:28:500 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Shared.ahk exists20:48:28:500 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:500 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 65137 bytes Created: 9/6/2013 - 8:06:31 Modified: 9/6/2013 - 8:06:3220:48:28:500 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\XHotkey.ahk exists20:48:28:500 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:500 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 28659 bytes Created: 9/6/2013 - 8:06:31 Modified: 9/6/2013 - 8:06:3220:48:28:500 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Lib\Fade Animations.ahk exists20:48:28:500 | HL | DEBUG1 | +0 | CRC Check - CRC matches, this is an official unedited Library.20:48:28:500 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 48181 bytes Created: 9/6/2013 - 8:06:29 Modified: 9/6/2013 - 8:06:3020:48:28:500 | HL | INFO | +0 | Main - HyperLaunch received "Super Nintendo Entertainment System" and "Super Mario World"20:48:28:500 | HL | INFO | +0 | Main - Super Mario World is using the default emulator: ZSNESw20:48:28:500 | HL | INFO | +0 | Main - Checking for a [ZSNESw] section in D:\Hyperspin\HyperLaunch\Settings\Super Nintendo Entertainment System\Emulators.ini20:48:28:500 | HL | INFO | +0 | Main - Checking for a [ZSNESw] section in D:\Hyperspin\HyperLaunch\Settings\Global Emulators.ini20:48:28:500 | HL | INFO | +0 | Main - Found [ZSNESw] in D:\Hyperspin\HyperLaunch\Settings\Global Emulators.ini20:48:28:500 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk exists20:48:28:500 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 10997 bytes Created: 9/6/2013 - 8:06:31 Modified: 9/6/2013 - 8:20:1620:48:28:515 | HL | WARNING | +16 | Main - CRC Check - CRC does not match official module and will not be supported. Continue using at your own risk.20:48:28:515 | HL | INFO | +0 | Main - Super Mario World will use module: D:\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk20:48:28:515 | HL | INFO | +0 | Main - Using standard method with "Rom Extensions" SkipChecks or without any SkipChecks.20:48:28:515 | HL | INFO | +0 | Main - INI Keys read20:48:28:515 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\7z.exe exists20:48:28:515 | 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: 9/6/2013 - 8:06:33 Modified: 9/6/2013 - 8:06:3420:48:28:515 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\Module Extensions\7z.dll exists20:48:28:515 | 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: 9/6/2013 - 8:06:33 Modified: 9/6/2013 - 8:06:3420:48:28:515 | HL | INFO | +0 | CheckPaths - Started20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World.7z20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom by name in subfolder: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World\Super Mario World.7z20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom by extension: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World\*.7z20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World.zip20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom by name in subfolder: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World\Super Mario World.zip20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom by extension: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World\*.zip20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World.sfc20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom by name in subfolder: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World\Super Mario World.sfc20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom by extension: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World\*.sfc20:48:28:515 | HL | DEBUG1 | +0 | CheckPaths - Looking for rom: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World.smc20:48:28:515 | HL | INFO | +0 | CheckPaths - Found rom: D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms\Super Mario World.smc20:48:28:515 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.exe exists20:48:28:515 | HL | DEBUG1 | +0 | CheckFile - Attributes: File Size: 535552 bytes Created: 9/6/2013 - 7:03:10 Modified: 7/20/2008 - 3:01:1820:48:28:515 | HL | INFO | +0 | CheckPaths - Ended20:48:28:515 | HL | INFO | +0 | BuildScript - User Variables: ;---------------------------------------------------------------------------- ; INJECTED VARIABLES ;---------------------------------------------------------------------------- #NoTrayIcon #InstallKeybdHook DetectHiddenWindows, ON SetTitleMatchMode, 2 SendMode, Event 0 = 2 frontendPID = 2108 frontendPath = D:\Hyperspin frontendExe = HyperSpin.exe frontendExt = exe frontendName = HyperSpin frontendDrive = D: exitEmulatorKey = ~Esc|F exitEmulatorKeyWait = 0 forceHoldKey = ~Esc restoreFE = false exitScriptKey = ~q & ~s emuFullPath = D:\Hyperspin\Emulators\Super Nintendo Entertainment System\zsnesw.exe emuPath = D:\Hyperspin\Emulators\Super Nintendo Entertainment System emuName = ZSNESw emuExt = exe romPath = D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms romPathFromIni = D:\Hyperspin\Emulators\Super Nintendo Entertainment System\Roms romExtension = .smc romExtensionOrig = .smc romExtensions = 7z|zip|sfc|smc executable = zsnesw.exe systemName = Super Nintendo Entertainment System dbName = Super Mario World romName = romMapPath = romMappingEnabled = false romMappingLaunchMenuEnabled = false romMappingFirstMatchingExt = false 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 logFile = D:\Hyperspin\HyperLaunch\HyperLaunch.log logLabel := [" INFO"," WARNING"," ERROR"," DEBUG1"," DEBUG2"] logLevel = 4 logIncludeModule = true logIncludeFileProperties = true logShowCommandWindow = false logCommandWindow = false 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 = dtUseSCSI = true dtAddDrive = true emuIdleShutdown = 0 hideEmu = false hideFE = false fadeIn = false fadeInDuration = 500 fadeInTransitionAnimation = DefaultAnimateFadeIn fadeInDelay = 0 fadeInExitDelay = 0 fadeOutExitDelay = 0 fadeOut = false fadeOutDuration = 500 fadeOutTransitionAnimation = DefaultAnimateFadeOut fadeOutDelay = 0 fadeLyrInterpolation = 7 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 = D:\Hyperspin\HyperLaunch\Media\Fade HLDataPath = D:\Hyperspin\HyperLaunch\Data HLMediaPath = D:\Hyperspin\HyperLaunch\Media HLErrSoundPath = D:\Hyperspin\HyperLaunch\Media\Sounds\Error modulesPath = D:\Hyperspin\HyperLaunch\Modules moduleFullName = D:\Hyperspin\HyperLaunch\Modules\ZSNESw\ZSNESw.ahk moduleName = ZSNESw modulePath = D:\Hyperspin\HyperLaunch\Modules\ZSNESw moduleExtension = ahk moduleExtensionsPath = D:\Hyperspin\HyperLaunch\Module Extensions libPath = D:\Hyperspin\HyperLaunch\Lib 7zEnabled = false 7zPath = D:\Hyperspin\HyperLaunch\Module Extensions\7z.exe 7zDllPath = D:\Hyperspin\HyperLaunch\Module Extensions\7z.dll 7zExtractPath = C:\Dokumente und Einstellungen\Arcade Machine\Lokale Einstellungen\Temp\HS 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 = 1 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 = D:\Hyperspin\HyperLaunch\Module Extensions\HiToText.exe hpSaveStateKeyCodes = hpLoadStateKeyCodes = keymapperEnabled = false keymapper = ahk xpadderFullPath = D:\Hyperspin\Utilities\Xpadder\xpadder.exe joyToKeyFullPath = D:\Hyperspin\Utilities\JoyToKey\JoyToKey.exe keymapperProfilePath = D:\Hyperspin\HyperLaunch\Profiles\ahk keymapperFrontEndProfileName = HyperSpin keymapperHyperLaunchProfileEnabled = false JoyIDsEnabled = false JoyIDsPreferredControllersSystem = use_global JoyIDsPreferredControllersGlobal = use_global CustomJoyNamesEnabled = false CustomJoyNames = FEProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\HyperSpin defaultProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\_Default systemProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System xPadderSystemProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\_Default emuProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\ZSNESw romProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\Super Nintendo Entertainment System\Super Mario World blankProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\blank HyperLaunchProfile = D:\Hyperspin\HyperLaunch\Profiles\ahk\HyperLaunch bezelEnabled = false statisticsEnabled = true20:48:28:515 | HL | INFO | +0 | BuildScript - Loaded XHotkey Init.ahk scripts20:48:28:515 | HL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts20:48:28:515 | HL | INFO | +0 | BuildScript - Loaded User Functions Init.ahk script20:48:28:515 | HL | DEBUG1 | +0 | BuildScript - Module starts on line: 28520:48:28:515 | HL | INFO | +0 | BuildScript - Module: MEmu = ZSNESw MEmuV = v1.51 MURL = http://www.zsnes.com/ MAuthor = djvj MVersion = 2.0 MCRC = 90F089AF iCRC = 3B0E8F48 MID = 635038268938832977 MSystem = "Super Nintendo Entertainment System" ;---------------------------------------------------------------------------- ; Notes: ; Make sure you set quickexit to your Exit_Emulator_Key key while in ZSNES. ; If you want to use Esc as your quick exit key, open zsnesw.cfg with a text editor and find the lines below. ; Set KeyQuickExit to 1, as shown below. You can't set the quick exit key to escape while in the emulator, because that's the exit key to configuring keys. ; ; Quit ZSNES / Load Menu / Reset Game / Panic Key ; KeyQuickExit=1 ; KeyQuickLoad=0 ; KeyQuickRst=0 ; KeyResetAll=42 ;---------------------------------------------------------------------------- StartModule() FadeInStart() settingsFile := modulePath . "\" . moduleName . ".ini" Fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1) Stretch := IniReadCheck(settingsFile, "Settings", "Stretch","true",,1) resX := IniReadCheck(settingsFile, "Settings", "resX","1280",,1) resY := IniReadCheck(settingsFile, "Settings", "resY","1024",,1) DisplayRomInfo := IniReadCheck(settingsFile, "Settings", "DisplayRomInfo","false",,1) ; Display rom info on load along bottom of screen SetKeyDelay, 50 zsnesFile := CheckFile(emuPath . "\zsnesw.cfg") FileRead, zsnesCfg, %zsnesFile% xLine := TF_Find(zsnesCfg,"","","CustomResX=") ; find location in zsnes cfg where it stores its custom X res yLine := TF_Find(zsnesCfg,"","","CustomResY=") ; find location in zsnes cfg where it stores its custom Y res modeLine := TF_Find(zsnesCfg,"","","cvidmode=") ; find location in zsnes cfg where it stores its custom vid mode zsnesCfg := TF_ReplaceLine(zsnesCfg,xLine,xLine,"CustomResX=" . resX) ; update custom X res in zsnes cfg file zsnesCfg := TF_ReplaceLine(zsnesCfg,yLine,yLine,"CustomResY=" . resY) ; update custom Yres in zsnes cfg file If ( Fullscreen = "true" && Stretch = "true" ) ; sets fullscreen, stretch, and filter support vidMode = 39 Else If ( Fullscreen = "true" && Stretch != "true" ) ; sets fullscreen, correct aspect ratio, and filter support vidMode = 42 Else ; sets windowed mode with filter support vidMode = 38 zsnesCfg := TF_ReplaceLine(zsnesCfg,modeLine,modeLine,"cvidmode=" . vidMode) ; update custom vid mode in zsnes cfg file ; Setting DisplayRomInfo setting in cfg if it doesn't match what user wants above currentDRI := (InStr(zsnesCfg, "DisplayInfo=1") ? ("true") : ("false")) If ( DisplayRomInfo != "true" And currentDRI = "true" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=1, DisplayInfo=0 } Else If ( DisplayRomInfo = "true" And currentDRI = "false" ) { StringReplace, zsnesCfg, zsnesCfg, DisplayInfo=0, DisplayInfo=1 } SaveFile(zsnesCfg, zsnesFile) ; save changes to zsnesw.cfg 7z(romPath, romName, romExtension, 7zExtractPath) Run(executable . " """ . romPath . "\" . romName . romExtension . """", emuPath) WinWait("ZSNES ahk_class ZSNES") WinWaitActive("ZSNES ahk_class ZSNES") FadeInExit() Process("WaitClose",executable) 7zCleanUp() FadeOutExit() ExitModule() SaveFile(text,file) { FileDelete, %file% FileAppend, %text%, %file% } CloseProcess: FadeOutStart() SetWinDelay, 50 Send, {Alt Down}{F4 Down}{F4 Up}{Alt Up} ; No other closing method seems to work Return TF_Find(Text, StartLine = 1, EndLine = 0, SearchText = "", ReturnFirst = 1, ReturnText = 0) { ; complete rewrite for 3.1 TF_GetData(OW, Text, FileName) If (RegExMatch(Text, SearchText) < 1) Return "0" ; SearchText not in file or error, do nothing TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n { If A_Index in %TF_MatchList% { If (RegExMatch(A_LoopField, SearchText) > 0) { If (ReturnText = 0) Lines .= A_Index "," ; line number Else If (ReturnText = 1) Lines .= A_LoopField "`n" ; text of line Else If (ReturnText = 2) Lines .= A_Index ": " A_LoopField "`n" ; add line number If (ReturnFirst = 1) ; only return first occurence Break } } } If (Lines <> "") StringTrimRight, Lines, Lines, 1 ; trim trailing , or `n Else Lines = 0 ; make sure we return 0 Return Lines } TF_ReplaceLine(Text, StartLine = 1, Endline = 0, ReplaceText = "") { TF_GetData(OW, Text, FileName) TF_MatchList:=_MakeMatchList(Text, StartLine, EndLine) ; create MatchList Loop, Parse, Text, `n, `r { If A_Index in %TF_MatchList% Output .= ReplaceText "`n" Else Output .= A_LoopField "`n" } Return TF_ReturnOutPut(OW, OutPut, FileName) } TF_GetData(byref OW, byref Text, byref FileName) { OW=0 ; default setting: asume it is a file and create file_copy IfNotInString, Text, `n ; it can be a file as the Text doesn't contact a newline character { If (SubStr(Text,1,1)="!") ; first we check for "overwrite" { Text:=SubStr(Text,2) OW=1 ; overwrite file (if it is a file) } IfNotExist, %Text% ; now we can check if the file exists, it doesn't so it is a var { If (OW=1) ; the variable started with a ! so we need to put it back because it is variable/text not a file Text:= "!" . Text OW=2 ; no file, so it is a var or Text passed on directly to TF } } Else ; there is a newline character in Text so it has to be a variable { OW=2 } If (OW = 0) or (OW = 1) ; it is a file, so we have to read into var Text { Text := (SubStr(Text,1,1)="!") ? (SubStr(Text,2)) : Text FileName=%Text% ; Store FileName FileRead, Text, %Text% ; Read file and return as var Text If (ErrorLevel > 0) { MsgBox, 48, TF Lib Error, % "Can not read " FileName ExitApp } } Return } TF_Count(String, Char) { StringReplace, String, String, %Char%,, UseErrorLevel Return ErrorLevel } TF_ReturnOutPut(OW, Text, FileName, TrimTrailing = 1, CreateNewFile = 0) { ; HugoV If (OW = 0) ; input was file, file_copy will be created, if it already exist file_copy will be overwritten { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 1) ; CreateNewFile used for TF_SplitFileBy* and others { OW = 1 Goto CreateNewFile } Else Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "_copy." Ext, % Dir "\backup\" Name "_copy.bak", 1 FileDelete, % Dir "\" Name "_copy." Ext FileAppend, %Text%, % Dir "\" Name "_copy." Ext Return Errorlevel ? False : True } CreateNewFile: If (OW = 1) ; input was file, will be overwritten by output { IfNotExist, % FileName ; check if file Exist, if not return otherwise it would create an empty file. Thanks for the idea Murp|e { If (CreateNewFile = 0) ; CreateNewFile used for TF_SplitFileBy* and others Return } If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n SplitPath, FileName,, Dir, Ext, Name If (Dir = "") ; if Dir is empty Text & script are in same directory Dir := A_ScriptDir IfExist, % Dir "\backup" ; if there is a backup dir, copy original file there FileCopy, % Dir "\" Name "." Ext, % Dir "\backup\" Name ".bak", 1 FileDelete, % Dir "\" Name "." Ext FileAppend, %Text%, % Dir "\" Name "." Ext Return Errorlevel ? False : True } If (OW = 2) ; input was var, return variable { If (TrimTrailing = 1) StringTrimRight, Text, Text, 1 ; remove trailing `n Return Text } } _MakeMatchList(Text, Start = 1, End = 0) { ErrorList= (join| Error 01: Invalid StartLine parameter (non numerical character) Error 02: Invalid EndLine parameter (non numerical character) Error 03: Invalid StartLine parameter (only one + allowed) ) StringSplit, ErrorMessage, ErrorList, | Error = 0 TF_MatchList= ; just to be sure If (Start = 0 or Start = "") Start = 1 ; some basic error checking ; error: only digits - and + allowed If (RegExReplace(Start, "[ 0-9+\-\,]", "") <> "") Error = 1 If (RegExReplace(End, "[0-9 ]", "") <> "") Error = 2 ; error: only one + allowed If (TF_Count(Start,"+") > 1) Error = 3 If (Error > 0 ) { MsgBox, 48, TF Lib Error, % ErrorMessage%Error% ExitApp } ; Option #1 ; StartLine has + character indicating startline + incremental processing. ; EndLine will be used ; Make TF_MatchList IfInString, Start, `+ { If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `+ LoopSection:=End + 1 - SectionLines1 Counter=0 TF_MatchList .= SectionLines1 "," Loop, %LoopSection% { If (A_Index >= End) ; Break If (Counter = (SectionLines2-1)) ; counter is smaller than the incremental value so skip { TF_MatchList .= (SectionLines1 + A_Index) "," Counter=0 } Else Counter++ } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #2 ; StartLine has - character indicating from-to, COULD be multiple sections. ; EndLine will be ignored ; Make TF_MatchList IfInString, Start, `- { StringSplit, Section, Start, `, ; we need to create a new "TF_MatchList" so we split by , Loop, %Section0% { StringSplit, SectionLines, Section%A_Index%, `- LoopSection:=SectionLines2 + 1 - SectionLines1 Loop, %LoopSection% { TF_MatchList .= (SectionLines1 - 1 + A_Index) "," } } StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList } ; Option #3 ; StartLine has comma indicating multiple lines. ; EndLine will be ignored IfInString, Start, `, { TF_MatchList:=Start Return TF_MatchList } ; Option #4 ; parameters passed on as StartLine, EndLine. ; Make TF_MatchList from StartLine to EndLine If (End = 0 or End = "") ; determine number of lines End:= TF_Count(Text, "`n") + 1 LoopTimes:=End-Start Loop, %LoopTimes% { TF_MatchList .= (Start - 1 + A_Index) "," } TF_MatchList .= End "," StringTrimRight, TF_MatchList, TF_MatchList, 1 ; remove trailing , Return TF_MatchList }20:48:28:515 | HL | INFO | +0 | BuildScript - Loaded Statistics.ahk script20:48:28:515 | HL | INFO | +0 | BuildScript - Loaded User Functions.ahk script20:48:28:515 | HL | INFO | +0 | BuildScript - Finished injecting functions into module20:48:28:515 | HL | INFO | +0 | Main - Module is built20:48:28:515 | HL | INFO | +0 | CheckFile - Checking if D:\Hyperspin\HyperLaunch\AutoHotkey.dll exists20:48:28:531 | HL | DEBUG1 | +15 | 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: 9/6/2013 - 8:06:33 Modified: 9/6/2013 - 8:06:3420:48:28:531 | HL | INFO | +0 | Main - Running module
joepunx Posted August 6, 2014 Posted August 6, 2014 I got the same problem and many many more eg: videos not showing up for random systems, settings saving not taking hold at all. always forums lead to No answer or people making excuses "you dont need your windows taskbar anyways" "xpadder is a beautiful program" honestly i don't care anymore all i need to know is. dose anyone ever play a game on hyperspin ? or do people just dedicate there lives changing settings that may or may not take hold ? im sick of it its like going to gun range to see how well your shooting with blanks ! and seriously that's the last straw! why complain about a free program ? 2 years of precious life is not free far from it ive payed in literal blood, sweat, tears time and space. far more valuable than any currency.. well goodbye now !
Agrajag Posted August 7, 2014 Posted August 7, 2014 ??? Only 9 posts since joining in Jan 2013 and you are complaining about not getting any answers? Perhaps you should start again from first principles. Check the link in my sig and read Ron's guide to posting, then you should get some help if you still need it. HyperSpin behaving oddly? Read about known bugs here: http://www.hyperspin-fe.com/topic/4590-known-bugs-and-handy-hints-for-hyperspin/ The installer for HyperSpin now includes HyperLaunch 2. Go here for support: http://www.hyperspin-fe.com/forum/122-hyperlaunch-2/ HyperLaunch3 is now called RocketLauncher. Go here for support: http://www.rlauncher.com/forum/content.php Read this for ftp login info: http://www.hyperspin-fe.com/topic/2320-ftp-access-must-read/ Platinum members get 25% off an Emumovies subscription: http://www.hyperspin-fe.com/topic/1211-emumovies-code/
ghutch92 Posted August 7, 2014 Posted August 7, 2014 I personally have a policy of only answering questions that have proper capitalization and mostly correct spelling. I have a hard time reading badly written posts due to some personal difficulties so I don't answer them. Also I think if you can't take the time to correctly write a question, that you probably wouldn't read instructions because your time is obviously too valuable. How to Install HyperSpin and more RocketLauncher HyperSpin Startup Script
Recommended Posts
Archived
This topic is now archived and is closed to further replies.