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

Stardew Valley · handler “StardewValley”

Version 2

Release notes

resizing and res fix

Released
Size
1.4 KB
Downloads
593
Check
Verified
SHA-256
8aef9584f2241d9424230e5dbfad58cdf9fd97330cf72aae4f419e8fee880eda
Download v2 (.nc)All versions

Files 1

PathSize
handler.js4.3 KB

handler.js

Plain text
Hub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Sat Mar 21 2020 18:32:42 GMT+0000 (UTC).
Hub.Handler.Id = "LT3wMdrR7gPrKgfzb";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.ExecutableContext = ["Mods"];
Game.FileSymlinkExclusions = ["steam_appid.txt"];
Game.NeedsSteamEmulation = false;
Game.CreateSteamAppIdByExe = true;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "StardewModdingAPI.exe";
Game.SteamID = "4131501";
Game.GUID = "Stardew Valley Modding API";
Game.GameName = "Stardew Valley (Modding API)";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.LauncherTitle = "";
Game.ForceProcessPick = true;
Game.HideTaskbar = false;
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "Stardew Valley";
Game.HasDynamicWindowTitle = true;
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.FakeFocus = true;
Game.Hook.CustomDllEnabled = false;
Game.RefreshWindowAfterStart = true;
Game.ResetWindows = true;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Description =
  "This script needs SMAPI and the WindowResize mod installed. After Nucleus process picker opens select the stardew process and quickly focus the game window or Nucleus will grab the command window. Use the zoom in and zoom out options when you press start during gameplay. Use the END key or CTR+Q to stop splitscreen when you finish playing.";
Game.PauseBetweenStarts = 40;

Game.SupportsMultipleKeyboardsAndMice = true;

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

Game.Play = function() {
  var path = "%USERPROFILE%\\AppData\\Roaming\\StardewValley\\startup_preferences";
  Context.ChangeXmlNodeInnerTextValue(path, "//skipWindowPreparation", "false");
  Context.ChangeXmlNodeInnerTextValue(path, "//windowMode", "1");
  Context.ChangeXmlNodeInnerTextValue(path, "//windowedBorderlessFullscreen", "false");
  Context.ChangeXmlNodeInnerTextValue(path, "//fullscreen", "false");
  Context.ChangeXmlNodeInnerTextValue(path, "//gamepadControls", "true");
  Context.ChangeXmlNodeInnerTextValue(path, "//hardwareCursor", "false");
  Context.ChangeXmlNodeInnerTextValue(path, "//fullscreenResolutionX", Context.Width);
  Context.ChangeXmlNodeInnerTextValue(path, "//fullscreenResolutionY", Context.Height);
  Context.ChangeXmlNodeInnerTextValue(path, "//preferredResolutionX", Context.Width);
  Context.ChangeXmlNodeInnerTextValue(path, "//preferredResolutionY", Context.Height);
  Context.ChangeXmlNodeInnerTextValue(path, "//pauseWhenOutOfFocus", "false");

  if (Player.Owner.IsFullscreen()) {
    var path = "%USERPROFILE%\\AppData\\Roaming\\StardewValley\\startup_preferences";
    Context.ChangeXmlNodeInnerTextValue(path, "//skipWindowPreparation", "false");
    Context.ChangeXmlNodeInnerTextValue(path, "//windowMode", "0");
    Context.ChangeXmlNodeInnerTextValue(path, "//windowedBorderlessFullscreen", "true");
    Context.ChangeXmlNodeInnerTextValue(path, "//fullscreen", "false");
    Context.ChangeXmlNodeInnerTextValue(path, "//gamepadControls", "true");
    Context.ChangeXmlNodeInnerTextValue(path, "//hardwareCursor", "false");
    Context.ChangeXmlNodeInnerTextValue(path, "//fullscreenResolutionX", Context.Width);
    Context.ChangeXmlNodeInnerTextValue(path, "//fullscreenResolutionY", Context.Height);
    Context.ChangeXmlNodeInnerTextValue(path, "//preferredResolutionX", Context.Width);
    Context.ChangeXmlNodeInnerTextValue(path, "//preferredResolutionY", Context.Height);
    Context.ChangeXmlNodeInnerTextValue(path, "//pauseWhenOutOfFocus", "false");
  }
};