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

Tom Clancy's Splinter Cell: Conviction · handler “SplinterCellConviction”

Version 4

Release notes

fixed ini editing and stretching in splitscreen.

Released
Size
16.5 MB
Downloads
310
Check
Verified
SHA-256
0a5b13a1f660b61eb4368e5d3f3dff4def79b2412daf50296efb2460177ecf18
Download v4 (.nc)All versions

Files 72

PathSize
Conviction/d3d9.dll164 KB
Conviction/d3d9.ini690 B
Conviction/dinput8.dll150 KB
Conviction/flush.ps118 B
Conviction/MapConfigurationDLC.xml6.0 KB
Conviction/patch.txt16.0 MB
Conviction/ProfileDefaultsPC.ini3.2 KB
Conviction/runp.bat150 B
Conviction/scc_lan_helper.exe1.6 MB
Conviction/SplinterCellConviction.FusionMod.asi738 KB
Conviction/SplinterCellConviction.FusionMod.ini178 B
Conviction/ubiorbitapi_r2.dll864 KB
Conviction/version.dll2.1 MB
Conviction/_internal/api-ms-win-core-console-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-datetime-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-debug-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-errorhandling-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-fibers-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-file-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-core-file-l1-2-0.dll22 KB
Conviction/_internal/api-ms-win-core-file-l2-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-handle-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-heap-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-interlocked-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-libraryloader-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-localization-l1-2-0.dll22 KB
Conviction/_internal/api-ms-win-core-memory-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-namedpipe-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-processenvironment-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-processthreads-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-processthreads-l1-1-1.dll22 KB
Conviction/_internal/api-ms-win-core-profile-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-string-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-synch-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-synch-l1-2-0.dll22 KB
Conviction/_internal/api-ms-win-core-sysinfo-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-timezone-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-util-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-conio-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-convert-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-crt-environment-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-filesystem-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-heap-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-locale-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-math-l1-1-0.dll30 KB
Conviction/_internal/api-ms-win-crt-process-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-runtime-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-crt-stdio-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-crt-string-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-crt-time-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-utility-l1-1-0.dll22 KB
Conviction/_internal/base_library.zip1.3 MB
Conviction/_internal/libcrypto-3.dll4.9 MB
Conviction/_internal/libffi-8.dll39 KB
Conviction/_internal/pydivert/windivert_dll/WinDivert32.dll18 KB
Conviction/_internal/pydivert/windivert_dll/WinDivert32.sys40 KB
Conviction/_internal/pydivert/windivert_dll/WinDivert64.dll22 KB
Conviction/_internal/pydivert/windivert_dll/WinDivert64.sys46 KB
Conviction/_internal/python312.dll6.7 MB
Conviction/_internal/select.pyd30 KB
Conviction/_internal/ucrtbase.dll1.1 MB
Conviction/_internal/unicodedata.pyd1.1 MB
Conviction/_internal/VCRUNTIME140.dll116 KB
Conviction/_internal/_bz2.pyd83 KB
Conviction/_internal/_ctypes.pyd122 KB
Conviction/_internal/_decimal.pyd247 KB
Conviction/_internal/_hashlib.pyd64 KB
Conviction/_internal/_lzma.pyd156 KB
Conviction/_internal/_socket.pyd81 KB
Conviction/_internal/_wmi.pyd36 KB
handler.js9.7 KB

handler.js

