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 4

Release notes

Fixed bad resizing and added M/K support

Released
Size
2.4 KB
Downloads
2
Check
Unverified
SHA-256
4ffeead7ea5853d3d9aba2728b6d61ff7ccfb93d98413d5b680c419dd2177a84
Download v4 (.nc)All versions

Files 2

PathSize
Drake Hollow/GameUserSettings.ini472 B
handler.js5.4 KB

handler.js

Plain text
Hub.Handler.Version = 4; // Released at https://hub.splitscreen.me/ on Sun Jun 27 2021 05:54:28 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")]);
  }

  //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);
  }
};