Dragon Ball: Xenoverse 2 · handler “Dragon Ball Xenoverse 2”
Version 2
Release notes
Updated to work in 1.15.01, aspect ratio hex edits and more.
- Released
- Size
- 941 KB
- Downloads
- 170
- Check
- Verified
- SHA-256
- 03cb7ae7c20c2495d8afb6cbbacba119ae7f8e8c1fd594d15d51d9b62bcb495e
Files 3
| Path | Size |
|---|---|
| DragonBallXenoverse2/EasyAntiCheat_x64.dll | 778 KB |
| DragonBallXenoverse2/steam_api64.dll | 1.4 MB |
| handler.js | 9.2 KB |
handler.js
Plain textHub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Thu Nov 12 2020 01:08:28 GMT+0000 (UTC).
Hub.Handler.Id = "RnZEzp8vqSjFXJ2pW";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";
var answers1 = ["Yes", "No"];
Game.AddOption("Change aspect ratio to match the window resolution?", "Works fine in vertical splitscreen, removes pillarboxing/blackbars.", "AR", answers1);
Game.KillMutex = ["DBXV2"];
Game.DirSymlinkExclusions = ["bin", "EasyAntiCheat"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt", "xgcore.dll", "xinput1_3.dll", "EasyAntiCheat_x64.dll"];
Game.GameName = "Dragon Ball Xenoverse 2";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "DBXV2.exe";
Game.SteamID = "454650";
Game.GUID = "Dragon Ball Xenoverse 2";
Game.MaxPlayers = 6;
Game.MaxPlayersOneMonitor = 6;
Game.BinariesFolder = "bin";
Game.NeedsSteamEmulation = false;
Game.UseGoldberg = true;
Game.GoldbergNoLocalSave = true;
Game.UseNucleusEnvironment = true;
Game.UseSteamStubDRMPatcher = true;
Game.LauncherTitle = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "DRAGON BALL XENOVERSE 2";
Game.Hook.DInputEnabled = false;
Game.Hook.DInputForceDisable = true;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Hook.CustomDllEnabled = false;
Game.FakeFocus = true;
Game.HookFocus = true;
Game.SetWindowHookStart = true;
Game.ResetWindows = true;
Game.SetForegroundWindowElsewhere = true;
Game.KeepSymLinkOnExit = false;
Game.PlayerSteamIDs = ["76561198422152816", "76561198131394153", "76561198011792067", "76561198043762785"];
Game.UserProfileSavePathNoCopy = true;
Game.UserProfileSavePath = "AppData\\Roaming\\Goldberg SteamEmu Saves\\454650\\remote\\DBXV2";
Game.UserProfileConfigPath = "AppData\\Local\\BANDAI NAMCO Entertainment\\DB Xenoverse 2";
Game.Description =
"To connect the instances successfully you have to create a match at the same time the other player presses quickplay, if you see a number in both players in all instances you will be able to start the match. So the instances launch and resize correctly make sure to run your main game at least once first and change some graphic settings. You can change the resolution in the game graphic options to adjust better to the window size if you get black bars. The online co-op missions and versus mode unlock after the fight against Raditz and after you beat the first offline parallel quest. ";
Game.PauseBetweenStarts = 30;
Game.Play = function() {
var VideoConfig = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\config.ini";
Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("DEV", "EAC_AllowDisparityMatch", "1"),
new Nucleus.IniSaveInfo("DEV", "EAC_MultiplayerWithoutEAC", "1"),
new Nucleus.IniSaveInfo("Graphics", "Display/FullScreen", "2"),
new Nucleus.IniSaveInfo("Graphics", "Display/Height", Context.Height),
new Nucleus.IniSaveInfo("Graphics", "Display/Width", Context.Width),
new Nucleus.IniSaveInfo("Options", "VoiceChat/Mic", "0"),
new Nucleus.IniSaveInfo("XGUI", "FreeMouse", "1")
]);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\bin\\steam_api64.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "steam_api64.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\EasyAntiCheat\\EasyAntiCheat_x64.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "EasyAntiCheat_x64.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\bin\\steam_settings");
System.IO.Directory.CreateDirectory(filePath);
var dlc = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\bin\\steam_settings\\DLC.txt";
var lines = [
"1108461=DRAGON BALL XENOVERSE 2 - Ultra Pack 2",
"1108460=DRAGON BALL XENOVERSE 2 - Ultra Pack Set",
"953020=DRAGON BALL XENOVERSE 2 - Anime Music Pack 2",
"740160=DRAGON BALL XENOVERSE 2 - Ultra Pack 1",
"740143=DRAGON BALL XENOVERSE 2 - Extra DLC Pack 4",
"740142=DRAGON BALL XENOVERSE 2 - Extra DLC Pack 3",
"740141=DRAGON BALL XENOVERSE 2 - Extra Pass",
"740140=DRAGON BALL XENOVERSE 2 - Anime Music Pack",
"739282=DRAGON BALL XENOVERSE 2 - Extra DLC Pack 2",
"739281=DRAGON BALL XENOVERSE 2 - Extra DLC Pack 1",
"739280=DRAGON BALL XENOVERSE 2 - Extra Pack Set",
"621100=DRAGON BALL XENOVERSE 2 - Future Trunks (Super)",
"556270=DRAGON BALL Xenoverse 2 - TV show TP Medal",
"540071=DRAGON BALL Xenoverse 2 - TP Medal",
"508405=DRAGON BALL Xenoverse 2 - Pre-Order Bonus",
"508404=DRAGON BALL Xenoverse 2 - Future Trunks",
"508403=DRAGON BALL XENOVERSE 2 - Super Pack 4",
"508402=DRAGON BALL XENOVERSE 2 - Super Pack 3",
"508401=DRAGON BALL XENOVERSE 2 - Super Pack 2",
"508400=DRAGON BALL XENOVERSE 2 - Super Pack 1",
"507510=DRAGON BALL XENOVERSE 2 Super Pass"
];
Context.WriteTextFile(dlc, lines);
var ar = Context.Options["AR"];
if (ar == "Yes") {
if (Context.AspectRatioDecimal > 1.8) {
var VideoConfig = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\config.ini";
Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("Graphics", "Display/Height", "600"),
new Nucleus.IniSaveInfo("Graphics", "Display/Width", "1280")
]);
Context.PatchFile(
System.IO.Path.Combine(Context.RootInstallFolder, "xgcore.dll"),
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
[0x56, 0x33, 0x00, 0xc7, 0x41, 0x24, 0xdb, 0x0f, 0x49, 0x3f, 0xc7, 0x41, 0x20, 0x39, 0x8e, 0xe3, 0x3f],
[0x56, 0x33, 0x00, 0xc7, 0x41, 0x24, 0xdb, 0x0f, 0x49, 0x3f, 0xc7, 0x41, 0x20, 0x39, 0x8e, 0x63, 0x40]
);
Context.PatchFile(
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
[0x2d, 0x33, 0x00, 0xc7, 0x41, 0x24, 0xdb, 0x0f, 0x49, 0x3f, 0xc7, 0x41, 0x20, 0x39, 0x8e, 0xe3, 0x3f],
[0x2d, 0x33, 0x00, 0xc7, 0x41, 0x24, 0xdb, 0x0f, 0x49, 0x3f, 0xc7, 0x41, 0x20, 0x39, 0x8e, 0x63, 0x40]
);
Context.PatchFile(
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
[0x3f, 0x39, 0x8e, 0xe3, 0x3f, 0x00],
[0x3f, 0x39, 0x8e, 0x63, 0x40, 0x00]
);
Context.PatchFile(
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
[0x01, 0x39, 0x8e, 0xe3, 0x3f, 0xeb],
[0x01, 0x39, 0x8e, 0x63, 0x40, 0xeb]
);
} else if (Context.AspectRatioDecimal < 1.3) {
//patch aspect ratio. 56 33 00 C7 41 24 DB 0F 49 3F C7 41 20 39 8E E3 3F
Context.PatchFile(
System.IO.Path.Combine(Context.RootInstallFolder, "xgcore.dll"),
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
[0x56, 0x33, 0x00, 0xc7, 0x41, 0x24, 0xdb, 0x0f, 0x49, 0x3f, 0xc7, 0x41, 0x20, 0x39, 0x8e, 0xe3, 0x3f],
[0x56, 0x33, 0x00, 0xc7, 0x41, 0x24, 0xdb, 0x0f, 0x49, 0x3f, 0xc7, 0x41, 0x20, 0x39, 0x8e, 0x63, 0x3f]
);
Context.PatchFile(
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
[0x2d, 0x33, 0x00, 0xc7, 0x41, 0x24, 0xdb, 0x0f, 0x49, 0x3f, 0xc7, 0x41, 0x20, 0x39, 0x8e, 0xe3, 0x3f],
[0x2d, 0x33, 0x00, 0xc7, 0x41, 0x24, 0xdb, 0x0f, 0x49, 0x3f, 0xc7, 0x41, 0x20, 0x39, 0x8e, 0x63, 0x3f]
);
Context.PatchFile(
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
[0x3f, 0x39, 0x8e, 0xe3, 0x3f, 0x00],
[0x3f, 0x39, 0x8e, 0x63, 0x3f, 0x00]
);
Context.PatchFile(
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"),
[0x01, 0x39, 0x8e, 0xe3, 0x3f, 0xeb],
[0x01, 0x39, 0x8e, 0x63, 0x3f, 0xeb]
);
} else {
var VideoConfig = Context.EnvironmentPlayer + Context.UserProfileConfigPath + "\\config.ini";
Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
new Nucleus.IniSaveInfo("Graphics", "Display/Height", "720"),
new Nucleus.IniSaveInfo("Graphics", "Display/Width", "1280")
]);
System.IO.File.Copy(System.IO.Path.Combine(Context.RootInstallFolder, "xgcore.dll"), System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"), true);
}
}
if (ar == "No") {
System.IO.File.Copy(System.IO.Path.Combine(Context.RootInstallFolder, "xgcore.dll"), System.IO.Path.Combine(Context.RootFolder, "bin\\xgcore.dll"), true);
}
};