Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
444d16d
UPDATE Guides Part 1
Chaosyr Sep 30, 2026
e4fd1fb
UPDATE Guides Part 2
Chaosyr Sep 30, 2026
a58736c
Null Checks and Custom Appearances
Chaosyr Oct 1, 2026
48a0835
Update thunderstore.toml
Chaosyr Oct 1, 2026
ce8e0b9
Update Thunderstore.toml
Chaosyr Oct 1, 2026
0bd72f8
XML Docs Part I, Rename Internal Config Keys
Chaosyr Oct 3, 2026
45431da
ReInternalize 3 ConfigEntry's
Chaosyr Oct 3, 2026
8d07b07
XML Docs Part II, and some Cleanup
Chaosyr Oct 3, 2026
d2f115b
Add Debug Logging related to `GenerateTradeCardsWithCostTier`.
Chaosyr Oct 4, 2026
ce2a6b1
Attempt to fix the Description of configEnableTraderCostTierBugDebugL…
Chaosyr Oct 4, 2026
d8d1160
Correctly Fix Key.
Chaosyr Oct 4, 2026
cbe00db
Add queued background override to pixel appearances (#340)
chytridi05 Oct 30, 2026
908b1a8
Add way to easily patch and modify the default bone gain when a playe…
HumabHatterZed Oct 30, 2026
21949ee
Add some missing XML and minor cost fix (#342)
HumabHatterZed Nov 10, 2026
a2ca935
Add XML Comments to the GUID Module of the API.
Chaosyr Nov 11, 2026
b8cf619
Add XML Docs to the Tests Module of the Community Patch.
Chaosyr Nov 11, 2026
212ff8a
Add XML Docs to the Community Patch Sequencers Module
Chaosyr Nov 13, 2026
2b62c39
Implement XML Docs for ResourceManagers Module of Community Patch
Chaosyr Nov 13, 2026
61ef9a3
Implement XML Docs for the PixelTutor Module in Community Patch
Chaosyr Nov 13, 2026
06d88b0
Implement XML Docs to a chunk of the Card Module of the Community Patch
Chaosyr Nov 13, 2026
b253513
Finish PixelTutor Module XML Docs
Chaosyr Nov 13, 2026
30da297
Update Changelog (+Formatting)
Chaosyr Nov 13, 2026
74b5ec1
Add a few more items to the Changelog, and update BIE
Chaosyr Nov 13, 2026
d96ee1b
Integrate TS-Build Support
Chaosyr Nov 13, 2026
b92d33f
Fix TOML to new Build Location for APIPatcher
Chaosyr Nov 13, 2026
3cb4a5d
Upgrade Documentation Workflow
Chaosyr Nov 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 12 additions & 18 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,40 +5,35 @@ on:
branches:
- main

permissions:
contents: write

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v6
with:
dotnet-version: 6.0.x
dotnet-version: '10.0.x'

- name: Restore Project
run: dotnet restore

- name: Add Mono Repository
run: |
sudo apt install gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

- name: Install Mono
run: sudo apt install mono-runtime mono-devel msbuild

- name: Install DocFX
run: |
curl -LJ https://github.com/dotnet/docfx/releases/download/v2.59.0/docfx.zip -o docfx.zip
curl -LJ https://github.com/dotnet/docfx/releases/download/v2.81.0/docfx-linux-x64-v2.81.0.zip -o docfx.zip
unzip -d docfx/ docfx.zip
chmod +x docfx/docfx

- name: Generate documentation
run: mono docfx/docfx.exe docs/docfx.json
run: ./docfx/docfx docs/docfx.json

- uses: actions/checkout@v3
- name: Checkout gh-pages
uses: actions/checkout@v4
with:
ref: gh-pages
path: gh-pages
Expand All @@ -50,11 +45,10 @@ jobs:
cp -R ../docs/_site/* .

- name: Push update
continue-on-error: true
run: |
cd gh-pages
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -a -m "Generated from ${{ github.event.head_commit.id }}"
git commit -a -m "Generated from ${{ github.event.head_commit.id }}" || echo "No changes needed"
git push
34 changes: 34 additions & 0 deletions .github/workflows/ts-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@

name: TS-Build

on:
workflow_dispatch:

permissions:
contents: read

jobs:
build:
name: Run TS-Build
runs-on: windows-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x

- name: Run TS-Build Script
shell: cmd
run: call InscryptionAPI\TS-Build.bat

- name: Send Artifacts to GitHub Workflow for Later Use.
uses: actions/upload-artifact@v4
with:
name: InscryptionAPI-Thunderstore-${{ github.run_number }}
path: InscryptionAPI/GITHUB RELEASE/NET/*.zip
if-no-files-found: error
retention-days: 30
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,8 @@ bin/
.vscode/
*.user
build/

InscryptionAPI/GITHUB RELEASE/
InscryptionAPI/GITHUB PRERELEASE/
InscryptionAPI/Thunderstore-Package-Elements/monomod/Assembly-CSharp.APIPatcher.mm.dll
InscryptionAPI/Thunderstore-Package-Elements/monomod/Assembly-CSharp.APIPatcher.mm.pdb
InscryptionAPI/Thunderstore-Package-Elements/monomod/Assembly-CSharp.APIPatcher.mm.xml
14 changes: 14 additions & 0 deletions .run/TS-Build InscryptionAPI.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="TS-Build InscryptionAPI" type="RunNativeExe" factoryName="Native Executable">
<option name="EXE_PATH" value="$PROJECT_DIR$/InscryptionAPI/TS-Build.bat" />
<option name="PROGRAM_PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/InscryptionAPI" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="MIXED_MODE_DEBUG" value="0" />
<method v="2">
<option name="Build Solution" enabled="true" />
</method>
</configuration>
</component>
37 changes: 30 additions & 7 deletions APIPatcher/APIPatcher.csproj
Original file line number Diff line number Diff line change
@@ -1,16 +1,27 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netframework4.7.2</TargetFramework>
<TargetFrameworks>netframework4.7.2</TargetFrameworks>
<RuntimeIdentifiers>win-x64;win-x86;win-arm64;linux-x64;linux-arm;linux-arm64;linux-musl-x64;linux-musl-arm64;osx-x64;osx-arm64</RuntimeIdentifiers>
<AssemblyName>Assembly-CSharp.APIPatcher.mm</AssemblyName>
<Description>The MonoMod Patcher for the Inscryption API.</Description>
<Version>2.24.2</Version>
<Authors>Cyantist, IngoH, WhistleWind, Chaosyr and Contibutors</Authors>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>Latest</LangVersion>
<RootNamespace>APIPatcher</RootNamespace>
<DebugType>full</DebugType>
<NoWarn>$(NoWarn);AD0001;CS0612;CS8604;CS0252;CS0618;Harmony003;Publicizer001</NoWarn>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
<LangVersion>latest</LangVersion>
<IsPackable>false</IsPackable>
<SelfContained>true</SelfContained>
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
<IncludeBuildOutput>false</IncludeBuildOutput>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<TargetName>Assembly-CSharp.APIPatcher.mm</TargetName>
</PropertyGroup>

<PropertyGroup>
<NoWarn>$(NoWarn);AD0001;CS0612;CS8604;CS0252;CS0618;Harmony003;Publicizer001</NoWarn>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<OutputPath>..\InscryptionAPI\Thunderstore-Package-Elements\monomod\</OutputPath>
</PropertyGroup>

<ItemGroup>
Expand All @@ -22,4 +33,16 @@
<ItemGroup>
<ProjectReference Private="false" Include="..\InscryptionAPI\InscryptionAPI.csproj" />
</ItemGroup>

<!--Net Framework References-->
<ItemGroup Condition="'$(TargetFramework.TrimEnd(`0123456789`))' == 'net'">
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.2" PrivateAssets="all" />
</ItemGroup>

<!--Cleanup Publish for our Build System-->
<Target Name="StripAllNuGetFromPublish" AfterTargets="ComputeFilesToPublish">
<ItemGroup>
<ResolvedFileToPublish Remove="@(ResolvedFileToPublish)" Condition="'%(ResolvedFileToPublish.Extension)' == '.dll' and '%(ResolvedFileToPublish.RelativePath)' != 'Assembly-CSharp.APIPatcher.mm.dll'" />
</ItemGroup>
</Target>
</Project>
7 changes: 7 additions & 0 deletions APIPatcher/ScriptableObjectLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,16 @@

namespace APIPatcher;

/// <summary>
/// Uses MonoMod to patch Unity's ScriptableObjectLoader to also use our version of the ScriptableObjectLoader seen in the Inscryption API itself.
/// </summary>
/// <typeparam name="T"></typeparam>
[MonoModPatch("global::ScriptableObjectLoader`1")]
internal class patch_ScriptableObjectLoader<T> : ScriptableObjectLoader<T> where T : UnityObject
{
/// <summary>
/// A List of AllData used within the overarching <see cref="ScriptableObjectLoader{T}"/> system, e.g. a List of <see cref="UnityObject"/>.
/// </summary>
new public static List<T> AllData
{
get
Expand Down
13 changes: 13 additions & 0 deletions APIPatcher/Singleton.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,16 @@

namespace APIPatcher;

/// <summary>
/// Uses MonoMod to patch the Singleton for later usability by the Inscryption API.
/// </summary>
/// <typeparam name="T">A ManagedBehaviour associated with the Singleton System.</typeparam>
[MonoModPatch("global::Singleton`1")]
internal class patch_Singleton<T> : Singleton<T> where T : ManagedBehaviour
{
/// <summary>
/// A simple function used to Find a Specified UnityObject of the specified Type within the Active Scene, if it fails it tosses a Warning.
/// </summary>
new protected static void FindInstance()
{
if (m_Instance == null)
Expand All @@ -21,7 +28,13 @@ internal class patch_Singleton<T> : Singleton<T> where T : ManagedBehaviour
}
}

/// <summary>
/// A simple class object for singletons in correlation with the API.
/// </summary>
internal static class Singleton
{
/// <summary>
/// A ManualLogSource specifically for logging issues related to Singletons.
/// </summary>
internal static readonly ManualLogSource SingletonLogSource = Logger.CreateLogSource("Singleton");
}
Loading
Loading