Skip to content

Commit 95f717e

Browse files
committed
release candiate
1 parent d8f383e commit 95f717e

37 files changed

+2094
-1620
lines changed

.github/dependabot.yml

+20-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,24 @@
55

66
version: 2
77
updates:
8-
- package-ecosystem: "nuget" # See documentation for possible values
9-
directory: "/" # Location of package manifests
8+
- package-ecosystem: "github-actions"
9+
directory: "/"
1010
schedule:
11-
interval: "daily"
11+
interval: "daily"
12+
groups:
13+
actions-deps:
14+
patterns:
15+
- "*"
16+
target-branch: "develop"
17+
18+
19+
- package-ecosystem: "nuget"
20+
directory: "/"
21+
schedule:
22+
interval: "daily"
23+
target-branch: "develop"
24+
open-pull-requests-limit: 1
25+
groups:
26+
all-deps:
27+
patterns:
28+
- "*"

Directory.Build.props

+50-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,52 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<ItemGroup>
4-
<PackageReference Include="Nerdbank.GitVersioning" Condition="!Exists('packages.config')">
5-
<PrivateAssets>all</PrivateAssets>
6-
<Version>3.6.143</Version>
7-
</PackageReference>
8-
</ItemGroup>
2+
<Project>
3+
4+
<PropertyGroup>
5+
<RepoRootPath>$(MSBuildThisFileDirectory)</RepoRootPath>
6+
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
7+
<EnableDynamicPlatformResolution>true</EnableDynamicPlatformResolution>
8+
<GitVersionBaseDirectory>$(RepoRootPath)</GitVersionBaseDirectory>
9+
<PackageOutputPath>$(RepoRootPath)bin\Packages\$(Configuration)\</PackageOutputPath>
10+
</PropertyGroup>
11+
12+
<PropertyGroup>
13+
<Product>ModVerify</Product>
14+
<Authors>Alamo Engine Tools and Contributors</Authors>
15+
<Copyright>Copyright © 2025 Alamo Engine Tools and contributors. All rights reserved.</Copyright>
16+
<PackageProjectUrl>https://github.com/AlamoEngine-Tools/ModVerify</PackageProjectUrl>
17+
<LicenseFile>$(RepoRootPath)LICENSE</LicenseFile>
18+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
19+
<RepositoryUrl>https://github.com/AlamoEngine-Tools/ModVerify</RepositoryUrl>
20+
<RepositoryType>git</RepositoryType>
21+
<Company>Alamo Engine Tools</Company>
22+
<PackageReadmeFile>README.md</PackageReadmeFile>
23+
<PackageIcon>aet.png</PackageIcon>
24+
</PropertyGroup>
25+
26+
<PropertyGroup>
27+
<LangVersion>latest</LangVersion>
28+
<ImplicitUsings>disable</ImplicitUsings>
29+
<Nullable>enable</Nullable>
30+
<EnableNETAnalyzers>True</EnableNETAnalyzers>
31+
<AnalysisLevel>latest</AnalysisLevel>
32+
</PropertyGroup>
33+
34+
<ItemGroup>
35+
<PackageReference Update="SauceControl.InheritDoc" Version="2.0.2" />
36+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0">
37+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
38+
<PrivateAssets>all</PrivateAssets>
39+
</PackageReference>
40+
<PackageReference Include="Nerdbank.GitVersioning" Condition="!Exists('packages.config')">
41+
<PrivateAssets>all</PrivateAssets>
42+
<Version>3.7.115</Version>
43+
</PackageReference>
44+
<None Include="$(MSBuildThisFileDirectory)README.md" Pack="true" PackagePath="" />
45+
</ItemGroup>
46+
47+
<ItemGroup Condition="'$(IsPackable)' == 'true'">
48+
<None Include="$(LicenseFile)" Pack="true" PackagePath=""/>
49+
<None Include="$(RepoRootPath)aet.png" Pack="true" PackagePath=""/>
50+
</ItemGroup>
51+
952
</Project>

README.md

+31-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
# ModVerify: A Mod Verification Tool
22

