Tempest Posted September 5, 2009 Posted September 5, 2009 Hi Guys. First post here, if I remember correctly. I have had a couple of requests to Add support for Marquee Magician to HyperSpin. For those of you who don't know, Marquee Magician is a program that displays Game \ Emulator Specific graphics on a secondary monitor. You can read about it here: http://www.gameex.info/forums/index.php?showtopic=6911 This is the code that I came up with for HyperLaunch: /** * HyperLaunch Version 1.04.5 * Autohotkey script by BadBoyBill [email protected] * CursorHide by Lazlo * Additional add-ons by brian_hoffman * * If you are reading this and do not have autohotkey you can get it * @ http://www.autohotkey.com/download/ * If you would like to modify this script and share it thats OK, but * see if your modification is something that we would like to add * to the official version. * * Refer to the autohotkey documentation for the keyoboard keylist * * If this script does not support your favorite emulator * then please request support @ http://www.hyperspin-fe.com/forum * * :Supported emulators: * :System: :Emulators: *Atari 5200.............................messpp.exe *Atari Lynx.............................handy.exe *Daphne.................................daphne.exe *Future Pinball.........................Future Pinball.exe *Gameboy Advance........................visualboyadvance.exe *Gameboy................................visualboyadvance.exe *Gameboy Color..........................visualboyadvance.exe *MAME...................................vmame.exe *Neo Geo................................mame.exe *Neo Geo Pocket Color...................NeoPop-Win32.exe *Nintendo 64............................project64.exe *Nintendo Entertainment System..........nestopia.exe *Panasonic 3DO..........................FreeDO.exe *Sega 32X...............................fusion.exe *Sega CD................................fusion.exe *Sega Dreamcast.........................nullDC_100b1_6.exe *Sega Game Gear.........................fusion.exe *Sega Genesis...........................fusion.exe *Sega Master System.....................fusion.exe *Sony Playstation.......................psxfin.exe *Super Nintendo Entertainment System....zsnesw.exe *TurboGrafx 16..........................mednafen.exe *Zinc...................................zinc.exe *JukeBox................................silverjuke.exe *JukeBox................................SKJukebox.exe * * */ #SingleInstance force ;Prevent multiple instances #InstallKeybdHook SetTitleMatchMode 2 ;------------------------------------------------------------------------------; ; MAIN SETTINGS ; ;------------------------------------------------------------------------------; ;[uNIVERSAL HOTKEYS] ;SEPERATE MULTIPLE KEYS WITH &(ampersand) up to 2 keys. exitScriptKey = q & s ;Secret hotkey(s) to exit script if needed ;Not to be confused with exit emulator keys exitEmulatorKey = Esc ;This key/key combo will close any emulators ;that do not have normal closing methods. toggleCursorKey = t ;hotkey(s) to show or hide cursor if needed ;when hideCursor below is true ;[MOUSE CURSOR] hideCursor = false ;Automatically hide cursor during script ;WARNING: Make sure ALL your emu's are running fine ;before setting this to true as a precaution.* ;[WINDOWS] hideDesktop = false ;Attempts to hide desktop with black screen, might help ;on some emu's for hiding launching windows. hideTaskbar = false ;Hide the windows taskbar when running emu's. ;WARNING: Make sure ALL your emu's are running fine ; before setting this to true as a precaution.* daemontools = "C:\Program Files\DAEMON Tools Lite\daemon.exe" ;Hide the windows taskbar when running emu's. ;WARNING: Make sure ALL your emu's are running fine ; before setting this to true as a precaution.* VolumeControlUP = ~g ;Enables the ability to control the volume in programs that are launched by hyperlaunch* VolumeControlDown = ~b ;Enables the ability to control the volume in programs that are launched by hyperlaunch ;NOTE: the "~" denotes that the key retains its functionality* betabright = "C:\BetaBrite\betacom.exe" ; Change this to your BetaBrite console application location. betabrightparams = "com3 {AUTO}" enablebetabright = true ; Should Betabright support be active? true or false here MarqueeMagician := "C:\Users\Matt\Desktop\My Marquee Magician" ; Change this to your Marquee Magician application location. EnableMarqueeMagician = true ; Should Marquee Magician support be active? true or false here /* *:If for some weird reason the script hangs follow these steps to get back to normal. 1. If an emulator hangs up or cant load your game then first try to exit the emu by pressing your Emulator exit hotkey above. 2. If your emu exited but your mouse cursor is gone use your cursor toggle hotkey. 3. Next try to exit the script by pressing your Exit Script Hotkey above. This will also bring back your cursor and taskbar is they are set to true. */ ;******************************************************************************* ;* EDIT BELOW THIS POINT AT YOUR OWN RISK * ;******************************************************************************* ;------------------------------------------------------------------------------; ; GET PARAMATERS AND SET HOTKEYS ; ;------------------------------------------------------------------------------; ;CHECKING FOR 2 PARAMS, IF NOT THEN EXIT if 0 < 2 { MsgBox Usage: HyperLaunch.ahk/exe "System Name" "Rom Name" ExitApp } systemName = %1% romName = %2% Hotkey, %exitScriptKey%, ExitScript if (hideCursor = "true") { Hotkey, %toggleCursorKey%, ToggleCursor SystemCursor("Off") } Hotkey, %VolumeControlUP%, VolumeUp Hotkey, %VolumeControlDown%, VolumeDown WinClose, cmd.exe ;------------------------------------------------------------------------------; ; GET AND CHECK PATHS ; ;------------------------------------------------------------------------------; GoSub, CheckINI IniRead, iniEmuPath, %A_ScriptDir%\Settings\%systemName%.ini, exe info, path emuPath := GetFullName(iniEmuPath) IniRead, iniRomPath, %A_ScriptDir%\Settings\%systemName%.ini, exe info, rompath romPath := GetFullName(iniRomPath) IniRead, executable, %A_ScriptDir%\Settings\%systemName%.ini, exe info, exe IniRead, romExtensions, %A_ScriptDir%\Settings\%systemName%.ini, exe info, romextension romExtension = GoSub, CheckPaths ;------------------------------------------------------------------------------; ; RUN SYSTEM ; ;------------------------------------------------------------------------------; ;****** Added by Lashek - Force betabrite to update with hsbetabright.exe ****** ;****** The loader will parse xml to get the "Description" and display it ****** ;For support, see: http://www.hyperspin-fe.com/forum/showthre...post&t=4078 if (enablebetabright) { RunWait, hsbetabrite.exe "%systemName%" "%romName%" %betabright% %betabrightparams%,, Hide UseErrorLevel } ;*************************************** Marquee Magician ****************************************** ;****************************** Added by Matt Mclemore AKA Tempest ********************************* ;*********** Marquee Magician will display game specific graphics on a secondary monitor *********** ;************ For support, see: http://www.gameex.info/forums/index.php?showtopic=6911 ************* if (EnableMarqueeMagician) { PrevDir := A_WorkingDir SetWorkingDir, %MarqueeMagician% IfNotExist, MM.ini { MsgBox, You need to run the setup program first. Goto ExitScript } Run, i_view32.exe /killmesoftly IniRead, TimesPlayed, MM.ini, %systemName%, %romName%, 0 TimesPlayed++ IniWrite, %TimesPlayed%, MM.ini, %systemName%, %romName% IniRead, Template, MM.ini, %systemName%, Template If Template <> Error { IniRead, Type, MM.ini, General, Type StringSplit, Filetype, Type ,| SetFormat, float, 0.0 EnvGet, NumCpu, NUMBER_OF_PROCESSORS VarSetCapacity(Idletime,8,0) WinWaitClose, IrfanView ;*** Wait Or kill the following *** Statistics = 0 TemplateFolder = Templates\%Template% Loop, %TemplateFolder%\*, 2 { IniRead, FileFolder, MM.ini, %systemName%, FileFolder%A_Index% IniRead, Image, MM.ini, %systemName%, Image%A_Index% If FileFolder = 4 { Statistics = 1 IniRead, X, %A_LoopFileLongPath%\i_view32.ini, WinPosition, XKoord IniRead, Y, %A_LoopFileLongPath%\i_view32.ini, WinPosition, YKoord IniRead, W, %A_LoopFileLongPath%\i_view32.ini, WinPosition, Width IniRead, H, %A_LoopFileLongPath%\i_view32.ini, WinPosition, Height Loop, 7 IniRead, Stats%A_Index%, MM.ini, %systemName%, Stats%A_Index% Gui, 6:default Gui, -Caption Gui, Font, s14 If Stats1 = 1 Gui, Add, Text, w300 h20, %systemName% If Stats2 = 1 Gui, Add, Text, w300 h20, %romName% If Stats3 = 1 Gui, Add, Text, w250 h20, TimesPlayed: %TimesPlayed% ; If Stats4 = 1 ; FPS not available in HS ; Continue If Stats5 = 1 Gui, Add, Text, w250 h20 vPlayTimerText, Play Timer: %PlayTimer% If Stats6 = 1 { Gui, Add, Text, vCpuText, CPU Usage: 00`% Gui, Add, Progress, w250 h20 50 vCpuProgress } If Stats7 = 1 { Gui, Add, Text, vMemText, Memory Usage: 00`% Gui, Add, Progress, w250 h20 vMemProgress } Gui, Show, x%X% y%Y% h%H% w%W% Continue } IF FileFolder = 2 { IniRead, Backup, MM.ini, %systemName%, Backup%A_Index% Found = 0 Image .= "\" . romName Loop, %FileType0% { Temp := Image . FileType%A_Index% IfExist, %Temp% { Image := Temp Found = 1 Break } } If Found = 0 Image := BackUp } Run, i_view32.exe %Image% /ini=%A_LoopFileLongPath% /title=Window%A_Index% /hide=15 Count := A_Index } WinWaitActive, IrfanView - Window%Count%,, 3 StartTime := A_TickCount If Statistics = 1 SetTimer, Update, 250 } SetWorkingDir, %PrevDir% } ;**********************************ATARI 5200*********************************** if (systemName = "Atari 5200" && (executable = "messpp.exe" || executable = "mess.exe")) { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% a5200 -cart "%romPath%%romName%%romExtension%" -skip_gameinfo -nowindow -nonewui, %emuPath%, Hide UseErrorLevel } ;**********************************ATARI Lynx*********************************** else if (systemName = "Atari Lynx" && executable = "handy.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% "%romPath%%romName%%romExtension%", %emuPath%, UseErrorLevel } ;************************************DAPHNE************************************* else if (systemName = "Daphne" && executable = "daphne.exe"){ hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess daphneParams = vldp -fullscreen -x 640 -y 480 -nohwaccel -framefile frameFilePath = %romPath%%romName%%romExtension% RunWait, %executable% %romName% %daphneParams% %frameFilePath%, %emuPath%, UseErrorLevel } ;********************************GAMEBOY ADVANCE******************************** else if (systemName = "Gameboy Advance" && executable = "visualboyadvance.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, "%emuPath%%executable%" "%romPath%%romName%%romExtension%", UseErrorLevel } ;********************************GAMEBOY********** ********************** else if (systemName = "Gameboy" && executable = "visualboyadvance.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, "%emuPath%%executable%" "%romPath%%romName%%romExtension%", UseErrorLevel } ;********************************GAMEBOY COLOR******************************** else if (systemName = "Gameboy Color" && executable = "visualboyadvance.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, "%emuPath%%executable%" "%romPath%%romName%%romExtension%", UseErrorLevel } ;********************************Future Pinball******************************** else if (systemName = "Future Pinball" && executable = "Future Pinball.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Runwait, "%emuPath%%executable%" /open "%romPath%%romName%%romExtension%" /play /exit %emuPath%, Hide UseErrorLevel } ;*************************************MAME******** ****************************** else if (systemName = "MAME" && executable = "vmame.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Runwait, %executable% %romName%, %EmuPath%, Hide UseErrorLevel Process, waitClose, %executable% exitapp } ;***********************************NEO GEO************************************* else if (systemName = "Neo Geo" && executable = "mame.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% "%romName%", %emuPath%, Hide UseErrorLevel } ;*****************************NEO GEO POCKET COLOR****************************** else if (systemName = "Neo Geo Pocket Color" && executable = "NeoPop-Win32.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% "%romPath%%romName%%romExtension%", %emuPath%, UseErrorLevel } ;***********************************NINTENDO 64********************************* else if (systemName = "Nintendo 64" && executable = "Project64.exe") { hideDesktop() Sleep, 2000 Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% %romPath%%romName%%romExtension%, %emuPath%, Hide UseErrorLevel } ;****************************NINTENDO ENTERTAINMENT SYSTEM********************** else if (systemName = "Nintendo Entertainment System" && executable = "Nestopia.exe") { Gui, Color, 000000 Gui -Caption +ToolWindow +AlwaysOnTop Gui, Show, W%A_ScreenWidth% H%A_ScreenHeight%, BlackGui Hotkey, %exitEmulatorKey%, CloseProcess Run, %executable% "%romPath%%romName%%romExtension%", %emuPath%, UseErrorLevel Sleep, 2000 Gui, destroy Process, waitClose, %executable% exitapp } ;***********************************Panasonic 3DO******************************* else if (systemName = "Panasonic 3DO" && executable = "FreeDO.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, "%EmuPath%%Executable%",,Hide UseErrorLevel DetectHiddenWindows, on WinShow, FreeDO Beta 1.6.2 WinWait, FreeDO Beta 1.6.2 ControlSend, , {F4}, FreeDO Beta 1.6.2 WinWaitActive, FreeDO Beta 1.6.2 SendInput, {ALTDOWN}f{ALTUP}{ENTER} IfWinNotActive, Open, Common Places Host W WinActivate, Open, Common Places Host W WinWaitActive, Open, Common Places Host W clipboard= clipboard=%romPath%%romName%%romExtension% ClipWait Sleep,100 Send,^v Sleep,100 send, {ENTER} WinWait, FreeDO Beta 1.6.2 IfWinNotActive, FreeDO Beta 1.6.2, , WinActivate, FreeDO Beta 1.6.2, WinWaitActive, FreeDO Beta 1.6.2, SendInput, {ALTDOWN}c{ALTUP}{ENTER}{ENTER} Process, WaitClose, FreeDO.exe } ;***********************************SEGA 32X************************************ else if (systemName = "Sega 32X" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -32X -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, fusion.exe } ;***********************************SEGA CD************************************* else if (systemName = "Sega CD" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -scd -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, %Executable% exitapp } ;*********************************SEGA DREAMCAST******************************** else if (systemName = "Sega Dreamcast" && executable = "nullDC_100b1_6.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% -config ImageReader:DefaultImage="%romPath%%romName%%romExtension%", %EmuPath%,Hide UseErrorLevel WinWait, nullDC Sleep,1000 WinShow, ahk_class ndc_main_window Process, WaitClose, nullDC_100b1_6.exe } ;*********************************SEGA Game Gear******************************** else if (systemName = "Sega Game Gear" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -sms -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, fusion.exe } ;*********************************SEGA Genesis********************************** else if (systemName = "Sega Genesis" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -gen -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, fusion.exe } ;*******************************SEGA Master System****************************** else if (systemName = "Sega Master System" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -sms -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, fusion.exe } ;***********************************SEGA MODEL 2********************************* else if (systemName = "Sega Model 2") { if(executable = "emulator_multicpu.exe" || executable = "emulator.exe" ) { ;hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %executable% %romName%, %emuPath%, Hide UseErrorLevel DetectHiddenWindows, on WinWait, Model 2 WinShow Process, WaitClose, %executable% } } ;***********************************SEGA Naomi*********************************** else if (systemName = "SEGA Naomi") { if(executable = "nullDC-Naomi_1.0.3_nommu.exe" || executable = "nullDC-Naomi_1.0.3_mmu.exe" ) SetWorkingDir, %emuPath% Hotkey, %exitEmulatorKey%, CloseProcess Blockinput on ; Keeps users from messing up loader my pressing buttons and moving mouse rom = "%romPath%%romName%%romExtension%" ; (rompath romfile) gives friendly name as ROM SetBatchLines -1 Gui +AlwaysOnTop -Caption +ToolWindow ; No title, No taskbar icon Gui Color, 0 ; Color Black Gui Show, x0 y0 h%A_ScreenHeight% w%A_ScreenWidth%, HSHIDE ;WinSet Transparent, 200, A ; Can be semi-transparent MouseGetPos X, Y ; Remember pos to return MouseMove %A_ScreenWidth%,%A_ScreenHeight% ; Move pointer off screen IniWrite, 1, %A_WorkingDir%\nulldc.cfg, nullDC, Emulator.AutoStart IniWrite, 1, %A_WorkingDir%\nulldc.cfg, nullDC, Emulator.NoConsole IniWrite, 1, %A_WorkingDir%\nulldc.cfg, drkpvr, Fullscreen.Enabled IniWrite, 640, %A_WorkingDir%\nulldc.cfg, drkpvr, Fullscreen.Res_X IniWrite, 480, %A_WorkingDir%\nulldc.cfg, drkpvr, Fullscreen.Res_Y Run, %executable% ; launches emulator WinWait, Open, Open as &read-only IfWinNotActive, Open, Open as &read-only, WinActivate, Open, Open as &read-only WinWaitActive, Open, Open as &read-only ; waits for load dialog Sleep, 100 SendInput, %rom% ; sends rompath romfile from exe syntax Send, {enter} ; loads roms by pressing enter Sleep, 7000 ; Gives time for loading to finish before unhiding desktop Gui Destroy ; Remove blinds from desktop Blockinput off ; Allows user to send inputs so games can be played Process, WaitClose, %executable% exitapp } ;**********************************SEGA SATURN**************** ;**********************************SEGA SATURN*********************************** else if (systemName = "Sega Saturn" && executable = "SSF.exe") { RunWait, %DAEMONTOOLS% -mount 0`,"%romPath%%romName%%romExtension%" hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %executable% , %emuPath%, UseErrorLevel } ;********************************Sony Playstation******************************* else if (systemName = "Sony Playstation" && executable = "psxfin.exe") { psxParams = -f Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% %psxParams% "%romPath%%romName%%romExtension%", %EmuPath%, Hide UseErrorLevel DetectHiddenWindows, on WinWait, ahk_class pSX hideDesktop() WinWaitClose, ahk_class pSX } ;***********************Super Nintendo Entertainment System********************* else if (systemName = "Super Nintendo Entertainment System" && executable = "zsnesw.exe") { hideDesktop() SetKeyDelay, 250 Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %Executable% "%romPath%%romName%%romExtension%", %EmuPath% } ;**********************************TurboGrafx 16******************************** else if (systemName = "TurboGrafx 16" && executable = "mednafen.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, "%EmuPath%%Executable%" "%romPath%%romName%%romExtension%" -fs 1,, UseErrorLevel } ;***********************************JukeBox************************************* else if (systemName = "Jukebox" && executable = "Silverjuke.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseJuke RunWait, %emuPath%%executable% --kiosk, Hide UseErrorLevel } else if (systemName = "Jukebox" && executable = "SKJukebox.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %emuPath%%executable%, Hide UseErrorLevel } ;***************************************Zinc************************************ else if (systemName = "Zinc" && executable = "zinc.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %Executable% %romName%, %EmuPath%, Hide UseErrorLevel } else { MsgBox,48,Error,%systemName% is an invalid System Name or %executable% isnt supported yet,6 } ;------------------------------------------------------------------------------; ; WHEN EMULATOR FINISHES OR IF LAUNCH EXE FAILS ; ;------------------------------------------------------------------------------; ;************PROBABLY DO NOT NEED TO EDIT THIS AREA************* if (ErrorLevel = "ERROR") { MsgBox,48,Error,Failed to run executable check your paths,6 } Goto ExitScript ; Exits script and returns to frontend ;------------------------------------------------------------------------------; ; KILL COMMANDS ; ;------------------------------------------------------------------------------; ;************PROBABLY DO NOT NEED TO EDIT THIS AREA************* /* Most emu's can be closed with CloseProcess when using a 2 key combo, if not set a custom close. */ CloseJuke: RunWait, %emuPath%%executable% --execute="program.shutdown(30);", Hide UseErrorLevel return CloseProcess: if (enablebetabright) { RunWait, %betabright% com3 {AUTO}HYPERSPIN } if (EnableMarqueeMagician) { Runwait, i_view32.exe /killmesoftly, %MarqueeMagician% Gui, 6:Destroy SetTimer, Update, Off } Hotkey, %exitScriptKey%, Off Process, Close, %Executable% Process, WaitClose, %Executable% Gui, Color, 000000 Gui -Caption +ToolWindow +AlwaysOnTop Gui, Show, W%A_ScreenWidth% H%A_ScreenHeight%, BlackGui return ;********************************* Update Gui for Marquee Magician ********************************* Update: If Stats5 = 1 { PlayTimer := (A_TickCount - StartTime)/1000 dt = 20000101000000 dt += PlayTimer, seconds FormatTime, PlayTimer, %dt%, H:mm:ss GuiControl, 6:, PlayTimerText, Play Timer: %PlayTimer% } If Stats6 = 1 ; Display Memory Usage { VarSetCapacity( memorystatus, 100 ) DllCall("kernel32.dll\GlobalMemoryStatus", "uint",&memorystatus) mem := *( &memorystatus + 4 ) ; 0..100% GuiControl, 6:, MemProgress, %Mem% GuiControl, 6:, MemText, Memory Usage: %Mem%`% } If Stats7 = 1 ; Display CPU Usage { IdleTime0 := IdleTime, Tick0 := Tick DllCall("GetSystemTimes", UInt64P,IdleTime, Int,0, Int,0) CPU := (100 - .01*(IdleTime0 - IdleTime)/(Tick0 - Tick:=A_TickCount)/NumCpu) GuiControl, 6:, CpuProgress, %CPU% GuiControl, 6:, CpuText, CPU Usage: %CPU%`% } Return ExitScript: Process, Exist, HyperSpin.exe PID := errorLevel if (PID) { WinActivate, ahk_pid %PID% WinWaitActive, ahk_pid %PID% Gui, destroy if (hideCursor) SystemCursor("On") if (hideTaskbar) WinShow ahk_class Shell_TrayWnd ExitApp } OnExit, ExitScript return ;------------------------------------------------------------------------------; ; Volume ; ;------------------------------------------------------------------------------; VolumeUp: Send {Volume_up 1} return VolumeDown: Send {Volume_Down 1} return ;------------------------------------------------------------------------------; ; REST OF SCRIPT ; ;------------------------------------------------------------------------------; ;************PROBABLY DO NOT NEED TO EDIT THIS AREA************* SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others { static AndMask, XorMask, $, h_cursor ,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors , b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors , h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors if (OnOff = "Init" or OnOff = "I" or $ = "") ; init when requested or at first call { $ = h ; active default cursors VarSetCapacity( h_cursor,4444, 1 ) VarSetCapacity( AndMask, 32*4, 0xFF ) VarSetCapacity( XorMask, 32*4, 0 ) system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650 StringSplit c, system_cursors, `, Loop %c0% { h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% ) h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 ) b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0 , "int",32, "int",32, "uint",&AndMask, "uint",&XorMask ) } } if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T")) $ = b ; use blank cursors else $ = h ; use the saved cursors Loop %c0% { h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 ) DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% ) } } ToggleCursor: SystemCursor("Toggle") return IniRead(Filename, Section, Key, Default = "") { FileRead, text, *t %Filename% text = `n%text%`n StringTrimLeft, text, text, InStr(text, "`n[" . Section . "]`n") Loop, 8 { sp := sp . " " StringReplace, text, text, %Key%%sp%=, %Key%= If ErrorLevel Break } start := InStr(text, "`n" . Key . "=") If !start Return, Default start += StrLen(Key) + 2 StringMid, Value, text, start, InStr(text, "`n", false, start) - start Return, Value } ;Get Full Path from Relative Path GetFullName( fn ) { static buf, i if !i i := VarSetCapacity(buf, 512) DllCall("GetFullPathNameA", "str", fn, "uint", 512, "str", buf, "str*", 0) return buf } hideDesktop(){ ;WinHide ahk_class Shell_TrayWnd ;Gui, +toolwindow ;Gui, -Caption ;Gui, Color, black ;Gui, show, +toolwindow Maximize Gui, Color, 000000 Gui -Caption +ToolWindow Gui, Show, W%A_ScreenWidth% H%A_ScreenHeight%, BlackScreen } CheckINI: IfNotExist, %A_ScriptDir%\HyperSpin.exe { MsgBox,48,Error, Must be in same directory as HyperSpin.exe,6 Goto ExitScript } IfNotExist, %A_ScriptDir%\Settings\%systemName%.ini { MsgBox,48,Error,Cannot Find %A_ScriptDir%\Settings\%systemName%.ini,6 Goto ExitScript } return CheckPaths: romFound = StringRight, emuPathBackSlash, EmuPath, 1 StringRight, romPathBackSlash, RomPath, 1 If (emuPathBackSlash != "\" || romPathBackSlash != "\") { MsgBox,48,Error, Make sure your paths contains a backslash on the end ,6 Goto ExitScript } If (executable = "") { MsgBox,48,Error, Missing executable in %systemName%.ini ,6 Goto ExitScript } If (romPath = "") { MsgBox,48,Error, Missing rom path in %systemName%.ini ,6 Goto ExitScript } If (emuPath = "") { MsgBox,48,Error, Missing emulator path in %systemName%.ini ,6 Goto ExitScript } IfNotExist, %EmuPath%%Executable% { MsgBox,48,Error,Cannot Find %EmuPath%%Executable%,6 Goto ExitScript } if(systemName != "zinc") { If (romExtensions = "") { MsgBox,48,Error, Missing rom extension in %systemName%.ini ,6 Goto ExitScript } Loop, parse, romExtensions, `, { inputVar = %A_LoopField% StringLeft, charToCheck, inputVar, 1 If(charToCheck = ".") { MsgBox,48,Error, Make sure your rom extensions do not contain a ".",6 Goto ExitScript } IfExist %RomPath%%RomName%.%A_LoopField% { romExtension = .%A_LoopField% romFound = true break }else{ IfExist %RomPath%%RomName%\%RomName%.%A_LoopField% { RomPath = %RomPath%%RomName%\ MsgBox %RomPath% romExtension = .%A_LoopField% romFound = true break }else{ romFound = false } } } } if (romFound = "false") { if(systemName != "daphne"){ MsgBox,48,Error,Cannot find Rom - %RomPath%%RomName% with any provided extension,6 Goto ExitScript }else{ MsgBox,48,Error,Cannot find Daphne framefile - %RomPath%%RomName% with any provided extension,6 Goto ExitScript } } return GameEx users can use their Existing Templates, without any changes. It has been reported that the Statistics windows do not work properly, although I don't know why they wouldn't. I will be happy to look at it if someone is willing to troubleshoot what is going on, or perhaps, help me setup an emulator in Hyperspin, so I can test it myself. Perhaps Brian_Hoffman, or BadBoyBill may see a conflict in the code for Marquee Magician that I put into HyperLaunch? Lastly, I do have a setup program that I adapted for HyperSpin users, but it looks like I am enabled to upload anything but images?
kingb33 Posted September 5, 2009 Posted September 5, 2009 This is awesome Tempest! This is what I was really waiting for in HyperSpin. For those of you who don't know what Tempest's little app is, you really need to check it out. It's awesome and makes a perfect addition to HS. I've been using it with GameEx since he first came up with it as a beta tester. Hope to see it in incorporated very soon so I can give it a go. You should PM BadBoyBill I'm sure he would help you out. Thanks again Tempest! HYPERPIN TEAM - UW - KINGB MODS: Twilight Zone (Night Mod-VP) TOTAN (Night Mod-VP) Flintstones (Night Mod-VP) TSPP (Night Mod-VP)
kingb33 Posted September 10, 2009 Posted September 10, 2009 Anything on this at all? thx HYPERPIN TEAM - UW - KINGB MODS: Twilight Zone (Night Mod-VP) TOTAN (Night Mod-VP) Flintstones (Night Mod-VP) TSPP (Night Mod-VP)
SophT Posted September 10, 2009 Posted September 10, 2009 I sure hope this gets officially supported soon. It's a welcome addition. Things I Break ----- System Requirements? How do I remove rom warnings? How do I shut-down my computer? How do I shell HyperSpin?
brian_hoffman Posted September 10, 2009 Posted September 10, 2009 I can add this, you can too sohpt! You must defeat Sheng Long to stand a chance.
kingb33 Posted September 10, 2009 Posted September 10, 2009 You da man Brian! I can add this, you can too sohpt! HYPERPIN TEAM - UW - KINGB MODS: Twilight Zone (Night Mod-VP) TOTAN (Night Mod-VP) Flintstones (Night Mod-VP) TSPP (Night Mod-VP)
cyberk30 Posted September 10, 2009 Posted September 10, 2009 Is there a pic of this set up on a cabinet? I just see a pic of a monitor on that website.
BadBoyBill Posted September 10, 2009 Posted September 10, 2009 Welcome Tempest, Im sure Brians super hyped up to help with the script. Thanks for sharing.
Tempest Posted September 11, 2009 Author Posted September 11, 2009 If you are trying to add my code into an official version you need to look at these lines in the code I posted. 93 - 94 167 - 262 631 - 636 645-670 If you copied the code previously, you should do it again, I think I figured out why the statistics windows wasn't working, and edited the code in my first post.
Invincer Posted September 11, 2009 Posted September 11, 2009 Heya Tempest! Glad to see you posting about Marquee Magician. I would have ggiven my observations having requested it from Tempest and having it working (minus the statistics) on my cab for a few weeks testing it out; but I had to stay at Mayo clinic in Jacksonville this last week; no worries though. This is awesome and between the second monitor displaying game images thanks to Tempest, the Betabrite displaying the game title thanks to Lashek, and the pre-game CP display thanks to CPWizard; add it all to my hardware including ambient lighting and a true Frankenstein control panel; it all compliments Hyperspin very very well. I will post a video very shortly so you can all see the Marquee Magician working, it is uploading to youtube now. Then I will test the new script and try it with stats showing. By the way, you can also use Marquee Magician for displaying a movie poster when playing a movie from the movie themes.
SophT Posted September 11, 2009 Posted September 11, 2009 holy crap dude! you've got all the amenities going on that cab... I didn't see the kegerator though... Things I Break ----- System Requirements? How do I remove rom warnings? How do I shut-down my computer? How do I shell HyperSpin?
Invincer Posted September 11, 2009 Posted September 11, 2009 oh, that's UNDERNEATH the control panel right next to the kitchen sink
BadBoyBill Posted September 11, 2009 Posted September 11, 2009 Thats pretty sad that Im actually jealous, I dont even have a cab
kingb33 Posted September 11, 2009 Posted September 11, 2009 no way....that's just awesome I really hope Marquee Magician gets built into HS. It's an awesome app. HYPERPIN TEAM - UW - KINGB MODS: Twilight Zone (Night Mod-VP) TOTAN (Night Mod-VP) Flintstones (Night Mod-VP) TSPP (Night Mod-VP)
Ace9567 Posted September 14, 2009 Posted September 14, 2009 I can add this, you can too sohpt! This sounds great man!~ For neo geo games...I have over 225 Mini Marquees recreated in HIRES!
chillinwater Posted September 22, 2009 Posted September 22, 2009 Im thinking about getting one of these screens. -Will they work with Marquee Magician? -Any benefits with a Touchscreen? -Any recomendations\warnings for usb? -With Multiple 7" monitors? http://www.mimomonitors.com/ Game\Theme\Favorites\Genre - List Creation * FatMatch File Renaming for HyperNewbies. Like Me! https://hyperspin-fe.com/forums/topic/259-setting-up-un-official-systems-with-hyperspin/?do=findComment&comment=31034
ACE Posted September 23, 2009 Posted September 23, 2009 I'm all giggly inside! VERY nice! Mission: High Score! Target: You!
chillinwater Posted October 7, 2009 Posted October 7, 2009 Invincer, you out there? Has anyone else got this script working in Hyperspin ? - [x] second monitor, mimo usb 7" touchscreen - [x] template setup and saved via marquee magician setup - [x] link to gamelist in mm.ini matches "Gamelist=C:\Program Files\GameEx\DATA\gamelist.txt" I keep getting this error "attached thumbnail". I'm looking for Target Label, "settimer", and only see it at the error line section 2 and in section 3 but i dont think the script gets down that far. Do I need to define this "settimer" target label in the script somewhere or is there a syntax error? Using the exact script posted in post #1 Copying from 3 sections similar to betabrites' setup. [section 1] MarqueeMagician = "g:\Hyperspin\Marquee Magician\Marquee Magician1.0.exe" ; Change this to your Marquee Magician application location. EnableMarqueeMagician = true ; Should Marquee Magician support be active? true or false here ;*************************************************************************** VolumeControlUP = ~. ;Enables the ability to control the volume in programs that are launched by hyperlaunch* [section 2] ;*************************************** Marquee Magician ****************************************** ;****************************** Added by Matt Mclemore AKA Tempest ********************************* ;*********** Marquee Magician will display game specific graphics on a secondary monitor *********** ;************ For support, see: [url]http://www.gameex.info/forums/index.php[/url]? showtopic=6911 ************* if (EnableMarqueeMagician) { PrevDir := A_WorkingDir SetWorkingDir, %MarqueeMagician% IfNotExist, MM.ini { MsgBox, You need to run the setup program first. Goto ExitScript } Run, i_view32.exe /killmesoftly IniRead, TimesPlayed, MM.ini, %systemName%, %romName%, 0 TimesPlayed++ IniWrite, %TimesPlayed%, MM.ini, %systemName%, %romName% IniRead, Template, MM.ini, %systemName%, Template If Template <> Error { IniRead, Type, MM.ini, General, Type StringSplit, Filetype, Type ,| SetFormat, float, 0.0 EnvGet, NumCpu, NUMBER_OF_PROCESSORS VarSetCapacity(Idletime,8,0) WinWaitClose, IrfanView ;*** Wait Or kill the following *** Statistics = 0 TemplateFolder = Templates\%Template% Loop, %TemplateFolder%\*, 2 { IniRead, FileFolder, MM.ini, %systemName%, FileFolder%A_Index% IniRead, Image, MM.ini, %systemName%, Image%A_Index% If FileFolder = 4 { Statistics = 1 IniRead, X, %A_LoopFileLongPath%\i_view32.ini, WinPosition, XKoord IniRead, Y, %A_LoopFileLongPath%\i_view32.ini, WinPosition, YKoord IniRead, W, %A_LoopFileLongPath%\i_view32.ini, WinPosition, Width IniRead, H, %A_LoopFileLongPath%\i_view32.ini, WinPosition, Height Loop, 7 IniRead, Stats%A_Index%, MM.ini, %systemName%, Stats%A_Index% Gui, 6:default Gui, -Caption Gui, Font, s14 If Stats1 = 1 Gui, Add, Text, w300 h20, %systemName% If Stats2 = 1 Gui, Add, Text, w300 h20, %romName% If Stats3 = 1 Gui, Add, Text, w250 h20, TimesPlayed: %TimesPlayed% ; If Stats4 = 1 ; FPS not available in HS ; Continue If Stats5 = 1 Gui, Add, Text, w250 h20 vPlayTimerText, Play Timer: %PlayTimer% If Stats6 = 1 { Gui, Add, Text, vCpuText, CPU Usage: 00`% Gui, Add, Progress, w250 h20 50 vCpuProgress } If Stats7 = 1 { Gui, Add, Text, vMemText, Memory Usage: 00`% Gui, Add, Progress, w250 h20 vMemProgress } Gui, Show, x%X% y%Y% h%H% w%W% Continue } IF FileFolder = 2 { IniRead, Backup, MM.ini, %systemName%, Backup%A_Index% Found = 0 Image .= "\" . romName Loop, %FileType0% { Temp := Image . FileType%A_Index% IfExist, %Temp% { Image := Temp Found = 1 Break } } If Found = 0 Image := BackUp } Run, i_view32.exe %Image% /ini=%A_LoopFileLongPath% /title=Window%A_Index% /hide=15 Count := A_Index } WinWaitActive, IrfanView - Window%Count%,, 3 StartTime := A_TickCount If Statistics = 1 [color=red]SetTimer, Update, 250[/color] } SetWorkingDir, %PrevDir% } ;***************************************AAE************************************ if (systemName = "AAE" && executable = "aae.exe") [section 3] CloseProcess: ;********************************************************** if (enablebetabright) { RunWait, %betabright% usb {AUTO}HyperSpin Believe The Hype! {DIM GREEN}{TIME} } ;********************************************************** if (EnableMarqueeMagician) { Runwait, i_view32.exe /killmesoftly, %MarqueeMagician% Gui, 6:Destroy [color=red]SetTimer, Update, Off[/color] } Game\Theme\Favorites\Genre - List Creation * FatMatch File Renaming for HyperNewbies. Like Me! https://hyperspin-fe.com/forums/topic/259-setting-up-un-official-systems-with-hyperspin/?do=findComment&comment=31034
chillinwater Posted October 8, 2009 Posted October 8, 2009 Ok, I missed a section to put in my code. There are actually 4 different sections. So that nobody else screws up like me, I've highlighted the sections to add into your ahk. The error above is now gone and now i have a new message when I launch mame through Hyperspin. see attachment I thought I had already set it up by makeing a template earlier. I guess not. Maybe it was just for GameEX. These 2 setup programs seem to be for Gameex Marquee Magician Setup1.1.exe (to setup on screen 2) Marquee Magician Setup1.2.exe (to setup on screen 1) From Tempest Lastly, I do have a setup program that I adapted for HyperSpin users, but it looks like I am enabled to upload anything but images? I know he couldnt post the setup for Hyperspin here but I didnt see it on his link from the first page of this post either. /** * HyperLaunch Version 1.04.5 * Autohotkey script by BadBoyBill [email protected] * CursorHide by Lazlo * Additional add-ons by brian_hoffman * * If you are reading this and do not have autohotkey you can get it * @ http://www.autohotkey.com/download/ * If you would like to modify this script and share it thats OK, but * see if your modification is something that we would like to add * to the official version. * * Refer to the autohotkey documentation for the keyoboard keylist * * If this script does not support your favorite emulator * then please request support @ http://www.hyperspin-fe.com/forum * * :Supported emulators: * :System: :Emulators: *Atari 5200.............................messpp.exe *Atari Lynx.............................handy.exe *Daphne.................................daphne.exe *Future Pinball.........................Future Pinball.exe *Gameboy Advance........................visualboyadvance.exe *Gameboy................................visualboyadvance.exe *Gameboy Color..........................visualboyadvance.exe *MAME...................................vmame.exe *Neo Geo................................mame.exe *Neo Geo Pocket Color...................NeoPop-Win32.exe *Nintendo 64............................project64.exe *Nintendo Entertainment System..........nestopia.exe *Panasonic 3DO..........................FreeDO.exe *Sega 32X...............................fusion.exe *Sega CD................................fusion.exe *Sega Dreamcast.........................nullDC_100b1_6.exe *Sega Game Gear.........................fusion.exe *Sega Genesis...........................fusion.exe *Sega Master System.....................fusion.exe *Sony Playstation.......................psxfin.exe *Super Nintendo Entertainment System....zsnesw.exe *TurboGrafx 16..........................mednafen.exe *Zinc...................................zinc.exe *JukeBox................................silverjuke.exe *JukeBox................................SKJukebox.exe * * */ #SingleInstance force ;Prevent multiple instances #InstallKeybdHook SetTitleMatchMode 2 ;------------------------------------------------------------------------------; ; MAIN SETTINGS ; ;------------------------------------------------------------------------------; ;[uNIVERSAL HOTKEYS] ;SEPERATE MULTIPLE KEYS WITH &(ampersand) up to 2 keys. exitScriptKey = q & s ;Secret hotkey(s) to exit script if needed ;Not to be confused with exit emulator keys exitEmulatorKey = Esc ;This key/key combo will close any emulators ;that do not have normal closing methods. toggleCursorKey = t ;hotkey(s) to show or hide cursor if needed ;when hideCursor below is true ;[MOUSE CURSOR] hideCursor = false ;Automatically hide cursor during script ;WARNING: Make sure ALL your emu's are running fine ;before setting this to true as a precaution.* ;[WINDOWS] hideDesktop = false ;Attempts to hide desktop with black screen, might help ;on some emu's for hiding launching windows. hideTaskbar = false ;Hide the windows taskbar when running emu's. ;WARNING: Make sure ALL your emu's are running fine ; before setting this to true as a precaution.* daemontools = "C:\Program Files\DAEMON Tools Lite\daemon.exe" ;Hide the windows taskbar when running emu's. ;WARNING: Make sure ALL your emu's are running fine ; before setting this to true as a precaution.* VolumeControlUP = ~g ;Enables the ability to control the volume in programs that are launched by hyperlaunch* VolumeControlDown = ~b ;Enables the ability to control the volume in programs that are launched by hyperlaunch ;NOTE: the "~" denotes that the key retains its functionality* betabright = "C:\BetaBrite\betacom.exe" ; Change this to your BetaBrite console application location. betabrightparams = "com3 {AUTO}" enablebetabright = true ; Should Betabright support be active? true or false here [color=lime]MarqueeMagician := "C:\Users\Matt\Desktop\My Marquee Magician" ; Change this to your Marquee Magician application location.[/color] [color=lime]EnableMarqueeMagician = true ; Should Marquee Magician support be active? true or false here[/color] /* *:If for some weird reason the script hangs follow these steps to get back to normal. 1. If an emulator hangs up or cant load your game then first try to exit the emu by pressing your Emulator exit hotkey above. 2. If your emu exited but your mouse cursor is gone use your cursor toggle hotkey. 3. Next try to exit the script by pressing your Exit Script Hotkey above. This will also bring back your cursor and taskbar is they are set to true. */ ;******************************************************************************* ;* EDIT BELOW THIS POINT AT YOUR OWN RISK * ;******************************************************************************* ;------------------------------------------------------------------------------; ; GET PARAMATERS AND SET HOTKEYS ; ;------------------------------------------------------------------------------; ;CHECKING FOR 2 PARAMS, IF NOT THEN EXIT if 0 < 2 { MsgBox Usage: HyperLaunch.ahk/exe "System Name" "Rom Name" ExitApp } systemName = %1% romName = %2% Hotkey, %exitScriptKey%, ExitScript if (hideCursor = "true") { Hotkey, %toggleCursorKey%, ToggleCursor SystemCursor("Off") } Hotkey, %VolumeControlUP%, VolumeUp Hotkey, %VolumeControlDown%, VolumeDown WinClose, cmd.exe ;------------------------------------------------------------------------------; ; GET AND CHECK PATHS ; ;------------------------------------------------------------------------------; GoSub, CheckINI IniRead, iniEmuPath, %A_ScriptDir%\Settings\%systemName%.ini, exe info, path emuPath := GetFullName(iniEmuPath) IniRead, iniRomPath, %A_ScriptDir%\Settings\%systemName%.ini, exe info, rompath romPath := GetFullName(iniRomPath) IniRead, executable, %A_ScriptDir%\Settings\%systemName%.ini, exe info, exe IniRead, romExtensions, %A_ScriptDir%\Settings\%systemName%.ini, exe info, romextension romExtension = GoSub, CheckPaths ;------------------------------------------------------------------------------; ; RUN SYSTEM ; ;------------------------------------------------------------------------------; ;****** Added by Lashek - Force betabrite to update with hsbetabright.exe ****** ;****** The loader will parse xml to get the "Description" and display it ****** ;For support, see: http://www.hyperspin-fe.com/forum/showthre...post&t=4078 if (enablebetabright) { RunWait, hsbetabrite.exe "%systemName%" "%romName%" %betabright% %betabrightparams%,, Hide UseErrorLevel } [color=lime];*************************************** Marquee Magician ******************************************[/color] [color=lime];****************************** Added by Matt Mclemore AKA Tempest *********************************[/color] [color=lime];*********** Marquee Magician will display game specific graphics on a secondary monitor ***********[/color] [color=lime];************ For support, see: http://www.gameex.info/forums/index.php?showtopic=6911 *************[/color] [color=lime]if (EnableMarqueeMagician)[/color] [color=lime]{[/color] [color=lime]PrevDir := A_WorkingDir[/color] [color=lime]SetWorkingDir, %MarqueeMagician%[/color] [color=lime]IfNotExist, MM.ini[/color] [color=lime]{[/color] [color=lime]MsgBox, You need to run the setup program first.[/color] [color=lime]Goto ExitScript[/color] [color=lime]}[/color] [color=lime]Run, i_view32.exe /killmesoftly[/color] [color=lime]IniRead, TimesPlayed, MM.ini, %systemName%, %romName%, 0[/color] [color=lime]TimesPlayed++[/color] [color=lime]IniWrite, %TimesPlayed%, MM.ini, %systemName%, %romName%[/color] [color=lime]IniRead, Template, MM.ini, %systemName%, Template[/color] [color=lime]If Template <> Error[/color] [color=lime]{[/color] [color=lime]IniRead, Type, MM.ini, General, Type[/color] [color=lime]StringSplit, Filetype, Type ,|[/color] [color=lime]SetFormat, float, 0.0[/color] [color=lime]EnvGet, NumCpu, NUMBER_OF_PROCESSORS[/color] [color=lime]VarSetCapacity(Idletime,8,0)[/color] [color=lime]WinWaitClose, IrfanView ;*** Wait Or kill the following ***[/color] [color=lime]Statistics = 0[/color] [color=lime]TemplateFolder = Templates\%Template%[/color] [color=lime]Loop, %TemplateFolder%\*, 2[/color] [color=lime]{[/color] [color=lime]IniRead, FileFolder, MM.ini, %systemName%, FileFolder%A_Index%[/color] [color=lime]IniRead, Image, MM.ini, %systemName%, Image%A_Index%[/color] [color=lime]If FileFolder = 4[/color] [color=lime]{[/color] [color=lime]Statistics = 1[/color] [color=lime]IniRead, X, %A_LoopFileLongPath%\i_view32.ini, WinPosition, XKoord[/color] [color=lime]IniRead, Y, %A_LoopFileLongPath%\i_view32.ini, WinPosition, YKoord[/color] [color=lime]IniRead, W, %A_LoopFileLongPath%\i_view32.ini, WinPosition, Width[/color] [color=lime]IniRead, H, %A_LoopFileLongPath%\i_view32.ini, WinPosition, Height[/color] [color=lime]Loop, 7[/color] [color=lime]IniRead, Stats%A_Index%, MM.ini, %systemName%, Stats%A_Index%[/color] [color=lime]Gui, 6:default[/color] [color=lime]Gui, -Caption[/color] [color=lime]Gui, Font, s14[/color] [color=lime]If Stats1 = 1[/color] [color=lime]Gui, Add, Text, w300 h20, %systemName%[/color] [color=lime]If Stats2 = 1[/color] [color=lime]Gui, Add, Text, w300 h20, %romName%[/color] [color=lime]If Stats3 = 1[/color] [color=lime]Gui, Add, Text, w250 h20, TimesPlayed: %TimesPlayed%[/color] [color=lime]; If Stats4 = 1 ; FPS not available in HS[/color] [color=lime]; Continue[/color] [color=lime]If Stats5 = 1[/color] [color=lime]Gui, Add, Text, w250 h20 vPlayTimerText, Play Timer: %PlayTimer%[/color] [color=lime]If Stats6 = 1[/color] [color=lime]{[/color] [color=lime]Gui, Add, Text, vCpuText, CPU Usage: 00`%[/color] [color=lime]Gui, Add, Progress, w250 h20 50 vCpuProgress[/color] [color=lime]}[/color] [color=lime]If Stats7 = 1[/color] [color=lime]{[/color] [color=lime]Gui, Add, Text, vMemText, Memory Usage: 00`%[/color] [color=lime]Gui, Add, Progress, w250 h20 vMemProgress[/color] [color=lime]}[/color] [color=lime]Gui, Show, x%X% y%Y% h%H% w%W%[/color] [color=lime]Continue[/color] [color=lime]}[/color] [color=lime]IF FileFolder = 2[/color] [color=lime]{[/color] [color=lime]IniRead, Backup, MM.ini, %systemName%, Backup%A_Index%[/color] [color=lime]Found = 0[/color] [color=lime]Image .= "\" . romName[/color] [color=lime]Loop, %FileType0%[/color] [color=lime]{[/color] [color=lime]Temp := Image . FileType%A_Index%[/color] [color=lime]IfExist, %Temp%[/color] [color=lime]{[/color] [color=lime]Image := Temp[/color] [color=lime]Found = 1[/color] [color=lime]Break[/color] [color=lime]}[/color] [color=lime]}[/color] [color=lime]If Found = 0[/color] [color=lime]Image := BackUp[/color] [color=lime]}[/color] [color=lime]Run, i_view32.exe %Image% /ini=%A_LoopFileLongPath% /title=Window%A_Index% /hide=15[/color] [color=lime]Count := A_Index[/color] [color=lime]}[/color] [color=lime]WinWaitActive, IrfanView - Window%Count%,, 3[/color] [color=lime]StartTime := A_TickCount[/color] [color=lime]If Statistics = 1[/color] [color=lime]SetTimer, Update, 250[/color] [color=lime]}[/color] [color=lime]SetWorkingDir, %PrevDir%[/color] [color=lime]}[/color] ;**********************************ATARI 5200*********************************** if (systemName = "Atari 5200" && (executable = "messpp.exe" || executable = "mess.exe")) { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% a5200 -cart "%romPath%%romName%%romExtension%" -skip_gameinfo -nowindow -nonewui, %emuPath%, Hide UseErrorLevel } ;**********************************ATARI Lynx*********************************** else if (systemName = "Atari Lynx" && executable = "handy.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% "%romPath%%romName%%romExtension%", %emuPath%, UseErrorLevel } ;************************************DAPHNE************************************* else if (systemName = "Daphne" && executable = "daphne.exe"){ hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess daphneParams = vldp -fullscreen -x 640 -y 480 -nohwaccel -framefile frameFilePath = %romPath%%romName%%romExtension% RunWait, %executable% %romName% %daphneParams% %frameFilePath%, %emuPath%, UseErrorLevel } ;********************************GAMEBOY ADVANCE******************************** else if (systemName = "Gameboy Advance" && executable = "visualboyadvance.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, "%emuPath%%executable%" "%romPath%%romName%%romExtension%", UseErrorLevel } ;********************************GAMEBOY********** ********************** else if (systemName = "Gameboy" && executable = "visualboyadvance.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, "%emuPath%%executable%" "%romPath%%romName%%romExtension%", UseErrorLevel } ;********************************GAMEBOY COLOR******************************** else if (systemName = "Gameboy Color" && executable = "visualboyadvance.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, "%emuPath%%executable%" "%romPath%%romName%%romExtension%", UseErrorLevel } ;********************************Future Pinball******************************** else if (systemName = "Future Pinball" && executable = "Future Pinball.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Runwait, "%emuPath%%executable%" /open "%romPath%%romName%%romExtension%" /play /exit %emuPath%, Hide UseErrorLevel } ;*************************************MAME******** ****************************** else if (systemName = "MAME" && executable = "vmame.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Runwait, %executable% %romName%, %EmuPath%, Hide UseErrorLevel Process, waitClose, %executable% exitapp } ;***********************************NEO GEO************************************* else if (systemName = "Neo Geo" && executable = "mame.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% "%romName%", %emuPath%, Hide UseErrorLevel } ;*****************************NEO GEO POCKET COLOR****************************** else if (systemName = "Neo Geo Pocket Color" && executable = "NeoPop-Win32.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% "%romPath%%romName%%romExtension%", %emuPath%, UseErrorLevel } ;***********************************NINTENDO 64********************************* else if (systemName = "Nintendo 64" && executable = "Project64.exe") { hideDesktop() Sleep, 2000 Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %executable% %romPath%%romName%%romExtension%, %emuPath%, Hide UseErrorLevel } ;****************************NINTENDO ENTERTAINMENT SYSTEM********************** else if (systemName = "Nintendo Entertainment System" && executable = "Nestopia.exe") { Gui, Color, 000000 Gui -Caption +ToolWindow +AlwaysOnTop Gui, Show, W%A_ScreenWidth% H%A_ScreenHeight%, BlackGui Hotkey, %exitEmulatorKey%, CloseProcess Run, %executable% "%romPath%%romName%%romExtension%", %emuPath%, UseErrorLevel Sleep, 2000 Gui, destroy Process, waitClose, %executable% exitapp } ;***********************************Panasonic 3DO******************************* else if (systemName = "Panasonic 3DO" && executable = "FreeDO.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, "%EmuPath%%Executable%",,Hide UseErrorLevel DetectHiddenWindows, on WinShow, FreeDO Beta 1.6.2 WinWait, FreeDO Beta 1.6.2 ControlSend, , {F4}, FreeDO Beta 1.6.2 WinWaitActive, FreeDO Beta 1.6.2 SendInput, {ALTDOWN}f{ALTUP}{ENTER} IfWinNotActive, Open, Common Places Host W WinActivate, Open, Common Places Host W WinWaitActive, Open, Common Places Host W clipboard= clipboard=%romPath%%romName%%romExtension% ClipWait Sleep,100 Send,^v Sleep,100 send, {ENTER} WinWait, FreeDO Beta 1.6.2 IfWinNotActive, FreeDO Beta 1.6.2, , WinActivate, FreeDO Beta 1.6.2, WinWaitActive, FreeDO Beta 1.6.2, SendInput, {ALTDOWN}c{ALTUP}{ENTER}{ENTER} Process, WaitClose, FreeDO.exe } ;***********************************SEGA 32X************************************ else if (systemName = "Sega 32X" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -32X -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, fusion.exe } ;***********************************SEGA CD************************************* else if (systemName = "Sega CD" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -scd -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, %Executable% exitapp } ;*********************************SEGA DREAMCAST******************************** else if (systemName = "Sega Dreamcast" && executable = "nullDC_100b1_6.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% -config ImageReader:DefaultImage="%romPath%%romName%%romExtension%", %EmuPath%,Hide UseErrorLevel WinWait, nullDC Sleep,1000 WinShow, ahk_class ndc_main_window Process, WaitClose, nullDC_100b1_6.exe } ;*********************************SEGA Game Gear******************************** else if (systemName = "Sega Game Gear" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -sms -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, fusion.exe } ;*********************************SEGA Genesis********************************** else if (systemName = "Sega Genesis" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -gen -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, fusion.exe } ;*******************************SEGA Master System****************************** else if (systemName = "Sega Master System" && executable = "Fusion.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% "%romPath%%romName%%romExtension%" -auto -sms -fullscreen, %EmuPath%, Hide UseErrorLevel Process, WaitClose, fusion.exe } ;***********************************SEGA MODEL 2********************************* else if (systemName = "Sega Model 2") { if(executable = "emulator_multicpu.exe" || executable = "emulator.exe" ) { ;hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %executable% %romName%, %emuPath%, Hide UseErrorLevel DetectHiddenWindows, on WinWait, Model 2 WinShow Process, WaitClose, %executable% } } ;***********************************SEGA Naomi*********************************** else if (systemName = "SEGA Naomi") { if(executable = "nullDC-Naomi_1.0.3_nommu.exe" || executable = "nullDC-Naomi_1.0.3_mmu.exe" ) SetWorkingDir, %emuPath% Hotkey, %exitEmulatorKey%, CloseProcess Blockinput on ; Keeps users from messing up loader my pressing buttons and moving mouse rom = "%romPath%%romName%%romExtension%" ; (rompath romfile) gives friendly name as ROM SetBatchLines -1 Gui +AlwaysOnTop -Caption +ToolWindow ; No title, No taskbar icon Gui Color, 0 ; Color Black Gui Show, x0 y0 h%A_ScreenHeight% w%A_ScreenWidth%, HSHIDE ;WinSet Transparent, 200, A ; Can be semi-transparent MouseGetPos X, Y ; Remember pos to return MouseMove %A_ScreenWidth%,%A_ScreenHeight% ; Move pointer off screen IniWrite, 1, %A_WorkingDir%\nulldc.cfg, nullDC, Emulator.AutoStart IniWrite, 1, %A_WorkingDir%\nulldc.cfg, nullDC, Emulator.NoConsole IniWrite, 1, %A_WorkingDir%\nulldc.cfg, drkpvr, Fullscreen.Enabled IniWrite, 640, %A_WorkingDir%\nulldc.cfg, drkpvr, Fullscreen.Res_X IniWrite, 480, %A_WorkingDir%\nulldc.cfg, drkpvr, Fullscreen.Res_Y Run, %executable% ; launches emulator WinWait, Open, Open as &read-only IfWinNotActive, Open, Open as &read-only, WinActivate, Open, Open as &read-only WinWaitActive, Open, Open as &read-only ; waits for load dialog Sleep, 100 SendInput, %rom% ; sends rompath romfile from exe syntax Send, {enter} ; loads roms by pressing enter Sleep, 7000 ; Gives time for loading to finish before unhiding desktop Gui Destroy ; Remove blinds from desktop Blockinput off ; Allows user to send inputs so games can be played Process, WaitClose, %executable% exitapp } ;**********************************SEGA SATURN**************** ;**********************************SEGA SATURN*********************************** else if (systemName = "Sega Saturn" && executable = "SSF.exe") { RunWait, %DAEMONTOOLS% -mount 0`,"%romPath%%romName%%romExtension%" hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess Run, %executable% , %emuPath%, UseErrorLevel } ;********************************Sony Playstation******************************* else if (systemName = "Sony Playstation" && executable = "psxfin.exe") { psxParams = -f Hotkey, %exitEmulatorKey%, CloseProcess Run, %Executable% %psxParams% "%romPath%%romName%%romExtension%", %EmuPath%, Hide UseErrorLevel DetectHiddenWindows, on WinWait, ahk_class pSX hideDesktop() WinWaitClose, ahk_class pSX } ;***********************Super Nintendo Entertainment System********************* else if (systemName = "Super Nintendo Entertainment System" && executable = "zsnesw.exe") { hideDesktop() SetKeyDelay, 250 Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %Executable% "%romPath%%romName%%romExtension%", %EmuPath% } ;**********************************TurboGrafx 16******************************** else if (systemName = "TurboGrafx 16" && executable = "mednafen.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, "%EmuPath%%Executable%" "%romPath%%romName%%romExtension%" -fs 1,, UseErrorLevel } ;***********************************JukeBox************************************* else if (systemName = "Jukebox" && executable = "Silverjuke.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseJuke RunWait, %emuPath%%executable% --kiosk, Hide UseErrorLevel } else if (systemName = "Jukebox" && executable = "SKJukebox.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %emuPath%%executable%, Hide UseErrorLevel } ;***************************************Zinc************************************ else if (systemName = "Zinc" && executable = "zinc.exe") { hideDesktop() Hotkey, %exitEmulatorKey%, CloseProcess RunWait, %Executable% %romName%, %EmuPath%, Hide UseErrorLevel } else { MsgBox,48,Error,%systemName% is an invalid System Name or %executable% isnt supported yet,6 } ;------------------------------------------------------------------------------; ; WHEN EMULATOR FINISHES OR IF LAUNCH EXE FAILS ; ;------------------------------------------------------------------------------; ;************PROBABLY DO NOT NEED TO EDIT THIS AREA************* if (ErrorLevel = "ERROR") { MsgBox,48,Error,Failed to run executable check your paths,6 } Goto ExitScript ; Exits script and returns to frontend ;------------------------------------------------------------------------------; ; KILL COMMANDS ; ;------------------------------------------------------------------------------; ;************PROBABLY DO NOT NEED TO EDIT THIS AREA************* /* Most emu's can be closed with CloseProcess when using a 2 key combo, if not set a custom close. */ CloseJuke: RunWait, %emuPath%%executable% --execute="program.shutdown(30);", Hide UseErrorLevel return CloseProcess: if (enablebetabright) { RunWait, %betabright% com3 {AUTO}HYPERSPIN } [color=lime]if (EnableMarqueeMagician)[/color] [color=lime]{[/color] [color=lime]Runwait, i_view32.exe /killmesoftly, %MarqueeMagician%[/color] [color=lime]Gui, 6:Destroy[/color] [color=lime]SetTimer, Update, Off[/color] [color=lime]}[/color] Hotkey, %exitScriptKey%, Off Process, Close, %Executable% Process, WaitClose, %Executable% Gui, Color, 000000 Gui -Caption +ToolWindow +AlwaysOnTop Gui, Show, W%A_ScreenWidth% H%A_ScreenHeight%, BlackGui return [color=lime];********************************* Update Gui for Marquee Magician *********************************[/color] [color=lime]Update:[/color] [color=lime]If Stats5 = 1[/color] [color=lime]{[/color] [color=lime]PlayTimer := (A_TickCount - StartTime)/1000[/color] [color=lime]dt = 20000101000000[/color] [color=lime]dt += PlayTimer, seconds[/color] [color=lime]FormatTime, PlayTimer, %dt%, H:mm:ss[/color] [color=lime]GuiControl, 6:, PlayTimerText, Play Timer: %PlayTimer%[/color] [color=lime]}[/color] [color=lime]If Stats6 = 1 ; Display Memory Usage[/color] [color=lime]{[/color] [color=lime]VarSetCapacity( memorystatus, 100 )[/color] [color=lime]DllCall("kernel32.dll\GlobalMemoryStatus", "uint",&memorystatus)[/color] [color=lime]mem := *( &memorystatus + 4 ) ; 0..100%[/color] [color=lime]GuiControl, 6:, MemProgress, %Mem%[/color] [color=lime]GuiControl, 6:, MemText, Memory Usage: %Mem%`%[/color] [color=lime]}[/color] [color=lime]If Stats7 = 1 ; Display CPU Usage[/color] [color=lime]{[/color] [color=lime]IdleTime0 := IdleTime, Tick0 := Tick[/color] [color=lime]DllCall("GetSystemTimes", UInt64P,IdleTime, Int,0, Int,0)[/color] [color=lime]CPU := (100 - .01*(IdleTime0 - IdleTime)/(Tick0 - Tick:=A_TickCount)/NumCpu)[/color] [color=lime]GuiControl, 6:, CpuProgress, %CPU%[/color] [color=lime]GuiControl, 6:, CpuText, CPU Usage: %CPU%`%[/color] [color=lime]}[/color] [color=lime]Return[/color] ExitScript: Process, Exist, HyperSpin.exe PID := errorLevel if (PID) { WinActivate, ahk_pid %PID% WinWaitActive, ahk_pid %PID% Gui, destroy if (hideCursor) SystemCursor("On") if (hideTaskbar) WinShow ahk_class Shell_TrayWnd ExitApp } OnExit, ExitScript return ;------------------------------------------------------------------------------; ; Volume ; ;------------------------------------------------------------------------------; VolumeUp: Send {Volume_up 1} return VolumeDown: Send {Volume_Down 1} return ;------------------------------------------------------------------------------; ; REST OF SCRIPT ; ;------------------------------------------------------------------------------; ;************PROBABLY DO NOT NEED TO EDIT THIS AREA************* SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others { static AndMask, XorMask, $, h_cursor ,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors , b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors , h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors if (OnOff = "Init" or OnOff = "I" or $ = "") ; init when requested or at first call { $ = h ; active default cursors VarSetCapacity( h_cursor,4444, 1 ) VarSetCapacity( AndMask, 32*4, 0xFF ) VarSetCapacity( XorMask, 32*4, 0 ) system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650 StringSplit c, system_cursors, `, Loop %c0% { h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% ) h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 ) b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0 , "int",32, "int",32, "uint",&AndMask, "uint",&XorMask ) } } if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T")) $ = b ; use blank cursors else $ = h ; use the saved cursors Loop %c0% { h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 ) DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% ) } } ToggleCursor: SystemCursor("Toggle") return IniRead(Filename, Section, Key, Default = "") { FileRead, text, *t %Filename% text = `n%text%`n StringTrimLeft, text, text, InStr(text, "`n[" . Section . "]`n") Loop, 8 { sp := sp . " " StringReplace, text, text, %Key%%sp%=, %Key%= If ErrorLevel Break } start := InStr(text, "`n" . Key . "=") If !start Return, Default start += StrLen(Key) + 2 StringMid, Value, text, start, InStr(text, "`n", false, start) - start Return, Value } ;Get Full Path from Relative Path GetFullName( fn ) { static buf, i if !i i := VarSetCapacity(buf, 512) DllCall("GetFullPathNameA", "str", fn, "uint", 512, "str", buf, "str*", 0) return buf } hideDesktop(){ ;WinHide ahk_class Shell_TrayWnd ;Gui, +toolwindow ;Gui, -Caption ;Gui, Color, black ;Gui, show, +toolwindow Maximize Gui, Color, 000000 Gui -Caption +ToolWindow Gui, Show, W%A_ScreenWidth% H%A_ScreenHeight%, BlackScreen } CheckINI: IfNotExist, %A_ScriptDir%\HyperSpin.exe { MsgBox,48,Error, Must be in same directory as HyperSpin.exe,6 Goto ExitScript } IfNotExist, %A_ScriptDir%\Settings\%systemName%.ini { MsgBox,48,Error,Cannot Find %A_ScriptDir%\Settings\%systemName%.ini,6 Goto ExitScript } return CheckPaths: romFound = StringRight, emuPathBackSlash, EmuPath, 1 StringRight, romPathBackSlash, RomPath, 1 If (emuPathBackSlash != "\" || romPathBackSlash != "\") { MsgBox,48,Error, Make sure your paths contains a backslash on the end ,6 Goto ExitScript } If (executable = "") { MsgBox,48,Error, Missing executable in %systemName%.ini ,6 Goto ExitScript } If (romPath = "") { MsgBox,48,Error, Missing rom path in %systemName%.ini ,6 Goto ExitScript } If (emuPath = "") { MsgBox,48,Error, Missing emulator path in %systemName%.ini ,6 Goto ExitScript } IfNotExist, %EmuPath%%Executable% { MsgBox,48,Error,Cannot Find %EmuPath%%Executable%,6 Goto ExitScript } if(systemName != "zinc") { If (romExtensions = "") { MsgBox,48,Error, Missing rom extension in %systemName%.ini ,6 Goto ExitScript } Loop, parse, romExtensions, `, { inputVar = %A_LoopField% StringLeft, charToCheck, inputVar, 1 If(charToCheck = ".") { MsgBox,48,Error, Make sure your rom extensions do not contain a ".",6 Goto ExitScript } IfExist %RomPath%%RomName%.%A_LoopField% { romExtension = .%A_LoopField% romFound = true break }else{ IfExist %RomPath%%RomName%\%RomName%.%A_LoopField% { RomPath = %RomPath%%RomName%\ MsgBox %RomPath% romExtension = .%A_LoopField% romFound = true break }else{ romFound = false } } } } if (romFound = "false") { if(systemName != "daphne"){ MsgBox,48,Error,Cannot find Rom - %RomPath%%RomName% with any provided extension,6 Goto ExitScript }else{ MsgBox,48,Error,Cannot find Daphne framefile - %RomPath%%RomName% with any provided extension,6 Goto ExitScript } } return Game\Theme\Favorites\Genre - List Creation * FatMatch File Renaming for HyperNewbies. Like Me! https://hyperspin-fe.com/forums/topic/259-setting-up-un-official-systems-with-hyperspin/?do=findComment&comment=31034
chillinwater Posted October 8, 2009 Posted October 8, 2009 So Far this is working in GameEX only! (still waiting for a HyperSpin setup program, directory structure for gamelist should be different in the mm.ini below) 3 images full vertical height, equally spaced horizontally on secondary monitor 7" (Baby steps for me!) G:\HyperSpin\MarQuee Magician\Templates\Template\Image1\i_view32.ini I cant stretch the windows as seen in the video (the way I want it) manually or through setup. [iMAGE 1][sample i_view32.ini] [WinPosition] xKoord=1280 yKoord=0 Width=266 Height=480 Maximized=0 [Viewing] FitWindowOption=2 UseResample=1 [Others] RememberWinPos=1 [Toolbar] Flag=0 [iMAGE 2][sample i_view32.ini] G:\HyperSpin\MarQuee Magician\Templates\Template\Image2\i_view32.ini [WinPosition] xKoord=1545 yKoord=0 Width=266 Height=480 Maximized=0 [Viewing] FitWindowOption=2 UseResample=1 [Others] RememberWinPos=1 [Toolbar] Flag=0 G:\HyperSpin\MarQuee Magician\Templates\Template\Image3\i_view32.ini [iMAGE 3][sample i_view32.ini] [WinPosition] xKoord=1812 yKoord=0 Width=266 Height=480 Maximized=0 [Viewing] FitWindowOption=2 UseResample=1 [Others] RememberWinPos=1 [Toolbar] Flag=0 [sample MM.ini] _No_image.png is for when there is no image to display. G:\HyperSpin\MarQuee Magician\MM.ini [General] Type=.JPG|.PNG|.BMP|.JPEG|.GIF.IMG [color=palegreen]Gamelist=C:\Program Files\GameEx\DATA\gamelist.txt[/color] [MAME Games] Template=Mame Image1=G:\HyperSpin\Emulators\Mame\flyers FileFolder1=2 Backup1=G:\HyperSpin\Emulators\Mame\flyers\[color=yellow]_No_Image.png[/color] Image2=G:\HyperSpin\Emulators\Mame\cabinets FileFolder2=2 Backup2=G:\HyperSpin\Emulators\Mame\cabinets\[color=yellow]_No_Image.png[/color] Image3=G:\HyperSpin\Emulators\Mame\marquees FileFolder3=2 Backup3=G:\HyperSpin\Emulators\Mame\marquees\[color=yellow]_No_Image.png[/color] [Daphne] Template=Daphne Image1=G:\HyperSpin\Emulators\Daphne\images FileFolder1=2 Backup1=G:\HyperSpin\Emulators\Daphne\images\[color=yellow]_No_Image.png[/color] Dragon's Lair=lair Space Ace=sae Astron Belt=astron Cliff Hanger=cliff Cobra Command=cobraab Also maybe this: "Gamelist=C:\Program Files\GameEx\DATA\gamelist.txt" changes to somthing like this?: "Gamelist=g:\hyperspin\databases\mame\mame.xml" Not sure about "Daphne" for use in hyperspin. Game\Theme\Favorites\Genre - List Creation * FatMatch File Renaming for HyperNewbies. Like Me! https://hyperspin-fe.com/forums/topic/259-setting-up-un-official-systems-with-hyperspin/?do=findComment&comment=31034
Invincer Posted October 9, 2009 Posted October 9, 2009 Hey Chillinwater, I had similar issues with newer releases of MM. I am still just using the first one he custom made for HS. The newer ones seem to be made for GameEx only. You may want to IM Tempest (probably would find him visiting GameEx forums more) and ask him if it would be possible to try the newer releases in a more HS friendly version. I had been testing some for him with it all but my time has been limited of late. I will soon be having surgery at the Mayo clinic that will incapacitate me for a few weeks on the 19th. I hope to finish the comic book stuff and make video of some of my up-till-now cab stuff and pics before then, won't be able to play or mess with it much for a short while after that. I had everything pretty much working like I wanted in the version of MM I had, the statistics did not display correctly, but I really didn't want stats displayed anyways. I know he mentioned in the newer version being able to have MM display a default image maybe with custom controls displayed when exiting emulators back to HS also, it may be something worth looking into...
chillinwater Posted October 9, 2009 Posted October 9, 2009 Hope all goes well!. Do you need someone to take care of your cab while your away? Very cool by the way! Yeah I pm'ed him yesterday but I think he is too busy on "CFG Magician" Where is the first one he "Custom made" for Hyperspin? Is it posted somwhere? The couple I have seen always use the game list for GameEX in the mm.ini. What does your MM.ini look like if you dont mind me asking? How does it call Hyperspin gamelists? I saw your post with VP and Marquee Magician also and as soon as I work this out, Id like to work on somthing like that. My screen is touch also. Game\Theme\Favorites\Genre - List Creation * FatMatch File Renaming for HyperNewbies. Like Me! https://hyperspin-fe.com/forums/topic/259-setting-up-un-official-systems-with-hyperspin/?do=findComment&comment=31034
Recommended Posts
Archived
This topic is now archived and is closed to further replies.