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.ModRegistry.Settings.Types;
|
||||||
using VMM.UI;
|
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")]
|
[assembly: MelonGame("Singularity Studios", "Vigil")]
|
||||||
|
|
||||||
namespace VMM
|
namespace VMM
|
||||||
{
|
{
|
||||||
internal class Core : MelonMod
|
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()
|
public override void OnInitializeMelon()
|
||||||
{
|
{
|
||||||
Logger = LoggerInstance;
|
_logger = LoggerInstance;
|
||||||
LoggerInstance.Msg("Initialized.");
|
LoggerInstance.Msg("Initialized.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ namespace VMM
|
|||||||
internal class ModInfo
|
internal class ModInfo
|
||||||
{
|
{
|
||||||
public const string Name = "VigilModManager";
|
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 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*
|
*The mod is built using Melonloader 7.1*
|
||||||
|
|
||||||
|
## Showcase
|
||||||
|
|
||||||
|
### Mod Button in Main Menu
|
||||||
|

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

|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -61,7 +68,7 @@ var sliderSetting = new SliderSetting
|
|||||||
settings.AddSetting(sliderSetting);
|
settings.AddSetting(sliderSetting);
|
||||||
|
|
||||||
// Register settings with the manager
|
// 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
|
### Building
|
||||||
|
|
||||||
1. Set the `VIGIL_GAME_DIR` environment variable to your Vigil installation directory
|
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`
|
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
|
||||||
|
|
||||||
|
### Need help, suggest a feature or found a bug?
|
||||||
|
Open up a issue and tag it with the fitting tags
|
||||||
|
|
||||||
## 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.
|
||||||
|
|||||||
17
VMM.csproj
17
VMM.csproj
@@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>netstandard2.1</TargetFramework>
|
<TargetFramework>netstandard2.1</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
@@ -9,12 +9,13 @@
|
|||||||
<AssemblyVersion>1.0.0.0</AssemblyVersion>
|
<AssemblyVersion>1.0.0.0</AssemblyVersion>
|
||||||
<FileVersion>1.0.0.0</FileVersion>
|
<FileVersion>1.0.0.0</FileVersion>
|
||||||
<NeutralLanguage>en-US</NeutralLanguage>
|
<NeutralLanguage>en-US</NeutralLanguage>
|
||||||
<AssemblyName>VigilModManagerML</AssemblyName>
|
<AssemblyName>VigilModManager</AssemblyName>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Core.cs" />
|
<Compile Include="Core.cs" />
|
||||||
|
<Compile Include="ModInfo.cs" />
|
||||||
<Compile Include="ModRegistry\ModEntry.cs" />
|
<Compile Include="ModRegistry\ModEntry.cs" />
|
||||||
<Compile Include="ModRegistry\ModManager.cs" />
|
<Compile Include="ModRegistry\ModManager.cs" />
|
||||||
<Compile Include="ModRegistry\Settings\ISettingsElement.cs" />
|
<Compile Include="ModRegistry\Settings\ISettingsElement.cs" />
|
||||||
@@ -390,8 +391,16 @@
|
|||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
<EnableDefaultCompileItems>false</EnableDefaultCompileItems>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
<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>
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</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