Update Readme

This commit is contained in:
Exil Productions
2025-11-11 03:22:14 +01:00
parent ddb193a9df
commit 207c750800

View File

@@ -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.
## 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
### 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
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
## Usage
@@ -116,16 +64,6 @@ settings.AddSetting(sliderSetting);
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
@@ -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`
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
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.