Skip to content
Beta: this is a preview of the new SplitScreen.Me. Data may be reset before launch.

Tom Clancy's Splinter Cell: Conviction · handler “SplinterCellConviction”

Version 7

Release notes

many improvements suggested by the fusion mod author Sergey P.

Released
Size
16.4 MB
Downloads
53
Check
Verified
SHA-256
951cb078766fa615f0bf5a5d2dd9b5b1845fd4a8dc7d8f7c4193d125336e4800
Download v7 (.nc)All versions

Files 81

PathSize
Conviction/d3d9.dll164 KB
Conviction/d3d9.ini713 B
Conviction/dinput8.dll353 KB
Conviction/MapConfigurationDLC.xml6.0 KB
Conviction/patch.txt16.0 MB
Conviction/scc_lan_helper.exe1.6 MB
Conviction/SplinterCellConviction.FusionMod.asi838 KB
Conviction/SplinterCellConviction.FusionMod.ini1.0 KB
Conviction/ubiorbitapi_r2.dll864 KB
Conviction/update/actionscheme.ini102 KB
Conviction/update/blacklist.ini113 KB
Conviction/update/data/Blacklist/Menus.dan46 KB
Conviction/update/data/Blacklist/Menus.deu48 KB
Conviction/update/data/Blacklist/Menus.esp49 KB
Conviction/update/data/Blacklist/Menus.fra48 KB
Conviction/update/data/Blacklist/Menus.int45 KB
Conviction/update/data/Blacklist/Menus.ita47 KB
Conviction/update/data/Blacklist/Menus.nl47 KB
Conviction/update/data/Blacklist/Menus.nor46 KB
Conviction/update/data/Blacklist/Menus.swe45 KB
Conviction/version.dll1.6 MB
Conviction/Xidi.ini1.6 KB
Conviction/_internal/api-ms-win-core-console-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-datetime-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-debug-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-errorhandling-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-fibers-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-file-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-core-file-l1-2-0.dll22 KB
Conviction/_internal/api-ms-win-core-file-l2-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-handle-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-heap-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-interlocked-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-libraryloader-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-localization-l1-2-0.dll22 KB
Conviction/_internal/api-ms-win-core-memory-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-namedpipe-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-processenvironment-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-processthreads-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-processthreads-l1-1-1.dll22 KB
Conviction/_internal/api-ms-win-core-profile-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-rtlsupport-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-string-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-synch-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-synch-l1-2-0.dll22 KB
Conviction/_internal/api-ms-win-core-sysinfo-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-timezone-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-core-util-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-conio-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-convert-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-crt-environment-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-filesystem-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-heap-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-locale-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-math-l1-1-0.dll30 KB
Conviction/_internal/api-ms-win-crt-process-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-runtime-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-crt-stdio-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-crt-string-l1-1-0.dll26 KB
Conviction/_internal/api-ms-win-crt-time-l1-1-0.dll22 KB
Conviction/_internal/api-ms-win-crt-utility-l1-1-0.dll22 KB
Conviction/_internal/base_library.zip1.3 MB
Conviction/_internal/libcrypto-3.dll4.9 MB
Conviction/_internal/libffi-8.dll39 KB
Conviction/_internal/pydivert/windivert_dll/WinDivert32.dll18 KB
Conviction/_internal/pydivert/windivert_dll/WinDivert32.sys40 KB
Conviction/_internal/pydivert/windivert_dll/WinDivert64.dll22 KB
Conviction/_internal/pydivert/windivert_dll/WinDivert64.sys46 KB
Conviction/_internal/python312.dll6.7 MB
Conviction/_internal/select.pyd30 KB
Conviction/_internal/ucrtbase.dll1.1 MB
Conviction/_internal/unicodedata.pyd1.1 MB
Conviction/_internal/VCRUNTIME140.dll116 KB
Conviction/_internal/_bz2.pyd83 KB
Conviction/_internal/_ctypes.pyd122 KB
Conviction/_internal/_decimal.pyd247 KB
Conviction/_internal/_hashlib.pyd64 KB
Conviction/_internal/_lzma.pyd156 KB
Conviction/_internal/_socket.pyd81 KB
Conviction/_internal/_wmi.pyd36 KB
handler.js17 KB

handler.js

Plain text
Hub.Handler.Version = 7; // Released at https://hub.splitscreen.me/ on Wed Jul 24 2024 03:00:04 GMT+0000 (Coordinated Universal Time).
Hub.Handler.Id = "GGN6FpryMWXq8eP2x";
Hub.Maintainer.Name = "Talos91";
Hub.Maintainer.Id = "eeL7HAz8zJovChWw4";

