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

The Long Dark · handler “Sky Co-op”

Version 1

Release notes

release

Released
Size
246 KB
Downloads
13
Check
Verified
SHA-256
f7218fd4433adf99d5eecfe0129c5d1bc3ab31395fa277b1439a3f2c883355f8
Download v1 (.nc)All versions

Files 3

PathSize
handler.js7.4 KB
Anime game/handle64.exe578 KB
Anime game/handle_close.bat401 B

handler.js

Plain text
Hub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Mon May 29 2023 03:41:03 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "e8eyfTWiYfRgXLykF";
Hub.Maintainer.Name = "birden";
Hub.Maintainer.Id = "rRycxSn253ZCjQy5C";

var answers = ["DX11", "DX9"];
Game.AddOption("What will you use?", "", "dx", answers);

Game.ExecutableContext = ["tld_Data"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt"];
Game.FileSymlinkCopyInstead = [
  "baselib.dll",
  "UnityCrashHandler64.exe",
  "UnityPlayer.dll",
  "GameAssembly.dll",
  "version.dll",
  "CraftingRevisions.dll",
  "CraftingRevisions.json",
  "GearSpawner.dll",
  "GearSpawner.json",
  "IncreaseSaveSlotLimit.dll",
  "KeyboardUtilities.dll",
  "LocalizationUtilities.dll",
  "ModComponent.dll",
  "ModComponent.json",
  "ModSettings.dll",
  "multiplayerstuff.unity3d",
  "SkyCoop.dll",
  "SkyCoop.modcomponent",
  "Steamworks.NET.dll"
];
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = false;
Game.KeepSymLinkOnExit = false;
Game.ExecutableName = "tld.exe";
Game.SteamID = "305620";
Game.GUID = "The Long Dark";
Game.GameName = "The Long Dark";
Game.MaxPlayers = 32;
Game.MaxPlayersOneMonitor = 32;
Game.LauncherTitle = "";
Game.HideTaskbar = false;
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "TheLongDark";
Game.ResetWindows = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.XInputPlusDll = [];
Game.Description =
  "IMPORTANT: This handler is made for steam version only. You will need to downgrade your game to work with multiplayer, right click your game in steam, go into properties > betas and where it asks for a code put the one in this site: https://www.thelongdark.com/time-capsule/perilous-constraint/ (the branch passoword), now use the installer (https://github.com/RED1cat/SkyCoopInstaller/releases/tag/v2.0) to add multiplayer. Go into multiplayer, host a game and make it public, now you can connect with others. Some menus cant be selected with controllers, so use your mouse to select it. If you want to get together faster press ' on your keyboard to open console and type 'fly' and find the other player. You can press 'end' when you want to lock the keyboard/mouse input to its own screen (or show cursor if you cant see it in the menus)";
Game.PauseBetweenProcessGrab = 5;
Game.PauseBetweenStarts = 20;

//USS deprecated options:

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

Game.SendNormalMouseInput = false;
Game.SendNormalKeyboardInput = false;
Game.SendScrollWheel = false;
Game.ForwardRawKeyboardInput = false;
Game.ForwardRawMouseInput = false;
Game.HookReRegisterRawInput = false;
Game.HookReRegisterRawInputMouse = false;
Game.HookReRegisterRawInputKeyboard = false;
Game.DrawFakeMouseCursor = false;

//ProtoInput:

Game.SupportsMultipleKeyboardsAndMice = true;

Game.ProtoInput.InjectStartup = false;
Game.ProtoInput.InjectRuntime_RemoteLoadMethod = false;
Game.ProtoInput.InjectRuntime_EasyHookMethod = true;
Game.ProtoInput.InjectRuntime_EasyHookStealthMethod = false;

Game.LockInputAtStart = false;
Game.LockInputSuspendsExplorer = true;
Game.ProtoInput.FreezeExternalInputWhenInputNotLocked = false;
Game.LockInputToggleKey = 0x23;

Game.ProtoInput.RenameHandlesHook = false;
Game.ProtoInput.RenameHandles = [];
Game.ProtoInput.RenameNamedPipes = [];

Game.ProtoInput.RegisterRawInputHook = true;
Game.ProtoInput.GetRawInputDataHook = true;
Game.ProtoInput.MessageFilterHook = true;
Game.ProtoInput.GetCursorPosHook = true;
Game.ProtoInput.SetCursorPosHook = true;
Game.ProtoInput.GetKeyStateHook = false;
Game.ProtoInput.GetAsyncKeyStateHook = false;
Game.ProtoInput.GetKeyboardStateHook = false;
Game.ProtoInput.CursorVisibilityHook = true;
Game.ProtoInput.ClipCursorHook = true;
Game.ProtoInput.FocusHooks = true;
Game.ProtoInput.DrawFakeCursor = true;
Game.ProtoInput.ClipCursorHookCreatesFakeClip = true;
Game.ProtoInput.EnableToggleFakeCursorVisibilityShortcut = false;
Game.ProtoInput.DontShowCursorWhenImageUpdated = true;

Game.ProtoInput.RawInputFilter = false;
Game.ProtoInput.MouseMoveFilter = false;
Game.ProtoInput.MouseActivateFilter = false;
Game.ProtoInput.WindowActivateFilter = false;
Game.ProtoInput.WindowActvateAppFilter = false;
Game.ProtoInput.MouseWheelFilter = false;
Game.ProtoInput.MouseButtonFilter = false;
Game.ProtoInput.KeyboardButtonFilter = false;

Game.ProtoInput.SendMouseWheelMessages = true;
Game.ProtoInput.SendMouseButtonMessages = true;
Game.ProtoInput.SendMouseMovementMessages = true;
Game.ProtoInput.SendKeyboardButtonMessages = true;
Game.ProtoInput.XinputHook = true;
Game.ProtoInput.UseOpenXinput = true;
Game.ProtoInput.UseDinputRedirection = false;
Game.ProtoInput.DinputDeviceHook = false;
Game.ProtoInput.DinputHookAlsoHooksGetDeviceState = false;
Game.ProtoInput.MultipleProtoControllers = true;

Game.ProtoInput.EnableFocusMessageLoop = true;
Game.ProtoInput.FocusLoopIntervalMilliseconds = 5000;
Game.ProtoInput.FocusLoop_WM_ACTIVATE = true;
Game.ProtoInput.FocusLoop_WM_ACTIVATEAPP = false;
Game.ProtoInput.FocusLoop_WM_NCACTIVATE = false;
Game.ProtoInput.FocusLoop_WM_SETFOCUS = false;
Game.ProtoInput.FocusLoop_WM_MOUSEACTIVATE = false;
Game.ProtoInput.BlockedMessages = [0x0008, 0x02a3, 0x02a1]; // Blocks WM_KILLFOCUS, WM_MOUSEHOVER and WM_MOUSELEAVE

Game.Play = function() {
  var DX = Context.Options["dx"];
  if (DX == "DX9") {
    var Args = (Context.Args = " -screen-fullscreen 0 -popupwindow -force-d3d9 " + " -screen-width " + Context.Width + " -screen-height " + Context.Height);

    Context.StartArguments = Args;
  } else {
    var Args = (Context.Args = " -screen-fullscreen 0 -popupwindow -force-d3d11 " + " -screen-width " + Context.Width + " -screen-height " + Context.Height);

    Context.StartArguments = Args;
  }

  if (Context.IsKeyboardPlayer) {
    Game.ProtoInput.KeyboardButtonFilter = true;
    Game.ProtoInput.CursorVisibilityHook = true;
    Game.ProtoInput.DontShowCursorWhenImageUpdated = true;
    Game.ProtoInput.DrawFakeCursor = true;
  } else {
    Game.ProtoInput.KeyboardButtonFilter = false;
    Game.ProtoInput.CursorVisibilityHook = false;
    Game.ProtoInput.DontShowCursorWhenImageUpdated = false;
    Game.ProtoInput.DrawFakeCursor = false;
    Game.ProtoInput.GetCursorPosHook = false;
    Game.ProtoInput.SetCursorPosHook = false;
  }

  var numPlayers = 0;

  for (var i = 0; i < PlayerList.Count; i++) {
    var player = PlayerList[i];

    if (player.IsXInput && player.ScreenIndex !== -1) {
      numPlayers++;
    }
    player.ProtoController1 = Context.GamepadId;
    player.ProtoController2 = Context.GamepadId;
    player.ProtoController3 = Context.GamepadId;
    player.ProtoController4 = Context.GamepadId;
    player.ProtoController5 = Context.GamepadId;
    player.ProtoController6 = Context.GamepadId;
    player.ProtoController7 = Context.GamepadId;
    player.ProtoController8 = Context.GamepadId;
    player.ProtoController9 = Context.GamepadId;
  }
};