Nobody Saves the World · handler “NobodySavestheWorld”
Version 2
Release notes
refresh window
- Released
- Size
- 39 KB
- Downloads
- 671
- Check
- Verified
- SHA-256
- b0008ece94c29ac4efcbc4e60a8a0ef40c22e7db326973192ece1a19a217c83f
Files 4
| Path | Size |
|---|---|
| handler.js | 4.5 KB |
| NobodySavestheWorld/ssMaster.ini | 174 B |
| NobodySavestheWorld/ssMaster64.exe | 74 KB |
| NobodySavestheWorld/ssMaster_x64.dll | 21 KB |
handler.js
Plain textHub.Handler.Version = 2; // Released at https://hub.splitscreen.me/ on Sat Jan 22 2022 22:58:01 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "YS6jx4AMqj6A6sZNb";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";
var answers1 = ["No", "Yes"];
Game.AddOption("Letterboxing/Pillarboxing fix?", "Removes the black bars in split-screen, some UI elements get misaligned.", "Pillar", answers1);
Game.ExecutableContext = ["fmod.dll"];
Game.FileSymlinkExclusions = ["steam_api64.dll", "steam_appid.txt", "local_save.txt", "xinput1_3.dll", "NStW_x64.exe", "ssMaster64.exe"];
Game.GameName = "Nobody Saves the World";
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "NStW_x64.exe";
Game.SteamID = "1432050";
Game.GUID = "Nobody Saves the World";
Game.MaxPlayers = 2;
Game.MaxPlayersOneMonitor = 2;
Game.UseNucleusEnvironment = true;
Game.UseGoldberg = true;
Game.GoldbergNoLocalSave = true;
Game.LauncherTitle = "";
Game.LauncherExe = "ssMaster64.exe";
Game.LauncherExeIgnoreFileCheck = true;
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Game";
Game.SendFakeFocusMsg = false;
Game.ResetWindows = true;
Game.RefreshWindowAfterStart = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.XInputPlusDll = ["xinput1_3.dll"];
Game.Hook.CustomDllEnabled = false;
Game.SupportsKeyboard = true;
Game.UserProfileSavePath = "AppData\\Roaming\\Goldberg SteamEmu Saves\\1432050\\remote";
Game.UserProfileConfigPath = "Documents\\NStW";
Game.UserProfileSavePathNoCopy = true;
Game.UserProfileConfigPathNoCopy = true;
Game.Description =
"Steam version only. Create an online multiplayer game in one instance and join in the other. You can access each instance save file via Nucleus, after the first launch click game options/open user profile save path in the UI.";
Game.KeepSymLinkOnExit = false;
Game.PauseBetweenStarts = 25;
Game.Play = function() {
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\ssMaster64.exe");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "ssMaster64.exe");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\ssMaster_x64.dll");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "ssMaster_x64.dll");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\ssMaster.ini");
var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "ssMaster.ini");
System.IO.File.Copy(savePkgOrigin, savePath, true);
var pillar = Context.Options["Pillar"];
var id = Context.PlayerID + 1;
if (Context.PlayerID == 0) {
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\ssMaster.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("Settings", "Target", "NStW_x64.exe")]);
} else {
var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\ssMaster.ini";
Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("Settings", "Target", "NStW_x64" + id + ".exe")]);
}
if (pillar == "Yes") {
if (Context.PlayerID == 0) {
//remove pillar boxing
Context.PatchFileFindAll(
System.IO.Path.Combine(Context.RootInstallFolder, "NStW_x64.exe"),
System.IO.Path.Combine(Context.RootFolder, "NStW_x64.exe"),
[0x39, 0x8e, 0xe3, 0x3f],
Context.ConvertToBytes(Context.AspectRatioDecimal)
);
} else {
Game.ExecutableName = "NStW_x64" + id + ".exe";
Context.PatchFileFindAll(
System.IO.Path.Combine(Context.RootInstallFolder, "NStW_x64.exe"),
System.IO.Path.Combine(Context.RootFolder, "NStW_x64" + id + ".exe"),
[0x39, 0x8e, 0xe3, 0x3f],
Context.ConvertToBytes(Context.AspectRatioDecimal)
);
}
}
if (pillar == "No") {
if (Context.PlayerID == 0) {
System.IO.File.Copy(System.IO.Path.Combine(Context.RootInstallFolder, "NStW_x64.exe"), System.IO.Path.Combine(Context.RootFolder, "NStW_x64.exe"), true);
} else {
Game.ExecutableName = "NStW_x64" + id + ".exe";
System.IO.File.Copy(System.IO.Path.Combine(Context.RootInstallFolder, "NStW_x64.exe"), System.IO.Path.Combine(Context.RootFolder, "NStW_x64" + id + ".exe"), true);
}
}
};