mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-25 23:18:44 -07:00
clientmod: build without a local Rec Room install
The mod resolves every game-side type at runtime via AccessTools.TypeByName, so the IL2CPP interop assemblies (Assembly-CSharp, Photon3Unity3D, UnityEngine.*) in the csproj were dead references. Dropped them entirely — only MelonLoader's own DLLs are actually needed at compile time. tools/build-patcher-zip.ps1 now downloads MelonLoader BEFORE the dotnet build and points MelonLoaderDir at the extracted contents, so a fresh contributor checkout builds the patcher zip cold with no Rec Room install required. (Previously the csproj defaulted RecRoomDir to a hardcoded user path and failed for anyone else.) Verified by deleting bin/obj and running the script from scratch on a machine without RecRoomDir set — produces a 20 MB zip with the same manifest/DLL/MelonLoader.zip layout as before.
This commit is contained in:
@@ -12,21 +12,22 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
MelonLoader 0.6.x build of the DorkNet client patches. This is the
|
||||
MelonLoader-targeted twin of DorkNet.ClientPatch (which is a BepInEx
|
||||
plugin). Both apply the same Harmony patches needed for the watch
|
||||
to point at a DorkNet server — Photon AppId override, .rec.net →
|
||||
custom-host URI rewrite, Photon CustomAuth identity injection, TLS
|
||||
trust bypass, Photon region shortcut.
|
||||
MelonLoader 0.6.x build of the DorkNet client patches. Resolves
|
||||
every game-side type at runtime via AccessTools.TypeByName, so
|
||||
Rec Room's IL2CPP-derived interop assemblies (Assembly-CSharp,
|
||||
Photon3Unity3D, UnityEngine.*) are NOT needed at compile time —
|
||||
they would be derivative works of the game anyway, so we never
|
||||
reference them. Only MelonLoader's own DLLs are needed.
|
||||
|
||||
Set MelonLoaderDir to <RecRoomInstall>\MelonLoader. Override on the
|
||||
command line:
|
||||
dotnet build -p:MelonLoaderDir=C:\... -p:Il2CppAssembliesDir=C:\...
|
||||
tools/build-patcher-zip.ps1 downloads the MelonLoader release zip
|
||||
and points MelonLoaderDir at its extracted contents, so a fresh
|
||||
contributor checkout builds without a local Rec Room install.
|
||||
|
||||
To build outside the script (manual dev loop):
|
||||
dotnet build -p:MelonLoaderDir=<path-to-extracted-MelonLoader>
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<RecRoomDir Condition="'$(RecRoomDir)' == ''">C:\Users\you\Documents\Recnet\dist\RecRoom-Clean-2020.03.10</RecRoomDir>
|
||||
<MelonLoaderDir Condition="'$(MelonLoaderDir)' == ''">$(RecRoomDir)\MelonLoader</MelonLoaderDir>
|
||||
<Il2CppAssembliesDir Condition="'$(Il2CppAssembliesDir)' == ''">$(MelonLoaderDir)\Il2CppAssemblies</Il2CppAssembliesDir>
|
||||
<MelonLoaderDir Condition="'$(MelonLoaderDir)' == ''">$(MSBuildThisFileDirectory)..\build\melonloader</MelonLoaderDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
@@ -46,31 +47,6 @@
|
||||
<HintPath>$(MelonLoaderDir)\net6\Il2CppInterop.Common.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
|
||||
<Reference Include="Il2Cppmscorlib">
|
||||
<HintPath>$(Il2CppAssembliesDir)\Il2Cppmscorlib.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="Il2CppSystem">
|
||||
<HintPath>$(Il2CppAssembliesDir)\Il2CppSystem.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp">
|
||||
<HintPath>$(Il2CppAssembliesDir)\Assembly-CSharp.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="Assembly-CSharp-firstpass">
|
||||
<HintPath>$(Il2CppAssembliesDir)\Assembly-CSharp-firstpass.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="Photon3Unity3D">
|
||||
<HintPath>$(Il2CppAssembliesDir)\Photon3Unity3D.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine.CoreModule">
|
||||
<HintPath>$(Il2CppAssembliesDir)\UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>false</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user