var answers1 = ["No", "Yes"];
var answers2 = ["No", "Yes"];
var answers3 = ["No", "Yes"];
var answers4 = ["No", "Yes"];
var answers5 = ["No", "Yes"];
var answers6 = ["No", "Yes"];
Game.AddOption(
  "Alternative xinput dlls to enable gamepad rumble?",
  "Enables vibration for xinput controllers but you have to set your monitor scale to 100% and add custom resolutions like the handler notes mention for the instances to resize correctly.",
  "Vibration",
  answers1
);
Game.AddOption("Blacklist Control Scheme?", "Makes controls like in Blacklist, press button to cover, hold to aim etc. Fusion mod enhancements by Sergey P.", "Blacklist", answers2);
Game.AddOption("Disable black and white filter?", "Disables the black and white filter when you are in dark rooms.", "Filter", answers3);
Game.AddOption("Disable character lighting?", "Disables enemies glowing in the dark.", "Light", answers4);
Game.AddOption("Enable enhanced sonar vision?", "Enhances the sonar vision you enable with dpad up.", "Sonar", answers5);
Game.AddOption("Blacklist Indicators?", "Bloom will be enabled only in the darkness, disables in the light.", "Bloom", answers6);

Game.ExecutableContext = ["UMDS"];
Game.KillMutex = ["Type:Semaphore|sc5_semaphore"];
Game.DirSymlinkExclusions = ["src\\system", "src\\system\\scripts", "src\\system\\update\\data\\Blacklist", "data\\Videos"];
Game.FileSymlinkExclusions = [
  "MapConfigurationDLC.xml",
  "ubiorbitapi_r2.dll",
  "conviction_game.exe",
  "gu.exe",
  "UPlayBrowser.exe",
  "Skidrow.ini",
  "Logo_ESRB_01.bik",
  "Logo_ESRB_02.bik",
  "Logo_MiddleWare_01.bik",
  "Logo_Ubisoft.bik",
  "Logo_Clancy_01.bik",
  "xinput1_3.dll"
];
Game.FileSymlinkCopyInstead = [
  "d3d9.dll",
  "d3d9.ini",
  "SplinterCellConviction.FusionMod.asi",
  "SplinterCellConviction.FusionMod.ini",
  "dinput8.dll",
  "version.dll",
  "gameinfo.ini",
  "ProfileDefaultsPC.ini",
  "Conviction.ini",
  "ConvictionInputs.ini",
  "ConvictionUser.ini",
  "ConvictionUserPC.ini",
  "Default.ini",
  "dynamicxbox.umd",
  "InputKeyTranslation.ini",
  "loc-dan.umd",
  "loc-deu.umd",
  "loc-esp.umd",
  "loc-fra.umd",
  "loc-int.umd",
  "loc-ita.umd",
  "loc-nl.umd",
  "loc-nor.umd",
  "loc-swe.umd",
  "version",
  "actionscheme.ini",
  "blacklist.ini",
  "Menus.dan",
  "Menus.deu",
  "Menus.esp",
  "Menus.fra",
  "Menus.int",
  "Menus.ita",
  "Menus.nl",
  "Menus.nor",
  "Menus.swe",
  "systemdetection.dll"
];
Game.RequiresAdmin = false;
Game.UseNucleusEnvironment = true;
Game.NeedsSteamEmulation = false;
Game.HandlerInterval = 100;
Game.SymlinkExe = false;
Game.SymlinkGame = true;
Game.SymlinkFolders = true;
Game.ExecutableName = "conviction_game.exe";
Game.SteamID = "33220";
Game.GUID = "Splinter Cell Conviction";
Game.GameName = "Tom Clancy's Splinter Cell Conviction";
Game.MaxPlayers = 2;
Game.MaxPlayersOneMonitor = 4;
Game.BinariesFolder = "src\\system";
Game.HideTaskbar = false;
Game.StartArguments = "";
Game.Hook.ForceFocus = true;
Game.Hook.ForceFocusWindowName = "Conviction";
//Game.DPIHandling = Nucleus.DPIHandling.InvScaled;
Game.ResetWindows = true;
Game.Hook.DInputEnabled = false;
Game.Hook.XInputEnabled = true;
Game.Hook.XInputReroute = false;
Game.Hook.UseAlpha8CustomDll = true;
Game.Hook.BlockMouseEvents = false;
Game.Hook.BlockInputEvents = false;
Game.Hook.BlockKeyboardEvents = false;
Game.XInputPlusDll = ["xinput1_4.dll"];
Game.SupportsKeyboard = true;
Game.UserProfileSavePath = "AppData\\Local\\storage";
Game.UserProfileSavePathNoCopy = true;
Game.Description =
  "IMPORTANT: Make sure you have launched your main game at least once before using this. On first handler launch enable the gamepad in the game controller options for both instances using the keyboard, alt-tab between instances to do it, if it is the keyboard/m instance disable the gamepad there instead or the mouse camera movement will not work in-game, alt-tab to or click on the kb instance to control it. Connect the instances via the native LAN option, you need the latest version of the game, deactivate all virtual internet interfaces like VirtualBox, Hyper-v, etc. This is recommended to avoid issues searching for each other sessions. Host the game in the second instance and join in the first if you have crashes hosting in the first instance. If you want the instances to resize correctly and avoid stretching you need to create custom resolutions in your AMD/Nvidia/Intel panel (for example if you have a 1920x1080 monitor add custom resolutions like: 960x1080, 960x540, 1920x540 etc.) so the game can see and use them. If you get too low fps make sure the game is using most cpu cores, this is a known issue to fix it in task manager details tab select the conviction exes, right click and set affinity, do this after starting a new level, you can use CTRL+T to minimize the instances. This handler uses this to restore the LAN mode after the official servers shutdown: https://github.com/Ododo/scc-lan-restore. Fusion mod windowed mode and enhancements thanks to Sergey P. : https://github.com/ThirteenAG/WidescreenFixesPack/releases/tag/scc. If you get a general protection fault crash after exiting a local game you created try this easy solution: https://steamcommunity.com/sharedfiles/filedetails/?id=271381800.";
