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

Tom Clancy's Rainbow Six: Vegas 2 · handler “RainbowSixVegas2”

Version 2

Release notes

looking for exe fix

Released
Size
526 KB
Downloads
600
Check
Unverified
SHA-256
7e24d4d72e3b5f88f2faa21d35444cf978cc5bbc6108537b15b80594de85518b
Download v2 (.nc)All versions

Files 13

PathSize
handler.js8.4 KB
RainbowSixVegas2/TeknoR6Vegas2.exe513 KB
RainbowSixVegas2/windowed/d3d9.dll11 KB
RainbowSixVegas2/windowed/d3d9hook.cpp5.6 KB
RainbowSixVegas2/windowed/d3d9hook.def1.0 KB
RainbowSixVegas2/windowed/d3d9hook.h6.9 KB
RainbowSixVegas2/windowed/d3d9hook.sln878 B
RainbowSixVegas2/windowed/d3d9hook.vcxproj7.0 KB
RainbowSixVegas2/windowed/IDirect3D9.h7.3 KB
RainbowSixVegas2/windowed/IDirect3DDevice9.h43 KB
RainbowSixVegas2/windowed/IUnknown.h481 B
RainbowSixVegas2/windowed/LogWindowMessagesImpl.h23 KB
RainbowSixVegas2/windowed/overrides.h5.3 KB

handler.js

Plain text
Hub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Thu Apr 16 2020 21:41:34 GMT+0000 (UTC).
Hub.Handler.Id = "WfAMG7akRb5Gdydms";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

Game.ExecutableContext = ["binkw32.dll"];
Game.KillMutex = [
  "RainbowSixVegas2IsRunning"
  //"steam_singleton_mutext_00000000_000015a0"
];
Game.DirSymlinkExclusions = ["Binaries"];
Game.FileSymlinkExclusions = [
  "d3d9.dll",
  "d3d9hook.cpp",
  "d3d9hook.def",
  "d3d9hook.h",
  "d3d9hook.sln",
  "d3d9hook.vcxproj",
  "IDirect3D9.h",
  "IDirect3DDevice9.h",
  "IUnknown.h",
  "LogWindowMessagesImpl.h",
  "overrides.h",
  "TeknoR6Vegas2.exe"
];
Game.NeedsSteamEmulation = false;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "R6Vegas2_Game.exe";
Game.SteamID = "15120";
Game.GUID = "Rainbow Six Vegas 2";
Game.GameName = "Tom Clancy's Rainbow Six Vegas 2";
Game.MaxPlayers = 16;
Game.MaxPlayersOneMonitor = 16;
Game.LauncherTitle = "";
Game.LauncherExe = "Binaries\\TeknoR6Vegas2.exe";
Game.LauncherExeIgnoreFileCheck = true;
Game.BinariesFolder = "Binaries";
Game.ForceFinishOnPlay = true;
Game.HideTaskbar = false;
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "Tom Clancy's Rainbow Six Vegas 2";
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.BlockKeyboardEvents = false;
Game.Hook.BlockMouseEvents = true;
Game.Hook.BlockInputEvents = true;
Game.Hook.UseAlpha8CustomDll = false;
Game.Hook.CustomDllEnabled = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.FakeFocus = true;
Game.ResetWindows = true;
Game.KeepSymLinkOnExit = false;
Game.UserProfileSavePath = "Documents\\My Games\\Ubisoft";
Game.Description =
  "On first launch using the keyboard in options set xbox controller for windows to ON and select your custom resolution in the video settings per instance, alt-tab between instances to use keyboard, after all that exit via the menu and launch again via Nucleus. Connect the instances via LAN.";
Game.PauseBetweenStarts = 30;

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

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

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

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

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

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

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

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

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

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

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

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

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

  if (Context.PlayerID == 0) {
    var Args = (Context.Args = " 1 " + " 99 " + " 0 ");

    Context.StartArguments = Args;
  } else {
    var Args = (Context.Args = " 0 " + " 0 " + " 0 ");

    Context.StartArguments = Args;
  }

  if (Context.PlayerID == 1) {
    //patch instance exe to save to a different folder.
    Context.PatchFile(
      System.IO.Path.Combine(Game.Folder, "R6Vegas2_Game.exe"),
      System.IO.Path.Combine(Context.RootFolder, "Binaries\\R6Vegas2_Game.exe"),
      [0x52, 0x36, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00],
      [0x52, 0x37, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00]
    );
  }

  if (Context.PlayerID == 2) {
    Context.PatchFile(
      System.IO.Path.Combine(Game.Folder, "R6Vegas2_Game.exe"),
      System.IO.Path.Combine(Context.RootFolder, "Binaries\\R6Vegas2_Game.exe"),
      [0x52, 0x36, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00],
      [0x52, 0x38, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00]
    );
  }

  if (Context.PlayerID == 3) {
    Context.PatchFile(
      System.IO.Path.Combine(Game.Folder, "R6Vegas2_Game.exe"),
      System.IO.Path.Combine(Context.RootFolder, "Binaries\\R6Vegas2_Game.exe"),
      [0x52, 0x36, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00],
      [0x52, 0x39, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00]
    );
  }

  if (Context.PlayerID == 4) {
    Context.PatchFile(
      System.IO.Path.Combine(Game.Folder, "R6Vegas2_Game.exe"),
      System.IO.Path.Combine(Context.RootFolder, "Binaries\\R6Vegas2_Game.exe"),
      [0x52, 0x36, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00],
      [0x52, 0x46, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00]
    );
  }

  if (Context.PlayerID == 5) {
    Context.PatchFile(
      System.IO.Path.Combine(Game.Folder, "R6Vegas2_Game.exe"),
      System.IO.Path.Combine(Context.RootFolder, "Binaries\\R6Vegas2_Game.exe"),
      [0x52, 0x36, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00],
      [0x52, 0x47, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00]
    );
  }

  if (Context.PlayerID == 6) {
    Context.PatchFile(
      System.IO.Path.Combine(Game.Folder, "R6Vegas2_Game.exe"),
      System.IO.Path.Combine(Context.RootFolder, "Binaries\\R6Vegas2_Game.exe"),
      [0x52, 0x36, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00],
      [0x52, 0x48, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00]
    );
  }

  if (Context.PlayerID == 7) {
    Context.PatchFile(
      System.IO.Path.Combine(Game.Folder, "R6Vegas2_Game.exe"),
      System.IO.Path.Combine(Context.RootFolder, "Binaries\\R6Vegas2_Game.exe"),
      [0x52, 0x36, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00],
      [0x52, 0x49, 0x56, 0x65, 0x67, 0x61, 0x73, 0x32, 0x00]
    );
  }

  if (Player.Owner.IsDualHorizontal()) {
    var Args = (Context.Args = " 1 " + " 99 " + " 1 ");

    Context.StartArguments = Args;
  }
};