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

Outward · handler “Outward”

Version 4

Release notes

UI option for no. of players per instance.

Released
Size
1.4 KB
Downloads
2,764
Check
Verified
SHA-256
30c7126fbb839f548a4c23bd17ab8cde66df78ddbe8e014c680c2f8983206902
Download v4 (.nc)All versions

Files 1

PathSize
handler.js3.8 KB

handler.js

Plain text
Hub.Handler.Version = 4; // Released at https://hub.splitscreen.me/ on Thu Jul 23 2020 07:27:29 GMT+0000 (UTC).
Hub.Handler.Id = "SYhbBzh6QEfEXFSXr";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

var answers1 = ["Yes", "No"];
Game.AddOption("Will you use the game native splitscreen?", "If Yes launch only two instances, you need 3 or 4 gamepads.", "Native", answers1);

Game.KillMutex = ["Games-OutwardSteam-Outward-exe-SingleInstanceMutex-Default"];
Game.DirSymlinkExclusions = ["Outward_Data\\Plugins"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt"];
Game.FileSymlinkCopyInstead = ["OptionSettings.oos"];
Game.GameName = "Outward";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "outward.exe";
Game.SteamID = "794260";
Game.GUID = "Outward";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "";
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.LauncherTitle = "";
Game.Hook.ForceFocus = true;
Game.StartArguments = "";
Game.Hook.ForceFocusWindowName = "Outward";
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.XInputPlusDll = ["xinput1_4.dll"];
Game.BlockRawInput = true;
Game.FakeFocus = true;
//Game.PlayerSteamIDs = [ "76561198134585131"];
Game.KeepSymLinkOnExit = false;
Game.Description =
  "This script is designed for 2 players per instance using the game native splitscreen and the custom multiplayer limit mod, so you can play with 4 players in only two instances of the game for better performance, the first two gamepads will control the first instance and the other two gamepads the second, start a native splitscreen game in the first instance, press start and select open the game to online match, in the second instance start a single player game, join the open session then press start again and select start splitscreen game. If you want to have only 1 player per instance select No in the UI option before pressing play in Nucleus.";
Game.PauseBetweenStarts = 30;

Game.Play = function() {
  var path = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\OptionSettings.oos";
  Context.ChangeXmlNodeInnerTextValue(path, "//Windowed", "1");
  Context.ChangeXmlNodeInnerTextValue(path, "//ResolutionX", Context.Width);
  Context.ChangeXmlNodeInnerTextValue(path, "//ResolutionY", Context.Height);
  Context.ChangeXmlNodeInnerTextValue(path, "//MuteInBackground", "0");

  var native = Context.Options["Native"];

  if (Context.PlayerID == 0) {
    if (native == "Yes") {
      var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\XinputPlus.ini";
      Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
        new Nucleus.IniSaveInfo("ControllerNumber", "Controller1", "1"),
        new Nucleus.IniSaveInfo("ControllerNumber", "Controller2", "2"),
        new Nucleus.IniSaveInfo("ControllerNumber", "Controller3", "0"),
        new Nucleus.IniSaveInfo("ControllerNumber", "Controller4", "0")
      ]);
    }
  }
  if (Context.PlayerID == 1) {
    if (native == "Yes") {
      var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\XinputPlus.ini";
      Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
        new Nucleus.IniSaveInfo("ControllerNumber", "Controller1", "3"),
        new Nucleus.IniSaveInfo("ControllerNumber", "Controller2", "4"),
        new Nucleus.IniSaveInfo("ControllerNumber", "Controller3", "0"),
        new Nucleus.IniSaveInfo("ControllerNumber", "Controller4", "0")
      ]);
    }
  }
  if (native == "No") {
  }
};