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

Brütal Legend · handler “BrütalLegend”

Version 1

Release notes

first release

Released
Size
1.5 KB
Downloads
7
Check
Verified
SHA-256
3830ef47d595687a1227d9c8c9a4cc3bd1c92f85b55d166d1aeae7f20860c5d4
Download v1 (.nc)All versions

Files 1

PathSize
handler.js4.8 KB

handler.js

Plain text
Hub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Tue Nov 10 2020 23:32:15 GMT+0000 (UTC).
Hub.Handler.Id = "ZSrFAJoaexSAn482W";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.DirSymlinkExclusions = ["Data\\Cutscenes", "Win\\Packs"];
Game.DirSymlinkCopyInstead = ["Win\\Packs"];
Game.FileSymlinkExclusions = ["steam_api.dll", "DF_Logo.bik", "steam_interfaces.txt", "XInput1_3.dll"];
Game.DirSymlinkCopyInsteadIncludeSubFolders = false;
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.GoldbergExperimental = false;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "BrutalLegend.exe";
Game.SteamID = "225260";
Game.GUID = "Brutal Legend";
Game.GameName = "Brütal Legend";
Game.MaxPlayers = 8;
Game.MaxPlayersOneMonitor = 8;
Game.BinariesFolder = "";
Game.LauncherTitle = "";
Game.HideTaskbar = false;
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Brütal Legend";
Game.Hook.DInputForceDisable = false;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.FakeFocus = true;
Game.HookFocus = true;
Game.HideCursor = true;
Game.RefreshWindowAfterStart = true;
Game.SetForegroundWindowElsewhere = true;
Game.KeepSymLinkOnExit = true;
Game.UserProfileSavePath = "AppData\\Roaming\\Doublefine\\BrutalLegend";
Game.Description =
  "Select multiplayer-matchmaking in all instances then press start at the same time to find the other players. On first Nucleus run the instances will take some time to launch because Nucleus needs to make a full copy of a folder for this to work correctly, so be patient.";
Game.PauseBetweenStarts = 35;

Game.Play = function() {
  var username = System.Environment.UserName;
  var txtPath = "C:\\Users\\" + username + "\\AppData\\Roaming\\Doublefine\\BrutalLegend\\screen.dat";
  var dict = ["1|fullscreen = false", "2|width = " + Context.Width, "3|height = " + Context.Height];

  Context.ReplaceLinesInTextFile(txtPath, dict);

  var interfaces = 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(interfaces, lines);

  if (Context.PlayerID == 0) {
    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", "1"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller3", "1"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller4", "1")
    ]);
  }
  if (Context.PlayerID == 1) {
    var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\XinputPlus.ini";
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller1", "2"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller2", "2"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller3", "2"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller4", "2")
    ]);
  }
  if (Context.PlayerID == 2) {
    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", "3"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller3", "3"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller4", "3")
    ]);
  }
  if (Context.PlayerID == 3) {
    var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\XinputPlus.ini";
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller1", "4"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller2", "4"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller3", "4"),
      new Nucleus.IniSaveInfo("ControllerNumber", "Controller4", "4")
    ]);
  }
};