A Hat in Time · handler “A Hat in Time”
Version 1
Release notes
First Release
- Released
- Size
- 1.3 KB
- Downloads
- 257
- Check
- Verified
- SHA-256
- c719e7bd0383a3e3e8087246ebb11abea5aaf92fbe857b685d4e5a5fcab3b2d7
Files 1
| Path | Size |
|---|---|
| handler.js | 3.4 KB |
handler.js
Plain textHub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Mon Jul 06 2020 22:06:53 GMT+0000 (UTC).
Hub.Handler.Id = "srBcT7kc54AWvKo2p";
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 horizontal instances, you need 4 gamepads.", "Native", answers1);
Game.ExecutableContext = ["APEX_ClothingGPUCHECKED_x64.dll"];
Game.DirSymlinkExclusions = ["Binaries\\Win64", "Binaries\\Win32"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_api.dll", "steam_appid.txt"];
Game.GameName = "A Hat in Time";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "HatinTimeGame.exe";
Game.SteamID = "253230";
Game.GUID = "A Hat in Time";
Game.MaxPlayers = 50;
Game.MaxPlayersOneMonitor = 16;
Game.BinariesFolder = "Binaries\\Win64";
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.LauncherTitle = "";
Game.SupportsPositioning = true;
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "A Hat in Time";
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Hook.CustomDllEnabled = false;
Game.PreventWindowDeactivation = false;
Game.HookFocus = true;
Game.Description =
"If you select Yes to use the game native splitscreen in the Player Options UI you can play with 4 or 3 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, press start ingame to add a local player in each instance, if you want to have only one player per instance select No in the UI. Use different save slot per instance. To connect the instances enable online mode in the game and write the same lobby name in all.";
Game.PromptBetweenInstances = false;
Game.PauseBetweenStarts = 50;
Game.Play = function() {
Context.StartArguments = "-windowed -nosplash -skipintro" + " -ResX= " + Context.Width + " -ResY= " + Context.Height;
var native = Context.Options["Native"];
if (Context.PlayerID == 0) {
if (native == "Yes") {
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Binaries\\Win64\\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) + "\\Binaries\\Win64\\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") {
Game.Hook.CustomDllEnabled = true;
}
};