20:39:12:640 | RL | INFO | +N/A | Main - RocketLauncher v1.0.0.1 (www.rlauncher.com)
20:39:12:720 | RL | INFO | +78 | Main - System Specs:
RocketLauncher Dir: H:\HyperSpin\RocketLauncher
RocketLauncher is: 32-bit
OS: Microsoft Windows 8.1 Pro
SKU: Professional
Total Memory: 8190.48 MB
Free Memory: 5541.35 MB
Used Memory: 2649.133 MB
SystemType: 64-bit
Physical Processors: 1
Logical Processors: 8
GPU 1 Name: AMD Radeon R9 200 Series
GPU 1 RAM: -1.00 MB
GPU 1 Driver Version: 14.501.1003.0
Sound 1 Device: High Definition Audio-apparaat
Sound 1 Status: Enabled
Sound 2 Device: AMD High Definition Audio Device
Sound 2 Status: Enabled
OS Language: Dutch_Standard
OS Admin Status: No
Monitor #1 (\\.\DISPLAY1): 1680x1050 (1680x1010 work)
Monitor #1 Orientation: Landscape
Current AHK Desktop Width: 1680
Current AHK Desktop Height: 1050
AutoHotkey Path:
AHK Version: 1.1.09.04
Unicode: No
20:39:12:720 | RL | INFO | +0 | CheckFile - Checking if H:\HyperSpin\RocketLauncher\RocketLauncher.exe exists
20:39:12:725 | RL | INFO | +15 | Main - HyperSpin.exe coordinates are x722 y308 w800 h600
20:39:12:725 | RL | INFO | +0 | CheckFile - Checking if H:\HyperSpin\RocketLauncher\Plugins\HyperSpin.plugin exists
20:39:12:726 | RL | INFO | +0 | Main - Loading Front End Plugin: "HyperSpin"
20:39:12:726 | RL | INFO | +0 | Main - RocketLauncher received "MAME" and "1941j"
20:39:12:737 | RL | INFO | +0 | Main - Did not find a "H:\HyperSpin\RocketLauncher\Settings\MAME\Game Options.ini" file, skipping any game-specific options.
20:39:12:737 | RL | INFO | +0 | Main - 1941j is using the default emulator: MAME
20:39:12:737 | RL | INFO | +0 | Main - Checking for a [MAME] section in H:\HyperSpin\RocketLauncher\Settings\MAME\Emulators.ini
20:39:12:737 | RL | INFO | +0 | Main - Checking for a [MAME] section in H:\HyperSpin\RocketLauncher\Settings\Global Emulators.ini
20:39:12:738 | RL | INFO | +16 | Main - Found [MAME] in H:\HyperSpin\RocketLauncher\Settings\Global Emulators.ini
20:39:12:739 | RL | INFO | +0 | CheckFile - Checking if H:\HyperSpin\RocketLauncher\Modules\MAME\MAME.ahk exists
20:39:12:745 | RL | INFO | +0 | Main - CRC Check - CRC matches, this is an official unedited module.
20:39:12:745 | RL | INFO | +0 | Main - 1941j will use module: H:\HyperSpin\RocketLauncher\Modules\MAME\MAME.ahk
20:39:12:759 | RL | INFO | +16 | Main - Using standard method with "Rom Extension" SkipChecks or without any SkipChecks.
20:39:12:761 | RL | INFO | +0 | CheckFile - Checking if H:\HyperSpin\Emulators\MAME\mame.exe exists
20:39:12:762 | RL | INFO | +0 | Main - INI Keys read
20:39:12:762 | RL | INFO | +0 | CheckFile - Checking if H:\HyperSpin\RocketLauncher\Module Extensions\7z.exe exists
20:39:12:763 | RL | INFO | +0 | CheckFile - Checking if H:\HyperSpin\RocketLauncher\Module Extensions\7z.dll exists
20:39:12:764 | RL | INFO | +0 | CheckFile - Checking if H:\HyperSpin\RocketLauncher\Module Extensions\FontReg.exe exists
20:39:13:124 | RL | INFO | +359 | Main - "1941j" does not qualify for MultiGame. Only roms with any of these strings in their name are acceptable: (Disc,(Disk,(Cart,(Tape,(Cassette,(Part,(Side
20:39:13:124 | RL | INFO | +0 | CheckPaths - Started
20:39:13:124 | RL | INFO | +0 | CheckPaths - Found rom: H:\HyperSpin\Emulators\MAME\roms\1941j.zip
20:39:13:124 | RL | INFO | +0 | CheckPaths - Ended
20:39:13:125 | RL | INFO | +0 | BuildScript - User Variables:
;----------------------------------------------------------------------------
; INJECTED VARIABLES
;----------------------------------------------------------------------------
#NoTrayIcon
#InstallKeybdHook
DetectHiddenWindows, ON
SetTitleMatchMode, 2
SendMode, Event
0 = 6
pluginPath = H:\HyperSpin\RocketLauncher\Plugins
pluginName = HyperSpin
pluginExt = .plugin
contextOnExit =
rlMode =
rlTitle = RocketLauncher
rlVersion = 1.0.0.1
rlAuthor = djvj
rlURL = www.rlauncher.com
langFile = H:\HyperSpin\RocketLauncher\Data\Language\Localization.ini
frontendPID = 5264
frontendPath = H:\HyperSpin
frontendExe = HyperSpin.exe
frontendExt = exe
frontendName = HyperSpin
frontendDrive = H:
exitEmulatorKey = ~Esc
exitEmulatorKeyWait = 0
forceHoldKey = ~Esc
restoreFE = false
exitScriptKey = ~q & ~s
toggleCursorKey = ~e & ~t
emuFullPath = H:\HyperSpin\Emulators\MAME\mame.exe
emuPath = H:\HyperSpin\Emulators\MAME
emuName = MAME
emuExt = exe
romPath = H:\HyperSpin\Emulators\MAME\roms
romPathFromIni = H:\HyperSpin\Emulators\MAME\roms
romExtension = .zip
romExtensionOrig = .zip
romExtensions = zip|7z
executable = mame.exe
systemDbName = MAME
systemName = MAME
dbPath =
dbName = 1941j
dbExt =
romName = 1941j
romMapPath =
romMappingEnabled = false
romMappingLaunchMenuEnabled = false
romMappingFirstMatchingExt = false
romMappingShowAllRomsInArchive = true
romMappingNumberOfGamesByScreen = 7
romMappingMenuWidth = 400
romMappingMenuMargin = 65
romMappingTextFont = Bebas Neue
romMappingTextOptions = cFFFFFFFF r4 s60 Bold
romMappingDisabledTextColor = ff888888
romMappingTextSizeDifference = 7
romMappingTextMargin = 15
romMappingTitleTextFont = Bebas Neue
romMappingTitleTextOptions = cFFFFFFFF r4 s90 Bold
romMappingTitle2TextFont = Bebas Neue
romMappingTitle2TextOptions = cFFFFFFFF r4 s22 Bold
romMappingGameInfoTextFont = Bebas Neue
romMappingGameInfoTextOptions = cFFFFFFFF r4 s22 Regular
romMappingBackgroundBrush = aa000000
romMappingColumnBrush = 33000000
romMappingButtonBrush1 = 6f000000
romMappingButtonBrush2 = 33000000
romMappingBackgroundAlign = Stretch and Lose Aspect
romMappingMenuFlagWidth = 55
romMappingMenuFlagSeparation = 7
romMappingDefaultMenuList = FullList
romMappingSingleFilteredRomAutomaticLaunch = false
altArchiveNameOnly =
altRomNameOnly =
altArchiveAndRomName =
altArchiveAndManyRomNames =
altRomNamesOnly =
romMapScenario =
skipchecks = false
romMatchExt = false
blockInputTime = 0
blockInputFile = H:\HyperSpin\RocketLauncher\Module Extensions\BlockInput.exe
errorLevelReporting = false
lockLaunch = false
lockLaunchGame =
screenRotationAngle = 0
screenRotationAngleGame =
logFile = H:\HyperSpin\RocketLauncher\RocketLauncher.log
logLabel := [" INFO"," WARNING"," ERROR"," DEBUG1"," DEBUG2"]
logLevel = 3
logShowDebugConsole = false
logIncludeModule = true
logIncludeFileProperties = true
logShowCommandWindow = false
logCommandWindow = false
rlDebugConsoleStdout =
sysLang = Dutch_Standard
sysType = 64-bit
navUpKey = Up
navDownKey = Down
navLeftKey = Left
navRightKey = Right
navSelectKey = Enter
navP2UpKey = Numpad8
navP2DownKey = Numpad2
navP2LeftKey = Numpad4
navP2RightKey = Numpad6
navP2SelectKey = NumpadEnter
originalWidth = 1680
originalHeight = 1050
vdEnabled = false
vdFullPath =
vdUseSCSI = true
vdDriveLetter =
vdAddDrive = true
servoStikEnabled = false
ledblinkyEnabled = false
ledblinkyFullPath =
ledblinkyProfilePath = H:\HyperSpin\RocketLauncher\Profiles\LEDBlinky
ledblinkyRLProfile = H:\HyperSpin\RocketLauncher\Profiles\LEDBlinky\RocketLauncher
emuIdleShutdown = 0
launchPasswordHash = UpUpDownDownLeftRightLeftRight
hideCursor = false
hideEmu = false
hideFE = false
fadeIn = false
fadeInDuration = 500
fadeInTransitionAnimation = DefaultAnimateFadeIn
fadeInDelay = 0
fadeInExitDelay = 0
fadeOutExitDelay = 0
fadeOut = false
fadeOutExtraScreen = false
fadeOutDuration = 500
fadeOutTransitionAnimation = DefaultAnimateFadeOut
fadeOutDelay = 0
fadeLyrInterpolation = 7
fadeMuteEmulator = false
fadeUseBackgrounds = false
fadeWidthBaseRes = 1920
fadeHeightBaseRes = 1080
fadeLyr1Color = FF000000
fadeLyr1AlignImage = Stretch and Lose Aspect
fadeLyr2Pos = Stretch and Lose Aspect
fadeLyr2X = 0
fadeLyr2Y = 0
fadeLyr2W =
fadeLyr2H =
fadeLyr2Adjust = 1
fadeLyr2PicPad = 0
fadeLyr2Prefix = Extra Layer 1 - Console
fadeLyr3Pos = Center
fadeLyr3X = 450
fadeLyr3Y = 450
fadeLyr3W =
fadeLyr3H =
fadeLyr3Adjust = 1
fadeLyr3PicPad = 0
fadeLyr3Speed = 750
fadeLyr3Animation = DefaultFadeAnimation
fadeLyr37zAnimation = DefaultFadeAnimation
fadeLyr3Type = imageandbar
fadeLyr3ImgFollow7zProgress = true
fadeLyr3Repeat = 1
fadeLyr3BackImageTransparency = 30
fadeLyr3StaticPos = No Alignment
fadeLyr3StaticX = 0
fadeLyr3StaticY = 870|1575
fadeLyr3StaticW =
fadeLyr3StaticH =
fadeLyr3StaticAdjust = 1
fadeLyr3StaticPicPad = 0
fadeLyr3StaticPrefix = Info Bar
fadeLyr4Adjust = 1
fadeLyr4X = 1792|952
fadeLyr4Y = 891|1596
fadeLyr4W = 128
fadeLyr4H =
fadeLyr4Pos = No Alignment
fadeLyr4FPS = 50
fadeLyr4PicPad = 0
fadeTranspGifColor = FFFFFF
fadeBarWindow = Image
fadeBarWindowX =
fadeBarWindowY =
fadeBarWindowW = 900
fadeBarWindowH =
fadeBarWindowR = 30
fadeBarWindowM = 30
fadeBarWindowHatchStyle = 8
fadeBar = 7zOnly
fadeBarNon7zProgressTime = 0
fadeBarBack = true
fadeBarBackColor = FF555555
fadeBarH = 30
fadeBarR = 10
fadeBarColor = DD00BFFF
fadeBarHatchStyle = 8
fadeBarPercentageText = true
fadeBarInfoText = true
fadeBarXOffset = 0
fadeBarYOffset = 150
fadeRomInfoDescription = filtered text
fadeRomInfoSystemName = image
fadeRomInfoYear = text with label
fadeRomInfoManufacturer = text with label
fadeRomInfoGenre = disabled
fadeRomInfoRating = image
fadeRomInfoOrder = Description|SystemName|Year|Manufacturer|Genre|Rating
fadeRomInfoTextPlacement = User Defined
fadeRomInfoTextMargin = 7
fadeRomInfoText1Options = w1600|787 h90 x165 y870|1575 cFFE1E1E1 r4 s90 Left Regular
fadeRomInfoText2Options = w400 x8 y15 cFF555555 r4 s60 Bold
fadeRomInfoText3Options = w310 x165 y960|1665 cFFE1E1E1 r4 s66 Left Regular
fadeRomInfoText4Options = w1305|492 h66 x460 y960|1665 cFFE1E1E1 r4 s66 Left Regular
fadeRomInfoText5Options = cFF555555 r4 s42 Bold
fadeRomInfoText6Options = h135 x15 y885|1590 cFFCFCFCA r4 s120 Regular
fadeStats_Number_of_Times_Played = text with label
fadeStats_Last_Time_Played = text with label
fadeStats_Average_Time_Played = text with label
fadeStats_Total_Time_Played = text with label
fadeStats_System_Total_Played_Time = text with label
fadeStats_Total_Global_Played_Time = text with label
fadeStatsInfoOrder = Number_of_Times_Played|Last_Time_Played|Average_Time_Played|Total_Time_Played|System_Total_Played_Time|Total_Global_Played_Time
fadeStatsInfoTextPlacement = topRight
fadeStatsInfoTextMargin = 7
fadeStatsInfoText1Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText2Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText3Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText4Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText5Options = cFFB4B4B4 r4 s22 Bold
fadeStatsInfoText6Options = cFFB4B4B4 r4 s22 Bold
fadeText1X = 0
fadeText1Y = 0
fadeText1Options = cFFB4B4B4 r4 s30 Right Bold
fadeText1 = Loading Game
fadeText2X = 0
fadeText2Y = 0
fadeText2Options = cFFB4B4B4 r4 s30 Right Bold
fadeText2 = Extraction Complete, Ready
fadeText3 = Loading Game
fadeText4 = Loading Complete
fadeFont = Bebas Neue
fadeSystemAndRomLayersOnly = false
fadeExtractionTime = disabled
fadeExtractionTimeTextX = 0
fadeExtractionTimeTextY = 0
fadeExtractionTimeTextOptions = cFF555555 r4 s20 Bold
fadeInterruptKey =
detectFadeErrorEnabled = true
fadeImgPath = H:\HyperSpin\RocketLauncher\Media\Fade
RLDataPath = H:\HyperSpin\RocketLauncher\Data
RLMediaPath = H:\HyperSpin\RocketLauncher\Media
RLErrSoundPath = H:\HyperSpin\RocketLauncher\Media\Sounds\Error
modulesPath = H:\HyperSpin\RocketLauncher\Modules
moduleFullName = H:\HyperSpin\RocketLauncher\Modules\MAME\MAME.ahk
moduleName = MAME
modulePath = H:\HyperSpin\RocketLauncher\Modules\MAME
moduleExtension = ahk
moduleExtensionsPath = H:\HyperSpin\RocketLauncher\Module Extensions
libPath = H:\HyperSpin\RocketLauncher\Lib
7zEnabled = false
7zPath = H:\HyperSpin\RocketLauncher\Module Extensions\7z.exe
7zDllPath = H:\HyperSpin\RocketLauncher\Module Extensions\7z.dll
7zExtractPath = H:\HyperSpin\Settings
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
mgWidthBaseRes = 1920
mgHeightBaseRes = 1080
mgYOffset = 500|800
mgFont = Arial
mgText1Options = x10p y250|500 w80p Center cBBFFFFFF r4 s100 BoldItalic
mgText1Text = Please select a game
mgText2Options = w96p cFFFFFFFF r4 s50 Center BoldItalic
mgText2Offset = 100
mgUseSound = true
mgSoundfreq = 300
mgExitEffect = none
mgSelectedEffect = rotate
mgUseGameArt = false
mgCandidate =
mgValidTypes = (Disc,(Disk,(Cart,(Tape,(Cassette,(Part,(Side
mgOnLaunch = false
pauseEnabled = false
pauseKey = ~NumpadAdd
pauseBackToMenuBarKey = X
pauseZoomInKey = C
pauseZoomOutKey = V
pauseScreenshotKey = ~PrintScreen
pauseHiToTextPath = H:\HyperSpin\RocketLauncher\Module Extensions\HiToText.exe
pauseSaveStateKeyCodes = {shift down}{F7 down}{F7 up}{shift up}
pauseLoadStateKeyCodes = {F7 down}{F7 up}
keymapperEnabled = false
keymapperAHKMethod = false
keymapper = xpadder
xpadderFullPath = H:\HyperSpin\Utilities\Xpadder\xpadder.exe
joyToKeyFullPath = H:\HyperSpin\Utilities\JoyToKey\JoyToKey.exe
keymapperProfilePath = H:\HyperSpin\RocketLauncher\Profiles\xpadder
keymapperFrontEndProfileName = RocketLauncherUI
keymapperFrontEndProfile = false
keymapperRocketLauncherProfileEnabled = false
JoyIDsEnabled = false
JoyIDsPreferredControllersSystem = use_global
JoyIDsPreferredControllersGlobal =
CustomJoyNamesEnabled = false
CustomJoyNames =
rotateMethod = false
FEProfile = H:\HyperSpin\RocketLauncher\Profiles\xpadder\RocketLauncherUI
defaultProfile = H:\HyperSpin\RocketLauncher\Profiles\xpadder\_Default
systemProfile = H:\HyperSpin\RocketLauncher\Profiles\xpadder\MAME
xPadderSystemProfile = H:\HyperSpin\RocketLauncher\Profiles\xpadder\MAME\_Default
emuProfile = H:\HyperSpin\RocketLauncher\Profiles\xpadder\MAME\MAME
romProfile = H:\HyperSpin\RocketLauncher\Profiles\xpadder\MAME\1941j
RocketLauncherProfile = H:\HyperSpin\RocketLauncher\Profiles\xpadder\RocketLauncher
blankProfile = H:\HyperSpin\RocketLauncher\Profiles\xpadder\_Default\blank
ahkFEProfile = H:\HyperSpin\RocketLauncher\Profiles\AHK\RocketLauncherUI
ahkDefaultProfile = H:\HyperSpin\RocketLauncher\Profiles\AHK\_Default
ahkSystemProfile = H:\HyperSpin\RocketLauncher\Profiles\AHK\MAME
ahkEmuProfile = H:\HyperSpin\RocketLauncher\Profiles\AHK\MAME\MAME
ahkRomProfile = H:\HyperSpin\RocketLauncher\Profiles\AHK\MAME\1941j
ahkRocketLauncherProfile = H:\HyperSpin\RocketLauncher\Profiles\AHK\RocketLauncher
bezelEnabled = false
bezelICEnabled = false
statisticsEnabled = true
pressDuration = -1
emuVolume = 1
dxwndIni = H:\HyperSpin\RocketLauncher\Module Extensions\dxwnd\dxwnd.ini
dxwndFullPath = H:\HyperSpin\RocketLauncher\Module Extensions\dxwnd\dxwnd.exe
mon1O = 0
pacDrivedllFile = H:\HyperSpin\RocketLauncher\Module Extensions\PacDrive32.dll
userFadeAnimIniFile = H:\HyperSpin\RocketLauncher\Lib\User Fade Animations.ini
20:39:13:125 | RL | INFO | +0 | BuildScript - Loaded XHotkey Init.ahk scripts
20:39:13:126 | RL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts
20:39:13:126 | RL | WARNING | +0 | BuildScript - "H:\HyperSpin\RocketLauncher\Lib\User Functions Init.ahk" not found
20:39:13:126 | RL | INFO | +0 | BuildScript - Validating module
20:39:13:127 | RL | INFO | +0 | BuildScript - Validation complete
20:39:13:127 | RL | INFO | +0 | BuildScript - Module:
MEmu = MAME
MEmuV = v0.160
MURL = http://www.mame.net/
MAuthor = djvj
MVersion = 2.1.12
MCRC = 2253BE34
iCRC = CA5CEF4B
MID = 635038268903403479
MSystem = "AAE","Cave","Capcom","LaserDisc","MAME","Nintendo Arcade Systems","Sega Model 1","Sega ST-V","SNK Neo Geo","SNK Neo Geo AES","SNK Neo Geo MVS"
;----------------------------------------------------------------------------
; Notes:
; No need to edit mame.ini and set your rom folder, module sends the rompath for you.
; Command Line Options - http://easyemu.mameworld.info/mameguide/mameguide-options.html
; High Scores DO NOT SAVE when cheats are enabled!
; HLSL Documentation: http://mamedev.org/source/docs/hlsl.txt.html
; If you use MAME for AAE, create a vector.ini in mame's ini subfolder and paste these HLSL settings in there: http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Number=309968&page=&view=&sb=5&o=&vc=1
;
; Bezels:
; Module settings control whether RocketLauncher or MAME bezels are shown
; In the bezel normal mode only RocketLauncher Bezels will be show and the MAME use_bezels option will be forced disbaled
; In the bezel layout mode, RocketLauncher Bezels will be drawn only when you do not have a layout file on your MAME folders for the current game
;
; ServoStik:
; The module will automatically control any connected ServoStiks found on the system.
; It does this by reading the xml info from MAME. If that XML info has directional info at 4 or less, 4-way mode will be enabled. All others get 8-way mode.
;
; Ini Files:
; Module will set most settings through command line which will override any settings you might have on your MAME ini files. Everything else will be read from
; those. MAME supports a hieraquical ini file structure and will load settings from several ini files following a specific order:
;- mame.ini
;- <mymame>.ini (i.e. if MAME was renamed mame060.exe, MAME parses mame060.ini here)
;- debug.ini (if the debugger is enabled)
;- <parent>.ini (for clones only, may be called recursively)
;- <gamename>.ini
;- vertical.ini (for games with vertical monitor orientation)
;- horizont.ini (for games with horizontal monitor orientation)
;- vector.ini (for vector games only)
;- <driver>.ini (based on the source filename of the driver)
;
;The settings in the later ini's override those in the earlier ini's.
;----------------------------------------------------------------------------
StartModule()
BezelGUI()
FadeInStart()
settingsFile := modulePath . "\" . moduleName . ".ini"
Fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1)
legacyMode := IniReadCheck(settingsFile, "Settings|" . systemName . "|" . romName, "LegacyMode","false",,1)
hlsl := IniReadCheck(settingsFile, "Settings|" . systemName . "|" . romName, "HLSL","false",,1)
glsl := IniReadCheck(settingsFile, "Settings|" . systemName . "|" . romName, "GLSL","false",,1)
bezelMode := IniReadCheck(settingsFile, "Settings|" . systemName . "|" . romName, "BezelMode","layout",,1) ; "layout" or "normal"
Videomode := IniReadCheck(settingsFile, "Settings", "Videomode","d3d",,1)
pauseMethod := IniReadCheck(settingsFile, "Settings", "PauseMethod",1,,1) ; set the pause method that works better on your machine (preferred methods 1 and 2) 1 = Win7 and Win8 OK - Problems with Win XP, 2 = preferred method for WinXP - Problems in Win7, 3 and 4 = same as 1 and 2, 5 = only use If you have a direct input version of mame, 6 = suspend mame process method, it could crash mame in some computers
verticalRotationMode := IniReadCheck(settingsFile, "Settings|" . systemName . "|" . romName, "VerticalRotationMode","none",,1)
cheatMode := IniReadCheck(settingsFile, "Settings", "CheatMode","false",,1)
cheatModeKey := IniReadCheck(settingsFile, "Settings", "CheatModeKey",A_Space,,1) ; user defined key to be held down before launching a mame rom.
sysParams := IniReadCheck(settingsFile, systemName, "Params", A_Space,,1)
romParams := IniReadCheck(settingsFile, romName, "Params", A_Space,,1)
mameRomName := IniReadCheck(settingsFile, romName, "MameRomName", A_Space,,1)
Artwork_Crop := IniReadCheck(settingsFile, systemName . "|" . romName, "Artwork_Crop", "true",,1)
Use_Bezels := IniReadCheck(settingsFile, systemName . "|" . romName, "Use_Bezels", "false",,1)
Use_Overlays := IniReadCheck(settingsFile, systemName . "|" . romName, "Use_Overlays", "true",,1)
Use_Backdrops := IniReadCheck(settingsFile, systemName . "|" . romName, "Use_Backdrops", "true",,1)
Use_Cpanels := IniReadCheck(settingsFile, systemName . "|" . romName, "Use_Cpanels", "false",,1)
Use_Marquees := IniReadCheck(settingsFile, systemName . "|" . romName, "Use_Marquees", "false",,1)
autosave := IniReadCheck(settingsFile, systemName . "|" . romName, "Autosave", "false",,1)
volume := IniReadCheck(settingsFile, "Settings|" . systemName . "|" . romName, "Volume",,,1)
inipath := IniReadCheck(settingsFile, systemName, "IniPath", "",,1)
artworkCrop := If (Artwork_Crop = "true") ? " -artwork_crop" : " -noartwork_crop"
useBezels := If (Use_Bezels = "true") ? " -use_bezels" : " -nouse_bezels"
useOverlays := If (Use_Overlays = "true") ? " -use_overlays" : " -nouse_overlays"
useBackdrops := If (Use_Backdrops = "true") ? " -use_backdrops" : " -nouse_backdrops"
UseCpanels := If (Use_Cpanels = "true") ? " -use_cpanels" : " -nouse_cpanels"
UseMarquees := If (Use_Marquees = "true") ? " -use_marquees" : " -nouse_marquees"
; Get MAME version from executable, this is needed since some CLI switches are not available in older MAME versions
exeAtrib := FileGetVersionInfo_AW( EmuPath . "\" . executable, "FileVersion|ProductVersion", "|" )
Loop, Parse, exeAtrib, |%A_Tab%, %A_Space%
A_Index & 1 ? ( _ := A_LoopField ) : ( %_% := A_LoopField )
If (ProductVersion)
StringRight, MAMEVersion, ProductVersion, StrLen(ProductVersion) - 2
Log("Detected MAME Product Version from '" . EmuPath . "\" . executable . "' is " . MAMEVersion)
If inipath
inipath := AbsoluteFromRelative(EmuPath, inipath)
If (verticalRotationMode = "none")
verticalRotationMode := ""
hideEmuObj := Object(dialogOpen . " ahk_class ConsoleWindowClass",0,"ahk_class MAME",1) ;Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later
; Process mame's ListXML for certain features
If (bezelEnabled = "true" || servoStikEnabled != "false" || verticalRotationMode) {
ListXMLObject := Object()
ListXMLObject := ListXMLInfo(romName)
If (bezelEnabled = "true") {
If (bezelMode = "layout"){
BezelStart("layout",ListXMLObject["Parent"].Value,ListXMLObject["Angle"].Value,romName)
} Else { ;bezel mode = normal
useBezels := " -nouse_bezels" ; force disabling MAME built-in bezels
BezelStart(,,ListXMLObject["Angle"].Value)
}
}
If (servoStikEnabled != "false") {
ServoStik(If ListXMLObject["Ways"].Value <= 4 ? 4 : 8) ; If "ways" in the xml is set to 4 or less, the servo will go into 4-way mode, else 8-way mode will be enabled
}
If (verticalRotationMode && ListXMLObject["Angle"].Value) {
If (verticalRotationMode = "original")
verticalRotationMode := " -rotate"
Else If (verticalRotationMode = "right")
verticalRotationMode := " -ror"
Else If (verticalRotationMode = "left")
verticalRotationMode := " -rol"
Else
verticalRotationMode := ""
}
Else
verticalRotationMode := ""
}
; -romload part of 147u2 that shows what roms were checked when missing roms
winstate := If (Fullscreen = "true") ? "Hide UseErrorLevel" : "UseErrorLevel"
fullscreen := If (Fullscreen = "true") ? " -nowindow" : " -window"
If (Videomode = "opengl")
{
hlsl := " -nohlsl_enable"
If (MAMEVersion > 159)
glsl := If glsl = "true" ? " -gl_glsl" : (If glsl = "ini" ? "" : " -nogl_glsl")
Else
glsl := ""
}
Else
{
hlsl := If hlsl = "true" ? " -hlsl_enable" : (If hlsl = "ini" ? "" : " -nohlsl_enable")
If (MAMEVersion > 159)
glsl := " -nogl_glsl"
Else
glsl := ""
If (Videomode = "ini")
Videomode := ""
}
videomode := If (Videomode != "" ) ? " -video " . videomode : ""
sysParams := If sysParams != "" ? A_Space . sysParams : ""
romParams := If romParams != "" ? A_Space . romParams : ""
autosave := If autosave = "true" ? " -autosave" : ""
volume := If volume != "" ? " -volume " . volume : ""
inipath := If inipath != "" ? " -inipath """ . inipath . """" : ""
StringReplace,mameRomPaths,romPathFromIni,|,`"`;`",1 ; replace all instances of | to ; in the Rom_Path from Emulators.ini so mame knows where to find your roms
mameRomPaths := " -rompath """ . (If mameRomName ? romPath : mameRomPaths) . """" ; if using an alt rom, only supply mame with the path to that rom so it doesn't try to use the original rom
If InStr(romParams,"-rompath")
ScriptError("""-rompath"" is defined as a parameter for " . romName . ". The MAME module fills this automatically so please remove this from Params in the module's settings.")
If InStr(sysParams,"-rompath")
ScriptError("""-rompath"" is defined as a parameter for " . systemName . ". The MAME module fills this automatically so please remove this from Params in the module's settings.")
If mameRomName {
FileMove, %romPath%\%romName%%romExtension%, %romPath%\%mameRomName%%romExtension% ; rename rom to match what mame needs
originalRomName := romName ; store romName from database so we know what to rename it back to later
romName := mameRomName
If ErrorLevel
ScriptError("There was a problem renaming " . romName . " to " . mameRomName . " in " . romPath . ". Please check you have write permission to this folder/file and you don't already have a file named """ . mameRomName . """ in your rom folder.",8)
Else ; if rename was successful, set var so we know to move it back later
fileRenamed = 1
}
If cheatMode = true
{ If (!FileExist(emuPath . "\cheat.zip") && !FileExist(emuPath . "\cheat.7z"))
ScriptError("You have cheats enabled for " . MEmu . " but could not locate a ""cheat.zip"" or ""cheat.7z"" in " . emuPath)
If cheatModeKey ; if user wants to use a key to enable CheatMode
cheatEnabled := If XHotkeyAllKeysPressed(cheatModeKey) ? " -cheat" : "" ; only enables cheatMode when key is held down on launch
Else ; no cheat mode key defined
cheatEnabled := " -cheat"
}
HideEmuStart()
If legacyMode = true
errLvl := Run(executable . A_Space . romName . fullscreen . cheatEnabled . volume . mameRomPaths . sysParams . romParams, emuPath, winstate)
Else
errLvl := Run(executable . A_Space . romName . fullscreen . hlsl . glsl . cheatEnabled . volume . inipath . verticalRotationMode . videomode . artworkCrop . useBezels . useOverlays . useBackdrops . UseCpanels . UseMarquees . mameRomPaths . sysParams . romParams . autosave, emuPath, winstate)
If errLvl {
If (errLvl = 1)
Error = Failed Validity
Else If(errLvl = 2)
Error = Missing Files
Else If(errLvl = 3)
Error = Fatal Error
Else If(errLvl = 4)
Error = Device Error
Else If(errLvl = 5)
Error = Game Does Not Exist
Else If(errLvl = 6)
Error = Invalid Config
Else If errLvl in 7,8,9
Error = Identification Error
Else
Error = MAME Error
Log("MAME Error - " . Error,3)
}
WinWait("ahk_class MAME")
WinWaitActive("ahk_class MAME")
BezelDraw()
HideEmuEnd()
FadeInExit()
Process("WaitClose", executable)
BezelExit()
If fileRenamed { ; rename file back to alternate name for next launch
FileMove, %romPath%\%romName%%romExtension%, %romPath%\%originalRomName%%romExtension%
If ErrorLevel ; if rename was successful, set var so we know to move it back later
ScriptError("There was a problem renaming " . romName . " back to " . originalRomName)
}
FadeOutExit()
ExitModule()
ListXMLInfo(rom){ ; returns MAME/MESS info about parent rom, orientation angle, resolution
Global emuFullPath, emuPath
ListXMLObject := Object()
listXMLVarLog :=
RunWait, % comspec . " /c " . """" . emuFullPath . """" . " -listxml " . rom . " > tempBezel.txt", %emuPath%, Hide
Fileread, ListxmlContents, %emuPath%\tempBezel.txt
RegExMatch(ListxmlContents, "s)<game.*name=" . """" . rom . """" . ".*" . "cloneof=" . """" . "[^""""]*", parent)
RegExMatch(parent,"cloneof=" . """" . ".*", parent)
RegExMatch(parent,"""" . ".*", parent)
StringTrimLeft, parent, parent, 1
RegExMatch(ListxmlContents, "s)<display.*rotate=" . """" . "[0-9]+" . """", angle)
RegExMatch(angle,"[0-9]+", angle, "-6")
RegExMatch(ListxmlContents, "s)<display.*width=" . """" . "[0-9]+" . """", width)
RegExMatch(width,"[0-9]+", width, "-6")
RegExMatch(ListxmlContents, "s)<display.*height=" . """" . "[0-9]+" . """", Height)
RegExMatch(Height,"[0-9]+", Height, "-6")
RegExMatch(ListxmlContents, "s)<control.*ways=" . """" . "[0-9]+" . """", Ways)
RegExMatch(Ways,"[0-9]+", Ways, "-6")
logVars := "Parent|Angle|Height|Width|Ways"
Loop, Parse, logVars, |
{
currentobj:={}
currentobj.Label := A_Loopfield
currentobj.Value := %A_Loopfield%
ListXMLObject.Insert(currentobj["Label"], currentobj)
listXMLLog .= "`r`n`t`t`t`t`t" . currentobj["Label"] . " = " . currentobj["Value"]
}
Log("Module - MAME ListXML values: " . listXMLLog,5)
If (ListXMLObject["Height"].Value > ListXMLObject["Width"].Value) {
ListXMLObject["Angle"].Value := true
Log("Module - This game's height is greater than its width, forcing vertical mode",5)
}
FileDelete, %emuPath%\tempBezel.txt
Return ListXMLObject
}
HaltEmu:
If pauseMethod = 1
{ disableSuspendEmu = true
disableRestoreEmu = true
PostMessage,0x211, 1, , , ahk_class MAME
} Else If pauseMethod = 2
{ disableSuspendEmu = true
PostMessage,0x211, 1, , , ahk_class MAME
} Else If pauseMethod = 3
{ disableSuspendEmu = true
disableRestoreEmu = true
PostMessage,% 0x0400+6, 1, , , ahk_class MAME
} Else If pauseMethod = 4
{ disableSuspendEmu = true
PostMessage,% 0x0400+6, 1, , , ahk_class MAME
} Else If pauseMethod = 5
{ disableSuspendEmu = true
Send, {P down}
Sleep, 1000
Send, {P up}
}
Return
RestoreEmu:
If pauseMethod = 1
{ PostMessage,0x212, 1, , , ahk_class MAME
WinActivate, ahk_class MAME
} Else If pauseMethod = 2
{ PostMessage,0x212, 1, , , ahk_class MAME
WinActivate, ahk_class MAME
} Else If pauseMethod = 3
{ PostMessage,% 0x0400+6, 0, , , ahk_class MAME
WinActivate, ahk_class MAME
} Else If pauseMethod = 4
{ PostMessage,% 0x0400+6, 0, , , ahk_class MAME
WinActivate, ahk_class MAME
} Else If pauseMethod = 5
{ disableSuspendEmu = true
Send, {P down}
Sleep, 1000
Send, {P up}
WinActivate, ahk_class MAME
} Else If pauseMethod = 6
WinActivate, ahk_class MAME
Return
CloseProcess:
FadeOutStart()
WinClose("ahk_class MAME")
Return
20:39:13:137 | RL | INFO | +16 | BuildScript - Loaded Multi-Player scripts
20:39:13:138 | RL | INFO | +0 | BuildScript - Loaded Statistics.ahk script
20:39:13:138 | RL | WARNING | +0 | BuildScript - "H:\HyperSpin\RocketLauncher\Lib\User Functions.ahk" not found
20:39:13:138 | RL | INFO | +0 | BuildScript - Finished injecting functions into module
20:39:13:139 | RL | INFO | +0 | Main - Module is built
20:39:13:139 | RL | INFO | +0 | CheckFile - Checking if H:\HyperSpin\RocketLauncher\AutoHotkey.dll exists
20:39:13:142 | RL | INFO | +0 | Main - Running module