· 8 years ago · Jul 30, 2018, 06:16 AM
1[code]
223:02:41:238 | RL | INFO | +N/A | Main - RocketLauncher v1.2.0.1 (www.rlauncher.com)
323:02:41:402 | RL | INFO | +171 | Main - System Specs:
4 RocketLauncher Dir: D:\RocketLauncher
5 RocketLauncher is: 32-bit
6 OS: Microsoft Windows 7 Home Premium
7 SKU: Home Premium
8 Total Memory: 4023.07 MB
9 Free Memory: 1195.52 MB
10 Used Memory: 2827.559 MB
11 SystemType: 64-bit
12 Physical Processors: 1
13 Logical Processors: 4
14 GPU 1 Name: AMD Radeon HD 5450
15 GPU 1 RAM: 1024.00 MB
16 GPU 1 Driver Version: 15.301.1901.0
17 Sound 1 Device: Realtek High Definition Audio
18 Sound 1 Status: Enabled
19 Sound 2 Device: AMD High Definition Audio Device
20 Sound 2 Status: Enabled
21 OS Language: English_United_States
22 System Locale: en-CA
23 Formats Locale: en-US
24 Windows UI Language: en-US
25 Text Encoding: Windows-1252
26 OS Admin Status: Yes
27 RL Compatibility Flags:
28 Latest .Net Version: v4.0.30319
29 Monitor #1 (\\.\DISPLAY1): 1680x1050 (1680x1010 work) [32bit] [60hz] [Landscape] (Primary)
30 Current AHK Desktop Width: 1680
31 Current AHK Desktop Height: 1050
32 Monitor #1 DPI: 100
33 ErrorMode: 0
34 AutoHotkey Path:
35 AHK Version: 1.1.13.00
36 Unicode: No
3723:02:41:402 | RL | INFO | +0 | CheckFile - Checking if D:\RocketLauncher\RocketLauncher.exe exists
3823:02:41:402 | RL | INFO | +0 | Main - Raw CLI received: "-s Sega 32X -r After Burner (Japan, USA) -f D:\hyperspin\HyperSpin.exe -p HyperSpin -c 1 -o 1"
3923:02:41:402 | RL | INFO | +0 | Main - Loading Front End Plugin: "HyperSpin"
4023:02:41:402 | RL | INFO | +0 | Main - RocketLauncher received "Sega 32X" and "After Burner (Japan, USA)"
4123:02:41:402 | RL | INFO | +0 | Main - Did not find a "D:\RocketLauncher\Settings\Sega 32X\Game Options.ini" file, skipping any game-specific options.
4223:02:41:402 | RL | INFO | +0 | Main - After Burner (Japan, USA) is using the default emulator: RetroArch
4323:02:41:402 | RL | INFO | +0 | Main - Checking for a [RetroArch] section in D:\RocketLauncher\Settings\Sega 32X\Emulators.ini
4423:02:41:402 | RL | INFO | +0 | Main - Checking for a [RetroArch] section in D:\RocketLauncher\Settings\Global Emulators.ini
4523:02:41:402 | RL | INFO | +0 | Main - Found [RetroArch] in D:\RocketLauncher\Settings\Global Emulators.ini
4623:02:41:402 | RL | INFO | +0 | CheckFile - Checking if D:\RocketLauncher\Modules\RetroArch\RetroArch.ahk exists
4723:02:41:418 | RL | INFO | +16 | Main - CRC Check - CRC matches, this is an official unedited module.
4823:02:41:418 | RL | INFO | +0 | Main - After Burner (Japan, USA) will use module: D:\RocketLauncher\Modules\RetroArch\RetroArch.ahk
4923:02:41:434 | RL | INFO | +16 | Main - Using standard method with "Rom Extension" SkipChecks or without any SkipChecks.
5023:02:41:434 | RL | INFO | +0 | CheckFile - Checking if D:\hyperspin\Emulators\RetroArch\retroarch.exe exists
5123:02:41:434 | RL | INFO | +0 | Main - INI Keys read
5223:02:41:434 | RL | INFO | +0 | CheckFile - Checking if D:\RocketLauncher\Module Extensions\7z.exe exists
5323:02:41:434 | RL | INFO | +0 | CheckFile - Checking if D:\RocketLauncher\Module Extensions\7z.dll exists
5423:02:41:434 | RL | INFO | +0 | Main - "After Burner (Japan, USA)" does not qualify for MultiGame. Only roms with any of these strings in their name are acceptable: \(Disc|\(Disk|\(Cart|\(Tape|\(Cassette|\(Part|\(Side
5523:02:41:434 | RL | INFO | +0 | CheckPaths - Started
5623:02:41:434 | RL | INFO | +0 | CheckPaths - Looking for rom: J:\roms\sega-32X\roms\After Burner (Japan, USA).7z
5723:02:41:434 | RL | INFO | +0 | CheckPaths - Looking for rom by name in subfolder: J:\roms\sega-32X\roms\After Burner (Japan, USA)\After Burner (Japan, USA).7z
5823:02:41:434 | RL | INFO | +0 | CheckPaths - Rom not found
5923:02:41:434 | RL | INFO | +0 | CheckPaths - Looking for rom: J:\roms\sega-32X\roms\After Burner (Japan, USA).rar
6023:02:41:434 | RL | INFO | +0 | CheckPaths - Looking for rom by name in subfolder: J:\roms\sega-32X\roms\After Burner (Japan, USA)\After Burner (Japan, USA).rar
6123:02:41:434 | RL | INFO | +0 | CheckPaths - Rom not found
6223:02:41:434 | RL | INFO | +0 | CheckPaths - Looking for rom: J:\roms\sega-32X\roms\After Burner (Japan, USA).zip
6323:02:41:434 | RL | INFO | +0 | CheckPaths - Found rom: J:\roms\sega-32X\roms\After Burner (Japan, USA).zip
6423:02:41:434 | RL | INFO | +0 | CheckPaths - Ended
6523:02:41:449 | RL | INFO | +15 | BuildScript - User Variables:
66 ;----------------------------------------------------------------------------
67 ; INJECTED VARIABLES
68 ;----------------------------------------------------------------------------
69
70 #NoTrayIcon
71 #InstallKeybdHook
72 MiscUtils.DetectHiddenWindows("On")
73 SetTitleMatchMode, 2
74 SendMode, Event
75 Global RLLog
76 Global RLObject
77 0 := "12"
78 rlPath := "D:\RocketLauncher"
79 pluginPath := "D:\RocketLauncher\Plugins"
80 pluginName := "HyperSpin"
81 pluginExt := ".plugin"
82 contextOnExit := "1"
83 rlMode := ""
84 rlTitle := "RocketLauncher"
85 rlVersion := "1.2.0.1"
86 rlAuthor := "djvj"
87 rlURL := "www.rlauncher.com"
88 langFile := "D:\RocketLauncher\Data\Language\Localization.ini"
89 primMonitor := "1"
90 frontendPID := ""
91 frontendPath := "D:\hyperspin"
92 frontendExe := "HyperSpin.exe"
93 frontendExt := "exe"
94 frontendName := "HyperSpin"
95 frontendDrive := "D"
96 exitEmulatorKey := "~Esc"
97 restoreFE := "false"
98 exitScriptKey := "~1 & ~2"
99 toggleCursorKey := "~e & ~t"
100 emuFullPath := "D:\hyperspin\Emulators\RetroArch\retroarch.exe"
101 emuPath := "D:\hyperspin\Emulators\RetroArch"
102 emuName := "RetroArch"
103 emuExt := "exe"
104 baseRomPath := ""
105 romPath := "J:\roms\sega-32X\roms"
106 romPathFromIni := "J:\roms\sega-32X\roms"
107 romExtension := ".zip"
108 romExtensionOrig := ".zip"
109 romExtensions := "7z|rar|zip|sfc|gba|gb|a78|sv|gbc|rpk|gme|sc|cdt|ws|wsc|ngp|ngc|vms|ipf|n64|z64|sg|fds|caq|vb|vec|wav|cas|min|int|rom|tap|tzx|nes|col|nds|cpr|gg|pce|st2|sms|smc|lnx|md|32x|n64|a52|j64|cso|cue|iso|ccd|chd|bin|ws|wsc|UAE"
110 executable := "retroarch.exe"
111 systemDbName := "Sega 32X"
112 systemName := "Sega 32X"
113 dbPath := ""
114 dbName := "After Burner (Japan, USA)"
115 dbExt := ""
116 romFoundByExt := ""
117 romName := "After Burner (Japan, USA)"
118 romMapPath := ""
119 romMappingEnabled := "false"
120 romMappingLaunchMenuEnabled := "false"
121 romMappingFirstMatchingExt := "false"
122 romMappingShowAllRomsInArchive := "true"
123 romMappingNumberOfGamesByScreen := "7"
124 romMappingHideParent := "false"
125 romMappingMenuWidth := "400"
126 romMappingMenuMargin := "65"
127 romMappingTextFont := "Bebas Neue"
128 romMappingTextOptions := "cFFFFFFFF r4 s60 Bold"
129 romMappingDisabledTextColor := "ff888888"
130 romMappingTextSizeDifference := "7"
131 romMappingTextMargin := "15"
132 romMappingTitleTextFont := "Bebas Neue"
133 romMappingTitleTextOptions := "cFFFFFFFF r4 s90 Bold"
134 romMappingTitle2TextFont := "Bebas Neue"
135 romMappingTitle2TextOptions := "cFFFFFFFF r4 s22 Bold"
136 romMappingGameInfoTextFont := "Bebas Neue"
137 romMappingGameInfoTextOptions := "cFFFFFFFF r4 s22 Regular"
138 romMappingGameNameTextFont := "Bebas Neue"
139 romMappingGameNameTextOptions := "cFFFFFFFF r4 s40 Regular"
140 romMappingBackgroundBrush := "aa000000"
141 romMappingColumnBrush := "33000000"
142 romMappingButtonBrush1 := "6f000000"
143 romMappingButtonBrush2 := "33000000"
144 romMappingBackgroundAlign := "Stretch and Lose Aspect"
145 romMappingMenuFlagWidth := "55"
146 romMappingMenuFlagSeparation := "7"
147 romMappingDefaultMenuList := "FullList"
148 romMappingSingleFilteredRomAutomaticLaunch := "false"
149 altArchiveNameOnly := ""
150 altRomNameOnly := ""
151 altArchiveAndRomName := ""
152 altArchiveAndManyRomNames := ""
153 altRomNamesOnly := ""
154 romMapScenario := ""
155 skipchecks := "false"
156 romMatchExt := "false"
157 blockInputTime := "0"
158 blockInputFile := "D:\RocketLauncher\Module Extensions\BlockInput.exe"
159 errorLevelReporting := "false"
160 lockLaunch := "false"
161 lockLaunchGame := ""
162 screenRotationAngle := "0"
163 screenRotationAngleGame := ""
164 setResolution := ""
165 logFile := ""
166 logLabel := [" INFO"," WARNING"," ERROR"," DEBUG"," TRACE"]
167 logLevel := "3"
168 logShowDebugConsole := "false"
169 logShowCommandWindow := "false"
170 logCommandWindow := "false"
171 logIncludeModule := "true"
172 logIncludeFileProperties := "true"
173 logIncludeDLLLogs := "false"
174 errorSounds := "true"
175 rlDebugConsoleStdout := ""
176 sysLang := "English_United_States"
177 sysType := "64-bit"
178 broadcastWindowTitle := ""
179 navUpKey := "Up"
180 navDownKey := "Down"
181 navLeftKey := "Left"
182 navRightKey := "Right"
183 navSelectKey := "Enter"
184 navP2UpKey := "Numpad8"
185 navP2DownKey := "Numpad2"
186 navP2LeftKey := "Numpad4"
187 navP2RightKey := "Numpad6"
188 navP2SelectKey := "NumpadEnter"
189 originalWidth := "1680"
190 originalHeight := "1050"
191 vdEnabled := "true"
192 vdFullPath := "C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe"
193 vdUseSCSI := "true"
194 vdDriveLetter := "K"
195 vdDriveLetterScsi := "M"
196 vdAddDrive := "true"
197 demulShooterPath := ""
198 servoStikEnabled := "false"
199 servoStikExitMode := "false"
200 ledblinkyEnabled := "false"
201 ledblinkySystemName := ""
202 ledblinkyFullPath := ""
203 ledblinkyProfilePath := "D:\RocketLauncher\Profiles\LEDBlinky"
204 ledblinkyRLProfile := "D:\RocketLauncher\Profiles\LEDBlinky\RocketLauncher"
205 winIPACFullPath := ""
206 ultraMapEnabled := "false"
207 ultraMapFullPath := ""
208 emuIdleShutdown := "0"
209 launchPasswordHash := "UpUpDownDownLeftRightLeftRight"
210 cursorSize := ""
211 hideCursor := "false"
212 hideEmu := "false"
213 hideFE := "false"
214 suspendFE := "false"
215 fadeIn := "true"
216 fadeInDuration := "500"
217 fadeInTransitionAnimation := "DefaultAnimateFadeIn"
218 fadeInDelay := "5000"
219 fadeInExitDelay := "0"
220 fadeOutExitDelay := "0"
221 fadeOut := "true"
222 fadeOutExtraScreen := "true"
223 fadeOutDuration := "500"
224 fadeOutTransitionAnimation := "DefaultAnimateFadeOut"
225 fadeOutDelay := "5000"
226 fadeLyrInterpolation := "7"
227 fadeMuteEmulator := "false"
228 fadeUseBackgrounds := "true"
229 fadeClickThrough := "false"
230 fadeSounds := "true"
231 fade7zProgressMode := "extraction"
232 fadeWidthBaseRes := "1920"
233 fadeHeightBaseRes := "1080"
234 fadeLyr1Color := "FF000000"
235 fadeLyr1AlignImage := "Stretch and Lose Aspect"
236 fadeLyr2Pos := "Stretch and Lose Aspect"
237 fadeLyr2X := "0"
238 fadeLyr2Y := "0"
239 fadeLyr2W := ""
240 fadeLyr2H := ""
241 fadeLyr2Adjust := "1"
242 fadeLyr2PicPad := "0"
243 fadeLyr2Prefix := "Extra Layer 1 - Console"
244 fadeLyr3Pos := "Center"
245 fadeLyr3X := "450"
246 fadeLyr3Y := "450"
247 fadeLyr3W := ""
248 fadeLyr3H := ""
249 fadeLyr3Adjust := "1"
250 fadeLyr3PicPad := "0"
251 fadeLyr3Speed := "750"
252 fadeLyr3Animation := "DefaultFadeAnimation"
253 fadeLyr37zAnimation := "DefaultFadeAnimation"
254 fadeLyr3Type := "imageandbar"
255 fadeLyr3ImgFollow7zProgress := "true"
256 fadeLyr3Repeat := "1"
257 fadeLyr3BackImageTransparency := "30"
258 fadeLyr3StaticPos := "No Alignment"
259 fadeLyr3StaticX := "0"
260 fadeLyr3StaticY := "870|1575"
261 fadeLyr3StaticW := ""
262 fadeLyr3StaticH := ""
263 fadeLyr3StaticAdjust := "1"
264 fadeLyr3StaticPicPad := "0"
265 fadeLyr3StaticPrefix := "Info Bar"
266 fadeLyr4Adjust := "1"
267 fadeLyr4X := "1792|952"
268 fadeLyr4Y := "891|1596"
269 fadeLyr4W := "200"
270 fadeLyr4H := ""
271 fadeLyr4Pos := "Bottom Right Corner"
272 fadeLyr4FPS := "50"
273 fadeLyr4PicPad := "0"
274 fadeTranspGifColor := "FFFFFF"
275 fadeBarWindow := "Image"
276 fadeBarWindowX := ""
277 fadeBarWindowY := ""
278 fadeBarWindowW := "900"
279 fadeBarWindowH := ""
280 fadeBarWindowR := "30"
281 fadeBarWindowM := "30"
282 fadeBarWindowHatchStyle := "8"
283 fadeBar := "7zOnly"
284 fadeProgressDuration := "0"
285 fadeBarBack := "true"
286 fadeBarBackColor := "FF555555"
287 fadeBarH := "30"
288 fadeBarR := "10"
289 fadeBarColor := "DD00BFFF"
290 fadeBarHatchStyle := "8"
291 fadeBarPercentageText := "true"
292 fadeBarInfoText := "true"
293 fadeBarXOffset := "0"
294 fadeBarYOffset := "150"
295 fadeRomInfoDescription := "filtered text"
296 fadeRomInfoSystemName := "image"
297 fadeRomInfoYear := "text with label"
298 fadeRomInfoDeveloper := "disabled"
299 fadeRomInfoPublisher := "disabled"
300 fadeRomInfoGenre := "disabled"
301 fadeRomInfoRating := "image"
302 fadeRomInfoOrder := "Description|SystemName|Year|Developer|Genre|Rating|Publisher"
303 fadeRomInfoTextPlacement := "User Defined"
304 fadeRomInfoTextMargin := "7"
305 fadeRomInfoText1Options := "w1600|787 h90 x165 y870|1575 cFFE1E1E1 r4 s90 Left Regular"
306 fadeRomInfoText2Options := "w400 x8 y15 cFF555555 r4 s60 Bold"
307 fadeRomInfoText3Options := "w310 x165 y960|1665 cFFE1E1E1 r4 s66 Left Regular"
308 fadeRomInfoText4Options := "w1305|492 h66 x460 y960|1665 cFFE1E1E1 r4 s66 Left Regular"
309 fadeRomInfoText5Options := "cFF555555 r4 s42 Bold"
310 fadeRomInfoText6Options := "h135 x15 y885|1590 cFFCFCFCA r4 s120 Regular"
311 fadeRomInfoText7Options := "h135 x15 y885|1590 cFFCFCFCA r4 s120 Regular"
312 fadeStats_Number_of_Times_Played := "text with label"
313 fadeStats_Last_Time_Played := "text with label"
314 fadeStats_Average_Time_Played := "text with label"
315 fadeStats_Total_Time_Played := "text with label"
316 fadeStats_System_Total_Played_Time := "text with label"
317 fadeStats_Total_Global_Played_Time := "text with label"
318 fadeStatsInfoOrder := "Number_of_Times_Played|Last_Time_Played|Average_Time_Played|Total_Time_Played|System_Total_Played_Time|Total_Global_Played_Time"
319 fadeStatsInfoTextPlacement := "topRight"
320 fadeStatsInfoTextMargin := "7"
321 fadeStatsInfoText1Options := "cFFB4B4B4 r4 s22 Bold"
322 fadeStatsInfoText2Options := "cFFB4B4B4 r4 s22 Bold"
323 fadeStatsInfoText3Options := "cFFB4B4B4 r4 s22 Bold"
324 fadeStatsInfoText4Options := "cFFB4B4B4 r4 s22 Bold"
325 fadeStatsInfoText5Options := "cFFB4B4B4 r4 s22 Bold"
326 fadeStatsInfoText6Options := "cFFB4B4B4 r4 s22 Bold"
327 fadeText1X := "0"
328 fadeText1Y := "0"
329 fadeText1Options := "cFFB4B4B4 r4 s30 Right Bold"
330 fadeText1 := "Loading Game"
331 fadeText2X := "0"
332 fadeText2Y := "0"
333 fadeText2Options := "cFFB4B4B4 r4 s30 Right Bold"
334 fadeText2 := "Extraction Complete, Ready"
335 fadeText3 := "Loading Game"
336 fadeText4 := "Loading Complete"
337 fadeFont := "Bebas Neue"
338 fadeSystemAndRomLayersOnly := "false"
339 fadeExtractionTime := "disabled"
340 fadeExtractionTimeTextX := "0"
341 fadeExtractionTimeTextY := "0"
342 fadeExtractionTimeTextOptions := "cFF555555 r4 s20 Bold"
343 fadeInterruptKey := ""
344 detectFadeErrorEnabled := "true"
345 fadeImgPath := "D:\RocketLauncher\Media\Fade"
346 RLDataPath := "D:\RocketLauncher\Data"
347 RLMediaPath := "D:\RocketLauncher\Media"
348 RLErrSoundPath := "D:\RocketLauncher\Media\Sounds\Error"
349 modulesPath := "D:\RocketLauncher\Modules"
350 moduleFullName := "D:\RocketLauncher\Modules\RetroArch\RetroArch.ahk"
351 moduleName := "RetroArch"
352 modulePath := "D:\RocketLauncher\Modules\RetroArch"
353 moduleExtension := "ahk"
354 moduleExtensionsPath := "D:\RocketLauncher\Module Extensions"
355 libPath := "D:\RocketLauncher\Lib"
356 sevenZEnabled := "false"
357 sevenZPath := "D:\RocketLauncher\Module Extensions\7z.exe"
358 sevenZDllPath := "D:\RocketLauncher\Module Extensions\7z.dll"
359 sevenZExtractPath := "C:\Temp Games HS"
360 sevenZExtractPathOrig := ""
361 sevenZAttachSystemName := "false"
362 sevenZDelTemp := "true"
363 sevenZFormats := ".zip|.rar|.7z|.lha|.lzh|.gzip|.tar"
364 sevenZFormatsNoP := "zip|rar|7z|lha|lzh|gzip|tar"
365 sevenZFormatsRegEx := "\.zip|\.rar|\.7z|\.lha|\.lzh|\.gzip|\.tar"
366 sevenZGamesToKeep := ""
367 sevenZDeletePerSystem := "false"
368 sevenZExtensions := "zip|rar|7z|lha|lzh|gzip|tar"
369 7zExtractPath := "C:\Temp Games HS"
370 mgEnabled := "false"
371 mgKey := "~NumpadSub"
372 mgBackgroundColor := "FF000000"
373 mgSidePadding := "0.2"
374 mgWidthBaseRes := "1920"
375 mgHeightBaseRes := "1080"
376 mgYOffset := "500|800"
377 mgFont := "Arial"
378 mgText1Options := "x10p y250|500 w80p Center cBBFFFFFF r4 s100 BoldItalic"
379 mgText1Text := "Please select a game"
380 mgText2Options := "w96p cFFFFFFFF r4 s50 Center BoldItalic"
381 mgText2Offset := "100"
382 mgUseSound := "true"
383 mgSoundfreq := "300"
384 mgExitEffect := "none"
385 mgSelectedEffect := "rotate"
386 mgUseGameArt := "false"
387 mgCandidate := ""
388 mgValidTypes := "\(Disc|\(Disk|\(Cart|\(Tape|\(Cassette|\(Part|\(Side"
389 mgOnLaunch := "false"
390 pauseEnabled := "false"
391 pauseKey := "~NumpadAdd|NumpadPgDn"
392 pauseBackToMenuBarKey := "X"
393 pauseZoomInKey := "C"
394 pauseZoomOutKey := "V"
395 pauseScreenshotKey := "~PrintScreen"
396 pauseHiToTextPath := "D:\RocketLauncher\Module Extensions\HiToText.exe"
397 pauseSaveStateKeyCodes := "{Shift down}{1 down}{1 up}{Shift up}{F3 down}{F3 up}|{Shift down}{2 down}{2 up}{Shift up}{F3 down}{F3 up}|{Shift down}{3 down}{3 up}{Shift up}{F3 down}{F3 up}|{Shift down}{4 down}{4 up}{Shift up}{F3 down}{F3 up}|{Shift down}{5 down}{5 up}{Shift up}{F3 down}{F3 up}|{Shift down}{6 down}{6 up}{Shift up}{F3 down}{F3 up}|{Shift down}{7 down}{7 up}{Shift up}{F3 down}{F3 up}|{Shift down}{8 down}{8 up}{Shift up}{F3 down}{F3 up}|{Shift down}{9 down}{9 up}{Shift up}{F3 down}{F3 up}|{Shift down}{10 down}{10 up}{Shift up}{F3 down}{F3 up}"
398 pauseLoadStateKeyCodes := "{Shift down}{1 down}{1 up}{Shift up}{F4 down}{F4 up}|{Shift down}{2 down}{2 up}{Shift up}{F4 down}{F4 up}|{Shift down}{3 down}{3 up}{Shift up}{F4 down}{F4 up}|{Shift down}{4 down}{4 up}{Shift up}{F4 down}{F4 up}|{Shift down}{5 down}{5 up}{Shift up}{F4 down}{F4 up}|{Shift down}{6 down}{6 up}{Shift up}{F4 down}{F4 up}|{Shift down}{7 down}{7 up}{Shift up}{F4 down}{F4 up}|{Shift down}{8 down}{8 up}{Shift up}{F4 down}{F4 up}|{Shift down}{9 down}{9 up}{Shift up}{F4 down}{F4 up}|{Shift down}{10 down}{10 up}{Shift up}{F4 down}{F4 up}"
399 keyboardEncoder := ""
400 keyboardEncoderEnabled := "false"
401 keymapperEnabled := "false"
402 keymapperAHKMethod := "false"
403 keymapper := "xpadder"
404 xpadderFullPath := "D:\hyperspin\utilities\Xpadder\Xpadder.exe"
405 joyToKeyFullPath := "D:\hyperspin\utilities\JoyToKey_en\JoyToKey.exe"
406 profilePath := "D:\RocketLauncher\Profiles"
407 keymapperProfilePath := "D:\RocketLauncher\Profiles\xpadder"
408 keymapperFrontEndProfileName := "RocketLauncherUI"
409 keymapperFrontEndProfile := "xpadder"
410 keymapperRocketLauncherProfileEnabled := "false"
411 joyIDsEnabled := "false"
412 joyIDsPreferredControllersGlobal := ""
413 joyIDsPreferredControllersSystem := "use_global"
414 joyIDsPreferredControllersOnExit := ""
415 CustomJoyNamesEnabled := "false"
416 CustomJoyNames := ""
417 rotateMethod := "false"
418 FEProfile := "D:\RocketLauncher\Profiles\xpadder\RocketLauncherUI"
419 defaultProfile := "D:\RocketLauncher\Profiles\xpadder\_Default"
420 systemProfile := "D:\RocketLauncher\Profiles\xpadder\Sega 32X"
421 xPadderSystemProfile := "D:\RocketLauncher\Profiles\xpadder\Sega 32X\_Default"
422 emuProfile := "D:\RocketLauncher\Profiles\xpadder\Sega 32X\RetroArch"
423 romProfile := "D:\RocketLauncher\Profiles\xpadder\Sega 32X\After Burner (Japan, USA)"
424 RocketLauncherProfile := "D:\RocketLauncher\Profiles\xpadder\RocketLauncher"
425 blankProfile := "D:\RocketLauncher\Profiles\xpadder\_Default\blank"
426 ahkFEProfile := "D:\RocketLauncher\Profiles\AHK\RocketLauncherUI"
427 ahkDefaultProfile := "D:\RocketLauncher\Profiles\AHK\_Default"
428 ahkSystemProfile := "D:\RocketLauncher\Profiles\AHK\Sega 32X"
429 ahkEmuProfile := "D:\RocketLauncher\Profiles\AHK\Sega 32X\RetroArch"
430 ahkRomProfile := "D:\RocketLauncher\Profiles\AHK\Sega 32X\After Burner (Japan, USA)"
431 ahkRocketLauncherProfile := "D:\RocketLauncher\Profiles\AHK\RocketLauncher"
432 bezelEnabled := "true"
433 bezelICEnabled := "false"
434 shaderName := "false"
435 shaderColor := ""
436 shaderTransparency := ""
437 statisticsEnabled := "true"
438 pressDuration := "-1"
439 emuVolume := "1"
440 dxwndIni := "D:\RocketLauncher\Module Extensions\dxwnd\dxwnd.ini"
441 dxwndFullPath := "D:\RocketLauncher\Module Extensions\dxwnd\dxwnd.exe"
442 qResFullPath := "D:\RocketLauncher\Module Extensions\QRes.exe"
443 mon1O := ""
444 pacDrivedllFile := "D:\RocketLauncher\Module Extensions\PacDrive32.dll"
445 userFadeAnimIniFile := "D:\RocketLauncher\Lib\User Fade Animations.ini"
446 testFile := ""
447 testDuration := ""
448 initialErrorMode := "0"
449
45023:02:41:449 | RL | INFO | +0 | BuildScript - Loaded XHotkey Init.ahk scripts
45123:02:41:449 | RL | INFO | +0 | BuildScript - Loaded Fade Init.ahk scripts
45223:02:41:449 | RL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts
45323:02:41:449 | RL | INFO | +0 | BuildScript - Validating module
45423:02:41:449 | RL | INFO | +0 | BuildScript - Validation complete
45523:02:41:449 | RL | INFO | +0 | BuildScript - Module:
456 MEmu := "RetroArch"
457 MEmuV := "v1.3.6"
458 MURL := ["http://themaister.net/retroarch.html"]
459 MAuthor := ["djvj","zerojay","SweatyPickle"]
460 MVersion := "2.4.3"
461 MCRC := "699AB8F7"
462 iCRC := "FB2DB971"
463 MID := "635038268922229162"
464 MSystem := ["Acorn BBC Micro","AAE","Amstrad CPC","Amstrad GX4000","APF Imagination Machine","Applied Technology MicroBee","Apple IIGS","Arcade Classics","Atari 2600","Atari 5200","Atari 7800","Atari 8-Bit","Atari Classics","Atari Jaguar","Atari Lynx","Atari ST","Atari XEGS","Bally Astrocade","Bandai Gundam RX-78","Bandai Super Vision 8000","Bandai Wonderswan","Bandai Wonderswan Color","Canon X07","Capcom Classics","Capcom Play System","Capcom Play System II","Capcom Play System III","Casio PV-1000","Casio PV-2000","Cave","Coleco ADAM","ColecoVision","Commodore MAX Machine","Commodore Amiga","Creatronic Mega Duck","Data East Classics","Dragon Data Dragon","Emerson Arcadia 2001","Entex Adventure Vision","Elektronika BK","Epoch Game Pocket Computer","Epoch Super Cassette Vision","Exidy Sorcerer","Fairchild Channel F","Final Burn Alpha","Funtech Super Acan","GamePark 32","GCE Vectrex","Hartung Game Master","Interton VC 4000","Irem Classics","JungleTac Sport Vii","Konami Classics","MAME","Magnavox Odyssey 2","Microsoft MSX","Microsoft MSX2","Matra & Hachette Alice","Mattel Aquarius","Mattel Intellivision","Midway Classics","Namco Classics","Namco System 22","NEC PC Engine","NEC PC Engine-CD","NEC PC-FX","NEC TurboGrafx-16","NEC SuperGrafx","NEC TurboGrafx-CD","Nintendo 64","Nintendo 64DD","Nintendo Arcade Systems","Nintendo Classics","Nintendo DS","Nintendo Entertainment System","Nintendo Famicom","Nintendo Famicom Disk System","Nintendo Game Boy","Nintendo Game Boy Color","Nintendo Game Boy Japan","Nintendo Game Boy Advance","Nintendo Game & Watch","Nintendo Super Game Boy","Nintendo Pokemon Mini","Nintendo Virtual Boy","Nintendo Super Famicom","Nintendo Satellaview","Nintendo SuFami Turbo","Panasonic 3DO","Elektronska Industrija Pecom 64","Philips CD-i","Philips Videopac","RCA Studio II","ScummVM","Sega 32X","Sega Classics","Sega Mega Drive 32X","Sega Mark III","Sega SC-3000","Sega SG-1000","Sega CD","Sega Dreamcast","Sega Game Gear","Sega Genesis","Sega Master System","Sega Mega Drive","Sega Meganet","Sega Nomad","Sega Pico","Sega Saturn","Sega Saturn Japan","Sega VMU","Sega ST-V","Sharp X1","Sharp X68000","Sinclair ZX Spectrum","Sinclair ZX81","Sony PlayStation","Sony PlayStation Minis","Sony PocketStation","Sony PSP","Sony PSP Minis","Sord M5","SNK Classics","SNK Neo Geo","SNK Neo Geo AES","SNK Neo Geo MVS","SNK Neo Geo Pocket","SNK Neo Geo CD","SNK Neo Geo Pocket Color","Spectravideo","Super Nintendo Entertainment System","Taito Classics","Tandy TRS-80 Color Computer","Technos","Texas Instruments TI 99-4A","Thomson MO5","Thomson TO7","Tiger Game.com","Tiki-100","Tomy Tutor","VTech CreatiVision","Watara Supervision","Williams Classics"]
465 ;----------------------------------------------------------------------------
466 ; Notes:
467 ; If the emu doesn't load and you get no error, usually this means the LibRetro DLL is not working!
468 ; Devs stated they will never add support for mounted images (like via DT)
469 ; Fullscreen is controlled via the module setting in RocketLauncherUI
470 ; This module uses the CLI version of RetroArch (retroarch.exe), not the GUI (retroarch-phoenix.exe).
471 ; The emu may make a mouse cursor appear momentarily during launch, MouseMove and hide_cursor seem to have no effect
472 ; Enable 7z support for archived roms
473 ; Available CLI options: https://github.com/PyroFilmsFX/iOS/blob/master/docs/retroarch.1
474 ;
475 ; LibRetro DLLs:
476 ; LibRetro DLLs come with the emu, but here is another source for them: http://forum.themaister.net/
477 ; Whatever cores you decide to use, make sure they are extracted anywhere in your Emu_Path\cores folder. The module will find and load the default core unless you choose a custom one for each system.
478 ; You can find supported cores that Retroarch supports simply by downloading them from the "retroarch-phoenix.exe" or by visiting here: https://github.com/libretro/libretro.github.com/wiki/Supported-cores
479 ; Some good discussion on cores and filters: http://forum.themaister.net/viewtopic.php?id=270
480 ;
481 ; SRM files:
482 ; The srm files location is determined by the configuration file used (savefile_directory = ":\whatever") The default RetroArch srm directory is ":\saves" You can select to sort into core folders (ie: :/saves/Mednafen PSX) by changing sort_savefiles_enable = "true" in the configuration file.
483 ;
484 ; Save states:
485 ; The save state files location is determined by the configuration file used (savestate_directory = ":\whatever") The default RetroArch savestate directory is ":\states" You can select to sort into core folders (ie: :/states/Mednafen PSX) by changing sort_savestates_enable = "true" in the configuration file.
486 ;
487 ; Config files:
488 ; By default, the module looks for config files in a folder called config in the RetroArch folder. Example: C:\emus\RetroArch\config. You can change this folder to anything you like by changing the module's ConfigFolder setting in RocketLauncherUI. This will be the config folder for the module and will NOT change the location of RetroArch's own /config directory.
489 ; RetroArch's global config file is called "retroarch.cfg". RetroArch will use a system cfg file named to match your System Name (example: Nintendo Entertainment System.cfg).
490 ; RetroArch will also load core config files named after the core name. Example: nestopia_libretro.cfg
491 ; This allows different settings globally, for each system, and for each core. If you want all systems to use the same retroarch.cfg, do not have any system or core cfg files, only have the retroarch.cfg.
492 ; If a core config exists, it takes precedence over the global config. And if a system config exists, it takes precedence over the core config.
493 ;
494 ; Core Options:
495 ; By default, RetroArch creates a retroarch-core-options.cfg in it's root directory. Example: C:\emus\RetroArch\retroarch-core-options.cfg. This will always be used if the default RetroArch.cfg is loaded. If a configuration file from any other location is used, RetroArch will create a retroarch-core-options.cfg file in the root of that directory. The module has an option to have RetroArch use only the default retroarch-core-options.cfg file no matter the path of the config directory or location of the configuiration file being used. To enable this option set Single_Core_Options to true.
496
497 ; MultiGame:
498 ; MultiGame support is currently only available for the Mednafen PSX core. Retroarch uses the same method as Mednafen to load multi-disc games. This method involves m3u playlists which are commonly used for music. The m3u files needed to load multi-disc games are generated for you by the module when you launch a multi-disc game and are saved to your corresponding rom directory. Due to m3u limitations, your multi-disc roms/images cannot be archived -- they must be unzipped. All single disc games can remain archived and you can still enable 7z under system settings. If you do not wish to use MultiGame support you can archive your roms/images and m3u generation will be skipped on launch.
499 ; The m3u files generated by the module contain a list of paths to all roms/images in the multi-disc set. Retroarch automatically loads the first path in the m3u so the first path will always be the disc you are loading. For example, Final Fantasy VII has 3 discs and if you load Disc 2 first, the order of the paths in the m3u will be disc 2, disc 3, disc 1. If you load Disc 3 first, the order will be disc 3, disc 1, disc 2. The module anticipates this and will load the correct disk, selected from the Pause/MultiDisk menus. However if you choose to manually use Retroarch's UI or disk swap keys to change discs, you will need to keep this in mind.
500 ; In order for RocketLauncher's MultiGame UI to swap discs, you must define Eject_Toggle_Key, Next_Disk_Key, and Previous_Disk_Key under global settings for the emulator in RocketLauncher. Because AHK and Retroarch use different naming conventions for some keyboard keys, it is best to use a letter, a number, or F1-F12.
501 ;
502 ; MAME:
503 ; MAME BIOS roms should be placed in Rom Path's directory. Some systems require the BIOS roms be placed in the MAME internal name directory. (Example: :\Rom Folder\a5200). The MAME BIOS_Roms_Folder option will have no effect unless you are using an older version of the mess core.
504 ;
505 ; System Specific Notes:
506 ; Microsoft MSX/MSX2: Launch an MSX game and in the core options, set the console to be an MSX2 and it will play both just fine.
507 ; Nintendo Famicom Disk System - Requires disksys.rom be placed in the folder you define as system_directory in the RetroArch's cfg.
508 ; Sega CD - Requires "bios_CD_E.bin", "bios_CD_J.bin", "bios_CD_U.bin" all be placed in the folder you define as system_directory in the RetroArch's cfg.
509 ; Super Nintendo Entertainment System - requires split all 10 dsp# & st### roms all be placed in the folder you define as system_directory in the RetroArch's cfg. Many games, like Super Mario Kart require these.
510 ; NEC TurboGrafx-CD (using pce fast core) - Requires "syscard3.pce" be placed in the folder you define as system_directory in the RetroArch's cfg.
511 ; NEC TurboGrafx-CD (using MAME core)
512 ; - You'll need to update a couple mame specific options in the Retroarch core options file to get it to boot from the cli. These should probably be updated automagically by the module. Turning softlists off, but might not need to.
513 ; mame_boot_from_cli = "enabled"
514 ; mame_softlists_enable = "disabled"
515 ; mame_softlists_auto_media = "disabled"
516 ; - Requires hash folder from MAME/MESS/UME, either from the source or release package. Save this in the system_directory you've defined for RetroArch. Something like \RetroArch\system\mame\hash\
517 ; - Requires the CD bios file(s) saved in the mame bios folder you've defined. Usually \RetroArch\system\mame\bios\
518 ; For PC Engine-CD you'll need the file "[cd] cd-rom system (japan) (v2.1).pce" zipped as cdsys.zip and saved in a pce subfolder in your bios path, so \RetroArch\system\mame\bios\pce\cdsys.zip
519 ; For PC Engine SuperGrafx-CD you'll need the file "[cd] super cd-rom system (japan) (v3.0).pce" zipped as scdsys.zip and saved in a pce subfolder in your bios path, so \RetroArch\system\mame\bios\pce\scdsys.zip
520 ; For TurboGrafx-CD you'll need the file "[cd] turbografx cd system card (usa) (v2.0).pce" zipped as cdsys.zip and saved in a tg16 subfolder in your bios path, so \RetroArch\system\mame\bios\tg16\cdsys.zip
521 ; For TurboDuo you'll need the file "[cd] turbografx cd super system card (usa) (v3.0).pce" zipped as scdsys.zip and saved in a tg16 subfolder in your bios path, so \RetroArch\system\mame\bios\tg16\scdsys.zip
522 ; Nintendo Super Game Boy - Set the Module setting in RocketLauncherUI SuperGameBoy to true to enable a system or only a rom to use SGB mode. This is not needed if your systemName is set to the official name of "Nintendo Super Game Boy". Requires "sgb.boot.rom" and "Super Game Boy (World).sfc" to be placed in the folder you define as system_directory in the RetroArch's cfg. This is needed if you want to use Super game boy mode and color palettes. Also requires using the latest bsnes core. Not all games support SGB mode.
523 ; Sony PSP/PlayStation Minis: To avoid the dialog box complaining about ppge_atlas.zim, download it from https://github.com/libretro/libretro-ppsspp/blob/master/assets/ppge_atlas.zim and place it in your Retroarch/system/PPSSPP/ directory.
524 ;----------------------------------------------------------------------------
525 StartModule()
526 BezelGUI()
527 FadeInStart()
528
529 primaryExe := new Emulator(emuPath . "\" . executable) ; instantiate emulator executable object
530 emuPrimaryWindow := new Window(new WindowTitle("RetroArch","RetroArch")) ; instantiate primary emulator window object
531 emuConsoleWindow := new Window(new WindowTitle("","ConsoleWindowClass")) ; instantiate emulator console window object
532
533 ; Here we define all supported systems for this module. This object controls how the module reacts to different systems. RetroArch can play a lot of systems, but needs to know what system you want to run, so this module has to adapt.
534 ; 1 - Official System Name in RocketLauncher
535 ; 2 - Short name used only for easy referencing within module
536 ; 3 - Default core
537 ; 4 - The system ID MAME core recognizes
538 RLLog.Debug("Module - Started building the " . MEmu . " object")
539 mTypeVar:="
540 ( LTrim
541 AAE|LibRetro_AAE|mame_libretro
542 Acorn BBC Micro|LibRetro_BBCB|mame_libretro|bbcb
543 Amstrad CPC|LibRetro_CPC|mame_libretro|cpc464
544 Amstrad GX4000|LibRetro_GX4K|mame_libretro|gx4000
545 APF Imagination Machine|LibRetro_APF|mame_libretro|apfimag
546 Apple IIGS|LibRetro_AIIGS|mame_libretro|apple2gs
547 Applied Technology MicroBee|LibRetro_MBEE|mame_libretro|mbeeic
548 Arcade Classics|LibRetro_ARCADE|mame_libretro
549 Atari 2600|LibRetro_2600|stella_libretro|a2600
550 Atari 5200|LibRetro_5200|mame_libretro|a5200
551 Atari 7800|LibRetro_7800|prosystem_libretro|a7800
552 Atari 8-Bit|LibRetro_ATARI8|mame_libretro|a800
553 Atari Classics|LibRetro_ACLS|mame_libretro
554 Atari Jaguar|LibRetro_JAG|virtualjaguar_libretro|jaguar
555 Atari Lynx|LibRetro_LYNX|handy_libretro|lynx
556 Atari ST|LibRetro_ST|hatari_libretro
557 Atari XEGS|LibRetro_XEGS|mame_libretro|xegs
558 Bally Astrocade|LibRetro_BAST|mame_libretro|astrocde
559 Bandai Gundam RX-78|LibRetro_BGRX|mame_libretro|rx78
560 Bandai Super Vision 8000|LibRetro_SV8K|mame_libretro|sv8000
561 Bandai Wonderswan|LibRetro_WSAN|mednafen_wswan_libretro|wswan
562 Bandai Wonderswan Color|LibRetro_WSANC|mednafen_wswan_libretro|wscolor
563 Canon X07|LibRetro_CX07|mame_libretro|x07
564 Capcom Classics|LibRetro_CAPC|mame_libretro
565 Capcom Play System|LibRetro_CPS1|fbalpha_libretro
566 Capcom Play System II|LibRetro_CPS2|fbalpha_libretro
567 Capcom Play System III|LibRetro_CPS3|mame_libretro
568 Casio PV-1000|LibRetro_CAS1K|mame_libretro|pv1000
569 Casio PV-2000|LibRetro_CAS2K|mame_libretro|pv2000
570 Cave|LibRetro_CAVE|mame_libretro
571 Coleco ADAM|LibRetro_ADAM|mame_libretro|adam
572 ColecoVision|LibRetro_COLEC|mame_libretro|coleco
573 Commodore Amiga|LibRetro_PUAE|puae_libretro
574 Commodore Max Machine|LibRetro_CMAX|mame_libretro|vic10
575 Creatronic Mega Duck|LibRetro_DUCK|mame_libretro|megaduck
576 Data East Classics|LibRetro_DATA|mame_libretro
577 Dragon Data Dragon|LibRetro_DRAG64|mame_libretro|dragon64
578 Elektronika BK|LibRetro_EBK|mame_libretro|bk0010
579 Elektronska Industrija Pecom 64|LibRetro_P64|mame_libretro|pecom64
580 Emerson Arcadia 2001|LibRetro_A2001|mame_libretro|arcadia
581 Entex Adventure Vision|LibRetro_AVISION|mame_libretro|advision
582 Epoch Game Pocket Computer|LibRetro_GPCKET|mame_libretro|gamepock
583 Epoch Super Cassette Vision|LibRetro_SCV|mame_libretro|scv
584 Exidy Sorcerer|LibRetro_SORCR|mame_libretro|sorcerer
585 Fairchild Channel F|LibRetro_CHANF|mame_libretro|channelf
586 Final Burn Alpha|LibRetro_FBA|fbalpha_libretro
587 Funtech Super Acan|LibRetro_SACAN|mame_libretro|supracan
588 GamePark 32|LibRetro_GP32|mame_libretro|gp32
589 GCE Vectrex|LibRetro_VECTX|mame_libretro|vectrex
590 Hartung Game Master|LibRetro_GMASTR|mame_libretro|gmaster
591 Interton VC 4000|LibRetro_VC4K|mame_libretro|vc4000
592 Irem Classics|LibRetro_IREM|mame_libretro
593 JungleTac Sport Vii|LibRetro_SPORTV|mame_libretro|vii
594 Konami Classics|LibRetro_KONC|mame_libretro
595 Magnavox Odyssey 2|LibRetro_ODYS2|mame_libretro|odyssey2
596 MAME|LibRetro_MAME|mame_libretro|mame
597 Matra & Hachette Alice|LibRetro_ALICE|mame_libretro|alice32
598 Mattel Aquarius|LibRetro_AQUA|mame_libretro|aquarius
599 Mattel Intellivision|LibRetro_INTV|mame_libretro|intv
600 MGT Sam Coupe|LibRetro_SAMCP|mame_libretro|
601 Microsoft MS-DOS|LibRetro_MSDOS|dosbox_libretro
602 Microsoft MSX|LibRetro_MSX|bluemsx_libretro
603 Microsoft MSX2|LibRetro_MSX2|bluemsx_libretro
604 Microsoft Windows 3.x|LibRetro_WIN3X|dosbox_libretro
605 Midway Classics|LibRetro_MIDC|mame_libretro
606 Namco Classics|LibRetro_NAMC|mame_libretro
607 Namco System 22|LibRetro_NAM2|mame_libretro
608 NEC PC Engine|LibRetro_PCE|mednafen_pce_fast_libretro|pce,cart
609 NEC PC Engine-CD|LibRetro_PCECD|mednafen_pce_fast_libretro|pce,cdrom
610 NEC PC-FX|LibRetro_PCFX|mednafen_pcfx_libretro
611 NEC SuperGrafx|LibRetro_SGFX|mednafen_supergrafx_libretro|sgx,cart
612 NEC TurboGrafx-16|LibRetro_TG16|mednafen_pce_fast_libretro|tg16,cart
613 NEC TurboGrafx-CD|LibRetro_TGCD|mednafen_pce_fast_libretro|tg16,cdrom
614 Nintendo 64|LibRetro_N64|mupen64plus_libretro|n64
615 Nintendo 64DD|LibRetro_N64|mupen64plus_libretro
616 Nintendo Arcade Systems|LibRetro_NINARC|mame_libretro
617 Nintendo Classics|LibRetro_NINC|mame_libretro
618 Nintendo DS|LibRetro_DS|desmume_libretro
619 Nintendo Entertainment System|LibRetro_NES|nestopia_libretro|nes
620 Nintendo Famicom|LibRetro_NFAM|nestopia_libretro
621 Nintendo Famicom Disk System|LibRetro_NFDS|nestopia_libretro|famicom
622 Nintendo Game Boy|LibRetro_GB|gambatte_libretro|gameboy
623 Nintendo Game Boy Advance|LibRetro_GBA|vba_next_libretro|gba
624 Nintendo Game Boy Color|LibRetro_GBC|gambatte_libretro|gbcolor
625 Nintendo Game Boy Japan|LibRetro_GBJ|gambatte_libretro|gameboy
626 Nintendo Game & Watch|LibRetro_GW|gw_libretro
627 Nintendo Pokemon Mini|LibRetro_POKE|mame_libretro|pokemini
628 Nintendo Satellaview|LibRetro_NSFS|snes9x_libretro
629 Nintendo SuFami Turbo|LibRetro_NSFST|snes9x_libretro
630 Nintendo Super Famicom|LibRetro_NSF|bsnes_balanced_libretro
631 Nintendo Super Game Boy|LibRetro_SGB|bsnes_balanced_libretro
632 Nintendo Virtual Boy|LibRetro_NVB|mednafen_vb_libretro|vboy
633 Othello Multivision|LibRetro_OTHO|genesis_plus_gx_libretro
634 Panasonic 3DO|LibRetro_3DO|4do_libretro
635 Philips CD-i|LibRetro_CDI|mame_libretro|cdimono1
636 Philips Videopac|LibRetro_PVID|mame_libretro|videopac
637 RCA Studio II|LibRetro_STUD2|mame_libretro|studio2
638 SCUMMVM|LibRetro_SCUMM|scummvm_libretro
639 Sega 32X|LibRetro_32X|picodrive_libretro|32x
640 Sega CD|LibRetro_SCD|genesis_plus_gx_libretro|segacd
641 Sega Classics|LibRetro_SEGC|mame_libretro
642 Sega Dreamcast|LibRetro_DCAST|reicast_libretro
643 Sega Game Gear|LibRetro_GG|genesis_plus_gx_libretro|gamegear
644 Sega Genesis|LibRetro_GEN|genesis_plus_gx_libretro|genesis
645 Sega Mark III|Libretro_SM3|genesis_plus_gx_libretro
646 Sega Master System|LibRetro_SMS|genesis_plus_gx_libretro|sms
647 Sega Mega Drive|LibRetro_GEN|genesis_plus_gx_libretro|megadriv
648 Sega Mega Drive 32X|LibRetro_MD32X|picodrive_libretro
649 Sega Meganet|LibRetro_GEN|genesis_plus_gx_libretro|genesis
650 Sega Nomad|LibRetro_GEN|genesis_plus_gx_libretro|genesis
651 Sega Pico|LibRetro_PICO|picodrive_libretro
652 Sega Saturn|LibRetro_SAT|yabause_libretro|saturn
653 Sega Saturn Japan|LibRetro_SAT|yabause_libretro|saturnjp
654 Sega SC-3000|LibRetro_SC3K|mame_libretro|sc3000
655 Sega SG-1000|LibRetro_SG1K|genesis_plus_gx_libretro
656 Sega ST-V|LibRetro_STV|mame_libretro
657 Sega VMU|LibRetro_SVMU|mame_libretro|svmu
658 Sharp X1|LibRetro_SX1|mame_libretro|x1
659 Sharp X68000|LibRetro_SX68000|mame_libretro|x68000
660 Sinclair ZX Spectrum|LibRetro_SPECZX|mame_libretro|spectrum
661 Sinclair ZX81|LibRetro_ZX81|81_libretro|zx81
662 SNK Classics|LibRetro_SNKC|mame_libretro
663 SNK Neo Geo|LibRetro_NEO|fbalpha_libretro
664 SNK Neo Geo AES|LibRetro_NEOAES|mame_libretro|aes
665 SNK Neo Geo CD|LibRetro_NEOCD|mame_libretro|neocdz
666 SNK Neo Geo MVS|LibRetro_NEOMVS|mame_libretro
667 SNK Neo Geo Pocket|LibRetro_NGP|mednafen_ngp_libretro|ngp
668 SNK Neo Geo Pocket Color|LibRetro_NGPC|mednafen_ngp_libretro|ngpc
669 Sony PlayStation|LibRetro_PSX|mednafen_psx_libretro|psu
670 Sony PlayStation Minis|LibRetro_PSXMIN|ppsspp_libretro
671 Sony PocketStation|LibRetro_POCKS|mame_libretro|pockstat
672 Sony PSP|LibRetro_PSP|ppsspp_libretro
673 Sony PSP Minis|LibRetro_PSP|ppsspp_libretro
674 Sord M5|LibRetro_SORD|mame_libretro|m5
675 Spectravideo|LibRetro_SV328|mame_libretro|svi328n
676 Super Nintendo Entertainment System|LibRetro_SNES|bsnes_balanced_libretro|snes
677 Taito Classics|LibRetro_TAIC|mame_libretro
678 Tandy TRS-80 Color Computer|LibRetro_TRS80|mame_libretro|coco3
679 Technos|LibRetro_TECHN|mame_libretro
680 Texas Instruments TI 99-4A|LibRetro_TI99|mame_libretro|ti99_4a
681 Thomson MO5|LibRetro_MO5|mame_libretro|mo5
682 Thomson TO7|LibRetro_TO7|mame_libretro|to7
683 Tiger Game.com|LibRetro_TCOM|mame_libretro|gamecom
684 Tiki-100|LibRetro_TIKI|mame_libretro|kontiki
685 Tomy Tutor|LibRetro_TOMY|mame_libretro|tutor
686 VTech CreatiVision|LibRetro_VTECH|mame_libretro|crvision
687 Watara Supervision|LibRetro_SUPRV|mame_libretro|svision
688 Williams Classics|LibRetro_WILLS|mame_libretro
689 )"
690 mType := Object()
691 Loop, Parse, mTypeVar, `n, `r
692 {
693 obj := {}
694 Loop, Parse, A_LoopField, |
695 {
696 If (A_Index = 1)
697 obj.System := A_LoopField
698 Else If (A_Index = 2)
699 obj.ID := A_LoopField
700 Else If (A_Index = 3)
701 obj.Core := A_LoopField
702 Else { ; 4
703 StringSplit, tmp, A_LoopField, `,
704 obj.MAMEID := tmp1
705 obj.MAMEMedia := tmp2
706 }
707 }
708 mType.Insert(obj["System"], obj)
709 }
710 RLLog.Debug("Module - Finished building the " . MEmu . " object")
711 ; For easier use throughout the module
712 retroSystem := mType[systemName].System
713 retroID := mType[systemName].ID
714 retroCore := mType[systemName].Core
715 retroMAMEID := mType[systemName].MAMEID
716 retroMAMEMedia := mType[systemName].MAMEMedia
717 RLLog.Info("Module - Using these system variables:")
718 RLLog.Info("Module - retroSystem: " . retroSystem)
719 RLLog.Info("Module - retroID: " . retroID)
720 RLLog.Info("Module - retroCore: " . retroCore)
721 RLLog.Info("Module - retroMAMEID: " . retroMAMEID)
722 RLLog.Info("Module - retroMAMEMedia: " . retroMAMEMedia)
723 If !retroSystem
724 ScriptError("Your systemName is: " . systemName . "`nIt is not one of the known supported systems for this " . MEmu . " module: " . moduleName)
725 If !retroCore
726 ScriptError("Your Core ID is: " . retroID . "`nCould not find a default core to use. Please update the module with a default core.")
727
728 Fullscreen := moduleIni.Read("Settings", "Fullscreen","true",,1)
729 configFolder := moduleIni.Read("Settings", "ConfigFolder",emuPath . "\config",,1)
730 singlecoreoptions := moduleIni.Read("Settings", "single_core_options","false",,1) = "true" ? ":\retroarch-core-options.cfg" : """"
731 mameRomPath := moduleIni.Read("MAME", "BIOS_Roms_Folder",,,1)
732 mameHideNag := If moduleIni.Read("MAME", "Hide_Nag_Screen","false",,1) = "true" ? "enabled" : "disabled"
733 mameHideInfo := If moduleIni.Read("MAME", "Hide_Info_Screen","false",,1) = "true" ? "enabled" : "disabled"
734 mameHideWarn := If moduleIni.Read("MAME", "Hide_Warning_Screen","false",,1) = "true" ? "enabled" : "disabled"
735 hideConsole := moduleIni.Read("Settings", "HideConsole","true",,1)
736 ejectToggleKey := moduleIni.Read("Settings", "Eject_Toggle_Key",,,1)
737 nextDiskKey := moduleIni.Read("Settings", "Next_Disk_Key",,,1)
738 prevDiskKey := moduleIni.Read("Settings", "Previous_Disk_Key",,,1)
739 core := moduleIni.Read(romName . "|" . systemName, "LibRetro_Core",retroCore,,1)
740 superGB := moduleIni.Read(romName . "|" . systemName, "SuperGameBoy","false",,1)
741 enableNetworkPlay := moduleIni.Read(romName . "|Network", "Enable_Network_Play","false",,1)
742 overlay := moduleIni.Read(romName . "|" . systemName, "Overlay",,,1)
743 videoShader := moduleIni.Read(romName . "|" . systemName, "VideoShader",,,1)
744 aspectRatioIndex := moduleIni.Read(romName . "|" . systemName, "AspectRatioIndex",,,1)
745 customViewportWidth := moduleIni.Read(romName . "|" . systemName, "CustomViewportWidth",,,1)
746 customViewportHeight := moduleIni.Read(romName . "|" . systemName, "CustomViewportHeight",,,1)
747 customViewportX := moduleIni.Read(romName . "|" . systemName, "CustomViewportX",,,1)
748 customViewportY := moduleIni.Read(romName . "|" . systemName, "CustomViewportY",,,1)
749 stretchToFillBezel := moduleIni.Read(romName . "|" . systemName, "StretchToFillBezel","false",,1)
750 rotation := moduleIni.Read(romName . "|" . systemName, "Rotation",0,,1)
751 cropOverscan := moduleIni.Read(romName . "|" . systemName, "CropOverscan",,,1)
752 threadedVideo := moduleIni.Read(romName . "|" . systemName, "ThreadedVideo",,,1)
753 vSync := moduleIni.Read(romName . "|" . systemName, "VSync",,,1)
754 integerScale := moduleIni.Read(romName . "|" . systemName, "IntegerScale",,,1)
755 configurationPerCore := moduleIni.Read(romName . "|" . systemName, "ConfigurationPerCore","false",,1)
756
757 If (StringUtils.Contains(core, "^(mame|mess|ume)") && !retroMAMEID) {
758 retroMAMEID := "mame" ; set all systems that use a mame core to the default mame ID so any system name is supported
759 RLLog.Warning("Module - Setting MAMEID to default ""mame"" for """ . retroSystem . """")
760 }
761
762 configFolder := RLObject.getFullPathFromRelative(rlPath,configFolder)
763 mameRomPath := If mameRomPath ? RLObject.getFullPathFromRelative(rlPath,mameRomPath) : romPath
764 overlay := RLObject.getFullPathFromRelative(rlPath,overlay)
765 videoShader := RLObject.getFullPathFromRelative(rlPath,videoShader)
766 rotateBezel := false
767
768 configFolder := new Folder(configFolder)
769
770 If (retroID = "LibRetro_SGB" || superGB = "true") ; if system or rom is set to use Super Game Boy
771 { superGB := "true" ; setting this just in case it's false and the system is Nintendo Super Game Boy
772 sgbRomPath := CheckFile(emuPath . "\system\Super Game Boy (World).sfc","Could not find the rom required for Super Game Boy support. Make sure the rom ""Super Game Boy (World).sfc"" is located in: " . emuPath . "\system")
773 CheckFile(emuPath . "\system\sgb.boot.rom","Could not find the bios required for Super Game Boy support. Make sure the bios ""sgb.boot.rom"" is located in: " . emuPath . "\system")
774 retroID := "LibRetro_SGB" ; switching to Super Game Boy mode
775 retroSystem := "Nintendo Super Game Boy"
776 }
777
778 ; Find the dll for this system
779 libDll := CheckFile(emuPath . "\cores\" . core . ".dll", "Your " . retroID . " dll is set to " . core . " but could not locate this file:`n" . emuPath . "\cores\" . core . ".dll")
780
781 ; Find the cfg file to use
782 If !configFolder.Exist()
783 ScriptError("You need to make sure ""ConfigFolder"" is pointing to your RetroArch config folder. By default it is looking here: """ . configFolder.FilePath . """")
784 globalRetroCfg := emuPath . "\retroarch.cfg"
785 systemRetroCfg := configFolder.FilePath . "\" . retroSystem . ".cfg"
786 coreRetroCfg := configFolder.FilePath . "\" . core . ".cfg"
787 RLLog.Info("Module - Global cfg should be: " . globalRetroCfg)
788 RLLog.Info("Module - System cfg should be: " . systemRetroCfg)
789 RLLog.Info("Module - Core cfg should be: " . coreRetroCfg)
790 foundCfg := ""
791
792 systemRetroCfg := new File(systemRetroCfg)
793 coreRetroCfg := new File(coreRetroCfg)
794 globalRetroCfg := new File(globalRetroCfg)
795
796 If systemRetroCfg.Exist() { ; check for system cfg first
797 retroCFGFile := systemRetroCfg
798 foundCfg := 1
799 RLLog.Info("Module - Found a System cfg!")
800 } Else If coreRetroCfg.Exist() { ; 2nd option is a core config
801 retroCFGFile := coreRetroCfg
802 foundCfg := 1
803 RLLog.Info("Module - Found a Core cfg!")
804 } Else If globalRetroCfg.Exist() { ; 3rd is global cfg
805 retroCFGFile := globalRetroCfg
806 foundCfg := 1
807 RLLog.Info("Module - Found a Global cfg!")
808 }
809 If foundCfg {
810 RLLog.Info("Module - " . MEmu . " is using " . retroCFGFile.FileFullPath . " as its config file.")
811 retroCFG := LoadProperties(retroCFGFile.FileFullPath)
812 } Else
813 RLLog.Warning("Module - Could not find a cfg file to update settings. RetroArch will make one for you.")
814
815 If StringUtils.Contains(rotation,"1|3") ; use vertical bezel if RA rotation is set to 90 or 270 degrees
816 rotateBezel := true
817
818 If StringUtils.Contains(retroID, "LibRetro_NFDS|LibRetro_SCD|LibRetro_TGCD|LibRetro_PCECD|LibRetro_PCFX") { ; these systems require the retroarch settings to be read
819 retroSysDir := ReadProperty(retroCFG,"system_directory") ; read value
820 retroSysDir := ConvertRetroCFGKey(retroSysDir) ; remove dbl quotes
821 retroSysDirLeft := StringUtils.Left(retroSysDir, 2)
822 If (retroSysDirLeft = ":\") { ; if retroarch is set to use a default folder
823 retroSysDir := StringUtils.TrimLeft(retroSysDir, 1)
824 RLLog.Info("Module - RetroArch is using a relative system path: """ . retroSysDir . """")
825 retroSysDir := emuPath . retroSysDir
826 }
827 If !retroSysDir
828 ScriptError("RetroArch requires you to set your system_directory and place bios rom(s) in there for """ . retroSystem . """ to function. Please do this first by running ""retroarch-phoenix.exe"" manually.")
829 checkForSlash := StringUtils.Right(retroSysDir, 1)
830 If (checkForSlash = "\") ; check if a backslash is the last character. If it is, remove it, as this is non-standard method to define folders
831 retroSysDir := StringUtils.TrimRight(retroSysDir, 1)
832 }
833
834 If (StringUtils.Contains(core, "^(mame|mess|ume)")) || (StringUtils.Contains(retroID, "LibRetro_N64|LibRetro_NES|LibRetro_LYNX|LibRetro_PSX")) || (StringUtils.Contains(retroID, "LibRetro_NES") && (StringUtils.Contains(core, "nestopia_libretro"))) { ; these systems will use an ini to store game specific settings
835 RLLog.Info("Module - Reading / creating system ini for specific settings.")
836 If !StringUtils.Contains(core, "^(mame|mess|ume)") {
837 If !SystemModuleIni.Exist()
838 SystemModuleIni.Append ; create a new blank ini file if one does not exist
839 }
840
841 coreOptionsCFG := LoadProperties(coreOptionsCFGFile.FileFullPath)
842
843 If StringUtils.Contains(core, "^(mame|mess|ume)") { ; Set some MAME/MESS/UME core options.
844 tmpCore := If StringUtils.Contains(core, "mame") ? "mame" : "mess"
845 WriteProperty(coreOptionsCFG, tmpCore . "_read_config", """enabled""", 1)
846 WriteProperty(coreOptionsCFG, tmpCore . "_boot_from_cli", """enabled""", 1) ; This needs to be enabled in order to run games with RLauncher
847 WriteProperty(coreOptionsCFG, tmpCore . "_hide_nagscreen", "" . mameHideNag . "", 1)
848 WriteProperty(coreOptionsCFG, tmpCore . "_hide_infoscreen", "" . mameHideInfo . "", 1)
849 WriteProperty(coreOptionsCFG, tmpCore . "_hide_warnings", "" . mameHideWarn . "", 1)
850 } Else If StringUtils.Contains(retroID, "LibRetro_N64") { ; Nintendo 64
851 mupenGfx := moduleIni.Read(romName . "|" . systemName, "Mupen_Gfx_Plugin", "auto",,1)
852 mupenRsp := moduleIni.Read(romName . "|" . systemName, "Mupen_RSP_Plugin", "auto",,1)
853 mupenCpu := moduleIni.Read(romName . "|" . systemName, "Mupen_CPU_Core", "dynamic_recompiler",,1)
854 mupenPak1 := moduleIni.Read(romName . "|" . systemName, "Mupen_Pak_1", "memory",,1)
855 mupenPak2 := moduleIni.Read(romName . "|" . systemName, "Mupen_Pak_2", "memory",,1)
856 mupenPak3 := moduleIni.Read(romName . "|" . systemName, "Mupen_Pak_3", "memory",,1)
857 mupenPak4 := moduleIni.Read(romName . "|" . systemName, "Mupen_Pak_4", "memory",,1)
858 mupenGfxAccur := moduleIni.Read(romName . "|" . systemName, "Mupen_Gfx_Accuracy", "high",,1)
859 mupenExpMem := moduleIni.Read(romName . "|" . systemName, "Mupen_Disable_Exp_Memory", "no",,1)
860 mupenTexturFilt := moduleIni.Read(romName . "|" . systemName, "Mupen_Texture_Filtering", "nearest",,1)
861 mupenViRefresh := moduleIni.Read(romName . "|" . systemName, "Mupen_VI_Refresh", "2200",,1)
862 mupenFramerate := moduleIni.Read(romName . "|" . systemName, "Mupen_Framerate", "fullspeed",,1)
863 mupenResolution := moduleIni.Read(romName . "|" . systemName, "Mupen_Resolution", "640x480",,1)
864 mupenPolyOffstFctr := moduleIni.Read(romName . "|" . systemName, "Mupen_Polygon_Offset_Factor", "-3.0",,1)
865 mupenPolyOffstUnts := moduleIni.Read(romName . "|" . systemName, "Mupen_Polygon_Offset_Units", "-3.0",,1)
866 mupenViOverlay := moduleIni.Read(romName . "|" . systemName, "Mupen_VI_Overlay", "disabled",,1)
867 mupenAnalogDzone := moduleIni.Read(romName . "|" . systemName, "Mupen_Analog_Deadzone", "15",,1)
868
869 WriteProperty(coreOptionsCFG, "mupen64-gfxplugin", mupenGfx, 1)
870 WriteProperty(coreOptionsCFG, "mupen64-rspplugin", mupenRsp, 1)
871 WriteProperty(coreOptionsCFG, "mupen64-cpucore", mupenCpu, 1)
872 WriteProperty(coreOptionsCFG, "mupen64-pak1", mupenPak1, 1)
873 WriteProperty(coreOptionsCFG, "mupen64-pak2", mupenPak2, 1)
874 WriteProperty(coreOptionsCFG, "mupen64-pak3", mupenPak3, 1)
875 WriteProperty(coreOptionsCFG, "mupen64-pak4", mupenPak4, 1)
876 WriteProperty(coreOptionsCFG, "mupen64-gfxplugin-accuracy", mupenGfxAccur, 1)
877 WriteProperty(coreOptionsCFG, "mupen64-disableexpmem", mupenExpMem, 1)
878 WriteProperty(coreOptionsCFG, "mupen64-filtering", mupenTexturFilt, 1)
879 WriteProperty(coreOptionsCFG, "mupen64-virefresh", mupenViRefresh, 1)
880 WriteProperty(coreOptionsCFG, "mupen64-framerate", mupenFramerate, 1)
881 WriteProperty(coreOptionsCFG, "mupen64-screensize", mupenResolution, 1)
882 WriteProperty(coreOptionsCFG, "mupen64-polyoffset-factor", mupenPolyOffstFctr, 1)
883 WriteProperty(coreOptionsCFG, "mupen64-polyoffset-units", mupenPolyOffstUnts, 1)
884 WriteProperty(coreOptionsCFG, "mupen64-angrylion-vioverlay", mupenViOverlay, 1)
885 WriteProperty(coreOptionsCFG, "mupen64-astick-deadzone", mupenAnalogDzone, 1)
886 } Else If StringUtils.Contains(retroID, "LibRetro_NES") { ; these systems will use an ini to store game specific settings
887 If StringUtils.Contains(core, "nestopia_libretro") { ; Nestopia
888 nestopiaBlargg := moduleIni.Read(romName . "|Nestopia", "Nestopia_Blargg_NTSC_Filter", "disabled",,1)
889 nestopiaPalette := moduleIni.Read(romName . "|Nestopia", "Nestopia_Palette", "canonical",,1)
890 nestopiaNoSprteLimit := moduleIni.Read(romName . "|Nestopia", "Nestopia_Remove_Sprites_Limit", "disabled",,1)
891
892 WriteProperty(coreOptionsCFG, "nestopia_blargg_ntsc_filter", nestopiaBlargg, 1)
893 WriteProperty(coreOptionsCFG, "nestopia_palette", nestopiaPalette, 1)
894 WriteProperty(coreOptionsCFG, "nestopia_nospritelimit", nestopiaNoSprteLimit, 1)
895 }
896 } Else If StringUtils.Contains(retroID, "LibRetro_LYNX") { ; Atari Lynx
897 If StringUtils.Contains(core, "handy_libretro") { ; Handy
898 handyRotate := moduleIni.Read(romName . "|" . systemName, "Handy_Rotation", "None",,1)
899 If StringUtils.Contains(handyRotate, "240") or StringUtils.Contains(handyRotate, "90")
900 rotateBezel := true
901 WriteProperty(coreOptionsCFG, "handy_rot", handyRotate, 1)
902 }
903 } Else If StringUtils.Contains(retroID, "LibRetro_PSX") { ; Sony PlayStation
904 psxCdImageCache := moduleIni.Read(romName . "|" . systemName, "PSX_CD_Image_Cache", """enabled""",,1)
905 psxMemcardHandling := moduleIni.Read(romName . "|" . systemName, "PSX_Memcard_Handling", """libretro""",,1)
906 psxDualshockAnalogToggle := moduleIni.Read(romName . "|" . systemName, "PSX_Dualshock_Analog_Toggle", """enabled""",,1)
907
908 WriteProperty(coreOptionsCFG, "beetle_psx_cdimagecache", psxCdImageCache, 1)
909 WriteProperty(coreOptionsCFG, "beetle_psx_use_mednafen_memcard0_method", psxMemcardHandling, 1)
910 WriteProperty(coreOptionsCFG, "beetle_psx_analog_toggle", psxDualshockAnalogToggle, 1)
911 }
912 SaveProperties(coreOptionsCFGFile.FileFullPath, coreOptionsCFG)
913 }
914
915 hideEmuObj := Object(emuConsoleWindow,0,emuPrimaryWindow,1)
916 7z(romPath, romName, romExtension, sevenZExtractPath)
917
918 mgM3UFile := new File(romPath . "\" . romTable[1,4] . ".m3u")
919
920 mgRomExtensions := "cue|iso|ccd"
921 mgValidExtension := false
922
923 Loop, Parse, mgRomExtensions, |
924 If (romExtension = "." . A_LoopField)
925 mgValidExtension := true
926
927 If (StringUtils.Contains(retroID, "LibRetro_PSX") && romTable.MaxIndex() && mgValidExtension) { ; See if MultiGame table is populated
928 m3uRomIndex := Object()
929 mgType := romTable[1,6] . " "
930 mgMaxIndex := romTable.MaxIndex()
931 mgRomIndex := 0
932
933 If mgM3UFile.Exist()
934 mgM3UFile.Delete()
935
936 Loop % mgMaxIndex
937 {
938 If (romTable[A_Index, 3] = romName) {
939 tempType := romTable[A_Index, 5]
940 mgRomIndex := StringUtils.TrimLeft(tempType, StringUtils.StringLength(mgType))
941 RLLog.Info("Found rom index in rom set in romTable: " . mgRomIndex)
942 Break
943 }
944 }
945
946 If (mgRomIndex > 0) {
947 tempRomIndex := mgRomIndex
948 Loop % mgMaxIndex
949 {
950 mgTypeIndex := mgType . tempRomIndex
951 m3uRomIndex.Insert(tempRomIndex)
952
953 Loop % mgMaxIndex
954 {
955 If (romTable[A_Index, 5] = mgTypeIndex) {
956 tempRomPath := romTable[A_Index, 1]
957 mgM3UFile.Append(tempRomPath . "`n")
958 RLLog.Info("Module - Appending rom path to m3u: " . tempRomPath)
959 Break
960 }
961 }
962
963 If (tempRomIndex < mgMaxIndex)
964 tempRomIndex++
965 Else
966 tempRomIndex := 1
967 }
968 }
969 }
970
971 ; MAME/MESS/UME core options
972 MAMEParam1 := ""
973 MAMEParam2 := ""
974 MAMEParam3 := ""
975 If StringUtils.Contains(core, "^(mame|mess|ume)") { ; if a MAME/MESS/UME core is used
976 If !retroMAMEID
977 ScriptError("Your systemName is: " . systemName . "`nIt is not one of the known supported systems for the MAME/MESS/UME LibRetro core")
978 Else
979 RLLog.Info("Module - MAME/MESS/UME mode using a known ident: " . retroMAMEID)
980
981 If !mameRomPath
982 ScriptError("Please set the RetroArch module setting ""BIOS_Roms_Folder"" to the folder that contains your MAME/MESS/UME BIOS roms to use with RetroArch.")
983
984 If (retroMAMEID = "mame") { ; want this for arcade mame only
985 RLLog.Info("Module - Retroarch MAME/MESS/UME Arcade mode enabled")
986 fullRomPath := " """ . romPath . "\" . romName . romExtension . """"
987 } Else {
988 RLLog.Info("Module - Retroarch MAME/MESS/UME Console/PC mode enabled")
989 MAMEParam1 := ""
990 MAMEParam2 := " -rompath \""" . mameRomPath . "\"""
991
992 ; If we already have a media type, then use it.
993 If (StringUtils.Contains(retroMAMEID, "tg16|pce") && retroMAMEMedia = "cart") {
994 ;MAMEParam3 := " -cart \" . """" . romPath . "\" . romName . romExtension . "\" . """"
995 MAMEParam3 := " -cart \""" . romPath . "\" . romName . romExtension . "\"""""
996 ; TODO: This needs a better way to handle the cdrom bios files, in my opinion. As it is, there's no clean way to pick between the v2.00 or v3.00 bios.
997 ; Defaulting to the TurboDuo cdrom bios since it will play 2.00 or 3.00 games.
998 } Else If (StringUtils.Contains(retroMAMEID, "tg16|pce") && retroMAMEMedia = "cdrom") {
999 ;MAMEParam3 := " -cart cdsys -cdrm \" . """" . romPath . "\" . romName . romExtension . "\" . """"
1000 MAMEParam3 := " -cart scdsys -cdrm \""" . romPath . "\" . romName . romExtension . "\"""""
1001 } Else {
1002 ; Build a key/value object containing the different MAMEParam3 choices
1003 MAMEP3 := Object("alice32","cass1","gp32","memc","cpc464","cass","spectrum","cass","dragon64","cass","cdimono1","cdrom","bk0010","cass","neocd","cdrom","neocdz","cdrom","saturn","cdrm","saturnjp","cdrm","svi328n","cass","pecom64","cass","psu","cdrm","svmu","quik","gamecom","cart1","mbeeic","quik1")
1004 MAMEParam3 := MAMEP3[retroMAMEID] ; search object for the retroMAMEID pair
1005 MAMEParam3 := " -" . (If MAMEParam3 ? MAMEParam3 : "cart") . " \" . """" . romPath . "\" . romName . romExtension . "\" . """"
1006 }
1007
1008 If (retroMAMEID = "mbeeic") ; Applied Technology MicroBee
1009 { microbeeModel := IniReadCheck(MAMESysINI, romName, "MicroBee_Model","mbeeic",,1)
1010 If microbeeModel not in mbee,mbeeic,mbeepc,mbeepc85,mbee56
1011 ScriptError("This is not a known MicroBee model value: " . microbeeModel)
1012 Else If (microbeeModel != "mbeeic")
1013 retroMAMEID := microbeeModel
1014 If romExtension in .mwb,.com,.bee
1015 mediaDeviceType := "quik1"
1016 Else If romExtension in .wav,.tap
1017 mediaDeviceType := "cass"
1018 Else If romExtension in .rom
1019 mediaDeviceType := "cart"
1020 Else If romExtension in .dsk
1021 mediaDeviceType := "flop1"
1022 Else ; .bin format
1023 mediaDeviceType := "quik2"
1024 MAMEParam3 := " -" . mediaDeviceType . " \" . """" . romPath . "\" . romName . romExtension . "\" . """"
1025 }
1026
1027 If (retroMAMEID = "x68000") ; Sharp X68000
1028 {
1029 If romExtension in .xdf,.hdm,.2hd,.dim,.d77,.d88,.1dd,.dfi,.imd,.ipf,.mfi,.mfm,.td0,.cqm,.cqi,.dsk
1030 mediaDeviceType := "flop1"
1031 Else ; .bin format
1032 mediaDeviceType := "sasi"
1033 MAMEParam3 := " -" . mediaDeviceType . " \" . """" . romPath . "\" . romName . romExtension . "\" . """"
1034 }
1035
1036 fullRomPath := MAMEParam1 . MAMEParam2 . MAMEParam3
1037 }
1038 } Else If (superGB = "true") {
1039 RLLog.Info("Module - Retroarch Super Game Boy mode enabled")
1040 fullRomPath := " """ . sgbRomPath . """ --subsystem sgb """ . romPath . "\" . romName . romExtension . """"
1041 } Else {
1042 RLLog.Info("Module - Retroarch standard mode enabled")
1043 fullRomPath := " """ . romPath . "\" . romName . romExtension . """"
1044 }
1045
1046 If (retroID = "LibRetro_NFDS") ; Nintendo Famicom Disk System
1047 { disksysRom := new File(retroSysDir . "\disksys.rom")
1048 If !disksysRom.Exist()
1049 ScriptError("RetroArch requires ""disksys.rom"" for " . retroSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
1050 } Else If (retroID = "LibRetro_SCD") ; Sega CD
1051 { If !StringUtils.Contains(romExtension, "\.bin|\.cue|\.iso")
1052 ScriptError("RetroArch only supports Sega CD games in bin|cue|iso format. It does not support:`n" . romExtension)
1053 biosCDEBin := new File(retroSysDir . "\bios_CD_E.bin")
1054 biosCDUBin := new File(retroSysDir . "\bios_CD_U.bin")
1055 biosCDJBin := new File(retroSysDir . "\bios_CD_J.bin")
1056 If !biosCDEBin.Exist()
1057 ScriptError("RetroArch requires ""bios_CD_E.bin"" for " . retroSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
1058 If !biosCDUBin.Exist()
1059 ScriptError("RetroArch requires ""bios_CD_U.bin"" for " . retroSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
1060 If !biosCDJBin.Exist()
1061 ScriptError("RetroArch requires ""bios_CD_J.bin"" for " . retroSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
1062 } Else If StringUtils.Contains(retroID,"LibRetro_PCECD|LibRetro_TGCD") ; NEC PC Engine-CD and NEC TurboGrafx-CD
1063 { If !StringUtils.Contains(romExtension,"\.ccd|\.cue")
1064 ScriptError("RetroArch only supports " . retroSystem . " games in ccd or cue format. It does not support:`n" . romExtension)
1065 sysCard3Pce := new File(retroSysDir . "\syscard3.pce")
1066 If !sysCard3Pce.Exist()
1067 ScriptError("RetroArch requires ""syscard3.pce"" for " . retroSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
1068 } Else If (retroID = "LibRetro_PCFX")
1069 { If !StringUtils.Contains(romExtension,"\.ccd|\.cue")
1070 ScriptError("RetroArch only supports " . retroSystem . " games in ccd or cue format. It does not support:`n" . romExtension)
1071 pcfxBios := new File(retroSysDir . "\pcfx.bios")
1072 If !pcfxBios.Exist()
1073 ScriptError("RetroArch requires ""pcfx.bios"" for " . retroSystem . " but could not find it in your system_directory: """ . retroSysDir . """")
1074 } Else If (retroID = "LibRetro_SCUMM")
1075 {
1076 scummFile := new File(romPath . "\" . romName . ".scummvm")
1077 If !scummFile.Exist()
1078 scummFile.Append("""" . romName . """")
1079 }
1080
1081 networkSession := ""
1082 If (enableNetworkPlay = "true") {
1083 RLLog.Info("Module - Network Multi-Player is an available option for " . dbName)
1084
1085 netplayNickname := moduleIni.Read("Network", "NetPlay_Nickname","Player",,1)
1086 getWANIP := moduleIni.Read("Network", "Get_WAN_IP","false",,1)
1087
1088 If (getWANIP = "true")
1089 myPublicIP := GetPublicIP()
1090
1091 RLLog.Warning("Module - CAREFUL WHEN POSTING THIS LOG PUBLICLY AS IT CONTAINS YOUR IP ON THE NEXT LINE")
1092 defaultServerIP := moduleIni.Read("Network", "Default_Server_IP", myPublicIP,,1)
1093 defaultServerPort := moduleIni.Read("Network", "Default_Server_Port",,,1)
1094 lastIP := moduleIni.Read("Network", "Last_IP", defaultServerIP,,1) ; does not need to be on the ISD
1095 lastPort := moduleIni.Read("Network", "Last_Port", defaultServerPort,,1) ; does not need to be on the ISD
1096
1097 mpMenuStatus := MultiPlayerMenu(lastIP,lastPort,networkType,,0)
1098 If (mpMenuStatus = -1) { ; if user exited menu early
1099 RLLog.Warning("Module - Cancelled MultiPlayer Menu. Exiting module.")
1100 ExitModule()
1101 }
1102 If networkSession {
1103 RLLog.Info("Module - Using a Network for " . dbName)
1104 moduleIni.Write(networkPort, "GlobalModuleIni", "Network", "Last_Port")
1105 ; msgbox lastIP: %lastIP%`nlastPort: %lastPort%`nnetworkIP: %networkIP%`nnetworkPort: %networkPort%
1106 If (networkType = "client") {
1107 moduleIni.Write(networkIP, "GlobalModuleIni", "Network", "Last_IP") ; Save last used IP and Port for quicker launching next time
1108 netCommand := " -C " . networkIP . " --port " . networkPort . " --nick """ . netplayNickname . """" ; -C = connect as client
1109 } Else { ; server
1110 netCommand := " -H --port " . networkPort . " --nick """ . netplayNickname . """" ; -H = host as server
1111 }
1112 RLLog.Warning("Module - CAREFUL WHEN POSTING THIS LOG PUBLICLY AS IT CONTAINS YOUR IP ON THE NEXT LINE")
1113 RLLog.Info("Module - Starting a network session using the IP """ . networkIP . """ and PORT """ . networkPort . """")
1114 } Else
1115 RLLog.Info("Module - User chose Single Player mode for this session")
1116 }
1117
1118 BezelStart(,,(If rotateBezel ? 1:""))
1119
1120 If foundCfg {
1121 If (stretchToFillBezel = "true" and bezelEnabled = "true" and bezelPath)
1122 {
1123 customViewportWidth := bezelScreenWidth
1124 customViewportHeight := bezelScreenHeight
1125 customViewportX := 0
1126 customViewportY := 0
1127 aspectRatioIndex := 22
1128 RLLog.Info("Stretching viewport to fit bezel")
1129 }
1130
1131 raCfgHasChanges := ""
1132 WriteRetroProperty("core_options_path", singlecoreoptions)
1133 WriteRetroProperty("input_overlay", overlay)
1134 WriteRetroProperty("video_shader", videoShader)
1135 WriteRetroProperty("aspect_ratio_index", aspectRatioIndex)
1136 WriteRetroProperty("custom_viewport_width", customViewportWidth)
1137 WriteRetroProperty("custom_viewport_height", customViewportHeight)
1138 WriteRetroProperty("custom_viewport_x", customViewportX)
1139 WriteRetroProperty("custom_viewport_y", customViewportY)
1140 WriteRetroProperty("video_rotation", rotation)
1141 WriteRetroProperty("video_crop_overscan", cropOverscan)
1142 WriteRetroProperty("video_threaded", threadedVideo)
1143 WriteRetroProperty("video_vsync", vSync)
1144 WriteRetroProperty("video_scale_integer", integerScale)
1145 WriteRetroProperty("input_disk_eject_toggle", ejectToggleKey)
1146 WriteRetroProperty("input_disk_next", nextDiskKey)
1147 WriteRetroProperty("input_disk_prev", prevDiskKey)
1148 If StringUtils.Contains(retroID, "LibRetro_PSX") {
1149 Loop, 8 ; Loop 8 times for 8 controllers
1150 { p%A_Index%ControllerType := moduleIni.Read(romName . "|" . systemName, "P" . A_Index . "_Controller_Type", 517,,1)
1151 WriteRetroProperty("input_libretro_device_p" . A_Index, p%A_Index%ControllerType)
1152 }
1153 }
1154
1155 If raCfgHasChanges {
1156 RLLog.Info("Module - Saving changed settings to: """ . retroCFGFile.FileFullPath . """")
1157 SaveProperties(retroCFGFile.FileFullPath, retroCFG)
1158 }
1159 }
1160
1161 fullscreen := If fullscreen = "true" ? " -f" : ""
1162 retroCFGFileCLI := If foundCfg ? " -c """ . retroCFGFile.FileFullPath . """" : ""
1163
1164
1165
1166 HideAppStart(hideEmuObj,hideEmu)
1167
1168 If (StringUtils.Contains(core, "^(mame|mess|ume)") && (retroMAMEID != "mame")) { ; if a MAME/MESS/UME core is used
1169 primaryExe.Run(" """ . (retroMAMEID ? retroMAMEID : "") . fullRomPath . """ " . fullscreen . retroCFGFileCLI . " -L """ . libDll . netCommand, "Hide")
1170 } Else If (retroID = "LibRetro_SCUMM") {
1171 primaryExe.Run(" """ . scummFile . """" . fullscreen . retroCFGFileCLI . " -L """ . libDll . "" . netCommand, "Hide")
1172 } Else If (retroID = "LibRetro_SGB" || If superGB = "true") { ; For some reason, the order of our command line matters in this particular case.
1173 primaryExe.Run(fullscreen . retroCFGFileCLI . " -L """ . libDll . fullRomPath . netCommand, "Hide")
1174 } Else If mgM3UFile.Exist() {
1175 primaryExe.Run(" """ . mgM3UFile.FileFullPath . """" . fullscreen . retroCFGFileCLI . " -L """ . libDll . netCommand, "Hide")
1176 } Else {
1177 primaryExe.Run(" " . fullRomPath . fullscreen . retroCFGFileCLI . " -L """ . libDll . netCommand, "Hide")
1178 }
1179
1180 mpMenuStatus := ""
1181 If networkSession {
1182 canceledServerWait := false
1183 multiplayerMenuExit := false
1184 TimerUtils.SetTimer("NetworkConnectedCheck", 500)
1185
1186 If (networkType = "server") {
1187 RLLog.Info("Module - Waiting for a client to connect to your server")
1188 mpMenuStatus := MultiPlayerMenu(,,,,,,,,"You are the server. Please wait for your client to connect.")
1189 } Else { ; client
1190 RLLog.Info("Module - Trying to contact the server to establish a connection.")
1191 mpMenuStatus := MultiPlayerMenu(,,,,,,,,"Attempting to connect to the server...")
1192 }
1193
1194 If (mpMenuStatus = -1) { ; if user exited menu early before a client connected
1195 RLLog.Warning("Module - Cancelled waiting for the " . If (networkType = "server") ? "client to connect" : "server to respond" . ". Exiting module.")
1196 If primaryExe.Process("Exist")
1197 primaryExe.Process("Close") ; must close process as the exe is waiting for a client to connect and no window was drawn yet
1198 ExitModule()
1199 } Else { ; blank response from MultiPlayerMenu, exited properly
1200 RLLog.Info("Module - " . If (networkType = "server") ? "Client has connected" : "Connected to the server")
1201 emuPrimaryWindow.Wait()
1202 emuPrimaryWindow.WaitActive()
1203 }
1204 TimerUtils.SetTimer("NetworkConnectedCheck", "Off")
1205 } Else { ; single player
1206 emuPrimaryWindow.Wait()
1207 emuPrimaryWindow.WaitActive()
1208 }
1209
1210 If (hideConsole = "true")
1211 emuConsoleWindow.Set("Transparent", "On") ; makes the console window transparent so you don't see it on exit
1212
1213 BezelDraw()
1214 HideAppEnd(hideEmuObj,hideEmu)
1215 FadeInExit()
1216 primaryExe.Process("WaitClose")
1217 7zCleanUp()
1218 BezelExit()
1219 FadeOutExit()
1220 ExitModule()
1221
1222
1223 ; Writes new properties into the retroCFG if defined by user
1224 WriteRetroProperty(key,value="") {
1225 If (value != "") {
1226 Global retroCFG,raCfgHasChanges
1227 WriteProperty(retroCFG, key, value,1,1)
1228 raCfgHasChanges := 1
1229 }
1230 }
1231
1232 ; Used to convert between RetroArch keys and usable data
1233 ConvertRetroCFGKey(txt,direction="read"){
1234 Global emuPath,RLLog
1235 If (direction = "read")
1236 { newtxt := StringUtils.TrimLeft(txt,1,0) ; removes the " from the left of the txt
1237 newtxt := StringUtils.TrimRight(newtxt,1,0) ; removes the " from the right of the txt
1238 relativeCheck := StringUtils.SubStr(newtxt,1,1,0)
1239 If StringUtils.Contains(relativeCheck,":",0) { ; if the path contains a ":" then it is a relative path
1240 RLLog.Debug("ConvertRetroCFGKey - " . newtxt . " is a relative path")
1241 newtxt := StringUtils.TrimLeft(newtxt,1,0) ; removes the : from the left of the txt
1242 newtxt := AbsoluteFromRelative(emuPath, "." . newtxt) ; convert relative to absolute
1243 }
1244 If StringUtils.Contains(newtxt,"/",0)
1245 newtxt := StringUtils.Replace(newtxt,"/","\",1,,0) ; replaces all forward slashes with backslashes
1246 } Else If (direction = "write")
1247 { newtxt := """" . txt . """" ; wraps the txt with ""
1248 If StringUtils.Contains(newtxt,"\\",0)
1249 newtxt := StringUtils.Replace(newtxt,"\","/",1,,0) ; replaces all backslashes with forward slashes
1250 } Else
1251 ScriptError("Not a valid use of ConvertRetroCFGKey. Only ""read"" or ""write"" are supported.")
1252 RLLog.Debug("ConvertRetroCFGKey - Converted " . txt . " to " . newtxt)
1253 Return newtxt
1254 }
1255
1256 MultiGame:
1257 KeyUtils.SetKeyDelay(100)
1258 emuPrimaryWindow.Activate()
1259 KeyUtils.Send("{" . ejectToggleKey . " down}{" . ejectToggleKey . " up}") ; eject disc in Retroarch
1260 If (!mgLastRomIndex) {
1261 mgLastRomIndex := mgRomIndex
1262 }
1263 selectedRomIndex := 0
1264 selectedRomIndex := StringUtils.TrimLeft(selectedRomNum, StringUtils.StringLength(mgType,0))
1265
1266 Loop % mgMaxIndex
1267 {
1268 If (m3uRomIndex[A_index] = mgLastRomIndex) {
1269 tempLastRomIndex := A_index
1270 RLLog.Debug("Module - Last index: " . tempLastRomIndex)
1271 }
1272 If (m3uRomIndex[A_index] = selectedRomIndex) {
1273 tempSelectedRomIndex := A_index
1274 RLLog.Debug("Module - Selected index: " . tempSelectedRomIndex)
1275 }
1276 }
1277
1278 mgNewIndex := tempLastRomIndex - tempSelectedRomIndex
1279
1280 If (mgNewIndex < 0) {
1281 mgNewIndex := mgNewIndex * -1
1282 Loop % mgNewIndex
1283 {
1284 RLLog.Debug("Module - Sending the next disk key: " . nextDiskKey)
1285 KeyUtils.Send("{" . nextDiskKey . " down}{" . nextDiskKey . " up}")
1286 }
1287 } Else If (mgNewIndex > 0) {
1288 Loop % mgNewIndex
1289 {
1290 RLLog.Debug("Module - Sending the previous disk key: " . mgNewIndex)
1291 KeyUtils.Send("{" . prevDiskKey . " down}{" . prevDiskKey . " up}")
1292 }
1293 }
1294
1295 KeyUtils.Send("{" . ejectToggleKey . " down}{" . ejectToggleKey . " up}") ; close disc in Retroarch
1296 mgLastRomIndex := selectedRomIndex
1297 Return
1298
1299 NetworkConnectedCheck:
1300 If clientConnected
1301 multiplayerMenuExit := true
1302 Else If emuPrimaryWindow.Exist() {
1303 RLLog.Info("Module - RetroArch session started, closing the MultiPlayer menu")
1304 multiplayerMenuExit := true
1305 }
1306 Return
1307
1308 CloseProcess:
1309 FadeOutStart()
1310 emuPrimaryWindow.Close()
1311 Return
1312
131323:02:41:527 | RL | INFO | +78 | BuildScript - Loaded Multi-Player scripts
131423:02:41:527 | RL | INFO | +0 | BuildScript - Loaded Statistics.ahk script
131523:02:41:527 | RL | INFO | +0 | BuildScript - "D:\RocketLauncher\Lib\User Functions\Global.ahk" not found
131623:02:41:527 | RL | INFO | +0 | BuildScript - "D:\RocketLauncher\Lib\User Functions\Sega 32X.ahk" not found
131723:02:41:527 | RL | INFO | +0 | BuildScript - "D:\RocketLauncher\Lib\User Functions\Emulators\RetroArch.ahk" not found
131823:02:41:527 | RL | INFO | +0 | BuildScript - "D:\RocketLauncher\Lib\User Functions\Sega 32X\Emulators\RetroArch.ahk" not found
131923:02:41:527 | RL | INFO | +0 | BuildScript - "D:\RocketLauncher\Lib\User Functions\Sega 32X\After Burner (Japan, USA).ahk" not found
132023:02:41:527 | RL | INFO | +0 | BuildScript - Finished injecting functions into module
132123:02:41:527 | RL | INFO | +0 | Main - Module is built
132223:02:41:527 | RL | INFO | +0 | CheckFile - Checking if D:\RocketLauncher\AutoHotkey.dll exists
132323:02:41:543 | RL | INFO | +16 | Main - Running module
132423:02:41:808 | MD | INFO | +N/A | Module initialized
132523:02:41:808 | MD | INFO | +0 | StartModule - Started
132623:02:41:808 | MD | INFO | +0 | StartModule - MEmu: RetroArch
1327 MEmuV: v1.3.6
1328 MURL: http://themaister.net/retroarch.html
1329 MAuthor: djvj|zerojay|SweatyPickle
1330 MVersion: 2.4.3
1331 MCRC: 699AB8F7
1332 iCRC: FB2DB971
1333 MID: 635038268922229162
1334 MSystem: Acorn BBC Micro|AAE|Amstrad CPC|Amstrad GX4000|APF Imagination Machine|Applied Technology MicroBee|Apple IIGS|Arcade Classics|Atari 2600|Atari 5200|Atari 7800|Atari 8-Bit|Atari Classics|Atari Jaguar|Atari Lynx|Atari ST|Atari XEGS|Bally Astrocade|Bandai Gundam RX-78|Bandai Super Vision 8000|Bandai Wonderswan|Bandai Wonderswan Color|Canon X07|Capcom Classics|Capcom Play System|Capcom Play System II|Capcom Play System III|Casio PV-1000|Casio PV-2000|Cave|Coleco ADAM|ColecoVision|Commodore MAX Machine|Commodore Amiga|Creatronic Mega Duck|Data East Classics|Dragon Data Dragon|Emerson Arcadia 2001|Entex Adventure Vision|Elektronika BK|Epoch Game Pocket Computer|Epoch Super Cassette Vision|Exidy Sorcerer|Fairchild Channel F|Final Burn Alpha|Funtech Super Acan|GamePark 32|GCE Vectrex|Hartung Game Master|Interton VC 4000|Irem Classics|JungleTac Sport Vii|Konami Classics|MAME|Magnavox Odyssey 2|Microsoft MSX|Microsoft MSX2|Matra & Hachette Alice|Mattel Aquarius|Mattel Intellivision|Midway Classics|Namco Classics|Namco System 22|NEC PC Engine|NEC PC Engine-CD|NEC PC-FX|NEC TurboGrafx-16|NEC SuperGrafx|NEC TurboGrafx-CD|Nintendo 64|Nintendo 64DD|Nintendo Arcade Systems|Nintendo Classics|Nintendo DS|Nintendo Entertainment System|Nintendo Famicom|Nintendo Famicom Disk System|Nintendo Game Boy|Nintendo Game Boy Color|Nintendo Game Boy Japan|Nintendo Game Boy Advance|Nintendo Game & Watch|Nintendo Super Game Boy|Nintendo Pokemon Mini|Nintendo Virtual Boy|Nintendo Super Famicom|Nintendo Satellaview|Nintendo SuFami Turbo|Panasonic 3DO|Elektronska Industrija Pecom 64|Philips CD-i|Philips Videopac|RCA Studio II|ScummVM|Sega 32X|Sega Classics|Sega Mega Drive 32X|Sega Mark III|Sega SC-3000|Sega SG-1000|Sega CD|Sega Dreamcast|Sega Game Gear|Sega Genesis|Sega Master System|Sega Mega Drive|Sega Meganet|Sega Nomad|Sega Pico|Sega Saturn|Sega Saturn Japan|Sega VMU|Sega ST-V|Sharp X1|Sharp X68000|Sinclair ZX Spectrum|Sinclair ZX81|Sony PlayStation|Sony PlayStation Minis|Sony PocketStation|Sony PSP|Sony PSP Minis|Sord M5|SNK Classics|SNK Neo Geo|SNK Neo Geo AES|SNK Neo Geo MVS|SNK Neo Geo Pocket|SNK Neo Geo CD|SNK Neo Geo Pocket Color|Spectravideo|Super Nintendo Entertainment System|Taito Classics|Tandy TRS-80 Color Computer|Technos|Texas Instruments TI 99-4A|Thomson MO5|Thomson TO7|Tiger Game.com|Tiki-100|Tomy Tutor|VTech CreatiVision|Watara Supervision|Williams Classics
133523:02:41:808 | MD | INFO | +0 | StartModule - You have a supported System Name for this module: "Sega 32X"
133623:02:41:808 | MD | INFO | +0 | LocaleUtils.i18n - Started
133723:02:41:808 | MD | INFO | +0 | LocaleUtils.i18n - Ended, using "Open" for "dialog.open"
133823:02:41:808 | MD | INFO | +0 | LocaleUtils.i18n - Started
133923:02:41:808 | MD | INFO | +0 | LocaleUtils.i18n - Ended, using "Start" for "dialog.start"
134023:02:41:808 | MD | INFO | +0 | PluginInit - Started
134123:02:41:808 | MD | INFO | +0 | CheckFile - Checking if D:\hyperspin\Databases\Sega 32X\Sega 32X.xml exists
134223:02:41:808 | MD | INFO | +0 | BuildAssetsTable - Started - Building Table for: Game Logo|System Logo
134323:02:41:808 | MD | INFO | +0 | BuildAssetsTable - Ended
134423:02:41:808 | MD | INFO | +0 | BuildAssetsTable - Started - Building Table for: Artwork1|Box Art|Cartridge|Flyers|Letters|Other
134523:02:41:902 | MD | INFO | +94 | BuildAssetsTable - Ended
134623:02:41:902 | MD | INFO | +0 | BuildAssetsTable - Started - Building Table for: Game Video|System Video
134723:02:41:902 | MD | INFO | +0 | BuildAssetsTable - Ended
134823:02:41:902 | MD | INFO | +0 | PluginInit - Ended
134923:02:41:902 | MD | INFO | +0 | StartModule - Ended
135023:02:41:902 | MD | INFO | +0 | BezelGUI - Started
135123:02:41:933 | MD | INFO | +31 | BezelGUI - Ended
135223:02:41:933 | MD | INFO | +0 | GetFadePicFile - Randomized images and Fade will use D:\RocketLauncher\Media\Fade\Sega 32X\_Default\Layer 1.png
135323:02:41:933 | MD | INFO | +0 | GetFadePicFile - Randomized images and Fade will use D:\RocketLauncher\Media\Fade\Sega 32X\_Default\Extra Layer 1 - Console.png
135423:02:42:245 | MD | INFO | +312 | DefaultAnimateFadeIn - Started, direction is: in
135523:02:42:245 | MD | INFO | +0 | DefaultAnimateFadeIn - Drawing First FadeIn Image.
135623:02:42:775 | MD | INFO | +530 | DefaultAnimateFadeIn - Ended
135723:02:42:806 | MD | INFO | +31 | DefaultFadeAnimation - Started
135823:02:42:806 | MD | INFO | +0 | GetFadePicFile - Randomized images and Fade will use D:\RocketLauncher\Media\Fade\Sega 32X\_Default\Layer 3.png
135923:02:42:838 | MD | INFO | +32 | BuildAssetsTable - Started - Building Table for: Genre Logo|Rating Logo|Developer Logo|Publisher Logo|Year Logo
136023:02:42:838 | MD | INFO | +0 | BuildAssetsTable - Ended
136123:02:42:838 | MD | INFO | +0 | BuildAssetsTable - Started - Building Table for: System Logo|Game Logo|Game Logo
136223:02:42:838 | MD | INFO | +0 | BuildAssetsTable - Ended
136323:02:43:040 | MD | INFO | +202 | DefaultFadeAnimationLoop - percentage
136423:02:43:103 | MD | INFO | +63 | DefaultFadeAnimationLoop - percentage1
136523:02:43:165 | MD | INFO | +62 | DefaultFadeAnimationLoop - percentage3
136623:02:43:228 | MD | INFO | +63 | DefaultFadeAnimationLoop - percentage4
136723:02:43:290 | MD | INFO | +62 | DefaultFadeAnimationLoop - percentage5
136823:02:43:352 | MD | INFO | +62 | DefaultFadeAnimationLoop - percentage6
136923:02:43:415 | MD | INFO | +63 | DefaultFadeAnimationLoop - percentage7
137023:02:43:477 | MD | INFO | +62 | DefaultFadeAnimationLoop - percentage9
137123:02:43:540 | MD | INFO | +63 | DefaultFadeAnimationLoop - percentage10
137223:02:43:602 | MD | INFO | +62 | DefaultFadeAnimationLoop - percentage11
137323:02:43:664 | MD | INFO | +63 | DefaultFadeAnimationLoop - percentage12
137423:02:43:727 | MD | INFO | +62 | DefaultFadeAnimationLoop - percentage14
137523:02:43:789 | MD | INFO | +62 | DefaultFadeAnimationLoop - percentage15
137623:02:43:852 | MD | INFO | +63 | DefaultFadeAnimationLoop - percentage16
137723:02:43:914 | MD | INFO | +62 | DefaultFadeAnimationLoop - percentage17
137823:02:47:876 | MD | INFO | +3963 | DefaultFadeAnimation - Ended
137923:02:47:876 | MD | INFO | +0 | DxwndUpdateIniPath - DxwndIni set to D:\RocketLauncher\Module Extensions\dxwnd\dxwnd.ini
138023:02:47:876 | MD | INFO | +0 | Module - Using these system variables:
138123:02:47:876 | MD | INFO | +0 | Module - retroSystem: Sega 32X
138223:02:47:876 | MD | INFO | +0 | Module - retroID: LibRetro_32X
138323:02:47:876 | MD | INFO | +0 | Module - retroCore: picodrive_libretro
138423:02:47:876 | MD | INFO | +0 | Module - retroMAMEID: 32x
138523:02:47:876 | MD | INFO | +0 | Module - retroMAMEMedia: cdrom
138623:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Fullscreen: true (DEFAULT)
138723:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - ConfigFolder: D:\hyperspin\Emulators\RetroArch\config (DEFAULT)
138823:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - single_core_options: false (DEFAULT)
138923:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - BIOS_Roms_Folder: (NO VALUE)
139023:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Hide_Nag_Screen: false (DEFAULT)
139123:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Hide_Info_Screen: false (DEFAULT)
139223:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Hide_Warning_Screen: false (DEFAULT)
139323:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - HideConsole: true (DEFAULT)
139423:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Eject_Toggle_Key: (NO VALUE)
139523:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Next_Disk_Key: (NO VALUE)
139623:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Previous_Disk_Key: (NO VALUE)
139723:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - LibRetro_Core: picodrive_libretro (DEFAULT)
139823:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - SuperGameBoy: false (DEFAULT)
139923:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Enable_Network_Play: false (DEFAULT)
140023:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Overlay: (NO VALUE)
140123:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - VideoShader: (NO VALUE)
140223:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - AspectRatioIndex: (NO VALUE)
140323:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - CustomViewportWidth: (NO VALUE)
140423:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - CustomViewportHeight: (NO VALUE)
140523:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - CustomViewportX: (NO VALUE)
140623:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - CustomViewportY: (NO VALUE)
140723:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - StretchToFillBezel: false (DEFAULT)
140823:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - Rotation: 0 (DEFAULT)
140923:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - CropOverscan: (NO VALUE)
141023:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - ThreadedVideo: (NO VALUE)
141123:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - VSync: (NO VALUE)
141223:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - IntegerScale: (NO VALUE)
141323:02:47:876 | MD | INFO | +0 | RIniFile.Read - Module - ConfigurationPerCore: false (DEFAULT)
141423:02:47:876 | MD | INFO | +0 | CheckFile - Checking if D:\hyperspin\Emulators\RetroArch\cores\picodrive_libretro.dll exists
141523:02:47:876 | MD | INFO | +0 | Module - Global cfg should be: D:\hyperspin\Emulators\RetroArch\retroarch.cfg
141623:02:47:876 | MD | INFO | +0 | Module - System cfg should be: D:\hyperspin\Emulators\RetroArch\config\Sega 32X.cfg
141723:02:47:876 | MD | INFO | +0 | Module - Core cfg should be: D:\hyperspin\Emulators\RetroArch\config\picodrive_libretro.cfg
141823:02:47:876 | MD | INFO | +0 | Module - Found a Global cfg!
141923:02:47:876 | MD | INFO | +0 | Module - RetroArch is using D:\hyperspin\Emulators\RetroArch\retroarch.cfg as its config file.
142023:02:47:876 | MD | INFO | +0 | LoadProperties - Started and loading this cfg into memory: D:\hyperspin\Emulators\RetroArch\retroarch.cfg
142123:02:47:876 | MD | INFO | +0 | LoadProperties - Ended
142223:02:47:876 | MD | INFO | +0 | Module - Retroarch standard mode enabled
142323:02:47:876 | MD | INFO | +0 | BezelStart - Started
142423:02:48:204 | MD | INFO | +327 | BezelStart - Game will be moved to monitor 1 if RL finds a valid bezel to be show.
142523:02:48:204 | MD | INFO | +0 | BezelStart - Loading Bezel image: D:\RocketLauncher\Media\Bezels\Sega 32X\_Default\Bezel - 16x9 32X Clean (Grizz).png
142623:02:48:204 | MD | INFO | +0 | BezelStart - Loading Background image: D:\RocketLauncher\Media\Backgrounds\Sega 32X\_Default\Background.jpg
142723:02:48:204 | MD | INFO | +0 | BezelStart - Ended
142823:02:48:235 | MD | INFO | +31 | Module - Saving changed settings to: "D:\hyperspin\Emulators\RetroArch\retroarch.cfg"
142923:02:48:235 | MD | INFO | +0 | SaveProperties - Started and saving this cfg to disk: D:\hyperspin\Emulators\RetroArch\retroarch.cfg
143023:02:48:329 | MD | INFO | +94 | SaveProperties - Ended
143123:02:48:329 | MD | INFO | +0 | Process.Run - Running: D:\hyperspin\Emulators\RetroArch\retroarch.exe "J:\roms\sega-32X\roms\After Burner (Japan, USA).zip" -c "D:\hyperspin\Emulators\RetroArch\retroarch.cfg" -L "D:\hyperspin\Emulators\RetroArch\cores\picodrive_libretro.dll
143223:02:48:391 | MD | INFO | +62 | Window.Wait - Waiting for window "RetroArch ahk_class RetroArch"
143323:02:48:832 | MD | INFO | +437 | Window.WaitActive - Waiting for "RetroArch ahk_class RetroArch"
143423:03:31:257 | MD | ERROR | +42417 | ScriptError - There was an error waiting for the window "RetroArch ahk_class RetroArch" to become active. Please check you have the correct version emulator installed for this module, followed any notes in the module, and have this emulator working outside your Frontend first. Also turn off Fade to see if you are hiding your problem.
143523:03:31:258 | MD | INFO | +0 | ExitModule - Started
143623:03:31:258 | MD | INFO | +0 | UpdateStatistics - Starting Updating Statistics
143723:03:31:591 | MD | INFO | +343 | UpdateStatistics - Game section statistics updated.
143823:03:31:592 | MD | INFO | +0 | ExitModule - Ended
1439End of Module Logs
144023:03:31:748 | RL | INFO | +50201 | Main - Module ended, exiting RocketLauncher normally
144123:03:31:748 | RL | INFO | +0 | ExitScript - Started
144223:03:31:808 | RL | INFO | +62 | ExitScript - Restoring taskbar
144323:03:32:038 | RL | INFO | +219 | SystemCursor - Restoring mouse cursor
144423:03:32:047 | RL | INFO | +15 | ExitScript - Restored cursor
144523:03:32:047 | RL | INFO | +0 | ExitScript - Ended
1446[/code]