Manager for dynamic modifications of SWBF2.
### What's different about CMods?
As opposed to static EBX modding, CMods add additional code to the game, extending and giving you the ability to accomplish nearly anything. Mods are in the form of DLL's, and are loaded at runtime automatically without the need for injection thanks to a proxied DLL.
### Frosty _vs_ CMods
There's no competition here. Each framework is meant for completely different types of projects. This modding framework excels in areas where lots of dynamic reading/writing/interpreting is necessary. Other static mods, such as manipulating bundles/textures/levels are in the domain of frosty.
You can check out the [Frosty Tool Suite](https://frostytoolsuitedev.gitlab.io/) here.
### Installing a Mod
It's simple. First, make sure your game'd directory is set. You'll be greeted with a checkmark next to the game's directory bar if this is correct. Then, simply click on the mod you wish to install, then click the install button.
Once a mod is installed, you can start the game as normal. A launch button is thrown there for continence, but isn't necessary. You may go and apply frosty mods if you wish, these are not likely to interfere.
### Viewing a Mod's Details
Upon either double-clicking or pressing the [Mod Details] button, an async download is made to get the description of the modification you're browsing. Some light formatting is done, but not all markdown syntax is parsed. You can view the same file in the web browser
### Advanced Features
Upon ticking the [show advanced] checkbox, you get the availability of a few new resources.
First, is the debugging console. All output sent through `Console.WriteLine` is piped through this textbox.
Second, is a settings screen. You can change the theme to either dark or light, however light isn't fully supported at this time. You can also toggle between the default purple theme, and your windows theme.
By selecting the "windows" theme, your selected windows 10 Color is used. (Change this by going to windows settings->Personalization->Colors). Note that many colors won't work well.
### Live Loading/Unloading
Given the nature of these mods, you can actually load and unload them at any time. (Note, ejecting at version 2.0 isn't a thing yet). You can specify a DLL mod you wish to load, for example, the CinematicTools dll. Click [BROWSE] to find the dll, then click [Inject Module] to load it into the already running game.
Note that ejection only works for supported modules. The listview will show most modules that are not normally recognized by the game.
|Version | Date | Info | Desc |
| ----- | ----- | ----- | ----- |
| 2.2 | 07/17/18 | [2.2](#22) | Launch Verification |
| 2.1 | 07/17/18 | [2.1](#21) | Post-update Manager Crash |
| 2.0 | 07/04/18 | [2.0](#20) | Program Overhaul |
| 1.0 | 06/27/2018 | [1.0](#10) | Initial Release |
Added a bunch of checks to verify that the launcher was executed from the updater. This is primarily to avoid running the manager when it's outdated.
Fixed a large issue where the the presence of the backed up DLL would automatically assume the modded dll was installed. This caused an issue after the game updated, and the backed up file remained in addition to the real original DLL. Now the backup is deleted if it's MD5 doesn't match what the stock DLL should be.
Fixed an issue where some colors became unreadable when switched to the white mode.
Biggest update. Every UI element was moved to `TableLayoutPanel`s, so resizing program now worked properly. Added multiple tabs, an implementation of my `Gracias` project, a tab with the mod description, featuring basic markdown parsing, and an imagelist. The console was moved to a richtextbox control, and a DLL injector was added for loading custom modules. A settings page was added, giving you options for switching between light and dark theme. The 'System' theme was added, which gives you the ability