Halo 2 · handler “Halo 2 Project Cartographer”
Version 7
Release notes
fifth player fix and disconnection fix.
- Released
- Size
- 112 KB
- Downloads
- 585
- Check
- Verified
- SHA-256
- 196b3da6889133318a8f9c2e99ce9f10e7dca5908b8f0ab0f0e10395b3552ef2
Files 5
| Path | Size |
|---|---|
| Halo2PC/halo2config1.ini | 6.6 KB |
| Halo2PC/xlive.dll | 289 KB |
| Halo2PC/xlln-halo-2-cartographer.dll | 92 KB |
| Halo2PC/xlln-halo-2.dll | 21 KB |
| handler.js | 9.9 KB |
handler.js
Plain textHub.Handler.Version = 7; // Released at https://hub.splitscreen.me/ on Sat Jan 16 2021 20:59:27 GMT+0000 (UTC).
Hub.Handler.Id = "x6CA522XrR74myDzx";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";
var answers1 = ["No", "Yes"];
Game.AddOption("Use XLiveLessNess LAN connection method?", "Only use if you have issues with the new Project Cart. LAN, gamepads only.", "Lan", answers1);
Game.DirSymlinkExclusions = ["xlln\\modules", "xinput\\p02", "xinput\\p03", "xinput\\p04"];
Game.FileSymlinkExclusions = ["Durazno.ini", "Duraz02.ini", "Duraz03.ini", "Duraz04.ini", "halo2config1.ini", "halo2config2.ini", "halo2config3.ini", "halo2config4.ini", "xinput9_1_0.dll"];
Game.FileSymlinkCopyInstead = ["xlive.dll", "cartographer.dll"];
Game.NeedsSteamEmulation = false;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.SupportsKeyboard = true;
Game.ExecutableName = "halo2.exe";
Game.SteamID = "2";
Game.GUID = "Halo 2 Project Cartographer";
Game.GameName = "Halo 2: Project Cartographer";
Game.MaxPlayers = 16;
Game.MaxPlayersOneMonitor = 16;
Game.LauncherTitle = "";
Game.HideTaskbar = false;
Game.StartArguments = "-hiresfix -windowed";
Game.Hook.ForceFocus = false;
Game.Hook.ForceFocusWindowName = "Halo 2";
Game.HasDynamicWindowTitle = true;
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.CustomDllEnabled = false;
Game.UserProfileSavePath = "AppData\\Local\\Microsoft\\Halo 2\\Saved Games";
Game.UserProfileConfigPath = "AppData\\Local\\Microsoft\\Halo 2";
Game.PauseBetweenStarts = 30;
Game.GamePlayBeforeGameSetup = true;
Game.Play = function() {
var lan = Context.Options["Lan"];
if (lan == "Yes") {
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\xlln\\modules");
System.IO.Directory.CreateDirectory(filePath);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\xlive.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "xlive.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\xlln\\modules\\xlln-halo-2-cartographer.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "xlln-halo-2-cartographer.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\xlln\\modules\\xlln-halo-2.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "xlln-halo-2.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
if (Context.NumControllers < 5) {
Game.XInputPlusDll = ["xinput9_1_0.dll"];
Game.FakeFocus = false;
Game.HookFocus = true;
} else {
Context.Hook.CustomDllEnabled = true;
Game.Hook.UseAlpha8CustomDll = true;
Game.Hook.XInputNames = ["xinput9_1_0.dll"];
Game.FakeFocus = false;
Game.HookFocus = true;
}
}
if (lan == "No") {
Game.PauseBetweenProcessGrab = 15;
Game.FakeFocus = false;
Game.HookFocus = false;
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\xinput\\p02");
System.IO.Directory.CreateDirectory(filePath);
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\xinput\\p03");
System.IO.Directory.CreateDirectory(filePath);
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\xinput\\p04");
System.IO.Directory.CreateDirectory(filePath);
System.IO.File.Copy(System.IO.Path.Combine(Context.RootInstallFolder, "xinput9_1_0.dll"), System.IO.Path.Combine(Context.RootFolder, "xinput9_1_0.dll"), true);
System.IO.File.Copy(System.IO.Path.Combine(Context.RootInstallFolder, "Durazno.ini"), System.IO.Path.Combine(Context.RootFolder, "Durazno.ini"), true);
System.IO.File.Copy(System.IO.Path.Combine(Context.RootInstallFolder, "Durazno.ini"), System.IO.Path.Combine(Context.RootFolder, "Duraz02.ini"), true);
System.IO.File.Copy(System.IO.Path.Combine(Context.RootInstallFolder, "Durazno.ini"), System.IO.Path.Combine(Context.RootFolder, "Duraz03.ini"), true);
System.IO.File.Copy(System.IO.Path.Combine(Context.RootInstallFolder, "Durazno.ini"), System.IO.Path.Combine(Context.RootFolder, "Duraz04.ini"), true);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Durazno.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("Controller0", "Disable", 0),
new Nucleus.IniSaveInfo("Controller1", "Disable", 1),
new Nucleus.IniSaveInfo("Controller2", "Disable", 1),
new Nucleus.IniSaveInfo("Controller3", "Disable", 1)
]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Duraz02.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("Controller0", "Disable", 1),
new Nucleus.IniSaveInfo("Controller1", "Disable", 0),
new Nucleus.IniSaveInfo("Controller2", "Disable", 1),
new Nucleus.IniSaveInfo("Controller3", "Disable", 1)
]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Duraz03.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("Controller0", "Disable", 1),
new Nucleus.IniSaveInfo("Controller1", "Disable", 1),
new Nucleus.IniSaveInfo("Controller2", "Disable", 0),
new Nucleus.IniSaveInfo("Controller3", "Disable", 1)
]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\Duraz04.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("Controller0", "Disable", 1),
new Nucleus.IniSaveInfo("Controller1", "Disable", 1),
new Nucleus.IniSaveInfo("Controller2", "Disable", 1),
new Nucleus.IniSaveInfo("Controller3", "Disable", 0)
]);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config1.ini");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "halo2config1.ini");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config2.ini");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "halo2config1.ini");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config3.ini");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "halo2config1.ini");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config4.ini");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "halo2config1.ini");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config5.ini");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "halo2config1.ini");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config1.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "base_port", "2000"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "lan_ip", "127.0.0.1"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "disable_ingame_keyboard", 1)
]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config2.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "base_port", "3000"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "lan_ip", "127.0.0.1"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "disable_ingame_keyboard", 1)
]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config3.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "base_port", "4000"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "lan_ip", "127.0.0.1"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "disable_ingame_keyboard", 1)
]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config4.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "base_port", "5000"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "lan_ip", "127.0.0.1"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "disable_ingame_keyboard", 1)
]);
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config5.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "base_port", "6000"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "lan_ip", "127.0.0.1"),
new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "disable_ingame_keyboard", 1)
]);
if (Context.IsKeyboardPlayer) {
var number = Context.PlayerID + 1;
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\halo2config" + number + ".ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("H2ConfigurationVersion:1", "disable_ingame_keyboard", 0)]);
}
}
};