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

Saints Row: Gat Out of Hell · handler “SaintsRowGat”

Version 2

Release notes

fixes and notes

Released
Size
1.5 KB
Downloads
52
Check
Verified
SHA-256
64935e4177d7dcc91624032885dd2dbb2fe73cab7060794e35164ead3cd12acb
Download v2 (.nc)All versions

Files 1

PathSize
handler.js3.4 KB

handler.js

Plain text
Hub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Fri Mar 06 2020 09:29:23 GMT+0000 (UTC).
Hub.Handler.Id = "KAutYv8sta8ra2px3";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.ExecutableContext = ["bink2w32.dll"];
Game.KillMutex = ["sr_hv"];
Game.FileSymlinkExclusions = ["display.ini", "steam_api.dll", "steam_appid.txt", "steam_interfaces.txt", "XInput1_3.dll"];
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.GoldbergNoLocalSave = true;
Game.UseNucleusEnvironment = true;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.SupportsKeyboard = true;
Game.ExecutableName = "SaintsRowGatOutOfHell.exe";
Game.SteamID = "301910";
Game.GUID = "Saints Row Gat out of Hell";
Game.GameName = "Saints Row Gat out of Hell";
Game.MaxPlayers = 2;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "";
Game.LauncherTitle = "";
Game.SupportsPositioning = true;
Game.HideTaskbar = false;
Game.StartArguments = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Saints Row: Gat out of Hell";
Game.Hook.DInputForceDisable = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.UseAlpha8CustomDll = true;
Game.UseForceBindIP = true;
Game.KeepSymLinkOnExit = false;
Game.SetWindowHook = true;
Game.UserProfileSavePath = "AppData\\Roaming\\Goldberg SteamEmu Saves\\301910";
Game.Description =
  "So the instances launch and resize correctly make sure to run your main game at least one time first and change some graphic settings. Change texture quality and other settings in you main game so they apply to Nucleus instances too. ";
Game.PauseBetweenStarts = 25;

Game.Play = function() {
  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\display.ini");
  var savePkgOrigin = System.IO.Path.Combine(Context.RootInstallFolder, "display.ini");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var txtPath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\display.ini";
  var dict = [
    "5|ResolutionWidth = " + Context.Width,
    "6|ResolutionHeight = " + Context.Height,
    "9|Fullscreen = false",
    "10|SkipIntroVideo = true",
    "13|Borderless = true",
    "21|VerifyResolution = false"
  ];
  Context.ReplaceLinesInTextFile(txtPath, dict);

  var autoExec = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steam_interfaces.txt";
  var lines = [
    "SteamClient012",
    "SteamGameServer011",
    "SteamGameServerStats001",
    "SteamUser016",
    "SteamFriends013",
    "SteamUtils005",
    "SteamMatchMaking009",
    "SteamMatchMakingServers002",
    "STEAMUSERSTATS_INTERFACE_VERSION011",
    "STEAMAPPS_INTERFACE_VERSION005",
    "SteamNetworking005",
    "STEAMREMOTESTORAGE_INTERFACE_VERSION010",
    "STEAMSCREENSHOTS_INTERFACE_VERSION001",
    "STEAMHTTP_INTERFACE_VERSION002"
  ];

  Context.WriteTextFile(autoExec, lines);

  if (Player.IsKeyboardPlayer) {
    Context.Hook.BlockMouseEvents = "False";
    Context.Hook.BlockKeyboardEvents = "False";
    Context.Hook.BlockInputEvents = "False";
    Context.Hook.ForceFocus = "False";
  } else {
    Context.Hook.BlockMouseEvents = "True";
    Context.Hook.BlockKeyboardEvents = "True";
    Context.Hook.BlockInputEvents = "True";
    Context.Hook.ForceFocus = "True";
  }
};