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

Resident Evil Revelations HD · handler “ResidentEvilRevelations”

Version 2

Release notes

stretching fix and auto steamless

Released
Size
154 KB
Downloads
4
Check
Verified
SHA-256
02633369ec5c2be81300b046e34188eb601c1e2687b4785789922a205a8ebeb1
Download v2 (.nc)All versions

Files 12

PathSize
handler.js6.2 KB
ResidentEvilRevelations/Plugins/ExamplePlugin.dll5.5 KB
ResidentEvilRevelations/Plugins/SharpDisasm.dll216 KB
ResidentEvilRevelations/Plugins/Steamless.API.dll34 KB
ResidentEvilRevelations/Plugins/Steamless.Unpacker.Variant10.x86.dll11 KB
ResidentEvilRevelations/Plugins/Steamless.Unpacker.Variant20.x86.dll18 KB
ResidentEvilRevelations/Plugins/Steamless.Unpacker.Variant21.x86.dll24 KB
ResidentEvilRevelations/Plugins/Steamless.Unpacker.Variant30.x64.dll17 KB
ResidentEvilRevelations/Plugins/Steamless.Unpacker.Variant30.x86.dll16 KB
ResidentEvilRevelations/Plugins/Steamless.Unpacker.Variant31.x64.dll16 KB
ResidentEvilRevelations/Plugins/Steamless.Unpacker.Variant31.x86.dll16 KB
ResidentEvilRevelations/Steamless.CLI.exe111 KB

handler.js

Plain text
Hub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Fri May 06 2022 08:47:04 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "vr9fssW5QfFTGCyTt";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

var answers1 = ["No", "Yes"];
Game.AddOption(
  "Aspect ratio fix?",
  "Matches resolution to window size to fix stretching, only works for 2 players horizontal split-screen at certain monitor resolutions. Read the handler notes before using.",
  "Fix",
  answers1
);

Game.ExecutableContext = ["dat"];
Game.KillMutex = ["sSkeletonMain"];
Game.FileSymlinkExclusions = ["steam_api.dll", "steam_appid.txt", "local_save.txt", "xinput1_3.dll"];
Game.FileSymlinkCopyInstead = ["config.ini"];
Game.UseNucleusEnvironment = true;
Game.UseGoldberg = true;
Game.GoldbergNoLocalSave = true;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.SupportsKeyboard = true;
Game.ExecutableName = "rerev.exe";
Game.SteamID = "222480";
Game.GUID = "Resident Evil Revelations";
Game.GameName = "Resident Evil Revelations";
Game.MaxPlayers = 2;
Game.MaxPlayersOneMonitor = 4;
Game.LauncherTitle = "";
Game.HideTaskbar = false;
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "RESIDENT EVIL REVELATIONS / BIOHAZARD REVELATIONS UE";
Game.HookFocus = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Hook.CustomDllEnabled = false;
Game.UserProfileConfigPath = "AppData\\Local\\CAPCOM\\RESIDENT EVIL REVELATIONS";
Game.UserProfileSavePath = "AppData\\Roaming\\Goldberg SteamEmu Saves\\222480";
Game.Description =
  "Create a public Raid Mode game in one instance and join in the other. If you want to fix stretching you need to create custom resolutions in your AMD/Nvidia/Intel panel (For example for a 1920x1080 monitor add: 960x1080, 960x540, 1920x540 etc.) so the game can see and use them.";
Game.PauseBetweenContextAndLaunch = 5;
Game.PauseBetweenStarts = 30;

