Skip to content

Commit c3a6425

Browse files
authored
Merge pull request #153 from AlamoEngine-Tools/develop
Release
2 parents ff2ffd4 + d512604 commit c3a6425

File tree

499 files changed

+21077
-17132
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

499 files changed

+21077
-17132
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ jobs:
1414

1515
steps:
1616
- name: Checkout repository
17-
uses: actions/checkout@v3
17+
uses: actions/checkout@v4
1818
with:
1919
fetch-depth: 0
2020
- name: Setup .NET Core SDK
2121
uses: actions/setup-dotnet@v4
2222
with:
23-
dotnet-version: '8.0.x'
23+
dotnet-version: '9.0.x'
2424
- name: Initialize CodeQL
25-
uses: github/codeql-action/init@v2
25+
uses: github/codeql-action/init@v3
2626
with:
2727
languages: 'csharp'
2828
- name: Autobuild
29-
uses: github/codeql-action/autobuild@v2
29+
uses: github/codeql-action/autobuild@v3
3030
- name: Perform CodeQL Analysis
31-
uses: github/codeql-action/analyze@v2
31+
uses: github/codeql-action/analyze@v3

.github/workflows/release.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Releasing PetroglyphGameInfrastructure
1+
name: Release PetroglyphGameInfrastructure
22

33
on:
44
push:
@@ -22,7 +22,9 @@ jobs:
2222
with:
2323
fetch-depth: 0
2424
- name: Setup .NET
25-
uses: actions/setup-dotnet@v4
25+
- uses: actions/setup-dotnet@v4
26+
with:
27+
dotnet-version: '9.0.x'
2628
- name: Create packages
2729
run: dotnet pack --configuration Release --output ./packages
2830
- name: Upload a Build Artifact

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
fetch-depth: 0
2424
- uses: actions/setup-dotnet@v4
2525
with:
26-
dotnet-version: '8.0.x'
26+
dotnet-version: '9.0.x'
2727

2828
- name: Build & Test in Release Mode
2929
run: dotnet test --configuration Release --logger "GitHubActions"

Directory.Build.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</PropertyGroup>
99
<PropertyGroup>
1010
<Authors>Alamo Engine Tools and Contributors</Authors>
11-
<Copyright>Copyright © 2024 Alamo Engine Tools and contributors. All rights reserved.</Copyright>
11+
<Copyright>Copyright © 2025 Alamo Engine Tools and contributors. All rights reserved.</Copyright>
1212
<Company>Alamo Engine Tools</Company>
1313
<PackageTags>petroglyph, alamo, glyphx, foc, eaw</PackageTags>
1414
<PackageProjectUrl>https://github.com/AlamoEngine-Tools/PetroglyphGameInfrastructure</PackageProjectUrl>
@@ -29,9 +29,9 @@
2929
<ItemGroup>
3030
<PackageReference Include="Nerdbank.GitVersioning" Condition="!Exists('packages.config')">
3131
<PrivateAssets>all</PrivateAssets>
32-
<Version>3.6.139</Version>
32+
<Version>3.7.115</Version>
3333
</PackageReference>
34-
<PackageReference Include="SauceControl.InheritDoc" Version="2.0.1" PrivateAssets="all" />
34+
<PackageReference Include="SauceControl.InheritDoc" Version="2.0.2" PrivateAssets="all" />
3535
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0">
3636
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3737
<PrivateAssets>all</PrivateAssets>

