Zengeon · handler “Zengeon”
Version 1
Release notes
First release
- Released
- Size
- 2.1 KB
- Downloads
- 158
- Check
- Verified
- SHA-256
- 2b8f19a887a0ae48ff055b763d5f3a9b7b95cacfd71ecbac8ff841e7ae05ee09
Files 1
| Path | Size |
|---|---|
| handler.js | 5.4 KB |
handler.js
Plain textHub.Handler.Version = 1; // Released at https://hub.splitscreen.me/ on Fri Mar 19 2021 22:02:33 GMT+0000 (UTC).
Hub.Handler.Id = "TE2srCvA68FzgcmZz";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";
var answers1 = ["No", "Yes"];
Game.AddOption("Run the first instance with steam overlay?", "To unlock steam achievements, experimental, read script notes before using.", "LAN", answers1);
Game.DirSymlinkExclusions = ["Zengeon_Data\\Plugins"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt", "dinput8.dll"];
Game.UseGoldberg = true;
Game.GoldbergIgnoreSteamAppId = true;
Game.GameName = "Zengeon";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.ExecutableName = "Zengeon.exe";
Game.SteamID = "1000080";
Game.GUID = "Zengeon";
Game.MaxPlayers = 4;
Game.MaxPlayersOneMonitor = 4;
//Game.LaunchAsDifferentUsers = true;
Game.LauncherTitle = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Zengeon";
Game.FakeFocus = true;
Game.SetWindowHook = true;
Game.ResetWindows = true;
Game.Hook.DInputEnabled = false;
Game.UseDInputBlocker = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.InjectHookXinput = true;
Game.Hook.CustomDllEnabled = false;
Game.BlockRawInput = false;
Game.UserProfileSavePath = "AppData\\LocalLow\\indieleague\\Zengeon";
Game.Description =
"IMPORTANT: Before opening the second instance set the game resolution to 1280x720 windowed in the in-game settings using the mouse cursor, otherwise the instances will not resize, the in-game resolution settings will not show if you select the settings wheel with a gamepad. Start a game in one instance, open a LAN Co-op game by pressing the right stick and join via the LAN option in the other instances. If you use keyboards and mice after the instances open press the END key to lock the input for all instances to have their own cursor. Press the END key again to unlock the input. You can also use CTRL+Q to close Nucleus and all its instances. If you select the steam overlay Nucleus UI option the first instance will launch with the steam overlay and all instances will launch under your steam account, this allows you to unlock steam achievements, after the first instance opens click accept when steam asks you if you want to open the game with launch arguments, make sure you close the instance without overlay if one launched right before the instance with the overlay opened, then click refresh in the Nucleus process picker window and select the Zengeon process. Press Shift+Tab to open the steam overlay in the first instance if you want to make sure it launched with the overlay. Known issues with this script: all instances share one save file.";
Game.PromptBetweenInstances = true;
Game.PauseBetweenStarts = 30;
Game.SupportsMultipleKeyboardsAndMice = true;
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\\indieleague\\Zengeon", "Screenmanager Fullscreen mode_h3630240806", 3, Nucleus.RegType.DWord);
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\indieleague\\Zengeon", "Screenmanager Resolution Height_h2627697771", Context.Height, Nucleus.RegType.DWord);
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\indieleague\\Zengeon", "Screenmanager Resolution Width_h182942802", Context.Width, Nucleus.RegType.DWord);
Context.EditRegKey("HKEY_CURRENT_USER", "SOFTWARE\\indieleague\\Zengeon", "Screenmanager Resolution Use Native_h1405027254", 0, Nucleus.RegType.DWord);
if (Context.HasKeyboardPlayer !== true) {
Game.SupportsMultipleKeyboardsAndMice = false;
}
var lan = Context.Options["LAN"];
if (lan == "Yes") {
var savePkgOrigin = System.IO.Path.Combine(Context.RootInstallFolder, "Zengeon_Data\\Plugins\\steam_api64.dll");
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Zengeon_Data\\Plugins\\steam_api64.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
if (Context.PlayerID == 0) {
Game.ForceProcessPick = true;
} else {
Game.ForceProcessPick = false;
var appid = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steam_appid.txt";
var lines = ["1000080"];
Context.WriteTextFile(appid, lines);
}
}
if (lan == "No") {
var appid = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\steam_appid.txt";
var lines = ["1000080"];
Context.WriteTextFile(appid, lines);
}
};