This is a new and improved official version of the Nucleus Co-op application and is part of the SplitScreen.Me Github organization.
This new version is based off of the Nucleus Co-op Alpha 8 Mod build and features a ton of enhancements.
Note: Some Nucleus Co-op hook dlls and Goldberg emulator, used by Nucleus, can sometimes be detected by Microsoft Defender and other anti-viruses and web browsers: this is 100% a false positive see here and here. You may have to allow Nucleus as an exception before extracting.
Prerequisites:
- .NET Framework 4.7.2 or higher.
Microsoft direct download link :
https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net472-web-installer
- Microsoft Visual C++ 2015-2022 Redistributable (both x86 and x64).
Microsoft direct download links :
https://aka.ms/vs/17/release/vc_redist.x86.exe
https://aka.ms/vs/17/release/vc_redist.x64.exe
Changelog for this release:
- App QOL improvements and new features:
-Nucleus Co-op will now warn users if their documents path is in the OneDrive environment (not tested).
-Nucleus Co-op will now offer the user to download Microsoft Visual C++ Redistributable directly instead of just redirecting to the Microsoft dedicated download page.
-Added a Webview
in place of the downloader so we can now browse and download handlers directly from the hub website (could require https://developer.microsoft.com/en-us/microsoft-edge/webview2/consumer/?form=MA13LH if using non default Windows "debloated versions"
).
-Right clicking on a game in the list will now open the option menu without selecting the game.
-Added Open Backup Folder
and Delete Backup Folder
to the game options menu (per player).
-Added a game options menu entry to access game assets directly from the UI.
-Now the KeepSymlink option is hidden
in the game options menu when KeepSymlinkOnExit is enabled
in the handler.
-Now hotkeys will be registered on handler startup and unregistered on stop
, so they can't interfere with other software shortcuts. #57 (comment)
-Now if a Steam game based handler
is downloaded (ONLY STEAM GAMES AND NOT ALL) Nucleus will directly open the search exe window at the exe root folder for an easier selection and addition.
-Improved automatic nickname swapping and populating in Nucleus profiles settings.
-Favorites game button will now only update the list if at least one game is set as favorite instead of showing an empty list.
-Removed click sound.
-Now the profile list is scrollable.
-Removed the 20 max profiles limit.
-Added a prompt after handler download so the user can choose to download the game assets (cover and backgrounds) right away.
-Removed Game description.
-The game manager will now delete game assets if the game exe is not present anymore or if the handler has been manually removed from the handler directory.
-The game manager will now delete the game from the user profile if the .js file
has been manually deleted.
-Now Nucleus deletes the game content folder and not only the instances folders.
-It's not possible to add the same game twice anymore (same exe path).
-Added a function to clean old app logs.
-Added DisableForcedNote
to settings.ini
so the handler notes will not be shown (big text window) when a new game is added, useful for handler scripting
.
-Now Nucleus Co-op will try to kill remaining game processes before trying to delete the game content folder on game selection
.
-Added an option to game profile to disable gamepad navigation on handler startup.
-Added a popup so the user can restart Nucleus Co-op as admin if the handler requires admin rights.
-Added a shortcuts reminder
toggleable with Alt+R
for keyboard and guide button
for controller (long press), a window showing Nucleus gamepad shortcuts and keyboard hotkeys will show.
-Added new UI icons and changes.
-Added a window merger
so we can now use Lossless Scaling
with Nucleus Co-op.
Its settings can be found in the Nucleus and profile settings layout tab. It includes a Lossless hook (dll) and an injector (exe) located at utils\Hooks
.
The hook will trick Lossless to "think" that the foreground window is always its own window, giving focus to another one will not stop it to handle the window (it is optional but highly recommended to keep it enabled). For the dll injector there is a little "how to"
txt file explaining how to use it (only tested with my lossless hook dll).
Note that using upscaling with multiple M&K can mess with the cursor(s) offset and visibility (double cursor).
- App Fixes:
-Disabled using xinput indexes by default
for gamepad assignment (broke controller support in some handlers that rely on device id). Now the user will have to press a button on each gamepad
for the controller icons to show in every handler, same as the multiple keyboards/mice icons work.
-Fixed Automatic Steam language detection (deprecated code).
-Fixed gamepad UI navigation virtual mouse icon appearing on the setup screen.
-Fixed Nucleus Co-op windows location being restored on non available screen area (disconnected screens or Windows screen layout has changed).
-Fixed high cpu usage if there are no gamepads connected.
-Fixed bug where hotkey fields were detected as empty so hotkeys were not customizable.
-Fixed audio routing for Windows10/11 version 21h2
and up.
-Added new game metainfo
in order to keep some game related data between Nucleus Co-op installs/versions such as game play time, custom game icon paths, favorite handlers and more. Saved in Nucleus environment
.
-Added Disable handler update check
option (game option menu/per game), saved in the new GameMetaInfo
.
-Added a game options menu entry
so the profile system
can be enabled/disabled per game
, the Nucleus global setting has priority over it.
-Setting a game as favorite will no longer select the game.
-Fixed a bug in the "reset windows shortcut" (Ctrl+R) function where the setup was ended before completion
, affecting borders removal and some other "windows setup" related handler functions.
-Fixed a long-standing bug where update was checked for all handlers in the handlers directory
even if the games were not added to Nucleus Co-op.
-Fixed gamepad triggers not working if assigned in the "Gamepad UI Navigation" (virtual mouse navigation).
-Removed broken auto search game function (might come back).
-Removed the "Status Window" because of its low compatibility with handlers.
-Fixed the osd not resizing properly when Nucleus Co-op sets desktop scale to 100%, it will now be visible on all used screens (when a
handler is running only). Fixed it causing focus issues when disappearing. Improved its visual.
-Removed show UI info messages option from settings (caused error message/crash).
-Many other bug fixes and optimizations.
- Handler:
-Fixed an issue with the unsecured path check preventing handler startup if games are installed in the default Steam installation path: @:\Program Files (x86)\Steam\steamapps\common
.
-Improved Context.StartProcess()
.
-Improved the ChangeForegroundWindow()
function so it will focus the "splitdiv" window if available (the Nucleus Co-op window will no longer be set on top of the "splitdiv" window).
-Updated BackupFile(string filePaths, bool overwrite)
function, now it supports multiple files and works per player too.
-Fixed a bug where KeepSymlinkOnExit
was ignored and instances content deleted.
-Changed steamless lines to => Game.SteamlessPatch = ["false", "--quiet --keepbind", "2500"];
string[patch launcher(only), steamless arguments, patch timing] so now even launchers can be patched.
-Fixed a bug where game files were re-symlinked even if the game option "keep instances content folder" was enabled and files existed.
-Updated Game.BackupFiles;
Game.BackupFolders;
Context.BackupFiles;
Context.BackupFolders;
, so they work per player.
-Added Context.SearchSubFolder(string parentDirectory, string searchPattern);
return the full path of the found directory matching the search pattern.
-Added Context.SearchSubFolders(string parentDirectory, string searchPattern);
return an array of all found directories matching the search pattern.
-Added Context.NoDPIHandlingWidth
and Context.NoDPIHandlingHeight
, returns game window size with no DPI calculation.
-Added Context.SteamLang
returns user steam language settings choice.
-Added path length check to the unlock og game files function, throws an error if the path length is too long.
-Now a clickable link
can be added to a handler UI option
description (one per option).
-Added Game.BinariesFolderPathFix
(boolean), fixes binaries folder path not being correctly parsed if the binaries folder name exists multiple times in the binaries folder full path.
-Added clickable link
to all custom handler prompts and RunAdditionalFile
prompts (one per window).
-Added Game.UseHandlerSteamIds
so player Steam ids from a handler will have priority over the default or customized settings player Steam ids.
-Added 3 customizable hotkeys.