Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aaa45aee99 | ||
|
|
8c15600fa9 | ||
|
|
0aef6e59f9 | ||
|
|
f44a9ebf58 | ||
|
|
3a4f6c74b1 | ||
|
|
b1e5cc6f25 | ||
|
|
a9493c78bd | ||
|
|
d80c272b97 | ||
|
|
5c9a8362cb | ||
|
|
a4ca3b18d5 |
BIN
Assets/ModButton.PNG
Normal file
BIN
Assets/ModButton.PNG
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
BIN
Assets/ModMenu.PNG
Normal file
BIN
Assets/ModMenu.PNG
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 MiB |
21
Core.cs
21
Core.cs
@@ -8,18 +8,33 @@ using VMM.ModRegistry.Settings;
|
||||
using VMM.ModRegistry.Settings.Types;
|
||||
using VMM.UI;
|
||||
|
||||
[assembly: MelonInfo(typeof(VMM.Core), ModInfo.Name, ModInfo.Version, ModInfo.Author, null)]
|
||||
[assembly: MelonInfo(typeof(VMM.Core), ModInfo.Name, ModInfo.Version, ModInfo.Author, ModInfo.DownloadLink)]
|
||||
[assembly: MelonGame("Singularity Studios", "Vigil")]
|
||||
|
||||
namespace VMM
|
||||
{
|
||||
internal class Core : MelonMod
|
||||
{
|
||||
public static MelonLogger.Instance Logger { get; private set; }
|
||||
public static MelonLogger.Instance Logger
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_logger != null)
|
||||
{
|
||||
return _logger;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new System.Exception("Logger instance is not initialized yet.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static MelonLogger.Instance _logger;
|
||||
|
||||
public override void OnInitializeMelon()
|
||||
{
|
||||
Logger = LoggerInstance;
|
||||
_logger = LoggerInstance;
|
||||
LoggerInstance.Msg("Initialized.");
|
||||
}
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ namespace VMM
|
||||
internal class ModInfo
|
||||
{
|
||||
public const string Name = "VigilModManager";
|
||||
public const string Version = "1.0.0";
|
||||
public const string Version = "1.0.1";
|
||||
public const string Author = "Exil_S";
|
||||
public const string DownloadLink = "";
|
||||
public const string DownloadLink = "https://github.com/ExilProductions/VigilModManager";
|
||||
}
|
||||
}
|
||||
|
||||
16
README.md
16
README.md
@@ -6,6 +6,13 @@ A mod manager for the game Vigil that provides an in-game interface for managing
|
||||
|
||||
*The mod is built using Melonloader 7.1*
|
||||
|
||||
## Showcase
|
||||
|
||||
### Mod Button in Main Menu
|
||||

|
||||
|
||||
### Mod Management Interface
|
||||

|
||||
|
||||
## Installation
|
||||
|
||||
@@ -61,7 +68,7 @@ var sliderSetting = new SliderSetting
|
||||
settings.AddSetting(sliderSetting);
|
||||
|
||||
// Register settings with the manager
|
||||
VMM.Core.ModManager.Instance.RegisterSettings(Assembly.GetExecutingAssembly(), settings);
|
||||
VMM.ModRegistry.ModManager.Instance.RegisterSettings(Assembly.GetExecutingAssembly(), settings);
|
||||
```
|
||||
|
||||
|
||||
@@ -70,10 +77,13 @@ VMM.Core.ModManager.Instance.RegisterSettings(Assembly.GetExecutingAssembly(), s
|
||||
### Building
|
||||
|
||||
1. Set the `VIGIL_GAME_DIR` environment variable to your Vigil installation directory
|
||||
- Example: `setx VIGIL_GAME_DIR "E:\Steam\steamapps\common\Vigil"`
|
||||
- Example Windows: `setx VIGIL_GAME_DIR "E:\Steam\steamapps\common\Vigil"`
|
||||
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
|
||||
|
||||
### Need help, suggest a feature or found a bug?
|
||||
Open up a issue and tag it with the fitting tags
|
||||
|
||||
## 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.
|
||||
|
||||
17
VMM.csproj
17
VMM.csproj
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
@@ -9,12 +9,13 @@
|
||||
<AssemblyVersion>1.0.0.0</AssemblyVersion>
|
||||
<FileVersion>1.0.0.0</FileVersion>
|
||||
<NeutralLanguage>en-US</NeutralLanguage>
|
||||
<AssemblyName>VigilModManagerML</AssemblyName>
|
||||
<AssemblyName>VigilModManager</AssemblyName>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Core.cs" />
|
||||
<Compile Include="ModInfo.cs" />
|
||||
<Compile Include="ModRegistry\ModEntry.cs" />
|
||||
<Compile Include="ModRegistry\ModManager.cs" />
|
||||
<Compile Include="ModRegistry\Settings\ISettingsElement.cs" />
|
||||
@@ -390,8 +391,16 @@
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
<Exec Command="COPY "$(TargetPath)" "$(VIGIL_GAME_DIR)\Mods"" />
|
||||
|
||||
<!-- Windows -->
|
||||
<Exec Condition="'$(OS)' == 'Windows_NT'"
|
||||
Command="copy "$(TargetPath)" "$(VIGIL_GAME_DIR)\Mods"" />
|
||||
|
||||
<!-- Linux/Mac -->
|
||||
<Exec Condition="'$(OS)' != 'Windows_NT'"
|
||||
Command="cp "$(TargetPath)" "$(VIGIL_GAME_DIR)/Mods"" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
28
build.bat
Normal file
28
build.bat
Normal file
@@ -0,0 +1,28 @@
|
||||
@echo off
|
||||
echo Building VigilModManager...
|
||||
|
||||
|
||||
if "%VIGIL_GAME_DIR%"=="" (
|
||||
echo ERROR: VIGIL_GAME_DIR environment variable is not set!
|
||||
echo Please set VIGIL_GAME_DIR to your Vigil game installation directory.
|
||||
echo Example: set VIGIL_GAME_DIR=C:\Games\Vigil
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Using Vigil game directory: %VIGIL_GAME_DIR%
|
||||
|
||||
dotnet build VMM.csproj --configuration Release
|
||||
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo.
|
||||
echo Build completed successfully!
|
||||
echo The mod DLL has been copied to: %VIGIL_GAME_DIR%\Mods\
|
||||
) else (
|
||||
echo.
|
||||
echo Build failed! Please check the error messages above.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
pause
|
||||
32
build.sh
Executable file
32
build.sh
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# VigilModManager build script for Linux
|
||||
echo "Building VigilModManager..."
|
||||
|
||||
# Check if VIGIL_GAME_DIR is set
|
||||
if [ -z "$VIGIL_GAME_DIR" ]; then
|
||||
echo "ERROR: VIGIL_GAME_DIR environment variable is not set!"
|
||||
echo "Please set VIGIL_GAME_DIR to your Vigil game installation directory."
|
||||
echo "Example: export VIGIL_GAME_DIR=\$HOME/.local/share/Steam/steamapps/common/Vigil"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Using Vigil game directory: $VIGIL_GAME_DIR"
|
||||
|
||||
# Build the project
|
||||
dotnet build VMM.csproj --configuration Release
|
||||
BUILD_EXIT_CODE=$?
|
||||
|
||||
if [ $BUILD_EXIT_CODE -eq 0 ]; then
|
||||
echo
|
||||
echo "Build completed successfully!"
|
||||
MOD_DIR="$VIGIL_GAME_DIR/Mods"
|
||||
mkdir -p "$MOD_DIR"
|
||||
echo "The mod DLL has been copied to: $MOD_DIR"
|
||||
else
|
||||
echo
|
||||
echo "Build failed! Please check the error messages above."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
read -rp "Press Enter to exit..."
|
||||
Reference in New Issue
Block a user