Game.PauseBetweenContextAndLaunch = 3;
Game.PauseBetweenStarts = 20;

Game.Play = function() {
  var username = Context.Nickname;
  var VideoConfig = "C:\\ProgramData\\Ubisoft\\Conviction\\ConvictionUserPC.ini";
  Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("Inputs", "ControllerType", "KT_X360"),
    new Nucleus.IniSaveInfo("Inputs", "UseXInputByDefault", true),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "FullscreenViewportX", Context.Width),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "FullscreenViewportY", Context.Height),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "StartupFullscreen", false),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "WindowedViewportX", Context.Width),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "WindowedViewportY", Context.Height),
    new Nucleus.IniSaveInfo("UserVideoOptions." + username, "MonitorAspect", Context.AspectRatioDecimal)
  ]);

  if (Context.AspectRatioDecimal > 1.8) {
    var VideoConfig = "C:\\ProgramData\\Ubisoft\\Conviction\\ConvictionUserPC.ini";
    Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("Engine.Display", "EyefinityMode", 0),
      new Nucleus.IniSaveInfo("Engine.Display", "ForceMultiMon", true),
      new Nucleus.IniSaveInfo("Engine.Display", "MinTripleDispRatio", "3.5")
    ]);
  } else if (Context.AspectRatioDecimal < 1.2) {
    var VideoConfig = "C:\\ProgramData\\Ubisoft\\Conviction\\ConvictionUserPC.ini";
    Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("Engine.Display", "EyefinityMode", 0),
      new Nucleus.IniSaveInfo("Engine.Display", "ForceMultiMon", true),
      new Nucleus.IniSaveInfo("Engine.Display", "MinTripleDispRatio", "0.8")
    ]);
  } else {
    var VideoConfig = "C:\\ProgramData\\Ubisoft\\Conviction\\ConvictionUserPC.ini";
    Context.ModifySaveFile(VideoConfig, VideoConfig, Nucleus.SaveType.INI, [
      new Nucleus.IniSaveInfo("Engine.Display", "EyefinityMode", 0),
      new Nucleus.IniSaveInfo("Engine.Display", "ForceMultiMon", false),
      new Nucleus.IniSaveInfo("Engine.Display", "MinTripleDispRatio", "3.9")
    ]);
  }

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\conviction_game.exe");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "patch.txt");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\ubiorbitapi_r2.dll");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "ubiorbitapi_r2.dll");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\MapConfigurationDLC.xml");
  var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "MapConfigurationDLC.xml");
  System.IO.File.Copy(savePkgOrigin, savePath, true);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\Skidrow.ini");
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("Account", "Username", '"' + Context.Nickname + '"'),
    new Nucleus.IniSaveInfo("Account", "Password", '"SamFisher"')
  ]);

  if (System.IO.File.Exists(Context.OrigRootFolder + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.asi")) {
  } else {
    var filePath = (Context.filePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts");
    System.IO.Directory.CreateDirectory(filePath);

    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\dinput8.dll");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "dinput8.dll");
    System.IO.File.Copy(savePkgOrigin, savePath, true);

    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\d3d9.dll");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "d3d9.dll");
    System.IO.File.Copy(savePkgOrigin, savePath, true);

    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\d3d9.ini");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "d3d9.ini");
    System.IO.File.Copy(savePkgOrigin, savePath, true);

    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\version.dll");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "version.dll");
    System.IO.File.Copy(savePkgOrigin, savePath, true);

    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.asi");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "SplinterCellConviction.FusionMod.asi");
    System.IO.File.Copy(savePkgOrigin, savePath, true);

    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    var savePkgOrigin = System.IO.Path.Combine(Game.Folder, "SplinterCellConviction.FusionMod.ini");
    System.IO.File.Copy(savePkgOrigin, savePath, true);

    Context.CopyFolder(Context.ScriptFolder + "\\update", Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\update");
  }

  var videoconfig = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\d3d9.ini");
  Context.ModifySaveFile(videoconfig, videoconfig, Nucleus.SaveType.INI, [
    new Nucleus.IniSaveInfo("MAIN", "ForceWindowedMode", "1"),
    new Nucleus.IniSaveInfo("FORCEWINDOWED", "UsePrimaryMonitor", "0"),
    new Nucleus.IniSaveInfo("FORCEWINDOWED", "CenterWindow", "0"),
    new Nucleus.IniSaveInfo("FORCEWINDOWED", "AlwaysOnTop", "0"),
    new Nucleus.IniSaveInfo("FORCEWINDOWED", "DoNotNotifyOnTaskSwitch", "1"),
    new Nucleus.IniSaveInfo("FORCEWINDOWED", "ForceWindowStyle", "3")
  ]);

  var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
  Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("STARTUP", "LANHelperExePath", " ")]);

  if (Context.PlayerID == 0) {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("STARTUP", "LANHelperExePath", Context.ScriptFolder + "\\scc_lan_helper.exe")]);
  }

  Game.KillProcessesOnClose = ["scc_lan_helper", "cmd"];

  var vibration = Context.Options["Vibration"];
  var blacklist = Context.Options["Blacklist"];
  var filter = Context.Options["Filter"];
  var light = Context.Options["Light"];
  var sonar = Context.Options["Sonar"];
  var bloom = Context.Options["Bloom"];

  if (vibration == "Yes") {
    Game.SetWindowHook = false;
    Context.Hook.CustomDllEnabled = false;

    System.IO.File.Delete(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\xinput1_3.dll");

    System.IO.File.Delete(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\xinput1_4.dll");

    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\xinput1_3.dll");
    var savePkgOrigin = System.IO.Path.Combine(Context.NucleusFolder, "utils\\XInputPlus\\x86\\xinput1_3.dl_");
    System.IO.File.Copy(savePkgOrigin, savePath, true);

    var savePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\XInputPlus.ini";
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("Vibration", "EnableTriggerVibration", true)]);
  }

  if (vibration == "No") {
    System.IO.File.Delete(Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\xinput1_4.dll");
  }

  if (blacklist == "Yes") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("CONTROLS", "BlacklistControlScheme", " 1")]);
  }

  if (blacklist == "No") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("CONTROLS", "BlacklistControlScheme", " 0")]);
  }

  if (filter == "Yes") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "DisableBlackAndWhiteFilter", " 1")]);
  }

  if (filter == "No") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "DisableBlackAndWhiteFilter", " 0")]);
  }

  if (light == "Yes") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "DisableCharacterLighting", " 1")]);
  }

  if (light == "No") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "DisableCharacterLighting", " 0")]);
  }

  if (sonar == "Yes") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "EnhancedSonarVision", " 1")]);
  }

  if (sonar == "No") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "EnhancedSonarVision", " 0")]);
  }

  if (bloom == "Yes") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "BlacklistIndicators", " 1")]);
  }

  if (bloom == "No") {
    var savePath = (Context.SavePath = Context.GetFolder(Nucleus.Folder.InstancedGameFolder) + "\\src\\system\\scripts\\SplinterCellConviction.FusionMod.ini");
    Context.ModifySaveFile(savePath, savePath, Nucleus.SaveType.INI, [new Nucleus.IniSaveInfo("MAIN", "BlacklistIndicators", " 0")]);
  }
};