The Long Dark · handler “Sky Co-op”
Version 2 (current)
Release notes
small improvement
- Released
- Size
- 2.4 KB
- Downloads
- 2,175
- Check
- Verified
- SHA-256
- 24cb1e3f086cbc3fdcb73cbdce606da4b37e7533562c4786c4ca0d15789f89a4
Files 1
| Path | Size |
|---|---|
| handler.js | 7.5 KB |
handler.js
Plain textHub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Tue May 30 2023 00:10:51 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",
"Bootstrap.dll",
"MelonStartScreen.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;
}
};