public unsafe void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; _logger = (ILogger)_modLoader.GetLogger(); _modDirectory = _modLoader.GetDirectoryForModId(ThisModId); /* Your mod code starts here. */ _modLoader.OnModLoaderInitialized += OnModLoaderInitialized; _setupColourizer = Task.Run(() => { _configurator = new Configurator(_modDirectory); _config = _configurator.GetConfiguration <Config.Config>(0); _config.ConfigurationUpdated += configurable => { _config = (Config.Config)configurable; _logger.WriteLine("[Colorizer] Config file changed. Cancelling current effects and applying new.", _logger.ColorGreenLight); lock (_lock) { CancelAll(); Initialize(); } }; Initialize(); }); }
/// <summary> /// Entry point for your mod. /// </summary> public void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; Logger = (ILogger)_modLoader.GetLogger(); _postProcess = new PostProcess(_modLoader.GetDirectoryForModId(MyModId)); _modLoader.ModLoaded += ModLoaded; SetupController(); }
public void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; _modLoader.GetController <IReloadedHooks>().TryGetTarget(out _hooks); _modDirectory = _modLoader.GetDirectoryForModId("sonicheroes.utils.debugboot"); /* Your mod code starts here. */ _debugBoot = new DebugBoot(_modDirectory, _hooks); }
public void StartEx(IModLoaderV1 loader, IModConfigV1 config) { _modLoader = (IModLoader)loader; _modLoader.GetController <IReloadedHooks>().TryGetTarget(out _hooks); var modDirectory = _modLoader.GetDirectoryForModId(config.ModId); var configDirectory = _modLoader.GetModConfigDirectory(config.ModId); /* Your mod code starts here. */ _debugBoot = new DebugBoot(modDirectory, configDirectory, _hooks); }
public void Start(IModLoaderV1 loader) { #if DEBUG Debugger.Launch(); #endif ModLoader = (IModLoader)loader; /* Your mod code starts here. */ _graphicsEssentials = new GraphicsEssentials(ModLoader.GetDirectoryForModId(MyModId)); }
/// <summary> /// Entry point for your mod. /// </summary> public void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; Logger = (ILogger)_modLoader.GetLogger(); /* Your mod code starts here. */ _xInput = new XInput(_modLoader.GetDirectoryForModId(MyModId)); _modLoader.ModLoaded += ModLoaded; SetupController(); }
public void Start(IModLoaderV1 loader) { #if DEBUG Debugger.Launch(); #endif _modLoader = (IModLoader)loader; _modLoader.GetController <IReloadedHooks>().TryGetTarget(out _reloadedHooks); /* Your mod code starts here. */ _graphicsEssentials = new GraphicsEssentials(_modLoader.GetDirectoryForModId(MyModId), _reloadedHooks); }
public void StartEx(IModLoaderV1 loader, IModConfigV1 config) { _modLoader = (IModLoader)loader; _modLoader.GetController <IReloadedHooks>().TryGetTarget(out var reloadedHooks); SDK.SDK.Init(reloadedHooks, null); /* Your mod code starts here. */ var modFolder = _modLoader.GetDirectoryForModId(config.ModId); var configFolder = _modLoader.GetModConfigDirectory(config.ModId); _graphicsEssentials = new GraphicsEssentials(modFolder, configFolder, reloadedHooks); }
public void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; ModDirectory = _modLoader.GetDirectoryForModId("dolphin.shadowthehedgehog.rpc"); var settings = Settings.GetSettings(); settings.ToFile(); _shadowRpc = new ShadowRpc(Process.GetCurrentProcess(), settings); }
public void Start(IModLoaderV1 loader) { #if DEBUG Debugger.Launch(); #endif ModLoader = (IModLoader)loader; Logger = (ILogger)ModLoader.GetLogger(); /* Your mod code starts here. */ _postProcess = new PostProcess(ModLoader.GetDirectoryForModId(MyModId)); ModLoader.ModLoaded += ModLoaded; SetupController(); }
public void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; _logger = (ILogger)_modLoader.GetLogger(); /* Your mod code starts here. */ var modFolder = _modLoader.GetDirectoryForModId(ModId); var configurator = new Configurator(modFolder); var configuration = configurator.GetConfiguration <Config>(0); var redirector = _modLoader.GetController <IRedirectorController>(); _swapper = new CharacterSwapper(_logger, configuration, modFolder, redirector); _modLoader.ModLoaded += OnRedirectorLoaded; }
/// <summary> /// Adds a mod to the watch list. /// </summary> public void AddMod(string modId) { if (!CheckRedirectorController()) { return; } var modDirectory = _modLoader.GetDirectoryForModId(modId); var stagesDirectory = $"{modDirectory}\\Stages"; var stages = Directory.GetDirectories(stagesDirectory); var stageCollection = stages.Select(x => new CustomStage(x, _redirectorController)).ToArray(); _idToStages[modId] = stageCollection; _allStages.AddRange(stageCollection); }
public void Start(IModLoaderV1 loader) { #if DEBUG Debugger.Launch(); #endif ModLoader = (IModLoader)loader; Logger = (ILogger)ModLoader.GetLogger(); /* Your mod code starts here. */ string modDirectory = ModLoader.GetDirectoryForModId(MyModId); _xInput = new XInput(modDirectory); ModLoader.ModLoaded += ModLoaded; SetupController(); }
public void Start(IModLoaderV1 loader) { #if DEBUG Debugger.Launch(); #endif ModLoader = (IModLoader)loader; Logger = (ILogger)ModLoader.GetLogger(); ModLoader.GetController <IReloadedHooks>().TryGetTarget(out ReloadedHooks); SDK.SDK.Init(ReloadedHooks, null); /* Your mod code starts here. */ _hook = new ControllerHook(ModLoader.GetDirectoryForModId(ThisModId)); ModLoader.AddOrReplaceController <IControllerHook>(this, _hook); }
public void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; Logger = (ILogger)_modLoader.GetLogger(); // Your config file is in Config.json. // Need more configurations? See `_configurator.MakeConfigurations` _configurator = new Configurator(_modLoader.GetDirectoryForModId(ModId)); Configuration = _configurator.GetConfiguration <Config>(0); Configuration.ConfigurationUpdated += OnConfigurationUpdated; /* Your mod code starts here. */ _twitchBot.Connect(); EnableHooks(); }
public void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; _modLoader.GetController <IReloadedHooks>().TryGetTarget(out var hooks); _modLoader.GetController <IPrsInstance>().TryGetTarget(out var prsInstance); Logger = (ILogger)_modLoader.GetLogger(); SDK.Init(hooks, prsInstance); /* Your mod code starts here. */ var configurator = new Configurator(_modLoader.GetDirectoryForModId("sonicheroes.utils.oneredirector")); var config = configurator.GetConfiguration <Config>(0); _oneHook = new OneHook(Logger, config, NativeFunctions.GetInstance(hooks)); _modLoader.ModLoading += OnModLoading; _modLoader.ModUnloading += OnModUnloading; }
public unsafe void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; _logger = (ILogger)_modLoader.GetLogger(); _modDirectory = _modLoader.GetDirectoryForModId(ThisModId); /* Your mod code starts here. */ _config = Config.Config.FromJson(_modDirectory); _config.ToJson(_modDirectory); Initialize(); var configDirectory = Path.GetDirectoryName(Config.Config.FilePath(_modDirectory)); var fileName = Path.GetFileName(Config.Config.FilePath(_modDirectory)); _watcher = new FileSystemWatcher(configDirectory, fileName); _watcher.EnableRaisingEvents = true; _watcher.Changed += WatcherOnChanged; }
public void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; _logger = (ILogger)_modLoader.GetLogger(); /* Your mod code starts here. */ // Your config file is in Config.json. // Need more configurations? See `_configurator.MakeConfigurations` _configurator = new Configurator(_modLoader.GetDirectoryForModId(ModId)); _configuration = _configurator.GetConfiguration <Config>(0); _configuration.ConfigurationUpdated += OnConfigurationUpdated; // Execute mod code. _modLoader.GetController <IReloadedHooks>().TryGetTarget(out _hooks); _modLoader.GetController <IReloadedHooksUtilities>().TryGetTarget(out _utilities); _drawDistanceHook = new DrawDistanceHook(_configuration, _hooks, _utilities); }
/// <summary> /// Entry point for your mod. /// </summary> public void Start(IModLoaderV1 loader) { _modLoader = ( IModLoader )loader; _logger = ( ILogger )_modLoader.GetLogger(); _modLoader.GetController <IReloadedHooks>().TryGetTarget(out _hooks); // Your config file is in Config.json. // Need a different name, format or more configurations? Modify the `Configurator`. // If you do not want a config, remove Configuration folder and Config class. var configurator = new Configurator(_modLoader.GetDirectoryForModId(MyModId)); _configuration = configurator.GetConfiguration <Config>(0); _configuration.ConfigurationUpdated += OnConfigurationUpdated; /* Your mod code starts here. */ _P4GPCModLoader = new P4GPCModLoader(_logger, _configuration, _hooks); _P4GPCModLoader.Activate(); }
public void Start(IModLoaderV1 loader) { _modLoader = (IModLoader)loader; _logger = (ILogger)_modLoader.GetLogger(); /* Your mod code starts here. */ // Load mod asynchronously during the same time other mods load. (Newtonsoft.Json is slow on first run) // Then wait if necessary if mod loader is done with other mods. _modLoader.OnModLoaderInitialized += OnModLoaderInitialized; _setupPhysicsSwap = Task.Run(() => { _modDirectory = _modLoader.GetDirectoryForModId(ThisModId); _config = Config.FromJson(_modDirectory); _physicsMod = new PhysicsMod(); _physicsMod.ApplyFromConfig(_config); string filePath = Config.GetFilePath(_modDirectory); _watcher = new FileSystemWatcher(Path.GetDirectoryName(filePath), Path.GetFileName(filePath)); _watcher.EnableRaisingEvents = true; _watcher.Changed += WatcherOnChanged; }); }
/// <summary> /// Entry point for your mod. /// </summary> public void Start(IModLoaderV1 loader) { //Debugger.Launch(); _modLoader = (IModLoader)loader; _logger = (ILogger)_modLoader.GetLogger(); _modLoader.GetController <IReloadedHooks>().TryGetTarget(out _hooks); // Your config file is in Config.json. // Need a different name, format or more configurations? Modify the `Configurator`. // If you do not want a config, remove Configuration folder and Config class. var configurator = new Configurator(_modLoader.GetDirectoryForModId(MyModId)); _configuration = configurator.GetConfiguration <Config>(0); _configuration.ConfigurationUpdated += OnConfigurationUpdated; /* Your mod code starts here. */ _memory = new Memory(); using var thisProcess = Process.GetCurrentProcess(); int baseAddress = thisProcess.MainModule.BaseAddress.ToInt32(); _utils = new Utils(_configuration, _logger, baseAddress); _xpShare = new XpShare(_utils, _memory, _hooks, _configuration); }
private void OnModLoading(IModV1 modInstance, IModConfigV1 modConfig) => _afsHook.OnModLoading(_modLoader.GetDirectoryForModId(modConfig.ModId));