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. 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.