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
Files 1
| Path | Size |
|---|---|
| handler.js | 3.8 KB |
handler.js
Plain textHub.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") {
}
};