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

GTFO · handler “GTFO CO-OP”

Version 4

Release notes

updated to work in latest update.

Released
Size
2.9 MB
Downloads
31
Check
Unverified
SHA-256
f7fad54b6dc5794b7f67bb95d76e97843a3eb026867066c32174e17e7acc551b
Download v4 (.nc)All versions

Files 4

PathSize
GTFO/Custom.dll3.1 MB
GTFO/dlllist.txt47 B
GTFO/winmm.dll253 KB
handler.js3.6 KB

handler.js

Plain text
Hub.Handler.Version = 4; // Released at https://hub.splitscreen.me/ on Sat Oct 24 2020 23:45:46 GMT+0000 (UTC).
Hub.Handler.Id = "oaJFWFvNvPG6kfgqc";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.DirSymlinkExclusions = ["GTFO_Data\\Plugins\\x86_64"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt", "XInput1_3.dll", "Custom.dll", "dlllist.txt", "winmm.dll"];
Game.GameName = "GTFO";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "GTFO.exe";
Game.SteamID = "493520";
Game.GUID = "GTFO";
Game.HideTaskbar = false;
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "";
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.LauncherTitle = "";
Game.SupportsPositioning = true;
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "GTFO";
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.FakeFocus = true;
Game.SetForegroundWindowElsewhere = true;
Game.SetWindowHook = true;
Game.UserProfileConfigPath = "AppData\\LocalLow\\10 Chambers Collective\\GTFO";
Game.Description =
  "CLOSE Steam before running this. Wait until all instances have started to press start game in each instance. To connect the instances host a lobby in one instance and select the copy lobby to clipboard option, then the other instances can join by selecting the clipboard lobby option that will appear in red in the level selection menu. Set your main game to windowed if instances open in fullscreen.";
Game.PauseBetweenStarts = 40;

Game.Play = function() {
  var Args = (Context.Args = " -windowed " + " -screen-width " + Context.Width + " -screen-height " + Context.Height);

  Context.StartArguments = Args;

  var username = System.Environment.UserName;
  var txtPath = "C:\\Users\\" + username + "\\AppData\\LocalLow\\10 Chambers Collective\\GTFO\\GTFO_Settings.txt";
  var dict = ['55|        "x": ' + Context.Width + ".0,", '56|        "y": ' + Context.Height + ".0", '60|      "Value": 3'];
  Context.ReplaceLinesInTextFile(txtPath, dict);

  Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\10 Chambers Collective\\GTFO", "Screenmanager Fullscreen mode_h3630240806", 3, Nucleus.RegType.DWord);

  Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\10 Chambers Collective\\GTFO", "Screenmanager Resolution Height_h2627697771", Context.Height, Nucleus.RegType.DWord);

  Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\10 Chambers Collective\\GTFO", "Screenmanager Resolution Width_h182942802", Context.Width, Nucleus.RegType.DWord);

  Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\10 Chambers Collective\\GTFO", "Screenmanager Resolution Use Native_h1405027254", 0, Nucleus.RegType.DWord);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Custom.dll");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "Custom.dll");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\dlllist.txt");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "dlllist.txt");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\winmm.dll");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "winmm.dll");
  System.IO.File.Copy(savePkgOrigin, savePath, true);
};