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();
            });
        }
示例#2
0
        /// <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();
        }
示例#3
0
        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);
        }
示例#4
0
    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);
    }
示例#5
0
        public void Start(IModLoaderV1 loader)
        {
            #if DEBUG
            Debugger.Launch();
            #endif
            ModLoader = (IModLoader)loader;

            /* Your mod code starts here. */
            _graphicsEssentials = new GraphicsEssentials(ModLoader.GetDirectoryForModId(MyModId));
        }
示例#6
0
        /// <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);
        }
示例#8
0
    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);
        }
示例#10
0
        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();
        }
示例#11
0
        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);
        }
示例#15
0
        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;
        }
示例#17
0
        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);
        }
示例#19
0
        /// <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);
        }
示例#22
0
 private void OnModLoading(IModV1 modInstance, IModConfigV1 modConfig) => _afsHook.OnModLoading(_modLoader.GetDirectoryForModId(modConfig.ModId));