-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInkExample.csproj
More file actions
54 lines (46 loc) · 3.01 KB
/
Copy pathInkExample.csproj
File metadata and controls
54 lines (46 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<Project Sdk="Microsoft.NET.Sdk">
<!--
InkExample - a minimal MelonLoader (IL2CPP) mod showing how to add tattoos to the Schedule I tattoo shop
through the Inkorporated framework's public API. It loads an embedded PNG and registers it as a custom
tattoo in OnInitializeMelon. This is a TEMPLATE: clone it, point GameDir at your Schedule I install, and
build. See the repo README for the no-code pack route too.
References resolve straight from a normal modded install (no private build libs needed):
<GameDir>/MelonLoader/Il2CppAssemblies - game + Unity + il2cpp base assemblies
<GameDir>/MelonLoader/net6 - MelonLoader, Il2CppInterop.Runtime
<GameDir>/Mods - S1API + Inkorporated (install both first)
-->
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>disable</Nullable>
<LangVersion>latest</LangVersion>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<IsPackable>false</IsPackable>
<RootNamespace>InkExample</RootNamespace>
<AssemblyName>InkExample</AssemblyName>
<Version>1.0.0</Version>
<NoWarn>$(NoWarn);MSB3277;MSB3245</NoWarn>
<!-- Point this at your Schedule I install (override on the CLI: /p:GameDir="D:\path\to\Schedule I"). -->
<GameDir Condition="'$(GameDir)' == ''">D:\Launcher\SteamLibrary\steamapps\common\Schedule I</GameDir>
<Il2Cpp>$(GameDir)\MelonLoader\Il2CppAssemblies</Il2Cpp>
<MLNet6>$(GameDir)\MelonLoader\net6</MLNet6>
<ModsDir>$(GameDir)\Mods</ModsDir>
</PropertyGroup>
<ItemGroup>
<Reference Include="MelonLoader"><HintPath>$(MLNet6)\MelonLoader.dll</HintPath><Private>false</Private></Reference>
<Reference Include="Il2CppInterop.Runtime"><HintPath>$(MLNet6)\Il2CppInterop.Runtime.dll</HintPath><Private>false</Private></Reference>
<Reference Include="Il2Cppmscorlib"><HintPath>$(Il2Cpp)\Il2Cppmscorlib.dll</HintPath><Private>false</Private></Reference>
<Reference Include="Il2CppSystem"><HintPath>$(Il2Cpp)\Il2CppSystem.dll</HintPath><Private>false</Private></Reference>
<Reference Include="UnityEngine.CoreModule"><HintPath>$(Il2Cpp)\UnityEngine.CoreModule.dll</HintPath><Private>false</Private></Reference>
<!-- The framework + its API, and S1API for the PNG->Texture2D helper. Install both mods first. -->
<Reference Include="S1API.Il2Cpp.MelonLoader"><HintPath>$(ModsDir)\S1API.Il2Cpp.MelonLoader.dll</HintPath><Private>false</Private></Reference>
<Reference Include="Inkorporated"><HintPath>$(ModsDir)\Inkorporated.dll</HintPath><Private>false</Private></Reference>
</ItemGroup>
<!-- The demo tattoo PNG is embedded in the DLL (resource name: InkExample.Assets.ring_face.png). -->
<ItemGroup>
<EmbeddedResource Include="Assets\**" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="Build" Condition="'$(OS)' == 'Windows_NT' And Exists('$(ModsDir)')">
<Exec Command="cmd /c copy /Y "$(TargetPath)" "$(ModsDir)"" ContinueOnError="true" />
</Target>
</Project>