Tiny Tina's Assault on Dragon Keep: A Wonderlands One-shot Adventure · handler “Tiny Tina's Assault”
Version 1
Release notes
First Release
- Released
- Size
- 2.8 KB
- Downloads
- 2,117
- Check
- Verified
- SHA-256
- 6b47bc8f6aaee9413de28a04ac9b6bf87d5aae55ca52afdb9833de9bdf10ef95
Files 1
| Path | Size |
|---|---|
| handler.js | 8.7 KB |
handler.js
Plain textHub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Mon Dec 13 2021 03:24:44 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "XcWvSzzbPqNucuYiv";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";
var answers1 = ["No", "Yes"];
Game.AddOption("Launch all instances under your Steam account?", "Only use if you want to unlock achievements, unstable.", "Mods", answers1);
Game.DirSymlinkExclusions = ["Binaries\\Win32"];
Game.FileSymlinkExclusions = ["steam_api.dll", "steam_appid.txt", "steam_interfaces.txt", "xinput1_3.dll"];
Game.FileSymlinkCopyInstead = ["Patch.txt", "PatchOffline.txt", "python-sdk.log"];
Game.GameName = "Tiny Tina's Assault on Dragon Keep";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "TinyTina.exe";
Game.SteamID = "1712840";
Game.GUID = "Tiny Tina";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "Binaries\\Win32";
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.LauncherTitle = "splashscreen";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Tiny Tina's Assault On Dragon Keep (32-bit, DX9)";
Game.RefreshWindowAfterStart = true;
Game.ResetWindows = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Hook.CustomDllEnabled = false;
Game.UserProfileSavePath = "Documents\\My Games\\Tiny Tina's Assault On Dragon Keep\\WillowGame\\SaveData";
Game.UserProfileConfigPath = "Documents\\My Games\\Tiny Tina's Assault On Dragon Keep\\WillowGame\\Config";
Game.UserProfileSavePathNoCopy = true;
Game.UserProfileConfigPathNoCopy = true;
Game.Description =
"Go to network options, network mode and select LAN in each instance, then use the find games option to join the other players. If you use keyboards and mice after all the instances have launched, resized and positioned correctly, 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 whe you finish playing. You can also use CTRL+Q to close Nucleus and all its instances when the input is unlocked.";
Game.PauseBetweenProcessGrab = 7;
Game.PauseBetweenStarts = 30;
//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;
//ProtoInput:
Game.SupportsMultipleKeyboardsAndMice = true;
Game.ProtoInput.InjectStartup = false;
Game.ProtoInput.InjectRuntime_RemoteLoadMethod = false;
Game.ProtoInput.InjectRuntime_EasyHookMethod = true;
Game.ProtoInput.InjectRuntime_EasyHookStealthMethod = false;
Game.LockInputAtStart = false;
Game.LockInputSuspendsExplorer = true;
Game.ProtoInput.FreezeExternalInputWhenInputNotLocked = false;
Game.LockInputToggleKey = 0x23;
Game.ProtoInput.RenameHandlesHook = false;
Game.ProtoInput.RenameHandles = [];
Game.ProtoInput.RenameNamedPipes = [];
Game.ProtoInput.RegisterRawInputHook = true;
Game.ProtoInput.GetRawInputDataHook = true;
Game.ProtoInput.MessageFilterHook = true;
Game.ProtoInput.GetCursorPosHook = true;
Game.ProtoInput.SetCursorPosHook = true;
Game.ProtoInput.GetKeyStateHook = true;
Game.ProtoInput.GetAsyncKeyStateHook = true;
Game.ProtoInput.GetKeyboardStateHook = true;
Game.ProtoInput.CursorVisibilityHook = true;
Game.ProtoInput.ClipCursorHook = true;
Game.ProtoInput.FocusHooks = true;
Game.ProtoInput.DrawFakeCursor = true;
Game.ProtoInput.SetWindowPosHook = true;
Game.ProtoInput.SetWindowStyleHook = 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.SendMouseWheelMessages = true;
Game.ProtoInput.SendMouseButtonMessages = true;
Game.ProtoInput.SendMouseMovementMessages = true;
Game.ProtoInput.SendKeyboardButtonMessages = true;
Game.ProtoInput.XinputHook = false;
Game.ProtoInput.UseOpenXinput = false;
Game.ProtoInput.UseDinputRedirection = false;
Game.ProtoInput.DinputDeviceHook = false;
Game.ProtoInput.DinputHookAlsoHooksGetDeviceState = false;
Game.ProtoInput.EnableFocusMessageLoop = false;
//Game.ProtoInput.FocusLoopIntervalMilliseconds = 40000;
//Game.ProtoInput.FocusLoop_WM_ACTIVATE = true;
//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
Game.Play = function() {
var savePath = Context.GetFolder(Nucleus.Folder.Documents) + "\\My Games\\Tiny Tina's Assault On Dragon Keep\\WillowGame\\Config\\WillowEngine.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("SystemSettings", "WindowedFullscreen", Context.IsFullscreen),
new Nucleus.IniSaveInfo("SystemSettings", "Fullscreen", false),
new Nucleus.IniSaveInfo("Engine.Engine", "bPauseOnLossOfFocus", false),
new Nucleus.IniSaveInfo("WillowGame.WillowGameEngine", "bPauseLostFocusWindowed", false),
new Nucleus.IniSaveInfo("Engine.Engine", "bMuteAudioWhenNotInFocus", false),
new Nucleus.IniSaveInfo("Engine.Engine", "bPauseOnLossOfFocus", false),
new Nucleus.IniSaveInfo("WillowGame.WillowGameEngine", "bMuteAudioWhenNotInFocus", false)
]);
if (Context.IsKeyboardPlayer) {
Context.StartArguments = "-windowed -AlwaysFocus -nosplash -nomoviestartup -NoController" + " -ResX= " + Context.Width + " -ResY= " + Context.Height;
} else {
Context.StartArguments = "-windowed -AlwaysFocus -nosplash -nomoviestartup -nomouse" + " -ResX= " + Context.Width + " -ResY= " + Context.Height;
}
var interfaces = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Binaries\\Win32\\steam_interfaces.txt";
var lines = [
"SteamClient012",
"SteamGameServer011",
"SteamGameServerStats001",
"SteamUser016",
"SteamFriends013",
"SteamUtils005",
"SteamMatchMaking009",
"SteamMatchMakingServers002",
"STEAMUSERSTATS_INTERFACE_VERSION011",
"STEAMAPPS_INTERFACE_VERSION005",
"SteamNetworking005",
"STEAMREMOTESTORAGE_INTERFACE_VERSION008",
"STEAMSCREENSHOTS_INTERFACE_VERSION001",
"STEAMHTTP_INTERFACE_VERSION001"
];
Context.WriteTextFile(interfaces, lines);
var mods = Context.Options["Mods"];
if (mods == "No") {
if (!System.IO.File.Exists(Context.OrigRootFolder + "\\Binaries\\Win32\\steam_api.dll")) {
Game.UseGoldberg = false;
Context.StartArguments =
"-windowed -AlwaysFocus -nosplash -nomoviestartup" +
" -ResX= " +
Context.Width +
" -ResY= " +
Context.Height +
" -AUTH_LOGIN=unused -AUTH_PASSWORD= -AUTH_TYPE=exchangecode -epicapp=9e296d276ad447108f12c654c3341d59 -epicenv=Prod -EpicPortal -epicusername=" +
Context.Nickname +
" -epicuserid=cc387d728dad50af884a6373c629277" +
Context.PlayerID;
} else {
}
}
if (mods == "Yes") {
var id = Context.PlayerID + 1;
var savePkgOrigin = System.IO.Path.Combine(Context.RootInstallFolder, "steam_api.dll");
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Binaries\\Win32\\steam_api.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
if (Context.IsKeyboardPlayer) {
Context.StartArguments = "-windowed -AlwaysFocus -nosplash -nomoviestartup -NoController -SaveDataId=" + id + " -ResX= " + Context.Width + " -ResY= " + Context.Height;
Game.ProtoInput.KeyboardButtonFilter = true;
} else {
Context.StartArguments = "-windowed -AlwaysFocus -nosplash -nomoviestartup -nomouse -SaveDataId=" + id + " -ResX= " + Context.Width + " -ResY= " + Context.Height;
Game.ProtoInput.KeyboardButtonFilter = false;
}
}
};