Every time I load a game using RLauncher it shuts off xpadder instead of opening it and selecting the default p1 profile. Then after I exit the game using my keyboard and try to re-open xpadder I get 3 error popups which i attached pictures of. Im pretty sure I have xpadder setup up correctly because it's working correctly outside of RLauncher. I also have xpadder and keymapper enabled in settings. Does it matter if i exit out of xpadder before loading a game or should i just keep it minimized? Right now it doesn't seem to be making a difference though. I've also pasted my log file. Any help getting xpadder to would would be greatly appreciated. Thanks!
PHP:
[code]
03:37:18:842 | RL | INFO | +N/A | Main - RocketLauncher v1.0.1.5a (www.rlauncher.com)
03:37:18:901 | RL | INFO | +47 | Main - System Specs:
RocketLauncher Dir: C:\hyperspin\RocketLauncher
RocketLauncher is: 32-bit
OS: Microsoft Windows 7 Ultimate
SKU: Ultimate
Total Memory: 16366.68 MB
Free Memory: 13005.29 MB
Used Memory: 3361.395 MB
SystemType: 64-bit
Physical Processors: 1
Logical Processors: 8
GPU 1 Name: NVIDIA GeForce GTX 570
GPU 1 RAM: 1280.00 MB
GPU 1 Driver Version: 9.18.13.4752
Sound 1 Device: NVIDIA High Definition Audio
Sound 1 Status: Enabled
Sound 2 Device: NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
Sound 2 Status: Enabled
Sound 3 Device: NVIDIA High Definition Audio
Sound 3 Status: Enabled
Sound 4 Device: NVIDIA High Definition Audio
Sound 4 Status: Enabled
Sound 5 Device: NVIDIA High Definition Audio
Sound 5 Status: Enabled
Sound 6 Device: Realtek High Definition Audio
Sound 6 Status: Enabled
OS Language: English_United_States
System Locale: en-US
Formats Locale: en-US
Windows UI Language: en-US
Text Encoding: Windows-1252
OS Admin Status: No
Latest .Net Version: v4.0.30319
Monitor #1 (\\.\DISPLAY1): 1920x1080 (1920x1040 work) [32bit] [60hz] [Landscape] (Primary)
Current AHK Desktop Width: 1920
Current AHK Desktop Height: 1080
AutoHotkey Path:
AHK Version: 1.1.09.04
Unicode: No
03:37:18:901 | RL | INFO | +0 | CheckFile - Checking if C:\hyperspin\RocketLauncher\RocketLauncher.exe exists
03:37:18:902 | RL | INFO | +15 | Main - Loading Front End Plugin: "HyperSpin"
03:37:18:902 | RL | INFO | +0 | Main - RocketLauncher received "Microsoft MS-DOS" and "RedRam"
03:37:18:907 | RL | INFO | +0 | Main - Found a "Games Options.ini" file, loading it into memory.
03:37:18:908 | RL | INFO | +0 | Main - RedRam is using the default emulator: DFend
03:37:18:908 | RL | INFO | +0 | Main - Checking for a [DFend] section in C:\hyperspin\RocketLauncher\Settings\Microsoft MS-DOS\Emulators.ini
03:37:18:908 | RL | INFO | +0 | Main - Checking for a [DFend] section in C:\hyperspin\RocketLauncher\Settings\Global Emulators.ini
03:37:18:908 | RL | INFO | +0 | Main - Found [DFend] in C:\hyperspin\RocketLauncher\Settings\Global Emulators.ini
03:37:18:908 | RL | INFO | +0 | CheckFile - Checking if C:\hyperspin\RocketLauncher\Modules\DFend\DFend.ahk exists
03:37:18:911 | RL | INFO | +0 | Main - CRC Check - CRC matches, this is an official unedited module.
03:37:18:911 | RL | INFO | +0 | Main - RedRam will use module: C:\hyperspin\RocketLauncher\Modules\DFend\DFend.ahk
03:37:18:925 | RL | INFO | +16 | Main - Using standard method with "Rom Extension" SkipChecks or without any SkipChecks.
03:37:18:926 | RL | INFO | +0 | CheckFile - Checking if C:\hyperspin\Emulators\D-Fend Reloaded\DFend.exe exists
03:37:18:927 | RL | INFO | +0 | Main - INI Keys read
03:37:18:927 | RL | INFO | +0 | CheckFile - Checking if C:\hyperspin\RocketLauncher\Module Extensions\7z.exe exists
03:37:18:927 | RL | INFO | +0 | CheckFile - Checking if C:\hyperspin\RocketLauncher\Module Extensions\7z.dll exists
03:37:18:929 | RL | INFO | +0 | Main - "RedRam" does not qualify for MultiGame. Only roms with any of these strings in their name are acceptable: \(Disc|\(Disk|\(Cart|\(Tape|\(Cassette|\(Part|\(Side
03:37:18:929 | RL | INFO | +0 | CheckPaths - Started
03:37:18:929 | RL | INFO | +0 | CheckPaths - Found rom: C:\hyperspin\Emulators\D-Fend Reloaded\VirtualHD\RedRam.txt
03:37:18:929 | RL | INFO | +0 | CheckPaths - Ended
03:37:18:929 | RL | INFO | +0 | BuildScript - User Variables:
;----------------------------------------------------------------------------
; INJECTED VARIABLES
;----------------------------------------------------------------------------
#NoTrayIcon
#InstallKeybdHook
DetectHiddenWindows, ON
SetTitleMatchMode, 2
SendMode, Event
0 = 12
pluginPath = C:\hyperspin\RocketLauncher\Plugins
pluginName = HyperSpin
pluginExt = .plugin
contextOnExit = 1
rlMode =
rlTitle = RocketLauncher
rlVersion = 1.0.1.5a
rlAuthor = djvj
rlURL = www.rlauncher.com
langFile = C:\hyperspin\RocketLauncher\Data\Language\Localization.ini
primMonitor = 1
frontendPID =
frontendPath = C:\hyperspin
frontendExe = HyperSpin.exe
frontendExt = exe
frontendName = HyperSpin
frontendDrive = C:
exitEmulatorKey = ~Esc
restoreFE = false
exitScriptKey = ~PGUP & ~PGDN
toggleCursorKey = ~e & ~t
emuFullPath = C:\hyperspin\Emulators\D-Fend Reloaded\DFend.exe
emuPath = C:\hyperspin\Emulators\D-Fend Reloaded
emuName = DFend
emuExt = exe
baseRomPath = \Microsoft MS-DOS
romPath = C:\hyperspin\Emulators\D-Fend Reloaded\VirtualHD
romPathFromIni = C:\hyperspin\Emulators\D-Fend Reloaded\VirtualHD|\Microsoft MS-DOS
romExtension = .txt
romExtensionOrig = .txt
romExtensions = 7z|zip|txt
executable = DFend.exe
systemDbName = Microsoft MS-DOS
systemName = Microsoft MS-DOS
dbPath =
dbName = RedRam
dbExt =
romName = RedRam
romMapPath =
romMappingEnabled = false
romMappingLaunchMenuEnabled = false
romMappingFirstMatchingExt = false
romMappingShowAllRomsInArchive = true
romMappingNumberOfGamesByScreen = 7
romMappingHideParent = false
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
romMappingGameNameTextFont = Bebas Neue
romMappingGameNameTextOptions = cFFFFFFFF r4 s40 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 = C:\hyperspin\RocketLauncher\Module Extensions\BlockInput.exe
errorLevelReporting = false
lockLaunch = false
lockLaunchGame =
screenRotationAngle = 0
screenRotationAngleGame =
setResolution =
logFile = C:\hyperspin\RocketLauncher\RocketLauncher.log
logLabel := [" INFO"," WARNING"," ERROR"," DEBUG1"," DEBUG2"]
logLevel = 3
logShowDebugConsole = false
logIncludeModule = true
logIncludeFileProperties = true
logShowCommandWindow = false
logCommandWindow = false
rlDebugConsoleStdout =
sysLang = English_United_States
sysType = 64-bit
broadcastWindowTitle =
navUpKey = Up
navDownKey = Down
navLeftKey = Left
navRightKey = Right
navSelectKey = Enter
navP2UpKey = Numpad8
navP2DownKey = Numpad2
navP2LeftKey = Numpad4
navP2RightKey = Numpad6
navP2SelectKey = NumpadEnter
originalWidth = 1920
originalHeight = 1080
vdEnabled = false
vdFullPath = C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe
vdUseSCSI = true
vdDriveLetter =
vdAddDrive = false
servoStikEnabled = false
servoStikExitMode = false
ledblinkyEnabled = false
ledblinkySystemName =
ledblinkyFullPath =
ledblinkyProfilePath = C:\hyperspin\RocketLauncher\Profiles\LEDBlinky
ledblinkyRLProfile = C:\hyperspin\RocketLauncher\Profiles\LEDBlinky\RocketLauncher
winIPACFullPath =
ultraMapEnabled = false
ultraMapFullPath =
emuIdleShutdown = 0
launchPasswordHash = zQJHGuIBD6bt2rEoPola0Rbrl81Ci3lgdm1mxbcm+QfXe+SDPHV0ig==
hideCursor = false
hideEmu = false
hideFE = false
fadeIn = true
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
fadeClickThrough = 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
fadeRomInfoDeveloper = text with label
fadeRomInfoPublisher = 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
fadeRomInfoText7Options = 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 = C:\hyperspin\RocketLauncher\Media\Fade
RLDataPath = C:\hyperspin\RocketLauncher\Data
RLMediaPath = C:\hyperspin\RocketLauncher\Media
RLErrSoundPath = C:\hyperspin\RocketLauncher\Media\Sounds\Error
modulesPath = C:\hyperspin\RocketLauncher\Modules
moduleFullName = C:\hyperspin\RocketLauncher\Modules\DFend\DFend.ahk
moduleName = DFend
modulePath = C:\hyperspin\RocketLauncher\Modules\DFend
moduleExtension = ahk
moduleExtensionsPath = C:\hyperspin\RocketLauncher\Module Extensions
libPath = C:\hyperspin\RocketLauncher\Lib
sevenZEnabled = false
sevenZPath = C:\hyperspin\RocketLauncher\Module Extensions\7z.exe
sevenZDllPath = C:\hyperspin\RocketLauncher\Module Extensions\7z.dll
sevenZExtractPath = C:\Temp HS Games
sevenZExtractPathOrig =
sevenZAttachSystemName = false
sevenZDelTemp = true
sevenZSounds = true
sevenZFormats = .zip|.rar|.7z|.lzh|.gzip|.tar
sevenZFormatsNoP = zip|rar|7z|lzh|gzip|tar
sevenZFormatsRegEx = \.zip|\.rar|\.7z|\.lzh|\.gzip|\.tar
7zExtractPath = C:\Temp HS Games
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 = true
pauseKey = ~NumpadAdd
pauseBackToMenuBarKey = X
pauseZoomInKey = C
pauseZoomOutKey = V
pauseScreenshotKey = ~PrintScreen
pauseHiToTextPath = C:\hyperspin\RocketLauncher\Module Extensions\HiToText.exe
pauseSaveStateKeyCodes =
pauseLoadStateKeyCodes =
keyboardEncoder =
keyboardEncoderEnabled = false
keymapperEnabled = true
keymapperAHKMethod = false
keymapper = xpadder
xpadderFullPath = C:\hyperspin\Utilities\Xpadder\Xpadder.exe
joyToKeyFullPath = C:\hyperspin\Utilities\JoyToKey\JoyToKey.exe
profilePath = C:\hyperspin\RocketLauncher\Profiles
keymapperProfilePath = C:\hyperspin\RocketLauncher\Profiles\xpadder
keymapperFrontEndProfileName = HyperSpin
keymapperFrontEndProfile = false
keymapperRocketLauncherProfileEnabled = false
joyIDsEnabled = false
joyIDsPreferredControllersGlobal =
joyIDsPreferredControllersSystem = use_global
joyIDsPreferredControllersOnExit =
CustomJoyNamesEnabled = false
CustomJoyNames =
rotateMethod = false
FEProfile = C:\hyperspin\RocketLauncher\Profiles\xpadder\HyperSpin
defaultProfile = C:\hyperspin\RocketLauncher\Profiles\xpadder\_Default
systemProfile = C:\hyperspin\RocketLauncher\Profiles\xpadder\Microsoft MS-DOS
xPadderSystemProfile = C:\hyperspin\RocketLauncher\Profiles\xpadder\Microsoft MS-DOS\_Default
emuProfile = C:\hyperspin\RocketLauncher\Profiles\xpadder\Microsoft MS-DOS\DFend
romProfile = C:\hyperspin\RocketLauncher\Profiles\xpadder\Microsoft MS-DOS\RedRam
RocketLauncherProfile = C:\hyperspin\RocketLauncher\Profiles\xpadder\RocketLauncher
blankProfile = C:\hyperspin\RocketLauncher\Profiles\xpadder\_Default\blank
ahkFEProfile = C:\hyperspin\RocketLauncher\Profiles\AHK\HyperSpin
ahkDefaultProfile = C:\hyperspin\RocketLauncher\Profiles\AHK\_Default
ahkSystemProfile = C:\hyperspin\RocketLauncher\Profiles\AHK\Microsoft MS-DOS
ahkEmuProfile = C:\hyperspin\RocketLauncher\Profiles\AHK\Microsoft MS-DOS\DFend
ahkRomProfile = C:\hyperspin\RocketLauncher\Profiles\AHK\Microsoft MS-DOS\RedRam
ahkRocketLauncherProfile = C:\hyperspin\RocketLauncher\Profiles\AHK\RocketLauncher
bezelEnabled = false
bezelICEnabled = false
statisticsEnabled = true
pressDuration = -1
emuVolume = 1
dxwndIni = C:\hyperspin\RocketLauncher\Module Extensions\dxwnd\dxwnd.ini
dxwndFullPath = C:\hyperspin\RocketLauncher\Module Extensions\dxwnd\dxwnd.exe
qResFullPath = C:\hyperspin\RocketLauncher\Module Extensions\QRes.exe
mon1O =
pacDrivedllFile = C:\hyperspin\RocketLauncher\Module Extensions\PacDrive32.dll
userFadeAnimIniFile = C:\hyperspin\RocketLauncher\Lib\User Fade Animations.ini
03:37:18:930 | RL | INFO | +0 | BuildScript - Loaded XHotkey Init.ahk scripts
03:37:18:930 | RL | INFO | +0 | BuildScript - Loaded Keymapper Init.ahk scripts
03:37:18:930 | RL | INFO | +0 | BuildScript - Loaded Fade Init.ahk scripts
03:37:18:930 | RL | INFO | +0 | BuildScript - Loaded Pause Init.ahk scripts
03:37:18:930 | RL | INFO | +0 | BuildScript - Loaded Statistics Init.ahk scripts
03:37:18:930 | RL | WARNING | +0 | BuildScript - "C:\hyperspin\RocketLauncher\Lib\User Functions Init.ahk" not found
03:37:18:930 | RL | INFO | +0 | BuildScript - Validating module
03:37:18:932 | RL | INFO | +0 | BuildScript - Validation complete
03:37:18:932 | RL | INFO | +0 | BuildScript - Module:
MEmu = DFend
MEmuV = v1.3.3
MURL = http://dfendreloaded.sourceforge.net/BetaDownload.html
MAuthor = djvj
MVersion = 2.0.2
MCRC = 42DEADA7
iCRC = 2A86C83F
MID = 635038268883456883
MSystem = "DOS","Microsoft MS-DOS"
;----------------------------------------------------------------------------
; Notes:
; Requires DOSBox @ http://www.dosbox.com/ or you can get newer SVN versions on EmuCR
; You can find an Enhanced DOSBox (highly recommended) with many unofficial features on ykhwong's page @ http://ykhwong.x-y.net/
; Set SkipChecks to Rom Only because if you keep your games extracted in the DOSBox's VirtualHD. If games are lept archived and 7z extracts them, keep SkipChecks off.
; The Emulator path in RocketLauncherUI needs to be the folder with the DFend.exe and exe needs to be DFend.exe. Ex: ..\Emulators\DOSBox\D-FendReloadedPortable\App\D-Fend Reloaded\DFend.exe
; If 7z_Enable is true, this module will set your Default Game Location in DFend to match the 7z_Extract_Path from RocketLauncherUI.
; Many old games place save games inside their own dirs, if you use 7z_Enable and 7z_Delete_Temp is true, you will delete these save games. Set 7z_Delete_Temp to false to prevent this.
; Setup all your games in the DFend frontend before you compress them, this module will launch each game using DFend instead of straight DOSBox. This allows for easy editing of DOSBox settings in case they are needed.
; Controls are done via in-game options for each game.
; DOSBox cli parameters: http://www.dosbox.com/wiki/Usage
; Dfend support thread: http://www.vogons.org/viewtopic.php?f=31&t=17415
;
; For fullscreen setting to work, a few things must match:
; DFend profile name and file name must match romName (Press Ctrl+Enter on the game while in DFend)
; If your games are compressed (zip, 7z, rar, etc), the game's fileName must match romName like any other emu
;
; List of multiplayer network dos games: http://web.archive.org/web/19970521185925/http://www.cs.uwm.edu/public/jimu/netgames.html
; GoG IPX list: http://www.gog.com/mix/dos_games_with_ipx_multiplayer
; MobyGames IPX list: http://www.mobygames.com/attribute/sheet/attributeId,82/p,2/
; MobyGames NetBios list: http://www.mobygames.com/attribute/sheet/attributeId,129/
;----------------------------------------------------------------------------
StartModule()
FadeInStart()
settingsFile := modulePath . "\" . moduleName . ".ini"
fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","true",,1)
defaultServerIP := IniReadCheck(settingsFile, "Settings", "Default_Server_IP",,,1)
defaultServerPort := IniReadCheck(settingsFile, "Settings", "Default_Server_Port",,,1)
lastIP := IniReadCheck(settingsFile, "Settings", "Last_IP",,,1) ; does not need to be on the ISD
lastPort := IniReadCheck(settingsFile, "Settings", "Last_Port",,,1) ; does not need to be on the ISD
enableNetworkPlay := IniReadCheck(settingsFile, romName, "Enable_Network_Play","false",,1)
networkExecutable := IniReadCheck(settingsFile, romName, "Network_Executable",,,1)
networkProtocol := IniReadCheck(settingsFile, romName, "Network_Protocol","IPX",,1) ; not used yet
If 7zEnable = true
{ dfendINI := CheckFile(emuPath . "\Settings\DFend.ini")
IniRead, GameLoc, %dfendINI%, ProgramSets, DefGameLoc
If ( 7zExtractPath != GameLoc )
IniWrite, %7zExtractPath%HS\, %dfendINI%, ProgramSets, DefGameLoc
}
; Use the -userconf switch instead of the -conf switch if you want to skip the default config file alltogether.
dosboxProf := CheckFile(emuPath . "\Confs\DOSBox DOS.prof") ; profile name for DOSBox
dfendGameProf := CheckFile(emuPath . "\Confs\" . romName . ".prof") ; profile name must match romName in dfend otherwise error here
IniRead, currentFullScreenGlobal, %dosboxProf%, sdl, fullscreen
IniRead, currentFullScreenGame, %dfendGameProf%, sdl, fullscreen
; Setting Fullscreen setting in ini if it doesn't match what user wants above
If (Fullscreen != "true" && (currentFullScreenGlobal = 1 || currentFullScreenGame = 1)) {
IniWrite, 0, %dosboxProf%, sdl, fullscreen
IniWrite, 0, %dfendGameProf%, sdl, fullscreen
} Else If (Fullscreen = "true" && (currentFullScreenGlobal = 0 || currentFullScreenGame = 0)) {
IniWrite, 1, %dosboxProf%, sdl, fullscreen
IniWrite, 1, %dfendGameProf%, sdl, fullscreen
}
exeSwapped :=
updateIPX :=
If (enableNetworkPlay = "true") {
Log("Module - Enabling network mode.",4)
networkSession :=
; Possible future support for network games (basic requirements to enable networked games)
; Some games require a different exe to be launched for network support. Doom for example, you launch ipxsetup.exe instead of doom.exe
; Gosub, QuestionUserTemp
MultiPlayerMenu(lastIP, lastPort, networkType)
; Launch GUI here to get if user wants to play a network or Single Player game
; If Network, user then chooses to be the client or server
; If Client, allow user to put in a custom IP and Port. Default will be filled from the module settings from RocketLauncherUI
; GUI order:
; Ask if game should be launched Single player or Multi-Player
; If Single, exit GUI and launch normally and set %networkSession% to "false"
; If Multi-Player, exit GUI and launch normally and set %networkSession% to "true"
; As if this session is a server or client
; If Server, set %networkType% to "server" and exit GUI
; If Client, set %networkType% to "client"
; Show a GUI to fill in the IP address of the Server to connect to. Default IP will be the last used IP from %lastIP%
; Show a GUI to fill in the port of the Server to connect to. Default Port will be the last used IP from %lastPort% and exit GUI
If networkSession = true
{ IniRead, originalGameExe, %dfendGameProf%, Extra, exe ; Store the original exe in case it needs to be restored on exit
IniRead, beforeExecution, %dfendGameProf%, ExtraCommands, BeforeExecution ; Store the original Extra Commands
IniWrite, 1, %dfendGameProf%, ipx, ipx ; enable network
IniWrite, %networkType%, %dfendGameProf%, ipx, type ; can be client or server
IniWrite, %networkIP%, %dfendGameProf%, ipx, address ; If client, need to put the address of the server to connect tohere
IniWrite, %networkPort%, %dfendGameProf%, ipx, port ; If client, need to put the port of the server to connect to here
If (networkType = "client") { ; save last used IP and Port for quicker launching next time
IniWrite, %networkIP%, %settingsFile%, Settings, Last_IP
IniWrite, %networkPort%, %settingsFile%, Settings, Last_Port
}
If networkExecutable { ; if user set a network executable for this game
Log("Module - This game requires a different executable to be ran for Multi-Player games. Setting it to run: """ . networkExecutable . """",4)
exeMod := RegExReplace(originalGameExe, "[\w-]+\..*", networkExecutable) ; swap the original exe out for the network one
IniWrite, %exeMod%, %dfendGameProf%, Extra, exe ; change the exe of the game to the exe required to launch a multiplayer game
exeSwapped := 1
}
ipxClientCommand := "IPXNET CONNECT " . networkIP . " " . networkPort ; command for a client in an IPX network
ipxServerCommand := "IPXNET STARTSERVER " . networkPort ; command for the server in an IPX network
; when helper commands are added to a game, they show up in the game's conf profile:
ipxSessionCommand := If networkType = "client" ? ipxClientCommand : ipxServerCommand
If !InStr(beforeExecution, "IPXNET") { ; if execution does not contain an IPX command at all
Log("Module - IPXNET command does not exist at all, adding it into the execution.",4)
beforeExecutionMod := beforeExecution . ipxSessionCommand ; tack on the IPX command at the end
updateIPX := 1
} Else If (InStr(beforeExecution, "IPXNET") && !InStr(beforeExecution, ipxSessionCommand)) { ; if an IPX command exists already, update the IPX command with the correct IP and Port
Log("Module - IPXNET command exists but is not set to the right IP or Port. Updating it to: " . networkIP . " " . networkPort,4)
beforeExecutionMod := RegExReplace(beforeExecution, "i)IPXNET[\sA-Za-z0-9\.]*", ipxSessionCommand) ; update BeforeExecution with the correct IPX command for this session
updateIPX := 1
} Else ; IPX command is already correct, do not change
Log("Module - IPXNET command already configured correctly.",4)
If updateIPX {
Log("Module - IPXNET command updated to match this session in: " . dosboxProf,4)
IniWrite, %beforeExecutionMod%, %dfendGameProf%, ExtraCommands, BeforeExecution ; write updated BeforeExecution commands to conf
}
}
}
hideEmuObj := Object("DOSBox ahk_class SDL_app",1) ; Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later
; 7z(romPath, romName, romExtension, 7zExtractPath) ; 7z not supported yet
; 7Z SUPPORT IS NEW FOR V1.3, NEED TO TEST AND FINISH THIS MODULE
; Would need to do a regexreplace to change the relativepaths to our new ones in the conf files to support 7z:
; [Extra]
; Exe=.\VirtualHD\SimCity 2000\sc2vesa.bat
; Setup=.\VirtualHD\SimCity 2000\install.exe
; 0=.\VirtualHD\;Drive;C;false;
HideEmuStart()
Run(executable . " """ . romName . """", emuPath)
WinWait("DOSBox ahk_class SDL_app")
WinWaitActive("DOSBox ahk_class SDL_app")
Sleep, 1000 ; DOSBox gains focus before it goes fullscreen, this prevents HS from flashing back in due to this
HideEmuEnd()
FadeInExit()
Process("WaitClose", "DOSBox.exe")
; 7zCleanUp()
If exeSwapped {
Log("Module - Restoring the original executable for """ . romName . """",4)
IniWrite, %originalGameExe%, %dfendGameProf%, Extra, exe ; restore the original exe for single player
}
If updateIPX {
Log("Module - Restoring the original BeforeExecution commands for """ . romName . """",4)
IniWrite, %beforeExecution%, %dfendGameProf%, ExtraCommands, BeforeExecution ; restore original BeforeExecution commands
}
FadeOutExit()
ExitModule()
QuestionUserTemp:
Gui +OwnDialogs
MsgBox, 262148, Question, Do you want to play Multi-Player?, 10
IfMsgBox Yes
{ networkSession := "true"
MsgBox, 262148, Question, Are you acting as the Server?, 10
IfMsgBox Yes
{ networkType := "server"
Return
} Else {
networkType := "client"
InputBox, networkIP, Server IP Address, Please enter the IP Address of the Server,,,,,,,, %lastIP%
InputBox, networkPort, Server Port, Please enter the Port of the Server,,,,,,,, %lastport%
Return
}
} Else {
networkSession := "false"
Return
}
Return
RestoreEmu:
Send, !{Enter}
Return
CloseProcess:
FadeOutStart()
WinClose("DOSBox ahk_class SDL_app")
Return
; DOSBOX NETWORKING (from 2004)
; I. Introduction
; More recent versions of DosBox have had virtual modem support, and as of the writing of this guide, the CVS contains virtual IPX support. Virtual modem support emulates modem connectivity over the Internet. This makes it possible for people to play old DOS modem-based multiplayer games over the Internet, no extra hardware required. The virtual modem also effectively turns DOS BBS software like PC-Link, Qmodem and Ripterm into a Telnet client. This allows DOS modem software to connect to bulletin boards now made available over the Internet. While the virtual modem is limited to two DosBox sessions/individuals connected at one time, the virtual IPX support makes games that supported several connected players possible.
; II. Virtual Modem Support
; The virtual modem has been designed to simulate a modem as closely as possible. Like real modems, the virtual modem uses a COM port assigned through the dosbox.conf file. The virtual modem also makes use of the Hayes® AT command set to issue commands to the modem. The following is an example entry in the dosbox.conf file for modem configuration:
; [modem]
; modem=true
; comport=2
; listenport=23
; “modem=true” enables the modem emulation. To disable the emulation change it to read “modem=false”. DosBox has two COM ports, 1 and 2. Depending on the software compatibility, you may need to change this to 1, though the default setting, as shown here, should work in most cases. Finally, listenport sets the port that listens for incoming DosBox modem calls. Port 23 is typically the telnet port. For simplicity, leaving this value as is should provide for the easiest setup once in DosBox.
; Once the modem is enabled in DosBox, one uses it as you would a regular modem, with a few exceptions. The following AT commands are valid with the DosBox Virtual Modem:
; ATDT
; This is the standard dialing command for a modem. To connect to another computer, this should be the host name or IP address. For example ATDT127.0.0.1 and ATDTbob.internet.com are valid entries. Finally (this feature is only available in the CVS), one can dial by entering a pure stream of numbers. ATDT127000000001 is the equivalent to ATDT127.0.0.1. This
; ATA
; This command answers an incoming connect request. On receiving an incoming call, the modem will write out “RING” and a telephone ring will be heard. Typing ATA will finalize the connection and the two DosBox sessions should be connected.
; ATS0
; ATS0 is the auto-answer parameter. Typing “ATS0=1” makes DosBox auto-answer any incoming calls. Typing “ATS0=0” (the default) disables auto-answer.
; ATE
; ATE0 turns character echo off, where as ATE1 turns character echo on. This is enabled before a connection. On connection, echo is disabled.
; ATNET
; (As of this writing, this function is only available in the CVS) “ATNET1” tells DosBox you are connecting to a Telnet session. “ATNET0” (the default) tells DosBox you are connecting to another DosBox session. This option is useful to ensure data are transmitted properly over the respective connections.
; ATI
; ATI3 and ATI4 are simple information commands, only present because they are present in nearly all real modems as well.
; * It should be noted that the virtual modem exists only as a way to connect modem-based DOS programs through the Internet. As of this writing, there is no direct modem access on any platform.
; III. IPX Networking Support
; The IPX networking emulation exists for pretty much the same reason as the modem emulation. All of the IPX networking is managed through the internal DosBox program IPXNET. For help on the IPX networking from inside DosBox, type “IPXNET HELP” (without quotes) and the program will list out the commands and relevant documentation.
; With regard to actually setting up a network, one system needs to be the server. To set this up, in a DosBox section, one should type “IPXNET STARTSERVER” (without the quotes). The server DosBox session will automatically add itself to the virtual IPX network. In turn, for every other computer that should be part of the virtual IPX network, you’ll need to type “IPXNET CONNECT <computer host name or IP>”. For example, if your server is at bob.dosbox.com, you would type “IPXNET CONNECT bob.dosbox.com” on every non-server system. The following is an IPXNET command reference:
; IPXNET CONNECT
; IPXNET CONNECT opens a connection to an IPX tunneling server running on another DosBox session. The "address" parameter specifies the IP address or host name of the server computer. One can also specify the UDP port to use. By default IPXNET uses port 213, the assigned IANA port for IPX tunneling, for its connection.
; The syntax for IPXNET CONNECT is:
; IPXNET CONNECT address <port>
; IPXNET DISCONNECT
; IPXNET DISCONNECT closes the connection to the IPX tunneling server.
; The syntax for IPXNET DISCONNECT is:
; IPXNET DISCONNECT
; IPXNET STARTSERVER
; IPXNET STARTSERVER starts and IPX tunneling server on this DosBox session. By default, the server will accept connections on UDP port 213, though this can be changed. Once the server is started, DosBox will automatically start a client connection to the IPX tunneling server.
; The syntax for IPXNET STARTSERVER is:
; IPXNET STARTSERVER <port>
; IPXNET STOPSERVER
; IPXNET STOPSERVER stops the IPX tunneling server running on this DosBox\nsession. Care should be taken to ensure that all other connections have terminated as well since stopping the server may cause lockups on other machines still using the IPX tunneling server.
; The syntax for IPXNET STOPSERVER is:
; IPXNET STOPSERVER
; IPXNET PING
; IPXNET PING broadcasts a ping request through the IPX tunneled network. In response, all other connected computers will respond to the ping and report the time it took to receive and send the ping message.
; The syntax for IPXNET PING is:
; IPXNET PING
; IPXNET STATUS
; IPXNET STATUS reports the current state of this DosBox's sessions IPX tunneling network. For a list of the computers connected to the network use the IPXNET PING command.
; The syntax for IPXNET STATUS is:
; IPXNET STATUS
03:37:18:940 | RL | INFO | +15 | BuildScript - Loaded Pause scripts
03:37:18:941 | RL | INFO | +0 | BuildScript - Loaded Multi-Player scripts
03:37:18:943 | RL | INFO | +0 | BuildScript - Loaded Statistics.ahk script
03:37:18:943 | RL | WARNING | +0 | BuildScript - "C:\hyperspin\RocketLauncher\Lib\User Functions.ahk" not found
03:37:18:943 | RL | INFO | +0 | BuildScript - Finished injecting functions into module
03:37:18:944 | RL | INFO | +0 | Main - Module is built
03:37:18:944 | RL | INFO | +0 | CheckFile - Checking if C:\hyperspin\RocketLauncher\AutoHotkey.dll exists
03:37:18:945 | RL | INFO | +0 | Main - Running module
03:37:19:095 | MD | INFO | +N/A | Module initialized
03:37:19:097 | MD | INFO | +0 | CheckFile - Checking if C:\hyperspin\Utilities\Xpadder\Xpadder.exe exists
03:37:19:097 | MD | INFO | +0 | Keymapper - Loading xpadder
03:37:19:097 | MD | INFO | +0 | RunKeymapper - Started, using method "load"
03:37:19:097 | MD | INFO | +0 | GetJoystickArray - Started
03:37:19:125 | MD | INFO | +32 | GetJoystickGUID - Started
03:37:19:125 | MD | INFO | +0 | GetJoystickGUID - Ended and found GUID: 605F6D57A701E5118001444553540000
03:37:19:125 | MD | INFO | +0 | GetJoystickArray - Ended
03:37:19:125 | MD | INFO | +0 | GetProfile - Loading Player 1 Profile -> C:\hyperspin\RocketLauncher\Profiles\xpadder\Microsoft MS-DOS\_Default\p1.xpadderprofile
03:37:19:125 | MD | INFO | +0 | RunXpadder - Started
03:37:19:125 | MD | INFO | +0 | Process - Exist JoyToKey.exe
03:37:19:126 | MD | INFO | +0 | Run - Running: C:\hyperspin\Utilities\Xpadder\Xpadder.exe /C
03:37:19:154 | MD | INFO | +31 | Process - WaitClose Xpadder.exe 2
03:37:19:807 | MD | INFO | +655 | Run - Running: C:\hyperspin\Utilities\Xpadder\Xpadder.exe "C:\hyperspin\RocketLauncher\Profiles\xpadder\Microsoft MS-DOS\_Default\p1.xpadderprofile" /M
03:37:19:816 | MD | INFO | +0 | RunXpadder - Ended
03:37:19:816 | MD | INFO | +0 | RunKeymapper - Ended
03:37:19:817 | MD | INFO | +0 | StartModule - Started
03:37:19:817 | MD | INFO | +0 | StartModule - MEmu: DFend
MEmuV: v1.3.3
MURL: http://dfendreloaded.sourceforge.net/BetaDownload.html
MAuthor: djvj
MVersion: 2.0.2
MCRC: 42DEADA7
iCRC: 2A86C83F
MID:
MSystem: "DOS","Microsoft MS-DOS"
03:37:19:817 | MD | INFO | +0 | StartModule - You have a supported System Name for this module: "Microsoft MS-DOS"
03:37:19:818 | MD | INFO | +0 | PluginInit - Started
03:37:19:818 | MD | INFO | +0 | CheckFile - Checking if C:\hyperspin\Databases\Microsoft MS-DOS\Microsoft MS-DOS.xml exists
03:37:19:850 | MD | INFO | +31 | PluginInit - Ended
03:37:19:851 | MD | INFO | +0 | StartModule - Ended
03:37:19:852 | MD | INFO | +0 | GetFadePicFile - Randomized images and Fade will use C:\hyperspin\RocketLauncher\Media\Fade\_Default\Layer 1.png
03:37:19:947 | MD | INFO | +109 | DefaultAnimateFadeIn - Started, direction is: in
03:37:19:947 | MD | INFO | +0 | DefaultAnimateFadeIn - Drawing First FadeIn Image.
03:37:20:451 | MD | INFO | +500 | DefaultAnimateFadeIn - Ended
03:37:20:457 | MD | INFO | +0 | DefaultFadeAnimation - Started
03:37:20:458 | MD | INFO | +0 | GetFadePicFile - Randomized images and Fade will use C:\hyperspin\RocketLauncher\Media\Fade\_Default\Info Bar.png
03:37:20:483 | MD | INFO | +31 | GetFadePicFile - Randomized images and Fade will use C:\hyperspin\RocketLauncher\Media\Fade\_Default\Layer 3.png
03:37:20:545 | MD | INFO | +62 | DefaultFadeAnimation - Ended
03:37:20:545 | MD | INFO | +0 | DxwndUpdateIniPath - DxwndIni set to C:\hyperspin\RocketLauncher\Module Extensions\dxwnd\dxwnd.ini
03:37:20:547 | MD | INFO | +0 | Module Setting - [Settings] - Fullscreen: true
03:37:20:547 | MD | INFO | +0 | Module Setting - [Settings] - Default_Server_IP:
03:37:20:547 | MD | INFO | +0 | Module Setting - [Settings] - Default_Server_Port:
03:37:20:547 | MD | INFO | +0 | Module Setting - [Settings] - Last_IP:
03:37:20:547 | MD | INFO | +0 | Module Setting - [Settings] - Last_Port:
03:37:20:547 | MD | INFO | +0 | Module Setting - [RedRam] - Enable_Network_Play: false
03:37:20:547 | MD | INFO | +0 | Module Setting - [RedRam] - Network_Executable:
03:37:20:547 | MD | INFO | +0 | Module Setting - [RedRam] - Network_Protocol: IPX
03:37:20:547 | MD | INFO | +0 | CheckFile - Checking if C:\hyperspin\Emulators\D-Fend Reloaded\Confs\DOSBox DOS.prof exists
03:37:20:547 | MD | INFO | +0 | CheckFile - Checking if C:\hyperspin\Emulators\D-Fend Reloaded\Confs\RedRam.prof exists
03:37:20:548 | MD | INFO | +0 | Run - Running: C:\hyperspin\Emulators\D-Fend Reloaded\DFend.exe "RedRam"
03:37:20:575 | MD | INFO | +31 | WinWait - Waiting for "DOSBox ahk_class SDL_app"
03:37:20:665 | MD | INFO | +94 | GetFadePicFile - Randomized images and Fade will use C:\hyperspin\RocketLauncher\Media\Fade\_Default\7z complete.mp3
03:37:20:665 | MD | INFO | +0 | DefaultFadeAnimationLoop - Playing 7z fade complete sound: C:\hyperspin\RocketLauncher\Media\Fade\_Default\7z complete.mp3
03:37:22:592 | MD | INFO | +1919 | WinWaitActive - Waiting for "DOSBox ahk_class SDL_app"
03:37:24:493 | MD | INFO | +1903 | DefaultAnimateFadeIn - Started, direction is: out
03:37:25:021 | MD | INFO | +530 | DefaultAnimateFadeIn - Ended
03:37:25:060 | MD | INFO | +32 | Process - WaitClose DOSBox.exe
03:37:31:762 | MD | INFO | +6708 | WinClose - Closing: DOSBox ahk_class SDL_app
03:37:32:543 | MD | INFO | +780 | ExitModule - Started
03:37:32:543 | MD | INFO | +0 | Starting Updating Statistics:
03:37:32:748 | MD | INFO | +202 | Game section statistics updated.
03:37:32:748 | MD | INFO | +0 | RunKeymapper - Started, using method "unload"
03:37:32:748 | MD | INFO | +0 | GetJoystickArray - Started
03:37:32:752 | MD | INFO | +0 | GetJoystickGUID - Started
03:37:32:752 | MD | INFO | +0 | GetJoystickGUID - Ended and found GUID: 605F6D57A701E5118001444553540000
03:37:32:752 | MD | INFO | +0 | GetJoystickArray - Ended
03:37:32:753 | MD | INFO | +0 | GetProfile - Loading Profile -> C:\hyperspin\RocketLauncher\Profiles\xpadder\_Default\blank.xpadderprofile
03:37:32:753 | MD | INFO | +0 | RunXpadder - Started
03:37:32:753 | MD | INFO | +0 | Process - Exist JoyToKey.exe
03:37:32:769 | MD | INFO | +32 | Run - Running: C:\hyperspin\Utilities\Xpadder\Xpadder.exe /C
03:37:32:806 | MD | INFO | +31 | Process - WaitClose Xpadder.exe 2
03:37:34:881 | MD | INFO | +2075 | Process - Close Xpadder.exe
03:37:34:882 | MD | INFO | +0 | Run - Running: C:\hyperspin\Utilities\Xpadder\Xpadder.exe "C:\hyperspin\RocketLauncher\Profiles\xpadder\_Default\blank.xpadderprofile" /M
03:37:34:891 | MD | INFO | +0 | RunXpadder - Ended
03:37:34:891 | MD | INFO | +0 | RunKeymapper - Ended
03:37:34:891 | MD | INFO | +0 | ExitModule - Ended
03:37:34:891 | MD | INFO | +0 | End of Module Logs
03:37:34:960 | RL | INFO | +16022 | Main - Module ended, exiting RocketLauncher normally
03:37:34:960 | RL | INFO | +0 | ExitScript - Started
03:37:35:182 | RL | INFO | +218 | SystemCursor - Restoring mouse cursor
03:37:35:186 | RL | INFO | +0 | ExitScript - Ended
[/code]