Dark Souls: Prepare to Die Edition · handler “Dark Souls”
Version 10
Release notes
Dsfix ini edit fix
- Released
- Size
- 1.9 KB
- Downloads
- 2,951
- Check
- Verified
- SHA-256
- f56bcf3b28a160b6c83face0554d66e5767564fbc013da10def99322457cd28b
Files 1
| Path | Size |
|---|---|
| handler.js | 5.2 KB |
handler.js
Plain textHub.Handler.Version = 10; // Released at https://hub.splitscreen.me/ on Sun Mar 14 2021 05:31:24 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;
}
};