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

Stardew Valley · handler “StardewValley”

Version 1

Release notes

first release

Released
Size
1.3 KB
Downloads
108
Check
Unverified
SHA-256
b326ad13526f11d1db226f68bb767d06094dea19f9e45f8b8ef875f7ed4cd52a
Download v1 (.nc)All versions

Files 1

PathSize
handler.js4.2 KB

handler.js

Plain text
Hub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Fri Mar 06 2020 05:04:35 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.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 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");
  }
};