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

Torchlight II · handler “TorchlightII”

Version 2

Release notes

different saves and cursor offset fix.

Released
Size
1.6 KB
Downloads
1,819
Check
Verified
SHA-256
8e44d53ac75e27d2dbf75fb29b06b81dfcbb682769775b618849bbc6ce2f149f
Download v2 (.nc)All versions

Files 1

PathSize
handler.js4.0 KB

handler.js

Plain text
Hub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Wed Mar 17 2021 20:20:33 GMT+0000 (UTC).
Hub.Handler.Id = "4fEQ29RwqKnPQ9y2F";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.ExecutableContext = ["CEGUIBase.dll"];
Game.FileSymlinkExclusions = [
  //"steam_api.dll",
  "steam_appid.txt"
];
Game.UseNucleusEnvironment = true;
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = false;
Game.CreateSteamAppIdByExe = true;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "Torchlight2.exe";
Game.SteamID = "200710";
Game.GUID = "Torchlight II";
Game.GameName = "Torchlight II";
Game.MaxPlayers = 6;
Game.MaxPlayersOneMonitor = 6;
Game.LauncherTitle = "";
//Game.LauncherExe = "ModLauncher.exe";
Game.HideTaskbar = false;
Game.StartArguments = "-windowed";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Torchlight II";
Game.HasDynamicWindowTitle = true;
Game.FakeFocus = false;
Game.HookFocus = true;
Game.ResetWindows = false;
Game.RefreshWindowAfterStart = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = false;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.DocumentsSavePath = "My Games\\Runic Games\\Torchlight 2\\save";
Game.DocumentsConfigPath = "My Games\\Runic Games\\Torchlight 2";
Game.Description =
  "IMPORTANT: So the instances launch and resize correctly make sure you run your main game at least once and change some graphic settings before launching via Nucleus. Use a different character per instance and connect them via LAN. Multiple Keyboards/Mice only as the game has no native gamepad support. Press the END keyboard key to unlock the input when you finish playing. You can also use CTRL+Q to close Nucleus and all its instances. Each instance has its own saves that are copies of your original ones, your original saves will not be overwritten. You can access these saves in the app, after the first launch click game options/open documents save path in the UI.";
Game.PauseBetweenProcessGrab = 7;
Game.PauseBetweenStarts = 30;

Game.SupportsMultipleKeyboardsAndMice = true;

Game.HookSetCursorPos = false;
Game.HookGetCursorPos = true;
Game.HookGetKeyState = false;
Game.HookGetAsyncKeyState = true;
Game.HookGetKeyboardState = false;
Game.HookFilterRawInput = false;
Game.HookFilterMouseMessages = false;
Game.HookUseLegacyInput = false;
Game.HookDontUpdateLegacyInMouseMsg = false;
Game.HookMouseVisibility = false;

Game.SendNormalMouseInput = true;
Game.SendNormalKeyboardInput = true;
Game.SendScrollWheel = true;
Game.ForwardRawKeyboardInput = false;
Game.ForwardRawMouseInput = false;
Game.HookReRegisterRawInput = false;
Game.HookReRegisterRawInputMouse = false;
Game.HookReRegisterRawInputKeyboard = false;
Game.DrawFakeMouseCursor = true;
Game.LockInputAtStart = true;
Game.LockInputToggleKey = 0x23;

Game.Play = function() {
  var txtPath = Context.DocumentsPlayer + "\\" + Context.DocumentsConfigPath + "\\local_settings.txt";
  var dict = [
    Context.FindLineNumberInTextFile(txtPath, "WINDOWED_FULLSCREEN :", Nucleus.SearchType.StartsWith) + "|WINDOWED_FULLSCREEN :0",
    Context.FindLineNumberInTextFile(txtPath, "FULLSCREEN :", Nucleus.SearchType.StartsWith) + "|FULLSCREEN :0",
    Context.FindLineNumberInTextFile(txtPath, "RESTART_ON_FULLSCREEN_CHANGE :", Nucleus.SearchType.StartsWith) + "|RESTART_ON_FULLSCREEN_CHANGE :0",
    Context.FindLineNumberInTextFile(txtPath, "WINDOW_WIDTH :", Nucleus.SearchType.StartsWith) + "|WINDOW_WIDTH :" + Context.Width,
    Context.FindLineNumberInTextFile(txtPath, "WINDOW_HEIGHT :", Nucleus.SearchType.StartsWith) + "|WINDOW_HEIGHT :" + Context.Height,
    Context.FindLineNumberInTextFile(txtPath, "RES_WIDTH :", Nucleus.SearchType.StartsWith) + "|RES_WIDTH :" + Context.Width,
    Context.FindLineNumberInTextFile(txtPath, "RES_HEIGHT :", Nucleus.SearchType.StartsWith) + "|RES_HEIGHT :" + Context.Height
  ];
  Context.ReplaceLinesInTextFile(txtPath, dict, "UTF-16");
};