Skip to content
Beta: this is a preview of the new SplitScreen.Me. Data may be reset before launch.

Dark Souls: Prepare to Die Edition · handler “Dark Souls”

Version 5

Release notes

keyboards, different saves and more fixes

Released
Size
1.6 KB
Downloads
3
Check
Unverified
SHA-256
87a63600640cbdbdd433e9627dc2cca67669e896b34ddb68f9bdc6e59725427c
Download v5 (.nc)All versions

Files 1

PathSize
handler.js4.4 KB

handler.js

Plain text
Hub.Handler.Version = 5; // Released at https://hub.splitscreen.me/ on Fri Mar 06 2020 02:44:06 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",
  "DSfix.ini",
  "xinput1_3.dll"
  //"DINPUT8.dll",
];
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.BinariesFolder = "";
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.UseNucleusEnvironment = true;
Game.LauncherTitle = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "DARK SOULS";
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Hook.CustomDllEnabled = false;
Game.FakeFocus = true;
Game.HookFocus = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.UserProfileConfigPath = "AppData\\Local\\NBGI\\DarkSouls";
Game.UserProfileSavePath = "Documents\\NBGI\\DarkSouls";
Game.Description = "To play with keyboards set to true the SupportsMultipleKeyboardsAndMice option in the script. Use CTR+Q to stop splitscreen when you finish playing.";
Game.PauseBetweenStarts = 40;

Game.SupportsMultipleKeyboardsAndMice = false;

Game.HookSetCursorPos = false;
Game.HookGetCursorPos = true;
Game.HookGetKeyState = true;
Game.HookGetAsyncKeyState = true;
Game.HookGetKeyboardState = true;
Game.HookFilterRawInput = true;
Game.HookFilterMouseMessages = false;
Game.HookUseLegacyInput = false;
Game.HookDontUpdateLegacyInMouseMsg = false;
Game.HookMouseVisibility = true;

Game.SendNormalMouseInput = true;
Game.SendNormalKeyboardInput = true;
Game.SendScrollWheel = true;
Game.ForwardRawKeyboardInput = true;
Game.ForwardRawMouseInput = false;
Game.DrawFakeMouseCursor = true;
Game.LockInputAtStart = true;
Game.LockInputToggleKey = 0x2c;

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)
  ]);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\DSfix.ini");
  var savePkgOrigin = System.IO.Path.Combine(Context.RootInstallFolder, "DSfix.ini");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\DSfix.ini";
  var fileWidth = Context.FindLineNumberInTextFile(savePath, "renderWidth ", Nucleus.SearchType.StartsWith);
  var fileHeight = Context.FindLineNumberInTextFile(savePath, "renderHeight ", Nucleus.SearchType.StartsWith);

  Context.ReplaceLinesInTextFile(savePath, [fileWidth + "|renderWidth " + Context.Width, fileHeight + "|renderHeight " + Context.Height]);

  var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\DSfix.ini";
  var fileWidth = Context.FindLineNumberInTextFile(savePath, "presentWidth ", Nucleus.SearchType.StartsWith);
  var fileHeight = Context.FindLineNumberInTextFile(savePath, "presentHeight ", Nucleus.SearchType.StartsWith);

  Context.ReplaceLinesInTextFile(savePath, [fileWidth + "|presentWidth 1280", fileHeight + "|presentHeight 800"]);

  var autoExec = 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(autoExec, lines);
};