Dark Souls: Prepare to Die Edition · handler “Dark Souls”
Version 9
Release notes
documents path fix
- Released
- Size
- 1.9 KB
- Downloads
- 454
- Check
- Verified
- SHA-256
- 6029ff16d35e3cbb5e60fe408241978759fb0f38dceba5908299221db559f651
Files 1
| Path | Size |
|---|---|
| handler.js | 5.2 KB |
handler.js
Plain textHub.Handler.Version = 9; // Released at https://hub.splitscreen.me/ on Sat Feb 13 2021 02:51:37 GMT+0000 (UTC).
Hub.Handler.Id = "4romqwMRuhC5y5NiG";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";
Game.ExecutableContext = ["dsfix"];
Game.FileSymlinkExclusions = ["steam_api.dll", "steam_appid.txt", "steam_interfaces.txt", "xinput1_3.dll"];
Game.FileSymlinkCopyInstead = ["DSfix.ini"];
Game.GameName = "Dark Souls";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "darksouls.exe";
Game.SteamID = "211420";
Game.GUID = "Dark Souls";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.UseNucleusEnvironment = true;
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.LauncherTitle = "";
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "DARK SOULS";
Game.FakeFocus = false;
Game.HookFocus = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Hook.CustomDllEnabled = false;
Game.UserProfileConfigPath = "AppData\\Local\\NBGI\\DarkSouls";
Game.DocumentsSavePath = "NBGI\\DarkSouls";
Game.Description =
"Run your main game at least once before using this. If you use keyboards and mice after the instances open press the END key to lock the input, use the keyboards in all menus. Press the END key again to unlock the input. You can also use CTRL+Q to close Nucleus and all its instances. The default Dark Souls menu key is END, remap it in the game settings so that it doesn't interfere with the input locking. Each instance has its own saves that are copies of your original ones, your original saves will not be overwritten. You can access these saves in the app, after the first launch click game options/open documents save path in the UI";
Game.PauseBetweenStarts = 40;
Game.SupportsMultipleKeyboardsAndMice = true;
Game.HookSetCursorPos = false;
Game.HookGetCursorPos = true;
Game.HookGetKeyState = false;
Game.HookGetAsyncKeyState = true;
Game.HookGetKeyboardState = false;
Game.HookFilterRawInput = true;
Game.HookFilterMouseMessages = false;
Game.HookUseLegacyInput = false;
Game.HookDontUpdateLegacyInMouseMsg = false;
Game.HookMouseVisibility = false;
Game.SendNormalMouseInput = true;
Game.SendNormalKeyboardInput = true;
Game.SendScrollWheel = true;
Game.ForwardRawKeyboardInput = false;
Game.ForwardRawMouseInput = false;
Game.HookReRegisterRawInput = true;
Game.HookReRegisterRawInputMouse = false;
Game.HookReRegisterRawInputKeyboard = true;
Game.DrawFakeMouseCursor = false;
Game.LockInputAtStart = false;
Game.LockInputToggleKey = 0x23;
Game.Play = function() {
var VideoConfig = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\DarkSouls.ini";
Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("DisplaySetting", "WindowMode", "1"),
new Nucleus.IniSaveInfo("DisplaySettingWindow", "Width", Context.Width),
new Nucleus.IniSaveInfo("DisplaySettingWindow", "Height", Context.Height),
new Nucleus.IniSaveInfo("DisplaySettingFilter", "Antialiasing", "0")
]);
var txtPath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\DSfix.ini";
var dict = [
Context.FindLineNumberInTextFile(txtPath, "renderWidth ", Nucleus.SearchType.StartsWith) + "|renderWidth " + Context.Width,
Context.FindLineNumberInTextFile(txtPath, "renderHeight ", Nucleus.SearchType.StartsWith) + "|renderHeight " + Context.Height,
Context.FindLineNumberInTextFile(txtPath, "presentWidth ", Nucleus.SearchType.StartsWith) + "|presentWidth 1280",
Context.FindLineNumberInTextFile(txtPath, "presentHeight ", Nucleus.SearchType.StartsWith) + "|presentHeight 800",
Context.FindLineNumberInTextFile(txtPath, "borderlessFullscreen ", Nucleus.SearchType.StartsWith) + "|borderlessFullscreen 0",
Context.FindLineNumberInTextFile(txtPath, "captureCursor ", Nucleus.SearchType.StartsWith) + "|captureCursor 0",
Context.FindLineNumberInTextFile(txtPath, "forceWindowed ", Nucleus.SearchType.StartsWith) + "|forceWindowed 0",
Context.FindLineNumberInTextFile(txtPath, "forceFullscreen ", Nucleus.SearchType.StartsWith) + "|forceFullscreen 0"
];
Context.ReplaceLinesInTextFile(txtPath, dict);
var interfaces = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steam_interfaces.txt";
var lines = [
"SteamClient012",
"SteamGameServer011",
"SteamGameServerStats001",
"SteamUser017",
"SteamFriends014",
"SteamUtils006",
"SteamMatchMaking009",
"SteamMatchMakingServers002",
"STEAMUSERSTATS_INTERFACE_VERSION011",
"STEAMAPPS_INTERFACE_VERSION006",
"SteamNetworking005",
"STEAMREMOTESTORAGE_INTERFACE_VERSION012",
"STEAMSCREENSHOTS_INTERFACE_VERSION002",
"STEAMHTTP_INTERFACE_VERSION002",
"STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001",
"STEAMUGC_INTERFACE_VERSION001",
"STEAMCONTROLLER_INTERFACE_VERSION"
];
Context.WriteTextFile(interfaces, lines);
if (Context.NumControllers < 5) {
Game.Hook.XInputReroute = false;
} else {
Game.Hook.UseAlpha8CustomDll = true;
Game.Hook.CustomDllEnabled = true;
}
};