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

Deadzone: Rogue · handler “Deadzone Rogue”

Version 1 (current)

Release notes

First version (again 2x)

Released
Size
15.1 MB
Downloads
133
Check
Verified
SHA-256
51cef023c65d6f3e35092cbfbc9e8fa1896c106255576fb70f9d8377aadee739
Download v1 (.nc)All versions

Files 18

PathSize
Deadzone Rogue/Files/Engine/Binaries/ThirdParty/Steamworks/Steamv157/Win64/steam_api64.dll21.0 MB
Deadzone Rogue/Files/Engine/Binaries/ThirdParty/Steamworks/Steamv157/Win64/steam_settings/configs.app.ini164 B
Deadzone Rogue/Files/Engine/Binaries/ThirdParty/Steamworks/Steamv157/Win64/steam_settings/configs.main.ini652 B
Deadzone Rogue/Files/Engine/Binaries/ThirdParty/Steamworks/Steamv157/Win64/steam_settings/configs.overlay.ini581 B
Deadzone Rogue/Files/Engine/Binaries/ThirdParty/Steamworks/Steamv157/Win64/steam_settings/default_items.json77 B
Deadzone Rogue/Files/Engine/Binaries/ThirdParty/Steamworks/Steamv157/Win64/steam_settings/stats.json2.7 KB
Deadzone Rogue/Files/Engine/Binaries/ThirdParty/Steamworks/Steamv157/Win64/steam_settings/steam_appid.txt7 B
Deadzone Rogue/Files/Engine/Binaries/ThirdParty/Steamworks/Steamv157/Win64/steam_settings/supported_languages.txt128 B
Deadzone Rogue/Files/Engine/Binaries/Win64/EOSSDK-Win64-Shipping.dll11.1 MB
Deadzone Rogue/Files/Valhalla/Binaries/Win64/dlllist.txt47 B
Deadzone Rogue/Files/Valhalla/Binaries/Win64/NemirtingasRallyHereEmulator.dll10.0 MB
Deadzone Rogue/Files/Valhalla/Binaries/Win64/nepice_settings/NemirtingasEpicEmu.json632 B
Deadzone Rogue/Files/Valhalla/Binaries/Win64/nrallyheree_settings/NemirtingasRallyHereEmu.json674 B
Deadzone Rogue/Files/Valhalla/Binaries/Win64/StubDRM64.dll100 KB
Deadzone Rogue/Files/Valhalla/Binaries/Win64/winmm.dll512 KB
Deadzone Rogue/Files/Valhalla/Content/Movies/RoguePeach.bk20 B
Deadzone Rogue/inventory.json7.3 KB
handler.js14 KB

handler.js

Plain text
Hub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Sun Aug 30 2026 19:17:11 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "7kMQFmcJ3HcY8NF6D";
Hub.Maintainer.Name = "Vlxst";
Hub.Maintainer.Id = "wZTsDsXZnJhD4fwfz";