Plain text
Hub.Handler.Version = 4; // Released at https://hub.splitscreen.me/ on Tue Jun 11 2024 07:41:15 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "GGN6FpryMWXq8eP2x";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.ExecutableContext = ["UMDS"];
Game.KillMutex = ["Type:Semaphore|sc5_semaphore"];
Game.DirSymlinkExclusions = ["src\\system", "src\\system\\scripts", "data\\Videos"];
Game.FileSymlinkExclusions = [
  "MapConfigurationDLC.xml",
  "ubiorbitapi_r2.dll",
  "d3d9.dll",
  "d3d9.ini",
  "conviction_game.exe",
  "gu.exe",
  "UPlayBrowser.exe",
  "Skidrow.ini",
  "Logo_ESRB_01.bik",
  "Logo_ESRB_02.bik",
  "Logo_MiddleWare_01.bik",
  "Logo_Ubisoft.bik",
  "Logo_Clancy_01.bik",
  "ProfileDefaultsPC.ini",
  "SplinterCellConviction.FusionMod.asi",
  "SplinterCellConviction.FusionMod.ini",
  "dinput8.dll",
  "xinput1_3.dll",
  "version.dll"
];
Game.FileSymlinkCopyInstead = [
  "gameinfo.ini",
  "Conviction.ini",
  "ConvictionInputs.ini",
  "ConvictionUser.ini",
  "ConvictionUserPC.ini",
  "Default.ini",
  "dynamicxbox.umd",
  "InputKeyTranslation.ini",
  "loc-dan.umd",
  "loc-deu.umd",
  "loc-esp.umd",
  "loc-fra.umd",
  "loc-int.umd",
  "loc-ita.umd",
  "loc-nl.umd",
  "loc-nor.umd",
  "loc-swe.umd",
  "version",
  "systemdetection.dll"
];
Game.RequiresAdmin = true;
Game.UseNucleusEnvironment = true;
Game.NeedsSteamEmulation = false;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "conviction_game.exe";
Game.SteamID = "33220";
Game.GUID = "Splinter Cell Conviction";
Game.GameName = "Tom Clancy's Splinter Cell Conviction";
Game.MaxPlayers = 2;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "src\\system";
Game.HideTaskbar = false;
Game.StartArguments = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Conviction";
//Game.DPIHandling = Nucleus.DPIHandling.InvScaled;
Game.ResetWindows = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.UseAlpha8CustomDll = true;
Game.Hook.BlockMouseEvents = false;
Game.Hook.BlockInputEvents = false;
Game.Hook.BlockKeyboardEvents = false;
Game.SupportsKeyboard = false;
Game.UserProfileSavePath = "AppData\\Local\\storage";
Game.UserProfileSavePathNoCopy = true;
Game.Description =
  "IMPORTANT: Make sure you have launched your main game at least once before using this. On first handler launch enable the gamepad in the game controller options for both instances using the keyboard, alt-tab between instances to do it. Connect the instances via the native LAN option, you need the latest version of the game, deactivate all virtual internet interfaces like VirtualBox, Hyper-v, etc. This is recommended to avoid issues searching for each other sessions ingame. Host the game in the second instance and join in the first if you have crashes hosting in the first instance. If you want the instances to resize correctly and avoid stretching you need to create custom resolutions in your AMD/Nvidia/Intel panel (for example if you have a 1920x1080 monitor add custom resolutions like: 960x1080, 960x540, 1920x540 etc.) so the game can see and use them. If you get too low fps make sure the game is using most cpu cores, this is a known issue to fix it in task manager details tab select the conviction exes, right click and set affinity, do this after starting a new level, you can use CTRL+T to minimize the instances. If you can not change in-game graphic settings try launching the instance in all the monitor. This handler uses this to restore the LAN mode after the official servers shutdown: https://github.com/Ododo/scc-lan-restore.";
Game.PauseBetweenContextAndLaunch = 3;
Game.PauseBetweenStarts = 25;

Game.Play = function() {
  var username = Context.Nickname;
  var VideoConfig = "C:\\ProgramData\\Ubisoft\\Conviction\\ConvictionUserPC.ini";
  Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("Inputs", "ControllerType", "KT_X360"),
    new Nucleus.IniSaveInfo("Inputs", "UseXInputByDefault", true),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "FullscreenViewportX", Context.Width),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "FullscreenViewportY", Context.Height),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "StartupFullscreen", false),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "WindowedViewportX", Context.Width),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "WindowedViewportY", Context.Height),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "MonitorAspect", Context.AspectRatioDecimal)
  ]);

  if (Context.AspectRatioDecimal > 1.8) {
    var VideoConfig = "C:\\ProgramData\\Ubisoft\\Conviction\\ConvictionUserPC.ini";
    Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("Engine.Display", "EyefinityMode", 0),
      new Nucleus.IniSaveInfo("Engine.Display", "ForceMultiMon", true),
      new Nucleus.IniSaveInfo("Engine.Display", "MinTripleDispRatio", "3.5")
    ]);
  } else if (Context.AspectRatioDecimal < 1.2) {
    var VideoConfig = "C:\\ProgramData\\Ubisoft\\Conviction\\ConvictionUserPC.ini";
    Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("Engine.Display", "EyefinityMode", 0),
      new Nucleus.IniSaveInfo("Engine.Display", "ForceMultiMon", true),
      new Nucleus.IniSaveInfo("Engine.Display", "MinTripleDispRatio", "0.8")
    ]);
  } else {
    var VideoConfig = "C:\\ProgramData\\Ubisoft\\Conviction\\ConvictionUserPC.ini";
    Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("Engine.Display", "EyefinityMode", 0),
      new Nucleus.IniSaveInfo("Engine.Display", "ForceMultiMon", false),
      new Nucleus.IniSaveInfo("Engine.Display", "MinTripleDispRatio", "3.9")
    ]);
  }

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

  var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts");
  System.IO.Directory.CreateDirectory(filePath);

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

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

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

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

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

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

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

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.asi");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "SplinterCellConviction.FusionMod.asi");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "SplinterCellConviction.FusionMod.ini");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\Skidrow.ini");
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("Account", "Username", '"' + Context.Nickname + '"'),
    new Nucleus.IniSaveInfo("Account", "Password", '"SamFisher"')
  ]);

  if (Context.PlayerID == 0) {
    var Gamefolder = System.IO.Path.Combine(Game.Folder);

    var txtPath = "C:\\Windows\\System32\\drivers\\etc\\hosts";
    var dict = ["21|127.0.0.1 gconnect.ubi.com", "22|      "];
    Context.ReplaceLinesInTextFile(txtPath, dict);

    Context.RunAdditionalFiles(["1|" + Gamefolder + "\\runp.bat"], false, 1, true, false);

    Context.Wait(5000);

    Context.RunAdditionalFiles(["1|" + Gamefolder + "\\scc_lan_helper.exe"], false, 1, true, false);
  }

  Game.KillProcessesOnClose = ["scc_lan_helper", "cmd"];
};