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

Drake Hollow · handler “Drake Hollow”

Version 5

Release notes

removed the need for external files

Released
Size
2.0 KB
Downloads
2
Check
Verified
SHA-256
3c127f713b12e7921df609229216a35a92a62934a635da5b05c723bb94676f19
Download v5 (.nc)All versions

Files 1

PathSize
handler.js6.4 KB

handler.js

Plain text
Hub.Handler.Version = 5; // Released at https://hub.splitscreen.me/ on Sun Jun 27 2021 07:49:29 GMT+0000 (UTC).
Hub.Handler.Id = "mAzvBk2dypcAivRHb";
Hub.Maintainer.Name = "Vlxst";
Hub.Maintainer.Id = "wZTsDsXZnJhD4fwfz";

Game.DirSymlinkExclusions = ["Engine\\Binaries\\ThirdParty\\Steamworks\\Steamv146\\Win64", "DrakeHollow\\Binaries\\Win64"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt"];
Game.GameName = "Drake Hollow";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.KeepSymLinkOnExit = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = false;
Game.SupportsKeyboard = false;
Game.ExecutableName = "DrakeHollow-Win64-Shipping.exe";
Game.SteamID = "739650";
Game.GUID = "DrakeHollow";
Game.MaxPlayers = 2;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "DrakeHollow\\Binaries\\Win64";
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.GoldbergExperimental = true;
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Drake Hollow";
Game.HasDynamicWindowTitle = true;
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.FakeFocus = true;
Game.FakeFocusSendActivateIgnoreKB = true;
Game.HookFocus = true;
Game.ResetWindows = true;
Game.HideTaskbar = true;
Game.RefreshWindowAfterStart = true;
Game.UseSteamStubDRMPatcher = true;
Game.SteamStubDRMPatcherArch = "64";
Game.UseNucleusEnvironment = true;
Game.UserProfileSavePathNoCopy = true;
Game.UserProfileSavePath = "AppData\\Local\\DrakeHollow\\Saved\\SaveGames";
Game.UserProfileConfigPath = "AppData\\Local\\DrakeHollow\\Saved\\Config\\WindowsNoEditor";
Game.Description =
  "!!ONLY two gamepads or two M/Keyboards!!. To connect the instances press the INVITE button inside the lobby or in game. An overlay will appear on screen, use the mouse to right click on the other player(s) and select INVITE. Then alt+tab to the other instances to accept the invites(gamepads). If you need to open the overlay to create/accept an invite press shift+tab. Also please disable other programs that add overlays to the game, such as MSI afterburner. to save your graphics settings, exit the game using the EXIT THE GAME option";
Game.PauseBetweenStarts = 35;

Game.SupportsMultipleKeyboardsAndMice = true;

Game.HookSetCursorPos = true;
Game.HookGetCursorPos = true;
Game.HookGetKeyState = false;
Game.HookGetAsyncKeyState = false;
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 = true;
Game.HookReRegisterRawInputKeyboard = false;
Game.DrawFakeMouseCursor = false;
Game.LockInputAtStart = true;
Game.LockInputToggleKey = 0x23;

Game.Play = function() {
  Context.StartArguments = "-windowed -AlwaysFocus -nosplash" + " -ResX=" + Context.Width + " -ResY=" + Context.Height;

  if (!Context.HasKeyboardPlayer) {
    //no
    Game.SetForegroundWindowElsewhere = true;

    Game.SupportsMultipleKeyboardsAndMice = false;
    Game.LockInputAtStart = false;
    Game.DrawFakeMouseCursor = true;
  }

  //UI Scale
  if (Context.AspectRatioDecimal < 1.2) {
    var savePath = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\Engine.ini";
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("/Script/Engine.UserInterfaceSettings", "ApplicationScale", "0.7")]);
  } else if (Context.AspectRatioDecimal > 1.8) {
    var savePath = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\Engine.ini";
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("/Script/Engine.UserInterfaceSettings", "ApplicationScale", "1")]);
  }

  //Creat .ini file
  var filePath = (Context.filePath = Game.Folder);
  System.IO.Directory.CreateDirectory(filePath);

  var savePath = (Context.SavePath = Game.Folder + "\\GameUserSettings.ini");
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "bUseVSync", "True"),
    new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "bUseDynamicResolution", "True"),
    new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "WindowPosX", "-1"),
    new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "WindowPosY", "-1"),
    new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "FullscreenMode", "2"),
    new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "LastConfirmedFullscreenMode", "2"),
    new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "PreferredFullscreenMode", "2"),
    new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "bUseDesiredScreenHeight", "False")
  ]);

  //Game settings verification
  if (System.IO.File.Exists(Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\GameUserSettings.ini")) {
    var savePath = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\GameUserSettings.ini";
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "bUseVSync", "True"),
      new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "bUseDynamicResolution", "True"),
      new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "WindowPosX", "-1"),
      new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "WindowPosY", "-1"),
      new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "FullscreenMode", "2"),
      new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "LastConfirmedFullscreenMode", "2"),
      new Nucleus.IniSaveInfo("/Script/Engine.GameUserSettings", "PreferredFullscreenMode", "2")
    ]);
  } else {
    var savePath = (Context.SavePath = Context.GetFolder = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\GameUserSettings.ini");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "GameUserSettings.ini");
    System.IO.File.Copy(savePkgOrigin, savePath, true);
  }
};