Dockerfile.test

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM mcr.microsoft.com/dotnet/sdk:9.0
2+
3+
RUN wget https://aka.ms/getvsdbgsh && \
4+
sh getvsdbgsh -v latest -l /vsdbg
5+
6+
ENV MONO_VERSION 6.12.0.200
7+
8+
RUN apt-get update \
9+
&& apt-get install -y --no-install-recommends gnupg dirmngr ca-certificates \
10+
&& rm -rf /var/lib/apt/lists/* \
11+
&& export GNUPGHOME="$(mktemp -d)" \
12+
&& gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \
13+
&& gpg --batch --export --armor 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF > /etc/apt/trusted.gpg.d/mono.gpg.asc \
14+
&& gpgconf --kill all \
15+
&& rm -rf "$GNUPGHOME" \
16+
&& apt-key list | grep Xamarin \
17+
&& apt-get purge -y --auto-remove gnupg dirmngr
18+
19+
RUN echo "deb https://download.mono-project.com/repo/debian stable-buster/snapshots/$MONO_VERSION main" > /etc/apt/sources.list.d/mono-official-stable.list \
20+
&& apt-get update \
21+
&& apt-get install -y mono-runtime \
22+
&& rm -rf /var/lib/apt/lists/* /tmp/*

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2021 Alamo Engine Tools
3+
Copyright (c) 2025 Alamo Engine Tools
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

PetroGlyphGameInfrastructure.sln

Lines changed: 62 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,91 @@
1-
21
Microsoft Visual Studio Solution File, Format Version 12.00
32
# Visual Studio Version 17
43
VisualStudioVersion = 17.0.31717.71
54
MinimumVisualStudioVersion = 10.0.40219.1
65
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{DDF4836A-1257-4323-A288-B5F277242010}"
76
EndProject
8-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PG.StarWarsGame.Infrastructure.Test", "src\PetroGlyph.Games.EawFoc\test\PG.StarWarsGame.Infrastructure.Test.csproj", "{90490B07-F4E3-4D1E-B3E3-FD059A0DAB8D}"
7+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{91EC3980-0C87-484F-91E5-0FE684C1D2E0}"
98
EndProject
10-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PG.StarWarsGame.Infrastructure.Clients", "src\PetroGlyph.Games.EawFoc.Clients\src\PG.StarWarsGame.Infrastructure.Clients.csproj", "{F622B36D-E5C9-4C14-B4B1-8871DCF1FF46}"
9+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AET.SteamAbstraction", "src\AET.SteamAbstraction\AET.SteamAbstraction.csproj", "{8C4EA230-C426-150D-D7B3-EA1E855E255B}"
1110
EndProject
12-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PG.StarWarsGame.Infrastructure", "src\PetroGlyph.Games.EawFoc\src\PG.StarWarsGame.Infrastructure.csproj", "{6A14A57C-60E6-4DDE-B8F0-55ADB3A20758}"
11+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PG.StarWarsGame.Infrastructure", "src\PG.StarWarsGame.Infrastructure\PG.StarWarsGame.Infrastructure.csproj", "{B9F11D14-D989-BDCA-9269-454382B01C53}"
1312
EndProject
14-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{91EC3980-0C87-484F-91E5-0FE684C1D2E0}"
13+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PG.StarWarsGame.Infrastructure.Test", "test\PG.StarWarsGame.Infrastructure.Test\PG.StarWarsGame.Infrastructure.Test.csproj", "{F7053C64-A450-9DEA-5498-A87A97577105}"
14+
EndProject
15+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PG.StarWarsGame.Infrastructure.Clients.Steam", "src\PG.StarWarsGame.Infrastructure.Clients.Steam\PG.StarWarsGame.Infrastructure.Clients.Steam.csproj", "{F4D99F05-BC5F-5132-2C52-46F62BC056FC}"
16+
EndProject
17+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PG.TestingUtilities", "test\PG.TestingUtilities\PG.TestingUtilities.csproj", "{74C227B8-02EB-7B90-EAEF-61488C697007}"
1518
EndProject
16-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PG.StarWarsGame.Infrastructure.Clients.Test", "src\PetroGlyph.Games.EawFoc.Clients\test\PG.StarWarsGame.Infrastructure.Clients.Test.csproj", "{0D5DAC91-BB5F-46F4-9145-4296E9151DC3}"
19+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PG.StarWarsGame.Infrastructure.Testing", "test\PG.StarWarsGame.Infrastructure.Testing\PG.StarWarsGame.Infrastructure.Testing.csproj", "{06140CFC-149B-74F4-F4E4-CA9B143D75C9}"
1720
EndProject
18-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleApplication", "sample\SampleApplication\SampleApplication.csproj", "{8F295344-3D7B-4983-88FD-D0E5C692CBAB}"
21+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PG.StarWarsGame.Infrastructure.Clients.Steam.Test", "test\PG.StarWarsGame.Infrastructure.Clients.Steam.Test\PG.StarWarsGame.Infrastructure.Clients.Steam.Test.csproj", "{CCAB24B1-B9CC-BDCB-A095-F4E3A81FD2DC}"
1922
EndProject
20-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PG.TestingUtilities", "src\Testing\PG.TestingUtilities\PG.TestingUtilities.csproj", "{C8F51821-F25D-4C4E-8050-5C559ADD39DB}"
23+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AET.SteamAbstraction.Test", "test\AET.SteamAbstraction.Test\AET.SteamAbstraction.Test.csproj", "{838099F7-115E-50F3-7091-E48526ADC83C}"
2124
EndProject
22-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AET.SteamAbstraction", "src\AET.SteamAbstraction\AET.SteamAbstraction\AET.SteamAbstraction.csproj", "{24CA9F24-E6DC-4908-B586-E7C14515628C}"
25+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AET.SteamAbstraction.Testing", "test\AET.SteamAbstraction.Testing\AET.SteamAbstraction.Testing.csproj", "{C5BACDAD-F846-F75F-12DE-1EF1A8319549}"
2326
EndProject
24-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AET.SteamAbstraction.Test", "src\AET.SteamAbstraction\AET.SteamAbstraction.Test\AET.SteamAbstraction.Test.csproj", "{38FE318C-F775-4318-859C-DCAB3C6FCD71}"
27+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleApplication", "sampleApp\SampleApplication.csproj", "{19F0E685-5B50-C6D7-C50F-A04941FD9663}"
2528
EndProject
2629
Global
2730
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2831
Debug|Any CPU = Debug|Any CPU
2932
Release|Any CPU = Release|Any CPU
3033
EndGlobalSection
3134
GlobalSection(ProjectConfigurationPlatforms) = postSolution
32-
{90490B07-F4E3-4D1E-B3E3-FD059A0DAB8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
33-
{90490B07-F4E3-4D1E-B3E3-FD059A0DAB8D}.Debug|Any CPU.Build.0 = Debug|Any CPU
34-
{90490B07-F4E3-4D1E-B3E3-FD059A0DAB8D}.Release|Any CPU.ActiveCfg = Release|Any CPU
35-
{90490B07-F4E3-4D1E-B3E3-FD059A0DAB8D}.Release|Any CPU.Build.0 = Release|Any CPU
36-
{F622B36D-E5C9-4C14-B4B1-8871DCF1FF46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
37-
{F622B36D-E5C9-4C14-B4B1-8871DCF1FF46}.Debug|Any CPU.Build.0 = Debug|Any CPU
38-
{F622B36D-E5C9-4C14-B4B1-8871DCF1FF46}.Release|Any CPU.ActiveCfg = Release|Any CPU
39-
{F622B36D-E5C9-4C14-B4B1-8871DCF1FF46}.Release|Any CPU.Build.0 = Release|Any CPU
40-
{6A14A57C-60E6-4DDE-B8F0-55ADB3A20758}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
41-
{6A14A57C-60E6-4DDE-B8F0-55ADB3A20758}.Debug|Any CPU.Build.0 = Debug|Any CPU
42-
{6A14A57C-60E6-4DDE-B8F0-55ADB3A20758}.Release|Any CPU.ActiveCfg = Release|Any CPU
43-
{6A14A57C-60E6-4DDE-B8F0-55ADB3A20758}.Release|Any CPU.Build.0 = Release|Any CPU
44-
{0D5DAC91-BB5F-46F4-9145-4296E9151DC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
45-
{0D5DAC91-BB5F-46F4-9145-4296E9151DC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
46-
{0D5DAC91-BB5F-46F4-9145-4296E9151DC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
47-
{0D5DAC91-BB5F-46F4-9145-4296E9151DC3}.Release|Any CPU.Build.0 = Release|Any CPU
48-
{8F295344-3D7B-4983-88FD-D0E5C692CBAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
49-
{8F295344-3D7B-4983-88FD-D0E5C692CBAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
50-
{8F295344-3D7B-4983-88FD-D0E5C692CBAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
51-
{8F295344-3D7B-4983-88FD-D0E5C692CBAB}.Release|Any CPU.Build.0 = Release|Any CPU
52-
{C8F51821-F25D-4C4E-8050-5C559ADD39DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
53-
{C8F51821-F25D-4C4E-8050-5C559ADD39DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
54-
{C8F51821-F25D-4C4E-8050-5C559ADD39DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
55-
{C8F51821-F25D-4C4E-8050-5C559ADD39DB}.Release|Any CPU.Build.0 = Release|Any CPU
56-
{24CA9F24-E6DC-4908-B586-E7C14515628C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
57-
{24CA9F24-E6DC-4908-B586-E7C14515628C}.Debug|Any CPU.Build.0 = Debug|Any CPU
58-
{24CA9F24-E6DC-4908-B586-E7C14515628C}.Release|Any CPU.ActiveCfg = Release|Any CPU
59-
{24CA9F24-E6DC-4908-B586-E7C14515628C}.Release|Any CPU.Build.0 = Release|Any CPU
60-
{38FE318C-F775-4318-859C-DCAB3C6FCD71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
61-
{38FE318C-F775-4318-859C-DCAB3C6FCD71}.Debug|Any CPU.Build.0 = Debug|Any CPU
62-
{38FE318C-F775-4318-859C-DCAB3C6FCD71}.Release|Any CPU.ActiveCfg = Release|Any CPU
63-
{38FE318C-F775-4318-859C-DCAB3C6FCD71}.Release|Any CPU.Build.0 = Release|Any CPU
35+
{8C4EA230-C426-150D-D7B3-EA1E855E255B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
36+
{8C4EA230-C426-150D-D7B3-EA1E855E255B}.Debug|Any CPU.Build.0 = Debug|Any CPU
37+
{8C4EA230-C426-150D-D7B3-EA1E855E255B}.Release|Any CPU.ActiveCfg = Release|Any CPU
38+
{8C4EA230-C426-150D-D7B3-EA1E855E255B}.Release|Any CPU.Build.0 = Release|Any CPU
39+
{B9F11D14-D989-BDCA-9269-454382B01C53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
40+
{B9F11D14-D989-BDCA-9269-454382B01C53}.Debug|Any CPU.Build.0 = Debug|Any CPU
41+
{B9F11D14-D989-BDCA-9269-454382B01C53}.Release|Any CPU.ActiveCfg = Release|Any CPU
42+
{B9F11D14-D989-BDCA-9269-454382B01C53}.Release|Any CPU.Build.0 = Release|Any CPU
43+
{F7053C64-A450-9DEA-5498-A87A97577105}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
44+
{F7053C64-A450-9DEA-5498-A87A97577105}.Debug|Any CPU.Build.0 = Debug|Any CPU
45+
{F7053C64-A450-9DEA-5498-A87A97577105}.Release|Any CPU.ActiveCfg = Release|Any CPU
46+
{F7053C64-A450-9DEA-5498-A87A97577105}.Release|Any CPU.Build.0 = Release|Any CPU
47+
{F4D99F05-BC5F-5132-2C52-46F62BC056FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
48+
{F4D99F05-BC5F-5132-2C52-46F62BC056FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
49+
{F4D99F05-BC5F-5132-2C52-46F62BC056FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
50+
{F4D99F05-BC5F-5132-2C52-46F62BC056FC}.Release|Any CPU.Build.0 = Release|Any CPU
51+
{74C227B8-02EB-7B90-EAEF-61488C697007}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
52+
{74C227B8-02EB-7B90-EAEF-61488C697007}.Debug|Any CPU.Build.0 = Debug|Any CPU
53+
{74C227B8-02EB-7B90-EAEF-61488C697007}.Release|Any CPU.ActiveCfg = Release|Any CPU
54+
{74C227B8-02EB-7B90-EAEF-61488C697007}.Release|Any CPU.Build.0 = Release|Any CPU
55+
{06140CFC-149B-74F4-F4E4-CA9B143D75C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
56+
{06140CFC-149B-74F4-F4E4-CA9B143D75C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
57+
{06140CFC-149B-74F4-F4E4-CA9B143D75C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
58+
{06140CFC-149B-74F4-F4E4-CA9B143D75C9}.Release|Any CPU.Build.0 = Release|Any CPU
59+
{CCAB24B1-B9CC-BDCB-A095-F4E3A81FD2DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
60+
{CCAB24B1-B9CC-BDCB-A095-F4E3A81FD2DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
61+
{CCAB24B1-B9CC-BDCB-A095-F4E3A81FD2DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
62+
{CCAB24B1-B9CC-BDCB-A095-F4E3A81FD2DC}.Release|Any CPU.Build.0 = Release|Any CPU
63+
{838099F7-115E-50F3-7091-E48526ADC83C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
64+
{838099F7-115E-50F3-7091-E48526ADC83C}.Debug|Any CPU.Build.0 = Debug|Any CPU
65+
{838099F7-115E-50F3-7091-E48526ADC83C}.Release|Any CPU.ActiveCfg = Release|Any CPU
66+
{838099F7-115E-50F3-7091-E48526ADC83C}.Release|Any CPU.Build.0 = Release|Any CPU
67+
{C5BACDAD-F846-F75F-12DE-1EF1A8319549}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
68+
{C5BACDAD-F846-F75F-12DE-1EF1A8319549}.Debug|Any CPU.Build.0 = Debug|Any CPU
69+
{C5BACDAD-F846-F75F-12DE-1EF1A8319549}.Release|Any CPU.ActiveCfg = Release|Any CPU
70+
{C5BACDAD-F846-F75F-12DE-1EF1A8319549}.Release|Any CPU.Build.0 = Release|Any CPU
71+
{19F0E685-5B50-C6D7-C50F-A04941FD9663}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
72+
{19F0E685-5B50-C6D7-C50F-A04941FD9663}.Debug|Any CPU.Build.0 = Debug|Any CPU
73+
{19F0E685-5B50-C6D7-C50F-A04941FD9663}.Release|Any CPU.ActiveCfg = Release|Any CPU
74+
{19F0E685-5B50-C6D7-C50F-A04941FD9663}.Release|Any CPU.Build.0 = Release|Any CPU
6475
EndGlobalSection
6576
GlobalSection(SolutionProperties) = preSolution
6677
HideSolutionNode = FALSE
6778
EndGlobalSection
6879
GlobalSection(NestedProjects) = preSolution
69-
{90490B07-F4E3-4D1E-B3E3-FD059A0DAB8D} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
70-
{F622B36D-E5C9-4C14-B4B1-8871DCF1FF46} = {DDF4836A-1257-4323-A288-B5F277242010}
71-
{6A14A57C-60E6-4DDE-B8F0-55ADB3A20758} = {DDF4836A-1257-4323-A288-B5F277242010}
72-
{0D5DAC91-BB5F-46F4-9145-4296E9151DC3} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
73-
{C8F51821-F25D-4C4E-8050-5C559ADD39DB} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
74-
{24CA9F24-E6DC-4908-B586-E7C14515628C} = {DDF4836A-1257-4323-A288-B5F277242010}
75-
{38FE318C-F775-4318-859C-DCAB3C6FCD71} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
80+
{8C4EA230-C426-150D-D7B3-EA1E855E255B} = {DDF4836A-1257-4323-A288-B5F277242010}
81+
{B9F11D14-D989-BDCA-9269-454382B01C53} = {DDF4836A-1257-4323-A288-B5F277242010}
82+
{F7053C64-A450-9DEA-5498-A87A97577105} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
83+
{F4D99F05-BC5F-5132-2C52-46F62BC056FC} = {DDF4836A-1257-4323-A288-B5F277242010}
84+
{74C227B8-02EB-7B90-EAEF-61488C697007} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
85+
{06140CFC-149B-74F4-F4E4-CA9B143D75C9} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
86+
{CCAB24B1-B9CC-BDCB-A095-F4E3A81FD2DC} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
87+
{838099F7-115E-50F3-7091-E48526ADC83C} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
88+
{C5BACDAD-F846-F75F-12DE-1EF1A8319549} = {91EC3980-0C87-484F-91E5-0FE684C1D2E0}
7689
EndGlobalSection
7790
GlobalSection(ExtensibilityGlobals) = postSolution
7891
SolutionGuid = {76D00646-2467-4997-A19B-8299D8724D38}

README.md

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,44 @@
1-
# PetroglyphGameInfrastructure
2-
.NET library for handling game and mod installations.
1+
# Petroglyph Game Infrastructure
2+
.NET library for managing and launching Petroglyph's Star Wars Empire at War and mod installations.
3+
4+
[![Nuget](https://img.shields.io/nuget/v/AlamoEngineTools.PG.StarWarsGame.Infrastructure)](https://www.nuget.org/packages/AlamoEngineTools.PG.StarWarsGame.Infrastructure)
5+
[![Build](https://github.com/AlamoEngine-Tools/PetroglyphGameInfrastructure/actions/workflows/release.yml/badge.svg)](https://github.com/AlamoEngine-Tools/PetroglyphGameInfrastructure/actions/workflows/build.yml)
6+
7+
## Main Features
8+
- Works for Empire at War, Forces of Corruption on any platform (Steam, Disk, GoG, EA Origin)
9+
- Supports any kind of mod, including mods from Steam Workshops
10+
- Supports Steam Sub-mods (e.g, STEAMMOD=123 STEAMMOD=456)
11+
- Finds any game and mod installations automatically
12+
- Launches the game, including debug builds with full Steam support.
13+
14+
## Usage
15+
16+
Include the library as a nuget package: `AlamoEngineTools.PG.StarWarsGame.Infrastructure`
17+
18+
See the listed code below to see a minimal example how to use the library.
19+
20+
```cs
21+
var fs = new FileSystem();
22+
var sc = new ServiceCollection();
23+
sc.AddSingleton(WindowsRegistry.Default);
24+
sc.AddSingleton<IFileSystem>(fs);
25+
26+
// Initialize the library
27+
PetroglyphGameInfrastructure.InitializeServices(sc);
28+
29+
var serviceProvider = sc.BuildServiceProvider();
30+
31+
// Search for Forces of Corruption at the specified directory
32+
var gameFactory = services.GetRequiredService<IGameFactory>();
33+
var detector = new DirectoryGameDetector(fs.DirectoryInfo.New("YOUR_GAME_DIR"), serviceProvider);
34+
var game = gameFactory.CreateGame(detector.Detect(GameType.Foc), CultureInfo.CurrentCulture);
35+
36+
37+
// Create a client and launch the game with WINDOWED arugment.
38+
var client = services.GetRequiredService<IGameClientFactory>().CreateClient(game);
39+
using var gameArgs = new GameArgumentsBuilder().Add(new WindowedArgument());
40+
client.Play(gameArgs.Build());
41+
```
42+
43+
See the sample application for an extended example including how to work with game mods.
44+

sample/SampleApplication/SampleApplication.csproj

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)