Son of Nor · handler “SonofNor”
Version 1
Release notes
First Release.
- Released
- Size
- 2.4 KB
- Downloads
- 197
- Check
- Verified
- SHA-256
- bfc765f954e2099b9e840b9525c9aa917b5fe8ec8ef3add9318e55710eee02dd
Files 1
| Path | Size |
|---|---|
| handler.js | 16 KB |
handler.js
Plain textHub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Sun Dec 06 2020 04:01:39 GMT+0000 (UTC).
Hub.Handler.Id = "zxgdNSYm3cXtv6mTJ";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";
Game.DirSymlinkExclusions = ["SON_Data\\Plugins"];
Game.FileSymlinkExclusions = ["steam_api.dll", "steam_appid.txt", "steam_interfaces.txt"];
Game.FileSymlinkCopyInstead = ["CustomSettings"];
Game.GameName = "Son of Nor";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.SupportsKeyboard = false;
Game.ExecutableName = "SON.exe";
Game.SteamID = "264000";
Game.GUID = "Son of Nor";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "";
//Game.LaunchAsDifferentUsers = true;
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.LauncherTitle = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Son of Nor";
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.FakeFocus = true;
Game.BlockRawInput = false;
Game.Description =
"Host a multiplayer public game in one instance and join in the others. Use different character profiles per player. Navigate the menus using the mouse cursor as the gamepads will control all the instances menus until you are in-game. This game has native splitscreen for 2 players max, with this script you can play with 4 player co-op, 1 player per instance. This game uses the horrible Unity default input for gamepad support so ONLY if your gamepads do not restrict correctly do this: go to the game controls settings and map the gamepad you want to control that instance to the first gamepad mappings, for the other 3 gamepads unassign all the keys using the escape key in all instances. Xbox One gamepads have issues controlling unity games that use default input in the background even with forced focus because of a driver issue.";
Game.KeepSymLinkOnExit = false;
Game.PauseBetweenStarts = 40;
Game.SupportsMultipleKeyboardsAndMice = false;
Game.HookSetCursorPos = true;
Game.HookGetCursorPos = true;
Game.HookGetKeyState = false;
Game.HookGetAsyncKeyState = false;
Game.HookGetKeyboardState = false;
Game.HookFilterRawInput = true;
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 = true;
Game.HookReRegisterRawInputMouse = true;
Game.HookReRegisterRawInputKeyboard = false;
Game.DrawFakeMouseCursor = true;
Game.LockInputAtStart = false;
Game.LockInputToggleKey = 0x23;
Game.Play = function() {
var Args = (Context.Args = " -screen-fullscreen 0 -popupwindow " + " -screen-width " + Context.Width + " -screen-height " + Context.Height);
Context.StartArguments = Args;
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\stillalive studios GmbH\\Son of Nor", "Screenmanager Is Fullscreen mode_h3981298716", 0, Nucleus.RegType.DWord);
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\stillalive studios GmbH\\Son of Nor", "Screenmanager Resolution Height_h2627697771", Context.Height, Nucleus.RegType.DWord);
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\stillalive studios GmbH\\Son of Nor", "Screenmanager Resolution Width_h182942802", Context.Width, Nucleus.RegType.DWord);
if (Context.PlayerID == 0) {
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_inp_h2885596408",
"W*S*A*D*Space*None*None*None*None*None*None*E*Mouse1*Mouse0*Mouse0*Mouse1*LeftShift*Q*Alpha1*Alpha2*Alpha3*Tab*F*Escape*F5*F9*None*None*None*None*Joystick1Button0*None*None*None*None*None*None*Joystick1Button9*None*None*None*None*Joystick1Button4*None*Joystick1Button3*Joystick1Button1*Joystick1Button2*Joystick1Button5*Joystick1Button6*Joystick1Button7*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*",
Nucleus.RegType.String
);
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_inpStr_h1987639597",
"*****Mouse Up*Mouse Down*Mouse Left*Mouse Right*Mouse Wheel Up*Mouse Wheel Down****************Joy1 Axis 2-*Joy1 Axis 2+*Joy1 Axis 1-*Joy1 Axis 1+**Joy1 Axis 5-*Joy1 Axis 5+*Joy1 Axis 4-*Joy1 Axis 4+*Joy1 Axis 7+*Joy1 Axis 7-**Joy1 Axis 3+*Joy1 Axis 3-*Joy1 Axis 3-*Joy1 Axis 3+**Joy1 Axis 6-******************Joy2 Axis 7+*Joy2 Axis 7-*************************Joy3 Axis 7+*Joy3 Axis 7-*************************Joy4 Axis 7+*Joy4 Axis 7-****************",
Nucleus.RegType.String
);
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_modifierStr_h512914093",
"W*S*A*D*Space*None*None*None*None*None*None*E*Mouse1*Mouse0*Mouse0*Mouse1*LeftShift*Q*Alpha1*Alpha2*Alpha3*Tab*F*Escape*F5*F9*None*None*None*None*Joystick1Button0*None*None*None*None*None*None*Joystick1Button9*None*None*None*None*Joystick1Button4*None*Joystick1Button3*Joystick1Button1*Joystick1Button2*Joystick1Button5*Joystick1Button6*Joystick1Button7*None*None*None*None*None*None*Joystick2Button0*None*None*None*None*None*None*Joystick2Button9*None*None*None*None*Joystick2Button4*None*Joystick2Button3*Joystick2Button1*Joystick2Button2*Joystick2Button5*Joystick2Button6*Joystick2Button7*None*None*None*None*None*None*Joystick3Button0*None*None*None*None*None*None*Joystick3Button9*None*None*None*None*Joystick3Button4*None*Joystick3Button3*Joystick3Button1*Joystick3Button2*Joystick3Button5*Joystick3Button6*Joystick3Button7*None*None*None*None*None*None*Joystick4Button0*None*None*None*None*None*None*Joystick4Button9*None*None*None*None*Joystick4Button4*None*Joystick4Button3*Joystick4Button1*Joystick4Button2*Joystick4Button5*Joystick4Button6*Joystick4Button7*None*None*",
Nucleus.RegType.String
);
}
if (Context.PlayerID == 1) {
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_inp_h2885596408",
"W*S*A*D*Space*None*None*None*None*None*None*E*Mouse1*Mouse0*Mouse0*Mouse1*LeftShift*Q*Alpha1*Alpha2*Alpha3*Tab*F*Escape*F5*F9*None*None*None*None*Joystick2Button0*None*None*None*None*None*None*Joystick2Button9*None*None*None*None*Joystick2Button4*None*Joystick2Button3*Joystick2Button1*Joystick2Button2*Joystick2Button5*Joystick2Button6*Joystick2Button7*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*",
Nucleus.RegType.String
);
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_inpStr_h1987639597",
"*****Mouse Up*Mouse Down*Mouse Left*Mouse Right*Mouse Wheel Up*Mouse Wheel Down****************Joy2 Axis 2-*Joy2 Axis 2+*Joy2 Axis 1-*Joy2 Axis 1+**Joy2 Axis 5-*Joy2 Axis 5+*Joy2 Axis 4-*Joy2 Axis 4+*Joy2 Axis 7+*Joy2 Axis 7-**Joy2 Axis 3+*Joy2 Axis 3-*Joy2 Axis 3-*Joy2 Axis 3+**Joy2 Axis 6-******************Joy2 Axis 7+*Joy2 Axis 7-*************************Joy3 Axis 7+*Joy3 Axis 7-*************************Joy4 Axis 7+*Joy4 Axis 7-****************",
Nucleus.RegType.String
);
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_modifierStr_h512914093",
"W*S*A*D*Space*None*None*None*None*None*None*E*Mouse1*Mouse0*Mouse0*Mouse1*LeftShift*Q*Alpha1*Alpha2*Alpha3*Tab*F*Escape*F5*F9*None*None*None*None*Joystick2Button0*None*None*None*None*None*None*Joystick2Button9*None*None*None*None*Joystick2Button4*None*Joystick2Button3*Joystick2Button1*Joystick2Button2*Joystick2Button5*Joystick2Button6*Joystick2Button7*None*None*None*None*None*None*Joystick2Button0*None*None*None*None*None*None*Joystick2Button9*None*None*None*None*Joystick2Button4*None*Joystick2Button3*Joystick2Button1*Joystick2Button2*Joystick2Button5*Joystick2Button6*Joystick2Button7*None*None*None*None*None*None*Joystick3Button0*None*None*None*None*None*None*Joystick3Button9*None*None*None*None*Joystick3Button4*None*Joystick3Button3*Joystick3Button1*Joystick3Button2*Joystick3Button5*Joystick3Button6*Joystick3Button7*None*None*None*None*None*None*Joystick4Button0*None*None*None*None*None*None*Joystick4Button9*None*None*None*None*Joystick4Button4*None*Joystick4Button3*Joystick4Button1*Joystick4Button2*Joystick4Button5*Joystick4Button6*Joystick4Button7*None*None*",
Nucleus.RegType.String
);
}
if (Context.PlayerID == 2) {
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_inp_h2885596408",
"W*S*A*D*Space*None*None*None*None*None*None*E*Mouse1*Mouse0*Mouse0*Mouse1*LeftShift*Q*Alpha1*Alpha2*Alpha3*Tab*F*Escape*F5*F9*None*None*None*None*Joystick3Button0*None*None*None*None*None*None*Joystick3Button9*None*None*None*None*Joystick3Button4*None*Joystick3Button3*Joystick3Button1*Joystick3Button2*Joystick3Button5*Joystick3Button6*Joystick3Button7*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*",
Nucleus.RegType.String
);
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_inpStr_h1987639597",
"*****Mouse Up*Mouse Down*Mouse Left*Mouse Right*Mouse Wheel Up*Mouse Wheel Down****************Joy3 Axis 2-*Joy3 Axis 2+*Joy3 Axis 1-*Joy3 Axis 1+**Joy3 Axis 5-*Joy3 Axis 5+*Joy3 Axis 4-*Joy3 Axis 4+*Joy3 Axis 7+*Joy3 Axis 7-**Joy3 Axis 3+*Joy3 Axis 3-*Joy3 Axis 3-*Joy3 Axis 3+**Joy3 Axis 6-******************Joy2 Axis 7+*Joy2 Axis 7-*************************Joy3 Axis 7+*Joy3 Axis 7-*************************Joy4 Axis 7+*Joy4 Axis 7-****************",
Nucleus.RegType.String
);
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_modifierStr_h512914093",
"W*S*A*D*Space*None*None*None*None*None*None*E*Mouse1*Mouse0*Mouse0*Mouse1*LeftShift*Q*Alpha1*Alpha2*Alpha3*Tab*F*Escape*F5*F9*None*None*None*None*Joystick3Button0*None*None*None*None*None*None*Joystick3Button9*None*None*None*None*Joystick3Button4*None*Joystick3Button3*Joystick3Button1*Joystick3Button2*Joystick3Button5*Joystick3Button6*Joystick3Button7*None*None*None*None*None*None*Joystick2Button0*None*None*None*None*None*None*Joystick2Button9*None*None*None*None*Joystick2Button4*None*Joystick2Button3*Joystick2Button1*Joystick2Button2*Joystick2Button5*Joystick2Button6*Joystick2Button7*None*None*None*None*None*None*Joystick3Button0*None*None*None*None*None*None*Joystick3Button9*None*None*None*None*Joystick3Button4*None*Joystick3Button3*Joystick3Button1*Joystick3Button2*Joystick3Button5*Joystick3Button6*Joystick3Button7*None*None*None*None*None*None*Joystick4Button0*None*None*None*None*None*None*Joystick4Button9*None*None*None*None*Joystick4Button4*None*Joystick4Button3*Joystick4Button1*Joystick4Button2*Joystick4Button5*Joystick4Button6*Joystick4Button7*None*None*",
Nucleus.RegType.String
);
}
if (Context.PlayerID == 3) {
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_inp_h2885596408",
"W*S*A*D*Space*None*None*None*None*None*None*E*Mouse1*Mouse0*Mouse0*Mouse1*LeftShift*Q*Alpha1*Alpha2*Alpha3*Tab*F*Escape*F5*F9*None*None*None*None*Joystick4Button0*None*None*None*None*None*None*Joystick4Button9*None*None*None*None*Joystick4Button4*None*Joystick4Button3*Joystick4Button1*Joystick4Button2*Joystick4Button5*Joystick4Button6*Joystick4Button7*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*None*",
Nucleus.RegType.String
);
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_inpStr_h1987639597",
"*****Mouse Up*Mouse Down*Mouse Left*Mouse Right*Mouse Wheel Up*Mouse Wheel Down****************Joy4 Axis 2-*Joy4 Axis 2+*Joy4 Axis 1-*Joy4 Axis 1+**Joy4 Axis 5-*Joy4 Axis 5+*Joy4 Axis 4-*Joy4 Axis 4+*Joy4 Axis 7+*Joy4 Axis 7-**Joy4 Axis 3+*Joy4 Axis 3-*Joy4 Axis 3-*Joy4 Axis 3+**Joy4 Axis 6-******************Joy2 Axis 7+*Joy2 Axis 7-*************************Joy3 Axis 7+*Joy3 Axis 7-*************************Joy4 Axis 7+*Joy4 Axis 7-****************",
Nucleus.RegType.String
);
Context.EditRegKey(
"HKEY_CURRENT_USER",
"SOFTWARE\\stillalive studios GmbH\\Son of Nor",
"cInput_modifierStr_h512914093",
"W*S*A*D*Space*None*None*None*None*None*None*E*Mouse1*Mouse0*Mouse0*Mouse1*LeftShift*Q*Alpha1*Alpha2*Alpha3*Tab*F*Escape*F5*F9*None*None*None*None*Joystick4Button0*None*None*None*None*None*None*Joystick4Button9*None*None*None*None*Joystick4Button4*None*Joystick4Button3*Joystick4Button1*Joystick4Button2*Joystick4Button5*Joystick4Button6*Joystick4Button7*None*None*None*None*None*None*Joystick2Button0*None*None*None*None*None*None*Joystick2Button9*None*None*None*None*Joystick2Button4*None*Joystick2Button3*Joystick2Button1*Joystick2Button2*Joystick2Button5*Joystick2Button6*Joystick2Button7*None*None*None*None*None*None*Joystick3Button0*None*None*None*None*None*None*Joystick3Button9*None*None*None*None*Joystick3Button4*None*Joystick3Button3*Joystick3Button1*Joystick3Button2*Joystick3Button5*Joystick3Button6*Joystick3Button7*None*None*None*None*None*None*Joystick4Button0*None*None*None*None*None*None*Joystick4Button9*None*None*None*None*Joystick4Button4*None*Joystick4Button3*Joystick4Button1*Joystick4Button2*Joystick4Button5*Joystick4Button6*Joystick4Button7*None*None*",
Nucleus.RegType.String
);
}
var interfaces = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steam_interfaces.txt";
var lines = [
"SteamClient014",
"SteamGameServer012",
"SteamGameServerStats001",
"SteamUser017",
"SteamFriends014",
"SteamUtils007",
"SteamMatchMaking009",
"SteamMatchMakingServers002",
"STEAMUSERSTATS_INTERFACE_VERSION011",
"STEAMAPPS_INTERFACE_VERSION006",
"SteamNetworking005",
"STEAMREMOTESTORAGE_INTERFACE_VERSION012",
"STEAMSCREENSHOTS_INTERFACE_VERSION002",
"STEAMHTTP_INTERFACE_VERSION002",
"STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001",
"STEAMUGC_INTERFACE_VERSION002",
"STEAMAPPLIST_INTERFACE_VERSION001",
"STEAMMUSIC_INTERFACE_VERSION001",
"STEAMCONTROLLER_INTERFACE_VERSION"
];
Context.WriteTextFile(interfaces, lines);
};