Game.DirSymlinkExclusions = ["Engine\\Binaries\\ThirdParty\\Steamworks\\Steamv157\\Win64", "Engine\\Binaries\\Win64", "Valhalla\\Binaries\\Win64", "Valhalla\\Content\\Movies"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt", "EOSSDK-Win64-Shipping.dll", "winmm.dll", "RoguePeach.bk2", "RoguePeach.mp4"];

Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.GameName = "Deadzone Rogue";
Game.ExecutableName = "DeadzoneSteam-Win64-Shipping.exe";
Game.GUID = "Deadzone";
Game.SteamID = "3228590";
Game.MaxPlayers = 3;
Game.MaxPlayersOneMonitor = 3;
Game.BinariesFolder = "Valhalla\\Binaries\\Win64";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Deadzone: Rogue  ";
Game.HasDynamicWindowTitle = true;
Game.ResetWindows = true;
Game.SetWindowHook = true;
Game.RefreshWindowAfterStart = true;
Game.SetForegroundWindowElsewhere = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.UseNucleusEnvironment = true;
Game.UserProfileSavePath = "AppData\\Local\\Valhalla\\Saved\\SaveGames";
Game.UserProfileConfigPath = "AppData\\Local\\Valhalla\\Saved\\Config\\Windows";
Game.Description =
  "Wait after all Instaces are resized and positioned. Use Multiplayer on pause menu ingame to host/connect. press the END key to lock the input for all instances to have their own cursor. You need to left click each mouse to make the emulated cursors appear after locking the input. Press the END key again to unlock the input when you finish playing. You can also use CTRL+Q to close Nucleus and all its instances when the input is unlocked. CTRL+H to unfocus instances";

Game.PauseBetweenStarts = 30;

// -- mouse and Keyboard --
Game.SupportsMultipleKeyboardsAndMice = true;

//USS deprecated options:

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

Game.SendNormalMouseInput = false;
Game.SendNormalKeyboardInput = false;
Game.SendScrollWheel = false;
Game.ForwardRawKeyboardInput = false;
Game.ForwardRawMouseInput = false;
Game.HookReRegisterRawInput = false;
Game.HookReRegisterRawInputMouse = false;
Game.HookReRegisterRawInputKeyboard = false;
Game.DrawFakeMouseCursor = false;

//new proto input hooks
Game.LockInputAtStart = false;
Game.LockInputSuspendsExplorer = true;
Game.ProtoInput.FreezeExternalInputWhenInputNotLocked = false;
Game.LockInputToggleKey = 0x23;

Game.ProtoInput.InjectStartup = false;
Game.ProtoInput.InjectRuntime_RemoteLoadMethod = false;
Game.ProtoInput.InjectRuntime_EasyHookMethod = true;
Game.ProtoInput.InjectRuntime_EasyHookStealthMethod = false;

Game.ProtoInput.RegisterRawInputHook = true;
Game.ProtoInput.GetRawInputDataHook = true;
Game.ProtoInput.MessageFilterHook = true;
Game.ProtoInput.GetCursorPosHook = true;
Game.ProtoInput.SetCursorPosHook = true;

Game.ProtoInput.RawInputFilter = true;
Game.ProtoInput.MouseMoveFilter = false;
Game.ProtoInput.MouseActivateFilter = true;
Game.ProtoInput.WindowActivateFilter = true;
Game.ProtoInput.WindowActvateAppFilter = true;
Game.ProtoInput.MouseWheelFilter = true;
Game.ProtoInput.MouseButtonFilter = true;
Game.ProtoInput.KeyboardButtonFilter = true;

Game.ProtoInput.DrawFakeCursor = false;
Game.ProtoInput.DontShowCursorWhenImageUpdated = false;
Game.ProtoInput.CursorVisibilityHook = true;
Game.ProtoInput.ClipCursorHook = true;
Game.ProtoInput.FocusHooks = true;

Game.ProtoInput.GetKeyStateHook = true;
Game.ProtoInput.GetAsyncKeyStateHook = true;
Game.ProtoInput.GetKeyboardStateHook = true;

Game.ProtoInput.SendMouseWheelMessages = true;
Game.ProtoInput.SendMouseButtonMessages = true;
Game.ProtoInput.SendMouseMovementMessages = true;
Game.ProtoInput.SendKeyboardButtonMessages = true;

Game.ProtoInput.EnableFocusMessageLoop = true;
Game.ProtoInput.FocusLoopIntervalMilliseconds = 5000;
Game.ProtoInput.FocusLoop_WM_ACTIVATE = false;
Game.ProtoInput.FocusLoop_WM_ACTIVATEAPP = true;
Game.ProtoInput.FocusLoop_WM_NCACTIVATE = true;
Game.ProtoInput.FocusLoop_WM_SETFOCUS = true;
Game.ProtoInput.FocusLoop_WM_MOUSEACTIVATE = true;

Game.ProtoInput.BlockedMessages = [0x0008]; //Blocks WM_KILLFOCUS.

//gamepads
Game.ProtoInput.XinputHook = true;
Game.ProtoInput.UseOpenXinput = true;
Game.ProtoInput.UseDinputRedirection = false;
Game.ProtoInput.DinputDeviceHook = false;
Game.ProtoInput.DinputHookAlsoHooksGetDeviceState = false;
Game.ProtoInput.MultipleProtoControllers = true;

Game.Play = function() {
  Context.StartArguments = "-windowed" + " -ResX=" + Context.Width + " -ResY=" + Context.Height + " -AlwaysFocus" + " -nosplash";

  //Copy all necessary files
  Context.CopyFolder(Game.Folder + "\\Files", Context.GetFolder(Nucleus.Folder.InstancedGameFolder));

  //GBE Config
  var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Engine\\Binaries\\ThirdParty\\Steamworks\\Steamv157\\Win64\\steam_settings\\configs.user.ini";
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("user::general", "account_name", Context.Nickname),
    new Nucleus.IniSaveInfo("user::general", "account_steamid", Context.PlayerSteamID),
    new Nucleus.IniSaveInfo("user::general", "language", Context.SteamLang)
  ]);

  //EOS Config
  var id = 20 + Context.PlayerID;
  var pd = 4 + Context.PlayerID;

  var txtPath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Valhalla\\Binaries\\Win64\\nepice_settings\\NemirtingasEpicEmu.json";
  var dict = [
    Context.FindLineNumberInTextFile(txtPath, '      "EpicId":', Nucleus.SearchType.StartsWith) + '|      "EpicId": "8befbee1a9177c4155a5e3d77f0ebe' + id + '",',
    Context.FindLineNumberInTextFile(txtPath, '      "Language":', Nucleus.SearchType.StartsWith) + '|      "Language": "' + Context.EpicLang + '",',
    Context.FindLineNumberInTextFile(txtPath, '      "ProductUserId":', Nucleus.SearchType.StartsWith) + '|      "ProductUserId": "0002ae5c72cef36cc97343679b6730e' + pd + '",',
    Context.FindLineNumberInTextFile(txtPath, '      "UserName":', Nucleus.SearchType.StartsWith) + '|      "UserName": "' + Context.Nickname + '"'
  ];
  Context.ReplaceLinesInTextFile(txtPath, dict);

  //RallyHere Config
  var id = 20 + Context.PlayerID;

  var txtPath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Valhalla\\Binaries\\Win64\\nrallyheree_settings\\NemirtingasRallyHereEmu.json";
  var dict = [
    Context.FindLineNumberInTextFile(txtPath, '      "Module":', Nucleus.SearchType.StartsWith) + '|      "Module": "DeadzoneSteam-Win64-Shipping.exe"',
    Context.FindLineNumberInTextFile(txtPath, '      "RallyHereId":', Nucleus.SearchType.StartsWith) + '|      "RallyHereId": "f02d4cc7-1d19-3f56-a48c-80724153e8' + id + '",',
    Context.FindLineNumberInTextFile(txtPath, '      "Language":', Nucleus.SearchType.StartsWith) + '|      "Language": "' + Context.EpicLang + '",',
    Context.FindLineNumberInTextFile(txtPath, '      "UserName":', Nucleus.SearchType.StartsWith) + '|      "UserName": "' + Context.Nickname + '"'
  ];
  Context.ReplaceLinesInTextFile(txtPath, dict);

  // RH Inventory Items(dlcs)

  var RallyHereId = "440999af-f24a-2758-3587-350518a5a2" + id + "";

  if (!System.IO.Directory.Exists(Context.EnvironmentPlayer + "\\AppData\\Roaming\\NemirtingasRallyHereEmu\\" + RallyHereId + "\\Deadzone")) {
    var filePath = (Context.filePath = Context.EnvironmentPlayer + "\\AppData\\Roaming\\NemirtingasRallyHereEmu\\" + RallyHereId + "\\Deadzone");
    System.IO.Directory.CreateDirectory(filePath);
  }

  var savePath = Context.EnvironmentPlayer + "\\AppData\\Roaming\\NemirtingasRallyHereEmu\\" + RallyHereId + "\\Deadzone\\inventory.json";
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "inventory.json");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  //GameUserSettings.ini

  var savePath = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\GameUserSettings.ini";
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("/Script/Valhalla.ValGameUserSettings", "PreferredSessionType", "Public"),
    new Nucleus.IniSaveInfo("/Script/Valhalla.ValGameUserSettings", "bOfflineMode", "False"),

    new Nucleus.IniSaveInfo("/Script/Valhalla.ValGameUserSettings", "ResolutionSizeX", Context.Width),
    new Nucleus.IniSaveInfo("/Script/Valhalla.ValGameUserSettings", "ResolutionSizeY", Context.Height),
    new Nucleus.IniSaveInfo("/Script/Valhalla.ValGameUserSettings", "FullscreenMode", "2"),
    new Nucleus.IniSaveInfo("/Script/Valhalla.ValGameUserSettings", "LastConfirmedFullscreenMode", "2"),
    new Nucleus.IniSaveInfo("/Script/Valhalla.ValGameUserSettings", "PreferredFullscreenMode", "2"),
    new Nucleus.IniSaveInfo("/Script/Valhalla.ValGameUserSettings", "DesiredScreenWidth", Context.Width),
    new Nucleus.IniSaveInfo("/Script/Valhalla.ValGameUserSettings", "DesiredScreenHeight", Context.Height)
  ]);

  Game.ProtoInput.OnInputLocked = function() {
    for (var i = 0; i < PlayerList.Count; i++) {
      var player = PlayerList[i];
      ProtoInput.SetRawInputBypass(player.ProtoInputInstanceHandle, false);

      ProtoInput.InstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetCursorPosHookID);
      ProtoInput.InstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.SetCursorPosHookID);
      ProtoInput.InstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetKeyStateHookID);
      ProtoInput.InstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetAsyncKeyStateHookID);
      ProtoInput.InstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetKeyboardStateHookID);
      ProtoInput.InstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.CursorVisibilityStateHookID);
      ProtoInput.InstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetRawInputDataHookID);

      ProtoInput.EnableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.RawInputFilterID);

      // Avoid the mouse move filter unless absolutely necessary as it can massively affect performance if the game gets primary input from mouse move messages
      //ProtoInput.EnableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.MouseMoveFilterID);

      ProtoInput.EnableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.MouseActivateFilterID);
      ProtoInput.EnableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.WindowActivateFilterID);
      ProtoInput.EnableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.WindowActivateAppFilterID);
      ProtoInput.EnableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.MouseWheelFilterID);
      ProtoInput.EnableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.MouseButtonFilterID);
      ProtoInput.EnableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.KeyboardButtonFilterID);

      ProtoInput.SetDrawFakeCursor(player.ProtoInputInstanceHandle, true);
    }
  };

  Game.ProtoInput.OnInputUnlocked = function() {
    for (var i = 0; i < PlayerList.Count; i++) {
      var player = PlayerList[i];
      ProtoInput.SetRawInputBypass(player.ProtoInputInstanceHandle, true);

      ProtoInput.UninstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetCursorPosHookID);
      ProtoInput.UninstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.SetCursorPosHookID);
      ProtoInput.UninstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetKeyStateHookID);
      ProtoInput.UninstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetAsyncKeyStateHookID);
      ProtoInput.UninstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetKeyboardStateHookID);
      ProtoInput.UninstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.CursorVisibilityStateHookID);
      ProtoInput.UninstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.GetRawInputDataHookID);

      ProtoInput.InstallHook(player.ProtoInputInstanceHandle, ProtoInput.Values.FocusHooksHookID);

      ProtoInput.DisableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.RawInputFilterID);
      ProtoInput.DisableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.MouseMoveFilterID);
      ProtoInput.DisableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.MouseActivateFilterID);
      ProtoInput.DisableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.WindowActivateFilterID);
      ProtoInput.DisableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.WindowActivateAppFilterID);
      ProtoInput.DisableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.MouseWheelFilterID);
      ProtoInput.DisableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.MouseButtonFilterID);
      ProtoInput.DisableMessageFilter(player.ProtoInputInstanceHandle, ProtoInput.Values.KeyboardButtonFilterID);

      ProtoInput.SetDrawFakeCursor(player.ProtoInputInstanceHandle, false);
    }
  };

  //gamepads
  var numPlayers = 0;

  for (var i = 0; i < PlayerList.Count; i++) {
    var player = PlayerList[i];

    if (player.IsXInput && player.ScreenIndex !== -1) {
      numPlayers++;
    }
    player.ProtoController1 = Context.GamepadId;
  }
};