Update Readme
This commit is contained in:
99
README.md
99
README.md
@@ -2,67 +2,15 @@
|
|||||||
|
|
||||||
A MelonLoader mod manager for the game Vigil that provides an in-game interface for managing loaded mods and their settings.
|
A MelonLoader mod manager for the game Vigil that provides an in-game interface for managing loaded mods and their settings.
|
||||||
|
|
||||||
## Overview
|
|
||||||
|
|
||||||
VigilModManager is a mod loading framework that adds a "Mods" button to the main menu of Vigil. It automatically detects all loaded MelonLoader mods and provides a user-friendly interface to view mod information and configure mod settings through a unified settings system.
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- **Automatic Mod Detection**: Scans and lists all loaded MelonLoader mods with their name, version, and author
|
|
||||||
- **In-Game UI**: Integrates seamlessly into Vigil's main menu with custom tabs for mod management
|
|
||||||
- **Settings Framework**: Provides a standardized system for mods to register configurable settings
|
|
||||||
- **Setting Types**: Supports toggle switches and slider controls (extensible for more types)
|
|
||||||
- **Mod Information Display**: Shows detailed information about each loaded mod
|
|
||||||
- **Real-time Configuration**: Settings changes take effect immediately without restarting the game
|
|
||||||
|
|
||||||
## Technical Details
|
## Technical Details
|
||||||
|
|
||||||
### Architecture
|
The mod is built using Melonloader 7.1
|
||||||
|
|
||||||
The mod is built using:
|
|
||||||
- **MelonLoader**: Modding framework for Unity games
|
|
||||||
- **Harmony**: Runtime patching library for modifying game methods
|
|
||||||
- **.NET Standard 2.1**: Target framework for compatibility
|
|
||||||
|
|
||||||
### Project Structure
|
|
||||||
|
|
||||||
```
|
|
||||||
VigilModManager/
|
|
||||||
├── Core.cs # Main mod entry point and initialization
|
|
||||||
├── ModRegistry/ # Mod management system
|
|
||||||
│ ├── ModEntry.cs # Data structure for mod information
|
|
||||||
│ ├── ModManager.cs # Central mod registry and loader
|
|
||||||
│ └── Settings/ # Settings framework
|
|
||||||
│ ├── ModSettings.cs # Settings container for mods
|
|
||||||
│ ├── ISettingsElement.cs # Interface for setting elements
|
|
||||||
│ ├── SettingsElement.cs # Base class for settings
|
|
||||||
│ └── Types/ # Specific setting implementations
|
|
||||||
│ ├── ToggleSetting.cs
|
|
||||||
│ └── SliderSetting.cs
|
|
||||||
├── Patches/ # Game method patches
|
|
||||||
│ └── MainMenuManager.cs # Harmony patches for main menu access
|
|
||||||
└── UI/ # User interface components
|
|
||||||
├── UIManager.cs # Main UI controller
|
|
||||||
├── Components/ # UI component scripts
|
|
||||||
│ ├── ModEntryButton.cs
|
|
||||||
│ ├── ModInfoDisplayer.cs
|
|
||||||
│ ├── ModSettingsManager.cs
|
|
||||||
│ └── UILayoutRebuilder.cs
|
|
||||||
└── Helpers/ # UI building utilities
|
|
||||||
└── UIBuilder.cs
|
|
||||||
```
|
|
||||||
|
|
||||||
### Key Components
|
|
||||||
|
|
||||||
- **Core**: Main MelonMod class that initializes the manager systems
|
|
||||||
- **ModManager**: Singleton that tracks all loaded mods and their settings
|
|
||||||
- **UIManager**: Handles creation and management of the in-game interface
|
|
||||||
- **Settings System**: Framework for mods to register configurable options
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
1. Install MelonLoader for Vigil if not already installed
|
1. Install MelonLoader for Vigil if not already installed
|
||||||
2. Place `VigilModManagerML.dll` in the `Mods` folder of your Vigil installation
|
2. Place `VigilModManager.dll` in the `Mods` folder of your Vigil installation
|
||||||
3. Launch the game - the mod will automatically initialize and add a "Mods" button to the main menu
|
3. Launch the game - the mod will automatically initialize and add a "Mods" button to the main menu
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@@ -116,16 +64,6 @@ settings.AddSetting(sliderSetting);
|
|||||||
VMM.Core.ModManager.Instance.RegisterSettings(Assembly.GetExecutingAssembly(), settings);
|
VMM.Core.ModManager.Instance.RegisterSettings(Assembly.GetExecutingAssembly(), settings);
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
The mod automatically detects and loads all MelonLoader mods. No additional configuration is required for basic functionality.
|
|
||||||
|
|
||||||
## Compatibility
|
|
||||||
|
|
||||||
- **Game**: Vigil (by Singularity Studios)
|
|
||||||
- **Framework**: MelonLoader
|
|
||||||
- **.NET Version**: .NET Standard 2.1
|
|
||||||
- **Unity Version**: Compatible with Vigil's Unity runtime
|
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
@@ -135,39 +73,6 @@ The mod automatically detects and loads all MelonLoader mods. No additional conf
|
|||||||
2. Build the project using Visual Studio or `dotnet build`
|
2. Build the project using Visual Studio or `dotnet build`
|
||||||
3. The post-build event automatically copies the compiled DLL to the game's Mods folder
|
3. The post-build event automatically copies the compiled DLL to the game's Mods folder
|
||||||
|
|
||||||
### Dependencies
|
|
||||||
|
|
||||||
The project references Vigil's managed assemblies and MelonLoader libraries:
|
|
||||||
- All Unity engine assemblies used by Vigil
|
|
||||||
- MelonLoader.dll and 0Harmony.dll
|
|
||||||
- Game-specific assemblies (Assembly-CSharp, etc.)
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This project is licensed under the Apache License 2.0. See LICENSE.txt for the full license text.
|
This project is licensed under the Apache License 2.0. See LICENSE.txt for the full license text.
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
Contributions are welcome. Please ensure:
|
|
||||||
- Code follows the existing style and conventions
|
|
||||||
- New features include appropriate error handling
|
|
||||||
- UI components integrate properly with the existing interface
|
|
||||||
- All changes are tested in-game
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### Common Issues
|
|
||||||
|
|
||||||
- **Mods button not appearing**: Ensure MelonLoader is properly installed and VMM is loading correctly
|
|
||||||
- **Settings not saving**: Settings are runtime-only and reset on game restart by design
|
|
||||||
- **UI layout issues**: Make sure you're in the main menu when accessing the mods interface
|
|
||||||
|
|
||||||
### Debug Information
|
|
||||||
|
|
||||||
The mod logs detailed information to the MelonLoader console, including:
|
|
||||||
- Initialization status
|
|
||||||
- Detected mods with their information
|
|
||||||
- Settings registration confirmations
|
|
||||||
- UI creation and error messages
|
|
||||||
|
|
||||||
Check the MelonLoader console for diagnostic information if issues occur.
|
|
||||||
Reference in New Issue
Block a user