mirror of
https://github.com/JogmansonReal/Radicade.git
synced 2026-10-26 23:49:02 -07:00
Radicade Public Code
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# August 2023 interop repair
|
||||
|
||||
For the exact Rec Room 20230825 metadata header fingerprint and the installed
|
||||
BepInEx 6.0.0-be.697 loader. This fixes interop generation, not login or gameplay.
|
||||
It does not change GameAssembly.dll or the metadata used by the native game.
|
||||
|
||||
Requirements: Node.js, .NET 9 SDK, and the August build's BepInEx core libraries.
|
||||
Run from the repository root, with the game closed during installation.
|
||||
|
||||
```powershell
|
||||
$gameRoot = 'C:\RecRoom\2023-08-29T06-53-33Z'
|
||||
$core = Join-Path $gameRoot 'BepInEx\core'
|
||||
$metadataDir = Join-Path $gameRoot 'RecRoom_Data\il2cpp_data\Metadata'
|
||||
node tools/AugustInterop/normalize.cjs "$metadataDir\global-metadata.dat" artifacts/august-normalized-metadata.dat
|
||||
dotnet run --project tools/AugustInterop -- "$core" artifacts/august-normalized-metadata.dat "$gameRoot\GameAssembly.dll"
|
||||
```
|
||||
|
||||
The normalizer checks the exact shuffled header, table bounds, image/type counts,
|
||||
and every repaired module row. All other records remain unchanged. The C# tool
|
||||
uses the installed LibCpp2IL to verify metadata and native registration parsing.
|
||||
|
||||
To reproduce the loader modification, use the original loader backup as input:
|
||||
|
||||
```powershell
|
||||
dotnet run --project tools/AugustInterop -- --patch-loader "$core\BepInEx.Unity.IL2CPP.dll.before-august-interop" artifacts/BepInEx.Unity.IL2CPP.dll
|
||||
```
|
||||
|
||||
For a different installation path, pass `-p:BepInExCore=<path-to-core>` when
|
||||
building. The patch tool requires a separate output file and exactly one matching
|
||||
metadata filename instruction. Preserve the original loader before installation.
|
||||
|
||||
Installation performed locally:
|
||||
|
||||
- Normalized copy: `RecRoom_Data/il2cpp_data/Metadata/global-metadata.interop.dat`.
|
||||
- Modified loader: `BepInEx/core/BepInEx.Unity.IL2CPP.dll`.
|
||||
- Original loader: same path plus `.before-august-interop`.
|
||||
- Native `global-metadata.dat`: unchanged by this interop repair.
|
||||
|
||||
Launch `RecRoom.exe +forcemode:screen`. Successful generation ends with
|
||||
`Il2CppInteropGen ... Done!` and `Chainloader startup complete`, and writes
|
||||
`BepInEx/interop/assembly-hash.txt`. Keep `UpdateInteropAssemblies = true`.
|
||||
Do not copy March-generated interop assemblies into this build.
|
||||
|
||||
Rollback: close the game and restore the original loader from its backup. The
|
||||
separate normalized file can remain on disk; the original loader never reads it.
|
||||
The old loader will again reject this release's custom metadata if regeneration
|
||||
is needed. If the game build changes, this exact mapping must be revalidated.
|
||||
Reference in New Issue
Block a user