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

Grim Dawn · handler “Grim Dawn”

Version 7

Release notes

better edit fuction.

Released
Size
1.5 KB
Downloads
281
Check
Verified
SHA-256
ce4335540737dfcaf2746c7d2400b4c0dbe17435aceb52c8694b5a9df2623ee2
Download v7 (.nc)All versions

Files 1

PathSize
handler.js3.8 KB

handler.js

Plain text
Hub.Handler.Version = 7; // Released at https://hub.splitscreen.me/ on Sat Nov 14 2020 00:14:39 GMT+0000 (UTC).
Hub.Handler.Id = "K8M5mDtTcKu4ofMYn";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.ExecutableContext = ["resources"];
Game.FileSymlinkExclusions = ["steam_api.dll", "steam_api64.dll", "steam_appid.txt", "winmm.dll"];
Game.KillMutex = ["GrimDawn"];
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.UseSteamStubDRMPatcher = true;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "grim dawn.exe";
Game.SteamID = "219990";
Game.GUID = "Grim Dawn";
Game.GameName = "Grim Dawn";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.LauncherTitle = "";
Game.HideTaskbar = false;
Game.StartArguments = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Grim Dawn";
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 = false;
Game.HookFocus = true;
Game.UserProfileConfigPath = "Documents\\My Games\\Grim Dawn\\Settings";
Game.UserProfileSavePath = "Documents\\My Games\\Grim Dawn\\save";
Game.Description =
  "Press the END key in your keyboard to unlock the main cursor and the input when you finish playing. You can also use CTRL+Q to close Nucleus and all its instances. Vertical Splitscreen for 2 players works best, use a different character per instance. If you have performance issues with gamepads try setting to false the Game.UpdateFakeMouseWithInternalInput line in the script, gamepad cursors will be invisible without that option though.";
Game.PauseBetweenStarts = 25;

Game.SupportsMultipleKeyboardsAndMice = true;

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

Game.Play = function() {
  var cfgFilePath = Context.GetFolder(Nucleus.Folder.Documents) + "\\My Games\\Grim Dawn\\Settings\\options.txt";

  var inactiveUpdateLine = Context.FindLineNumberInTextFile(cfgFilePath, "inactiveUpdateRate", Nucleus.SearchType.Contains);
  var cloudLine = Context.FindLineNumberInTextFile(cfgFilePath, "cloudSaving", Nucleus.SearchType.Contains);
  var gamepadLine = Context.FindLineNumberInTextFile(cfgFilePath, "gamepadSupport", Nucleus.SearchType.Contains);
  var resolutionLine = Context.FindLineNumberInTextFile(cfgFilePath, "resolution", Nucleus.SearchType.Contains);
  var windowModeLine = Context.FindLineNumberInTextFile(cfgFilePath, "screenMode", Nucleus.SearchType.Contains);

  Context.ReplaceLinesInTextFile(cfgFilePath, [
    inactiveUpdateLine + "|inactiveUpdateRate        = 1",
    cloudLine + "|cloudSaving               = false",
    gamepadLine + "|gamepadSupport            = true",
    resolutionLine + "|resolution                = " + Context.Width + " " + Context.Height,
    windowModeLine + "|screenMode                = 2"
  ]);
};