3-
ModVerify is a command-line tool designed to verify mods for the game Star Wars: Empire at War and its expansion Forces of Corruption.
3+
ModVerify is a command-line tool designed to analyze
4+
mods for the game Star Wars: Empire at War and its expansion Forces of Corruption
5+
for common errors in XML and other game files.
46

57
## Table of Contents
68

79
- [Installation](#installation)
810
- [Usage](#usage)
911
- [Options](#options)
1012
- [Available Checks](#available-checks)
13+
- [Creating a new Baseline](#creating-a-new-baseline)
14+
15+
---
1116

1217
## Installation
1318

@@ -18,15 +23,18 @@ Download the latest release from the [releases page](https://github.com/AlamoEng
1823

1924
You can place the files anywhere on your system, eg. your Desktop. There is no need to place it inside a mod's directory.
2025

21-
*Note: Both versions have the exact same feature set. They just target a different .NET runtime. Linux and CI/CD support is not fully tested yet. Current priority is on the Windows-only version.*
26+
***Note**: Both versions have the exact same feature set. They just target a different .NET runtime. Linux and CI/CD support is not fully tested yet. Current priority is on the Windows-only version.*
27+
28+
---
2229

2330
## Usage
2431

2532
Simply run the executable file `ModVerify.exe`.
2633

27-
When given no specific argument through the command line, the app will ask you which game or mod you want to verify. When the tool is done, it will write the verification results into new files next to the executable.
34+
When given no specific argument through the command line, ModVerify will ask you which game or mod you want to verify. When ModVerify is done analyzing, it will write the verification results into new files next to the executable.
2835

29-
A `.JSON` file lists all found issues. Into seperate `.txt` files the same errors get grouped by a category of the finding. The text files may be easier to read, while the json file is more useful for 3rd party tool processing.
36+
A `.JSON` file contains all identified issues. The additional `.txt` files contain the same errors but are grouped by the verifier that reported the issue.
37+
The text files may be easier to read, while the JSON file is more useful for 3rd party tool processing.
3038

3139
## Options
3240

@@ -49,8 +57,6 @@ Specified the output path where analysis result shall be written to.
4957
### `--baseline`
5058
Specifies a baseline file that shall be used to filter out known errors. You can download the [FoC baseline](focBaseline.json) which includes all errors produced by the vanilla game.
5159

52-
### `--createBaseline`
53-
If you want to create your own baseline, add this option with a file path such as `myModBaseline.json`.
5460

5561
### Example
5662
This is an example run configuration that analyzes a specific mod, uses a the FoC basline and writes the output into a dedicated directory:
@@ -59,19 +65,35 @@ This is an example run configuration that analyzes a specific mod, uses a the Fo
5965
ModVerify.exe --path "C:\My Games\FoC\Mods\MyMod" --output "C:\My Games\FoC\Mods\MyMod\verifyResults" --baseline focBaseline.json
6066
```
6167

68+
---
6269

6370
## Available Checks
6471

6572
The following verifiers are currently implemented:
6673

67-
### For SFX Events:
68-
- Checks whether coded preset exists
74+
### SFX Events:
75+
- Checks whether coded preset exist
6976
- Checks the referenced samples for validity (bit rate, sample size, channels, etc.)
7077
- Duplicates
7178

79+
### GUIDialogs
80+
- Checks the referenced textures exist
7281

73-
### For GameObjects
82+
### GameObjects
7483
- Checks the referenced models for validity (textures, particles and shaders)
7584
- Duplicates
7685

86+
### Engine
87+
- Performs assertion checks the Debug builds of the game are also doing (not complete)
88+
- Sports XML errors and unexpected values
89+
90+
---
91+
92+
## Creating a new Baseline
7793

94+
If you want to create your own baseline use the `createBaseline` option.
95+
96+
### Example
97+
```bash
98+
ModVerify.exe createBaseline -o myBaseline.json --path "C:\My Games\FoC\Mods\MyMod"
99+
```

0 commit comments

Comments
 (0)