Game.Play = function() {
  var Bat = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steamless.bat";
  var lines = [Game.folder + "\\Steamless.CLI.exe --quiet --keepbind " + '"' + Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + '\\rerev.exe"', 'move /y "rerev.exe.unpacked.exe" "rerev.exe"'];
  Context.WriteTextFile(Bat, lines);

  Context.RunAdditionalFiles(["all|" + Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steamless.bat"], false, 1);

  var VideoConfig = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\config.ini";
  Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
    //new Nucleus.IniSaveInfo("DISPLAY", "Resolution", Context.Width + "x" + Context.Height),
    new Nucleus.IniSaveInfo("DISPLAY", "FullScreen", "OFF")
  ]);

  var fix = Context.Options["Fix"];
  var screenreswidth = Context.Width;
  var screenresheight = Context.Height;

  if (fix == "No") {
  }

  if (fix == "Yes") {
    Context.BackupFile(Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\config.ini", true);

    if (screenresheight == 540 && screenreswidth == 1920) {
      var VideoConfig = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\config.ini";
      Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
        new Nucleus.IniSaveInfo("DISPLAY", "Resolution", "1920x540"),
        new Nucleus.IniSaveInfo("DISPLAY", "Aspect", "default"),
        new Nucleus.IniSaveInfo("DISPLAY", "FullScreen", "OFF")
      ]);

      //patch 31 34 34 30 78 39 30 30 1440x900
      Context.PatchFile(
        System.IO.Path.Combine(Context.RootFolder, "rerev.exe"),
        System.IO.Path.Combine(Context.RootFolder, "rerev.exe"),
        [0x31, 0x34, 0x34, 0x30, 0x78, 0x39, 0x30, 0x30],
        [0x31, 0x39, 0x32, 0x30, 0x78, 0x35, 0x34, 0x30]
      ); //1920x540
    }

    if (screenreswidth == 1280 && screenresheight == 360) {
      var VideoConfig = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\config.ini";
      Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
        new Nucleus.IniSaveInfo("DISPLAY", "Resolution", "1280x360"),
        new Nucleus.IniSaveInfo("DISPLAY", "Aspect", "default"),
        new Nucleus.IniSaveInfo("DISPLAY", "FullScreen", "OFF")
      ]);

      Context.PatchFile(
        System.IO.Path.Combine(Context.RootFolder, "rerev.exe"),
        System.IO.Path.Combine(Context.RootFolder, "rerev.exe"),
        [0x31, 0x34, 0x34, 0x30, 0x78, 0x39, 0x30, 0x30],
        [0x31, 0x32, 0x38, 0x30, 0x78, 0x33, 0x36, 0x30]
      ); //1280x360
    }

    if (screenreswidth == 2560 && screenresheight == 720) {
      var VideoConfig = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\config.ini";
      Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
        new Nucleus.IniSaveInfo("DISPLAY", "Resolution", "2560x720"),
        new Nucleus.IniSaveInfo("DISPLAY", "Aspect", "default"),
        new Nucleus.IniSaveInfo("DISPLAY", "FullScreen", "OFF")
      ]);

      Context.PatchFile(
        System.IO.Path.Combine(Context.RootFolder, "rerev.exe"),
        System.IO.Path.Combine(Context.RootFolder, "rerev.exe"),
        [0x31, 0x34, 0x34, 0x30, 0x78, 0x39, 0x30, 0x30],
        [0x32, 0x35, 0x36, 0x30, 0x78, 0x37, 0x32, 0x30]
      ); //2560x720
    }

    if (screenresheight == 1080 && screenreswidth == 3840) {
      var VideoConfig = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\config.ini";
      Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
        new Nucleus.IniSaveInfo("DISPLAY", "Resolution", "3840x1080"),
        new Nucleus.IniSaveInfo("DISPLAY", "Aspect", "default"),
        new Nucleus.IniSaveInfo("DISPLAY", "FullScreen", "OFF")
      ]);

      //patch 31 39 32 30 78 31 30 38 30 1920x1080
      Context.PatchFile(
        System.IO.Path.Combine(Context.RootFolder, "rerev.exe"),
        System.IO.Path.Combine(Context.RootFolder, "rerev.exe"),
        [0x31, 0x39, 0x32, 0x30, 0x78, 0x31, 0x30, 0x38, 0x30],
        [0x33, 0x38, 0x34, 0x30, 0x78, 0x31, 0x30, 0x38, 0x30]
      ); //3840x1080
    }
  }
};