mirror of
https://github.com/NuclearPowered/Reactor.git
synced 2026-10-21 05:37:38 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6eb0bf19c3 | ||
|
|
f63569d2e0 | ||
|
|
c84d36a3f6 | ||
|
|
89146cea4f | ||
|
|
8553a2aa83 | ||
|
|
30027d89ea | ||
|
|
375a4170e7 | ||
|
|
4deb5f88b9 | ||
|
|
2407a99569 | ||
|
|
eded2830cc | ||
|
|
9ef4bd5dc6 | ||
|
|
678730ed0f | ||
|
|
da20e0990e | ||
|
|
9246458919 | ||
|
|
fa4cc03e33 |
No files matched your search
+2
-2
@@ -1,7 +1,7 @@
|
||||
<Project>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.662" Private="false" ExcludeAssets="runtime;native" />
|
||||
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2022.10.25" PrivateAssets="all" />
|
||||
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.670" Private="false" ExcludeAssets="runtime;native" />
|
||||
<PackageReference Include="AmongUs.GameLibs.Steam" Version="2023.7.11" PrivateAssets="all" />
|
||||
|
||||
<PackageReference Include="BepInEx.AutoPlugin" Version="1.1.0" PrivateAssets="all" />
|
||||
<PackageReference Include="BepInEx.IL2CPP.MSBuild" Version="2.0.1" PrivateAssets="all" ExcludeAssets="runtime" />
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
|
||||
|
||||
<VersionPrefix>2.0.0</VersionPrefix>
|
||||
<VersionPrefix>2.2.0</VersionPrefix>
|
||||
<VersionSuffix>dev</VersionSuffix>
|
||||
|
||||
<Authors>NuclearPowered</Authors>
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace Reactor.Benchmarks;
|
||||
[StopOnFirstError, Config(typeof(Config))]
|
||||
public class AssetBundleBenchmarks
|
||||
{
|
||||
private class Config : ManualConfig
|
||||
private sealed class Config : ManualConfig
|
||||
{
|
||||
public Config()
|
||||
{
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"net6.0": {
|
||||
"AmongUs.GameLibs.Steam": {
|
||||
"type": "Direct",
|
||||
"requested": "[2022.10.25, )",
|
||||
"resolved": "2022.10.25",
|
||||
"contentHash": "PWgkH/VvMlShVhZB8G432q0tnMaNVZrbIdbEMCZN/fETUlT/ch+qQj4PdTcZhPHREbnJHH3ijHxlca1d7QMBcQ=="
|
||||
"requested": "[2023.7.11, )",
|
||||
"resolved": "2023.7.11",
|
||||
"contentHash": "e5zbU+4AYnp1zAQDizO5GRIh1kemkgCa8rFVAcr9bxeupkBu5dwwdHxArWv/pUybIJTZfOPjkOnicZ2qKWLX7g=="
|
||||
},
|
||||
"BenchmarkDotNet": {
|
||||
"type": "Direct",
|
||||
@@ -42,19 +42,19 @@
|
||||
},
|
||||
"BepInEx.Unity.IL2CPP": {
|
||||
"type": "Direct",
|
||||
"requested": "[6.0.0-be.662, )",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "fn7jQ88IBmjssoY9XjGBTg3cULkS+N/le/eUijYf2VV8raWok/6cU/GbU9bejkJS8g+2MvzIwnROAhAxvrGI2Q==",
|
||||
"requested": "[6.0.0-be.670, )",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "dhzCrem44oFxhOICCJ9eoSUbaKSsGGyBUfUQW9WFljCwIK8o4Cx5BiuXAkYoRjr2DhpzLpPDyPZDRImUqH0bwA==",
|
||||
"dependencies": {
|
||||
"BepInEx.Core": "6.0.0-be.662",
|
||||
"BepInEx.Unity.Common": "6.0.0-be.662",
|
||||
"HarmonyX": "2.10.0",
|
||||
"Iced": "1.17.0",
|
||||
"Il2CppInterop.Generator": "1.3.0",
|
||||
"Il2CppInterop.HarmonySupport": "1.3.0",
|
||||
"Il2CppInterop.Runtime": "1.3.0",
|
||||
"BepInEx.Core": "6.0.0-be.670",
|
||||
"BepInEx.Unity.Common": "6.0.0-be.670",
|
||||
"HarmonyX": "2.10.1",
|
||||
"Iced": "1.18.0",
|
||||
"Il2CppInterop.Generator": "1.4.6-ci.354",
|
||||
"Il2CppInterop.HarmonySupport": "1.4.6-ci.354",
|
||||
"Il2CppInterop.Runtime": "1.4.6-ci.354",
|
||||
"MonoMod.RuntimeDetour": "22.5.1.1",
|
||||
"Samboy063.Cpp2IL.Core": "2022.0.7.2"
|
||||
"Samboy063.Cpp2IL.Core": "2022.1.0-development.866"
|
||||
}
|
||||
},
|
||||
"StyleCop.Analyzers": {
|
||||
@@ -66,10 +66,40 @@
|
||||
"StyleCop.Analyzers.Unstable": "1.2.0.435"
|
||||
}
|
||||
},
|
||||
"AsmResolver": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "7PjujQzgQ3wjzqZYT4CY8SV6zx7FY6swIwj3Yk4QLolLqo9sBPb7FLF3W30QFvCsCkNfiVWXlSbeZKs4xGgQOQ=="
|
||||
},
|
||||
"AsmResolver.DotNet": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "oKrBU94OaSrbbTwydvpLRFalYxozrNXGkl13nIkm823ZFQtPNYOiOMJb5DQLvkCJlWyis7q865tg803T5zg9IA==",
|
||||
"dependencies": {
|
||||
"AsmResolver.PE": "5.1.0",
|
||||
"System.Text.Json": "6.0.7"
|
||||
}
|
||||
},
|
||||
"AsmResolver.PE": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "XD3iAgLSInJIODKUUlpHWXf8MR9H1SFMb1lsmabb4GxxxnDQRPjMxjglv2NOCjQQuNB2Oh0bvjHE7ewf82UqyQ==",
|
||||
"dependencies": {
|
||||
"AsmResolver.PE.File": "5.1.0"
|
||||
}
|
||||
},
|
||||
"AsmResolver.PE.File": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "YituBYe0Fh471sXQMfu+f4tWKX/JZvRwrX6g/SVsr4XkUIUzYi/aGT3/QvjHoYx19fE1KYOB6zBKqPkkOK7HPw==",
|
||||
"dependencies": {
|
||||
"AsmResolver": "5.1.0"
|
||||
}
|
||||
},
|
||||
"AssetRipper.VersionUtilities": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.1",
|
||||
"contentHash": "knQ/W1YwTZS2AbdaZh+nhyyBEZQPQDcahhSOnh88i+cdg4/FEoFJiCwaavgFvCMNuUeHTbcZc4qttF8WQ8xLIA=="
|
||||
"resolved": "1.3.1",
|
||||
"contentHash": "/1D18NOpqm7rS7+qVUbAReVMNWwgDuYpsnf0RkX1Aah/I0a0irqldoFJ+Kku7YdbSm0zqD+Z6iYUGKoP3GwTNQ=="
|
||||
},
|
||||
"BenchmarkDotNet.Annotations": {
|
||||
"type": "Transitive",
|
||||
@@ -78,18 +108,18 @@
|
||||
},
|
||||
"BepInEx.Core": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "VVBeCD/KQVy0/TK3V6SD8QZ/es35Xb1mEz/+PbBs3ST1yUC1r7k2JOymhSnmghVqf6UsvlMglOO9pljqhuE/Pw==",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "7CbbMNZfb+1VHjFKh/ErFBOOEYrVCIkng/B3/HPcbNioySC7qdT1ztfYqs6YjQia4krEic+LV3ew86B/hTg+hw==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.10.0",
|
||||
"HarmonyX": "2.10.1",
|
||||
"MonoMod.Utils": "22.5.1.1",
|
||||
"SemanticVersioning": "2.0.2"
|
||||
}
|
||||
},
|
||||
"BepInEx.Unity.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "BgETw6+snwY//3xjQxLiiEAFRmXaMTcSkg+1UQz6fVBG0YA5Usm/m4GflhTc3nwF61KO3Iznn1AORi5CwLJoUw==",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "FSzWILgwepZ7CpA34ew1WyO75lNjxkfX86uwo2172lbhmLkgoAdQbNun8dxKJCDlIevmTDga76yr/WPrTXELvA==",
|
||||
"dependencies": {
|
||||
"AssetRipper.VersionUtilities": "1.2.1",
|
||||
"MonoMod.Utils": "22.5.1.1"
|
||||
@@ -100,10 +130,15 @@
|
||||
"resolved": "2.4.3",
|
||||
"contentHash": "U2FC9Y8NyIxxU6MpFFdWWu1xwiqz/61v/Doou7kmVjpeIEMLWyiNNkzNlSE84kyJ0O1LKApuEj5z48Ow0Hi4OQ=="
|
||||
},
|
||||
"Disarm": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.1.0-master.26",
|
||||
"contentHash": "YnZEbRGr0nG+N3G8WbRQ4Lkg8dTD3oso9iJlCVBmyhEyhLyqs+drBs1kWQbQqFPnb9mi/RJ++R9bPb+L3HF03Q=="
|
||||
},
|
||||
"HarmonyX": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.10.0",
|
||||
"contentHash": "4ayiy/dlCiW86K2N7Jvbf+VpI5wvP7dncv/6oRmfwRi32UCmCRzCGzsxdMfzJZkp6/26oBW+DrD8vi4UejzVAg==",
|
||||
"resolved": "2.10.1",
|
||||
"contentHash": "9LodMC9Y0u1TW96eKJoWrFJFpmzbgojEO38/Q+e7c1mFPhmHt8xcR8qhI06iF1rf0Dnsk+hqENFVSgbtwl/bEw==",
|
||||
"dependencies": {
|
||||
"MonoMod.RuntimeDetour": "22.3.23.4",
|
||||
"System.Reflection.Emit": "4.7.0"
|
||||
@@ -111,13 +146,13 @@
|
||||
},
|
||||
"Iced": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.17.0",
|
||||
"contentHash": "8x+HCVTl/HHTGpscH3vMBhV8sknN/muZFw9s3TsI8SA6+c43cOTCi2+jE4KsU8pNLbJ++iF2ZFcpcXHXtDglnw=="
|
||||
"resolved": "1.18.0",
|
||||
"contentHash": "G60lZOvbvqttA+SBSv/yY6/wUboXKJlkffhSNR9iOrx0M5gpcK1TRr6xrFR+qAhqIAhvrsPF1jkn9fYb4lEufQ=="
|
||||
},
|
||||
"Il2CppInterop.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "IR3BrZXvL2nvJAn4pruPMgC78Y87hVa5xTYZCuHN67OzRD6WDl5dTO55vtvTl8dXFALKvlN+spja2tXhVuquOw==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "aCP3kr39YQw5GVqE9Q8c5y7f9CEKdFxpUhIqYgQBtrEz5Z/KCbHhjuOf/lSuFrjl6Vub/BKk6k+UbMRdoSvC1w==",
|
||||
"dependencies": {
|
||||
"Iced": "1.17.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "6.0.1",
|
||||
@@ -126,63 +161,36 @@
|
||||
},
|
||||
"Il2CppInterop.Generator": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "FuhPxbh/K4K94U3xac/ClMaaBp+MZ4aIaqi5dR0QihyGQoombT+OM/A22RwAIzbaCTbFbvabWaAuOSgB69ZwWQ==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "y30sxc9mMv0bUzCPDr73xiI6fiu7ksmnEm6XULTGU/5JEGv2aw++/71bLOEYCscNbZTa2JT4yYrLCXCj3GSekg==",
|
||||
"dependencies": {
|
||||
"Il2CppInterop.Common": "1.3.0",
|
||||
"Il2CppInterop.Common": "1.4.6-ci.354",
|
||||
"Mono.Cecil": "0.11.3"
|
||||
}
|
||||
},
|
||||
"Il2CppInterop.HarmonySupport": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "VppBnXtbMNGFhX8a1gg/85E883t2pW/+FZyV7eOaOXMNQyorg++u+kUFOIYwNpzTVqxWmMeoPS0DH0toVpjoKA==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "mQV5A+B/qtI6kSXEGx/UswiqjFKw13/yyviawnStfRKbLMW+XFsdMgGSkOVZd/TiDtF9ZG4Xt7DbkbFu26WjyA==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.10.0",
|
||||
"Il2CppInterop.Runtime": "1.3.0"
|
||||
"Il2CppInterop.Runtime": "1.4.6-ci.354"
|
||||
}
|
||||
},
|
||||
"Il2CppInterop.Runtime": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "8A+N2yvja960Ap+s2RpW7Nb6HSpyuXJy2ipIlU+1erYU9SWHMyU9JZzUZGOhwWXJChKGvRmDdTZAg12k1+72dg==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "Xe5md9z+KIthdEcjfUjmoOhvM3gTI3SPyocqvuzEHoov5jQ/HhIPv5hUZzTSm+2nzn3XplENNE8vlBPvQ1o6OA==",
|
||||
"dependencies": {
|
||||
"Iced": "1.17.0",
|
||||
"Il2CppInterop.Common": "1.3.0"
|
||||
"Il2CppInterop.Common": "1.4.6-ci.354"
|
||||
}
|
||||
},
|
||||
"IndexRange": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.0.0",
|
||||
"contentHash": "6TgS1JLSUkpmPLfXBPaAgB39ZUix8E4soXWk2XSDcscVe84i1JKzIAtA7jHbRHSkOOrcr6YA0MpLCeq98y9mYQ=="
|
||||
},
|
||||
"js6pak.Gee.External.Capstone": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.1.0",
|
||||
"contentHash": "YYpq7NM50bSSVUDjXyV/eiITk6syXqItPjKBOb3jEWS6RFsk0DNhpWMPW6b3hKDmArARuWDU6S2pVu1IeVrvIA=="
|
||||
},
|
||||
"Linguini.Bundle": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.1",
|
||||
"contentHash": "k3D0IBSsS91T0G9rYACRYtAS27NDTGz4T3ygHhbhaFdA9i3cCfCpR39MqYEpoA1Ark3lzmvklHePmRCX5EQi1A==",
|
||||
"dependencies": {
|
||||
"Linguini.Shared": "0.3.0",
|
||||
"Linguini.Syntax": "0.3.0"
|
||||
}
|
||||
},
|
||||
"Linguini.Shared": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "rEYA9jWU1Nc9iDuPKar+4IVXjFbGrcNyYZCeU6hiWQoS4nA2UecHu36Rp4bxzasvRGda4FB2JZqty75m4e26VQ=="
|
||||
},
|
||||
"Linguini.Syntax": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "v8YV3xPFZfP+OSWjMd6yysp+o7cNnQXxq/slN8Yekoi+dFjsTNF0YiQWJIwg1j2FUbs6claJxY9R1FFlc4s6MA==",
|
||||
"dependencies": {
|
||||
"Linguini.Shared": "0.3.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Bcl.AsyncInterfaces": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.1.0",
|
||||
@@ -462,38 +470,41 @@
|
||||
},
|
||||
"Samboy063.Cpp2IL.Core": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.7.2",
|
||||
"contentHash": "e17CAhKSxdAp7vFcYEVxjSc7t7rcvVGBipGhgE9tAjRXY85wZXLlHEVO0AEvMRkLmf9U+if4wK/nZEC1AX6VqQ==",
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "QPMuix/3jRngWBdNSLhAbm9BHYf95Ln1Ph1eCK/cDZdVibxFDFP3a6Yczyx1p7GbN7bRQwrhs2skPJSS/z3m2w==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.5.5",
|
||||
"Iced": "1.11.1",
|
||||
"IndexRange": "1.0.0",
|
||||
"Mono.Cecil": "0.11.4",
|
||||
"Samboy063.LibCpp2IL": "2022.0.7.2",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.ValueTuple": "4.5.0",
|
||||
"AsmResolver.DotNet": "5.1.0",
|
||||
"Disarm": "2022.1.0-master.26",
|
||||
"Iced": "1.18.0",
|
||||
"Samboy063.LibCpp2IL": "2022.1.0-development.866",
|
||||
"StableNameDotNet": "0.1.0-development.866",
|
||||
"js6pak.Gee.External.Capstone": "2.1.0"
|
||||
}
|
||||
},
|
||||
"Samboy063.LibCpp2IL": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.7.2",
|
||||
"contentHash": "DpVeU0dQkUJCpbw0f1xKOG8vimdK2oYhrVABC7HDE3/ikGjhnMZd3i5b1joKDHZ+AiL90TWOaEXPcy24rCZ0dA==",
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "EcJSWTfQko8SQozozoUT+aQJVWC8wj8C0YUiPBF4rNRId19yTKp2IXcXnI747v+8/aal222QR6WHfoBK2WlVLg==",
|
||||
"dependencies": {
|
||||
"IndexRange": "1.0.0",
|
||||
"Samboy063.WasmDisassembler": "2022.0.2"
|
||||
"AssetRipper.VersionUtilities": "1.3.1",
|
||||
"Samboy063.WasmDisassembler": "2022.1.0-development.866"
|
||||
}
|
||||
},
|
||||
"Samboy063.WasmDisassembler": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.2",
|
||||
"contentHash": "2uu+xBb7M3HKfBx9tAY6jiDieAf0hRnQjSmGX+7IdE6i24dYsx6TYgtrLvRx5lOuF2M8DijZ5H8yQ1pcuCs2SA=="
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "2QK8F3eISkLcoW/Nt7wtxyQh31EXAqEMBVXXjEnuxyvXpBXxOIGpjmE3pWhGwxQwDCbe4zBsLF1zUiqq3/pXRA=="
|
||||
},
|
||||
"SemanticVersioning": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.0.2",
|
||||
"contentHash": "4EQgYdNZ92SyaO7YFk6olVnebF5V+jrHyMUjvPq89tLeMo8NSfgDF+6Zwq/lgh9j/0yfQp9Lkm0ZA0rUATCZFA=="
|
||||
},
|
||||
"StableNameDotNet": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.1.0-development.866",
|
||||
"contentHash": "DJb8x4dV3ucDgM12sU28HxCdeqY/JudJbeJG6mgXWDJzpFZw2Jd7JF1pKFRNLzh/0gpo8bCGLQS9gOWZmBjdtg=="
|
||||
},
|
||||
"StyleCop.Analyzers.Unstable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.0.435",
|
||||
@@ -854,8 +865,8 @@
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.0.0",
|
||||
"contentHash": "ZD9TMpsmYJLrxbbmdvhwt9YEgG5WntEnZ/d1eH8JBX9LBp+Ju8BSBhUGbZMNVHHomWo2KVImJhTDl2hIgw/6MA=="
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
||||
},
|
||||
"System.Runtime.Extensions": {
|
||||
"type": "Transitive",
|
||||
@@ -1064,6 +1075,23 @@
|
||||
"System.Runtime.CompilerServices.Unsafe": "4.5.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Json": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.7",
|
||||
"contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||
"System.Text.Encodings.Web": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Threading": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
@@ -1088,16 +1116,10 @@
|
||||
"resolved": "4.5.4",
|
||||
"contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg=="
|
||||
},
|
||||
"System.ValueTuple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.0",
|
||||
"contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ=="
|
||||
},
|
||||
"reactor": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
"BepInEx.Unity.IL2CPP": "[6.0.0-be.662, )",
|
||||
"Linguini.Bundle": "[0.3.1, )"
|
||||
"BepInEx.Unity.IL2CPP": "[6.0.0-be.670, )"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using AmongUs.Data;
|
||||
using AmongUs.GameOptions;
|
||||
using BepInEx;
|
||||
using BepInEx.Unity.IL2CPP;
|
||||
using HarmonyLib;
|
||||
@@ -25,8 +26,15 @@ public partial class DebuggerPlugin : BasePlugin
|
||||
{
|
||||
Component = this.AddComponent<DebuggerComponent>();
|
||||
|
||||
GameOptionsData.MaxImpostors = GameOptionsData.RecommendedImpostors = Enumerable.Repeat((int) byte.MaxValue, byte.MaxValue).ToArray();
|
||||
GameOptionsData.MinPlayers = Enumerable.Repeat(1, 4).ToArray();
|
||||
var maxImpostors = (Il2CppStructArray<int>) Enumerable.Repeat((int) byte.MaxValue, byte.MaxValue).ToArray();
|
||||
GameOptionsData.MaxImpostors = GameOptionsData.RecommendedImpostors = maxImpostors;
|
||||
NormalGameOptionsV07.MaxImpostors = NormalGameOptionsV07.RecommendedImpostors = maxImpostors;
|
||||
HideNSeekGameOptionsV07.MaxImpostors = maxImpostors;
|
||||
|
||||
var minPlayers = (Il2CppStructArray<int>) Enumerable.Repeat(1, byte.MaxValue).ToArray();
|
||||
GameOptionsData.MinPlayers = minPlayers;
|
||||
NormalGameOptionsV07.MinPlayers = minPlayers;
|
||||
HideNSeekGameOptionsV07.MinPlayers = minPlayers;
|
||||
|
||||
Harmony.PatchAll();
|
||||
}
|
||||
@@ -52,7 +60,7 @@ public partial class DebuggerPlugin : BasePlugin
|
||||
if (GUILayout.Button("Force game end"))
|
||||
{
|
||||
ShipStatus.Instance.enabled = false;
|
||||
ShipStatus.RpcEndGame(GameOverReason.ImpostorDisconnect, false);
|
||||
GameManager.Instance.RpcEndGame(GameOverReason.ImpostorDisconnect, false);
|
||||
}
|
||||
|
||||
if (GUILayout.Button("Call a meeting"))
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Linq;
|
||||
using AmongUs.GameOptions;
|
||||
using HarmonyLib;
|
||||
using Il2CppInterop.Runtime.InteropTypes.Arrays;
|
||||
using Reactor.Utilities;
|
||||
@@ -35,10 +36,13 @@ internal static class Patches
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(ShipStatus), nameof(ShipStatus.CheckEndCriteria))]
|
||||
[HarmonyPatch]
|
||||
[HarmonyPriority(Priority.First)]
|
||||
public static class CheckEndCriteriaPatch
|
||||
{
|
||||
[HarmonyPatch(typeof(LogicGameFlow), nameof(LogicGameFlow.CheckEndCriteria))]
|
||||
[HarmonyPatch(typeof(LogicGameFlowNormal), nameof(LogicGameFlow.CheckEndCriteria))]
|
||||
[HarmonyPatch(typeof(LogicGameFlowHnS), nameof(LogicGameFlow.CheckEndCriteria))]
|
||||
public static bool Prefix()
|
||||
{
|
||||
return !PluginSingleton<DebuggerPlugin>.Instance.Component.DisableGameEnd;
|
||||
@@ -61,6 +65,8 @@ internal static class Patches
|
||||
{
|
||||
public static void Postfix(GameOptionsMenu __instance)
|
||||
{
|
||||
if (GameOptionsManager.Instance.CurrentGameOptions.GameMode != GameModes.Normal) return;
|
||||
|
||||
__instance.Children
|
||||
.Single(o => o.Title == StringNames.GameNumImpostors)
|
||||
.Cast<NumberOption>()
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"net6.0": {
|
||||
"AmongUs.GameLibs.Steam": {
|
||||
"type": "Direct",
|
||||
"requested": "[2022.10.25, )",
|
||||
"resolved": "2022.10.25",
|
||||
"contentHash": "PWgkH/VvMlShVhZB8G432q0tnMaNVZrbIdbEMCZN/fETUlT/ch+qQj4PdTcZhPHREbnJHH3ijHxlca1d7QMBcQ=="
|
||||
"requested": "[2023.7.11, )",
|
||||
"resolved": "2023.7.11",
|
||||
"contentHash": "e5zbU+4AYnp1zAQDizO5GRIh1kemkgCa8rFVAcr9bxeupkBu5dwwdHxArWv/pUybIJTZfOPjkOnicZ2qKWLX7g=="
|
||||
},
|
||||
"BepInEx.AutoPlugin": {
|
||||
"type": "Direct",
|
||||
@@ -22,19 +22,19 @@
|
||||
},
|
||||
"BepInEx.Unity.IL2CPP": {
|
||||
"type": "Direct",
|
||||
"requested": "[6.0.0-be.662, )",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "fn7jQ88IBmjssoY9XjGBTg3cULkS+N/le/eUijYf2VV8raWok/6cU/GbU9bejkJS8g+2MvzIwnROAhAxvrGI2Q==",
|
||||
"requested": "[6.0.0-be.670, )",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "dhzCrem44oFxhOICCJ9eoSUbaKSsGGyBUfUQW9WFljCwIK8o4Cx5BiuXAkYoRjr2DhpzLpPDyPZDRImUqH0bwA==",
|
||||
"dependencies": {
|
||||
"BepInEx.Core": "6.0.0-be.662",
|
||||
"BepInEx.Unity.Common": "6.0.0-be.662",
|
||||
"HarmonyX": "2.10.0",
|
||||
"Iced": "1.17.0",
|
||||
"Il2CppInterop.Generator": "1.3.0",
|
||||
"Il2CppInterop.HarmonySupport": "1.3.0",
|
||||
"Il2CppInterop.Runtime": "1.3.0",
|
||||
"BepInEx.Core": "6.0.0-be.670",
|
||||
"BepInEx.Unity.Common": "6.0.0-be.670",
|
||||
"HarmonyX": "2.10.1",
|
||||
"Iced": "1.18.0",
|
||||
"Il2CppInterop.Generator": "1.4.6-ci.354",
|
||||
"Il2CppInterop.HarmonySupport": "1.4.6-ci.354",
|
||||
"Il2CppInterop.Runtime": "1.4.6-ci.354",
|
||||
"MonoMod.RuntimeDetour": "22.5.1.1",
|
||||
"Samboy063.Cpp2IL.Core": "2022.0.7.2"
|
||||
"Samboy063.Cpp2IL.Core": "2022.1.0-development.866"
|
||||
}
|
||||
},
|
||||
"StyleCop.Analyzers": {
|
||||
@@ -46,34 +46,69 @@
|
||||
"StyleCop.Analyzers.Unstable": "1.2.0.435"
|
||||
}
|
||||
},
|
||||
"AsmResolver": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "7PjujQzgQ3wjzqZYT4CY8SV6zx7FY6swIwj3Yk4QLolLqo9sBPb7FLF3W30QFvCsCkNfiVWXlSbeZKs4xGgQOQ=="
|
||||
},
|
||||
"AsmResolver.DotNet": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "oKrBU94OaSrbbTwydvpLRFalYxozrNXGkl13nIkm823ZFQtPNYOiOMJb5DQLvkCJlWyis7q865tg803T5zg9IA==",
|
||||
"dependencies": {
|
||||
"AsmResolver.PE": "5.1.0",
|
||||
"System.Text.Json": "6.0.7"
|
||||
}
|
||||
},
|
||||
"AsmResolver.PE": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "XD3iAgLSInJIODKUUlpHWXf8MR9H1SFMb1lsmabb4GxxxnDQRPjMxjglv2NOCjQQuNB2Oh0bvjHE7ewf82UqyQ==",
|
||||
"dependencies": {
|
||||
"AsmResolver.PE.File": "5.1.0"
|
||||
}
|
||||
},
|
||||
"AsmResolver.PE.File": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "YituBYe0Fh471sXQMfu+f4tWKX/JZvRwrX6g/SVsr4XkUIUzYi/aGT3/QvjHoYx19fE1KYOB6zBKqPkkOK7HPw==",
|
||||
"dependencies": {
|
||||
"AsmResolver": "5.1.0"
|
||||
}
|
||||
},
|
||||
"AssetRipper.VersionUtilities": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.1",
|
||||
"contentHash": "knQ/W1YwTZS2AbdaZh+nhyyBEZQPQDcahhSOnh88i+cdg4/FEoFJiCwaavgFvCMNuUeHTbcZc4qttF8WQ8xLIA=="
|
||||
"resolved": "1.3.1",
|
||||
"contentHash": "/1D18NOpqm7rS7+qVUbAReVMNWwgDuYpsnf0RkX1Aah/I0a0irqldoFJ+Kku7YdbSm0zqD+Z6iYUGKoP3GwTNQ=="
|
||||
},
|
||||
"BepInEx.Core": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "VVBeCD/KQVy0/TK3V6SD8QZ/es35Xb1mEz/+PbBs3ST1yUC1r7k2JOymhSnmghVqf6UsvlMglOO9pljqhuE/Pw==",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "7CbbMNZfb+1VHjFKh/ErFBOOEYrVCIkng/B3/HPcbNioySC7qdT1ztfYqs6YjQia4krEic+LV3ew86B/hTg+hw==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.10.0",
|
||||
"HarmonyX": "2.10.1",
|
||||
"MonoMod.Utils": "22.5.1.1",
|
||||
"SemanticVersioning": "2.0.2"
|
||||
}
|
||||
},
|
||||
"BepInEx.Unity.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "BgETw6+snwY//3xjQxLiiEAFRmXaMTcSkg+1UQz6fVBG0YA5Usm/m4GflhTc3nwF61KO3Iznn1AORi5CwLJoUw==",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "FSzWILgwepZ7CpA34ew1WyO75lNjxkfX86uwo2172lbhmLkgoAdQbNun8dxKJCDlIevmTDga76yr/WPrTXELvA==",
|
||||
"dependencies": {
|
||||
"AssetRipper.VersionUtilities": "1.2.1",
|
||||
"MonoMod.Utils": "22.5.1.1"
|
||||
}
|
||||
},
|
||||
"Disarm": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.1.0-master.26",
|
||||
"contentHash": "YnZEbRGr0nG+N3G8WbRQ4Lkg8dTD3oso9iJlCVBmyhEyhLyqs+drBs1kWQbQqFPnb9mi/RJ++R9bPb+L3HF03Q=="
|
||||
},
|
||||
"HarmonyX": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.10.0",
|
||||
"contentHash": "4ayiy/dlCiW86K2N7Jvbf+VpI5wvP7dncv/6oRmfwRi32UCmCRzCGzsxdMfzJZkp6/26oBW+DrD8vi4UejzVAg==",
|
||||
"resolved": "2.10.1",
|
||||
"contentHash": "9LodMC9Y0u1TW96eKJoWrFJFpmzbgojEO38/Q+e7c1mFPhmHt8xcR8qhI06iF1rf0Dnsk+hqENFVSgbtwl/bEw==",
|
||||
"dependencies": {
|
||||
"MonoMod.RuntimeDetour": "22.3.23.4",
|
||||
"System.Reflection.Emit": "4.7.0"
|
||||
@@ -81,13 +116,13 @@
|
||||
},
|
||||
"Iced": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.17.0",
|
||||
"contentHash": "8x+HCVTl/HHTGpscH3vMBhV8sknN/muZFw9s3TsI8SA6+c43cOTCi2+jE4KsU8pNLbJ++iF2ZFcpcXHXtDglnw=="
|
||||
"resolved": "1.18.0",
|
||||
"contentHash": "G60lZOvbvqttA+SBSv/yY6/wUboXKJlkffhSNR9iOrx0M5gpcK1TRr6xrFR+qAhqIAhvrsPF1jkn9fYb4lEufQ=="
|
||||
},
|
||||
"Il2CppInterop.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "IR3BrZXvL2nvJAn4pruPMgC78Y87hVa5xTYZCuHN67OzRD6WDl5dTO55vtvTl8dXFALKvlN+spja2tXhVuquOw==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "aCP3kr39YQw5GVqE9Q8c5y7f9CEKdFxpUhIqYgQBtrEz5Z/KCbHhjuOf/lSuFrjl6Vub/BKk6k+UbMRdoSvC1w==",
|
||||
"dependencies": {
|
||||
"Iced": "1.17.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "6.0.1",
|
||||
@@ -96,63 +131,36 @@
|
||||
},
|
||||
"Il2CppInterop.Generator": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "FuhPxbh/K4K94U3xac/ClMaaBp+MZ4aIaqi5dR0QihyGQoombT+OM/A22RwAIzbaCTbFbvabWaAuOSgB69ZwWQ==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "y30sxc9mMv0bUzCPDr73xiI6fiu7ksmnEm6XULTGU/5JEGv2aw++/71bLOEYCscNbZTa2JT4yYrLCXCj3GSekg==",
|
||||
"dependencies": {
|
||||
"Il2CppInterop.Common": "1.3.0",
|
||||
"Il2CppInterop.Common": "1.4.6-ci.354",
|
||||
"Mono.Cecil": "0.11.3"
|
||||
}
|
||||
},
|
||||
"Il2CppInterop.HarmonySupport": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "VppBnXtbMNGFhX8a1gg/85E883t2pW/+FZyV7eOaOXMNQyorg++u+kUFOIYwNpzTVqxWmMeoPS0DH0toVpjoKA==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "mQV5A+B/qtI6kSXEGx/UswiqjFKw13/yyviawnStfRKbLMW+XFsdMgGSkOVZd/TiDtF9ZG4Xt7DbkbFu26WjyA==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.10.0",
|
||||
"Il2CppInterop.Runtime": "1.3.0"
|
||||
"Il2CppInterop.Runtime": "1.4.6-ci.354"
|
||||
}
|
||||
},
|
||||
"Il2CppInterop.Runtime": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "8A+N2yvja960Ap+s2RpW7Nb6HSpyuXJy2ipIlU+1erYU9SWHMyU9JZzUZGOhwWXJChKGvRmDdTZAg12k1+72dg==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "Xe5md9z+KIthdEcjfUjmoOhvM3gTI3SPyocqvuzEHoov5jQ/HhIPv5hUZzTSm+2nzn3XplENNE8vlBPvQ1o6OA==",
|
||||
"dependencies": {
|
||||
"Iced": "1.17.0",
|
||||
"Il2CppInterop.Common": "1.3.0"
|
||||
"Il2CppInterop.Common": "1.4.6-ci.354"
|
||||
}
|
||||
},
|
||||
"IndexRange": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.0.0",
|
||||
"contentHash": "6TgS1JLSUkpmPLfXBPaAgB39ZUix8E4soXWk2XSDcscVe84i1JKzIAtA7jHbRHSkOOrcr6YA0MpLCeq98y9mYQ=="
|
||||
},
|
||||
"js6pak.Gee.External.Capstone": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.1.0",
|
||||
"contentHash": "YYpq7NM50bSSVUDjXyV/eiITk6syXqItPjKBOb3jEWS6RFsk0DNhpWMPW6b3hKDmArARuWDU6S2pVu1IeVrvIA=="
|
||||
},
|
||||
"Linguini.Bundle": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.1",
|
||||
"contentHash": "k3D0IBSsS91T0G9rYACRYtAS27NDTGz4T3ygHhbhaFdA9i3cCfCpR39MqYEpoA1Ark3lzmvklHePmRCX5EQi1A==",
|
||||
"dependencies": {
|
||||
"Linguini.Shared": "0.3.0",
|
||||
"Linguini.Syntax": "0.3.0"
|
||||
}
|
||||
},
|
||||
"Linguini.Shared": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "rEYA9jWU1Nc9iDuPKar+4IVXjFbGrcNyYZCeU6hiWQoS4nA2UecHu36Rp4bxzasvRGda4FB2JZqty75m4e26VQ=="
|
||||
},
|
||||
"Linguini.Syntax": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "v8YV3xPFZfP+OSWjMd6yysp+o7cNnQXxq/slN8Yekoi+dFjsTNF0YiQWJIwg1j2FUbs6claJxY9R1FFlc4s6MA==",
|
||||
"dependencies": {
|
||||
"Linguini.Shared": "0.3.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.1",
|
||||
@@ -302,38 +310,41 @@
|
||||
},
|
||||
"Samboy063.Cpp2IL.Core": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.7.2",
|
||||
"contentHash": "e17CAhKSxdAp7vFcYEVxjSc7t7rcvVGBipGhgE9tAjRXY85wZXLlHEVO0AEvMRkLmf9U+if4wK/nZEC1AX6VqQ==",
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "QPMuix/3jRngWBdNSLhAbm9BHYf95Ln1Ph1eCK/cDZdVibxFDFP3a6Yczyx1p7GbN7bRQwrhs2skPJSS/z3m2w==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.5.5",
|
||||
"Iced": "1.11.1",
|
||||
"IndexRange": "1.0.0",
|
||||
"Mono.Cecil": "0.11.4",
|
||||
"Samboy063.LibCpp2IL": "2022.0.7.2",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.ValueTuple": "4.5.0",
|
||||
"AsmResolver.DotNet": "5.1.0",
|
||||
"Disarm": "2022.1.0-master.26",
|
||||
"Iced": "1.18.0",
|
||||
"Samboy063.LibCpp2IL": "2022.1.0-development.866",
|
||||
"StableNameDotNet": "0.1.0-development.866",
|
||||
"js6pak.Gee.External.Capstone": "2.1.0"
|
||||
}
|
||||
},
|
||||
"Samboy063.LibCpp2IL": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.7.2",
|
||||
"contentHash": "DpVeU0dQkUJCpbw0f1xKOG8vimdK2oYhrVABC7HDE3/ikGjhnMZd3i5b1joKDHZ+AiL90TWOaEXPcy24rCZ0dA==",
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "EcJSWTfQko8SQozozoUT+aQJVWC8wj8C0YUiPBF4rNRId19yTKp2IXcXnI747v+8/aal222QR6WHfoBK2WlVLg==",
|
||||
"dependencies": {
|
||||
"IndexRange": "1.0.0",
|
||||
"Samboy063.WasmDisassembler": "2022.0.2"
|
||||
"AssetRipper.VersionUtilities": "1.3.1",
|
||||
"Samboy063.WasmDisassembler": "2022.1.0-development.866"
|
||||
}
|
||||
},
|
||||
"Samboy063.WasmDisassembler": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.2",
|
||||
"contentHash": "2uu+xBb7M3HKfBx9tAY6jiDieAf0hRnQjSmGX+7IdE6i24dYsx6TYgtrLvRx5lOuF2M8DijZ5H8yQ1pcuCs2SA=="
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "2QK8F3eISkLcoW/Nt7wtxyQh31EXAqEMBVXXjEnuxyvXpBXxOIGpjmE3pWhGwxQwDCbe4zBsLF1zUiqq3/pXRA=="
|
||||
},
|
||||
"SemanticVersioning": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.0.2",
|
||||
"contentHash": "4EQgYdNZ92SyaO7YFk6olVnebF5V+jrHyMUjvPq89tLeMo8NSfgDF+6Zwq/lgh9j/0yfQp9Lkm0ZA0rUATCZFA=="
|
||||
},
|
||||
"StableNameDotNet": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.1.0-development.866",
|
||||
"contentHash": "DJb8x4dV3ucDgM12sU28HxCdeqY/JudJbeJG6mgXWDJzpFZw2Jd7JF1pKFRNLzh/0gpo8bCGLQS9gOWZmBjdtg=="
|
||||
},
|
||||
"StyleCop.Analyzers.Unstable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.0.435",
|
||||
@@ -664,6 +675,11 @@
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
||||
},
|
||||
"System.Runtime.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
@@ -862,6 +878,23 @@
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Json": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.7",
|
||||
"contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||
"System.Text.Encodings.Web": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Threading": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
@@ -881,16 +914,10 @@
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.ValueTuple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.0",
|
||||
"contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ=="
|
||||
},
|
||||
"reactor": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
"BepInEx.Unity.IL2CPP": "[6.0.0-be.662, )",
|
||||
"Linguini.Bundle": "[0.3.1, )"
|
||||
"BepInEx.Unity.IL2CPP": "[6.0.0-be.670, )"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"net6.0": {
|
||||
"AmongUs.GameLibs.Steam": {
|
||||
"type": "Direct",
|
||||
"requested": "[2022.10.25, )",
|
||||
"resolved": "2022.10.25",
|
||||
"contentHash": "PWgkH/VvMlShVhZB8G432q0tnMaNVZrbIdbEMCZN/fETUlT/ch+qQj4PdTcZhPHREbnJHH3ijHxlca1d7QMBcQ=="
|
||||
"requested": "[2023.7.11, )",
|
||||
"resolved": "2023.7.11",
|
||||
"contentHash": "e5zbU+4AYnp1zAQDizO5GRIh1kemkgCa8rFVAcr9bxeupkBu5dwwdHxArWv/pUybIJTZfOPjkOnicZ2qKWLX7g=="
|
||||
},
|
||||
"BepInEx.AutoPlugin": {
|
||||
"type": "Direct",
|
||||
@@ -22,19 +22,19 @@
|
||||
},
|
||||
"BepInEx.Unity.IL2CPP": {
|
||||
"type": "Direct",
|
||||
"requested": "[6.0.0-be.662, )",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "fn7jQ88IBmjssoY9XjGBTg3cULkS+N/le/eUijYf2VV8raWok/6cU/GbU9bejkJS8g+2MvzIwnROAhAxvrGI2Q==",
|
||||
"requested": "[6.0.0-be.670, )",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "dhzCrem44oFxhOICCJ9eoSUbaKSsGGyBUfUQW9WFljCwIK8o4Cx5BiuXAkYoRjr2DhpzLpPDyPZDRImUqH0bwA==",
|
||||
"dependencies": {
|
||||
"BepInEx.Core": "6.0.0-be.662",
|
||||
"BepInEx.Unity.Common": "6.0.0-be.662",
|
||||
"HarmonyX": "2.10.0",
|
||||
"Iced": "1.17.0",
|
||||
"Il2CppInterop.Generator": "1.3.0",
|
||||
"Il2CppInterop.HarmonySupport": "1.3.0",
|
||||
"Il2CppInterop.Runtime": "1.3.0",
|
||||
"BepInEx.Core": "6.0.0-be.670",
|
||||
"BepInEx.Unity.Common": "6.0.0-be.670",
|
||||
"HarmonyX": "2.10.1",
|
||||
"Iced": "1.18.0",
|
||||
"Il2CppInterop.Generator": "1.4.6-ci.354",
|
||||
"Il2CppInterop.HarmonySupport": "1.4.6-ci.354",
|
||||
"Il2CppInterop.Runtime": "1.4.6-ci.354",
|
||||
"MonoMod.RuntimeDetour": "22.5.1.1",
|
||||
"Samboy063.Cpp2IL.Core": "2022.0.7.2"
|
||||
"Samboy063.Cpp2IL.Core": "2022.1.0-development.866"
|
||||
}
|
||||
},
|
||||
"StyleCop.Analyzers": {
|
||||
@@ -46,34 +46,69 @@
|
||||
"StyleCop.Analyzers.Unstable": "1.2.0.435"
|
||||
}
|
||||
},
|
||||
"AsmResolver": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "7PjujQzgQ3wjzqZYT4CY8SV6zx7FY6swIwj3Yk4QLolLqo9sBPb7FLF3W30QFvCsCkNfiVWXlSbeZKs4xGgQOQ=="
|
||||
},
|
||||
"AsmResolver.DotNet": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "oKrBU94OaSrbbTwydvpLRFalYxozrNXGkl13nIkm823ZFQtPNYOiOMJb5DQLvkCJlWyis7q865tg803T5zg9IA==",
|
||||
"dependencies": {
|
||||
"AsmResolver.PE": "5.1.0",
|
||||
"System.Text.Json": "6.0.7"
|
||||
}
|
||||
},
|
||||
"AsmResolver.PE": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "XD3iAgLSInJIODKUUlpHWXf8MR9H1SFMb1lsmabb4GxxxnDQRPjMxjglv2NOCjQQuNB2Oh0bvjHE7ewf82UqyQ==",
|
||||
"dependencies": {
|
||||
"AsmResolver.PE.File": "5.1.0"
|
||||
}
|
||||
},
|
||||
"AsmResolver.PE.File": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "YituBYe0Fh471sXQMfu+f4tWKX/JZvRwrX6g/SVsr4XkUIUzYi/aGT3/QvjHoYx19fE1KYOB6zBKqPkkOK7HPw==",
|
||||
"dependencies": {
|
||||
"AsmResolver": "5.1.0"
|
||||
}
|
||||
},
|
||||
"AssetRipper.VersionUtilities": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.1",
|
||||
"contentHash": "knQ/W1YwTZS2AbdaZh+nhyyBEZQPQDcahhSOnh88i+cdg4/FEoFJiCwaavgFvCMNuUeHTbcZc4qttF8WQ8xLIA=="
|
||||
"resolved": "1.3.1",
|
||||
"contentHash": "/1D18NOpqm7rS7+qVUbAReVMNWwgDuYpsnf0RkX1Aah/I0a0irqldoFJ+Kku7YdbSm0zqD+Z6iYUGKoP3GwTNQ=="
|
||||
},
|
||||
"BepInEx.Core": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "VVBeCD/KQVy0/TK3V6SD8QZ/es35Xb1mEz/+PbBs3ST1yUC1r7k2JOymhSnmghVqf6UsvlMglOO9pljqhuE/Pw==",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "7CbbMNZfb+1VHjFKh/ErFBOOEYrVCIkng/B3/HPcbNioySC7qdT1ztfYqs6YjQia4krEic+LV3ew86B/hTg+hw==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.10.0",
|
||||
"HarmonyX": "2.10.1",
|
||||
"MonoMod.Utils": "22.5.1.1",
|
||||
"SemanticVersioning": "2.0.2"
|
||||
}
|
||||
},
|
||||
"BepInEx.Unity.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "BgETw6+snwY//3xjQxLiiEAFRmXaMTcSkg+1UQz6fVBG0YA5Usm/m4GflhTc3nwF61KO3Iznn1AORi5CwLJoUw==",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "FSzWILgwepZ7CpA34ew1WyO75lNjxkfX86uwo2172lbhmLkgoAdQbNun8dxKJCDlIevmTDga76yr/WPrTXELvA==",
|
||||
"dependencies": {
|
||||
"AssetRipper.VersionUtilities": "1.2.1",
|
||||
"MonoMod.Utils": "22.5.1.1"
|
||||
}
|
||||
},
|
||||
"Disarm": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.1.0-master.26",
|
||||
"contentHash": "YnZEbRGr0nG+N3G8WbRQ4Lkg8dTD3oso9iJlCVBmyhEyhLyqs+drBs1kWQbQqFPnb9mi/RJ++R9bPb+L3HF03Q=="
|
||||
},
|
||||
"HarmonyX": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.10.0",
|
||||
"contentHash": "4ayiy/dlCiW86K2N7Jvbf+VpI5wvP7dncv/6oRmfwRi32UCmCRzCGzsxdMfzJZkp6/26oBW+DrD8vi4UejzVAg==",
|
||||
"resolved": "2.10.1",
|
||||
"contentHash": "9LodMC9Y0u1TW96eKJoWrFJFpmzbgojEO38/Q+e7c1mFPhmHt8xcR8qhI06iF1rf0Dnsk+hqENFVSgbtwl/bEw==",
|
||||
"dependencies": {
|
||||
"MonoMod.RuntimeDetour": "22.3.23.4",
|
||||
"System.Reflection.Emit": "4.7.0"
|
||||
@@ -81,13 +116,13 @@
|
||||
},
|
||||
"Iced": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.17.0",
|
||||
"contentHash": "8x+HCVTl/HHTGpscH3vMBhV8sknN/muZFw9s3TsI8SA6+c43cOTCi2+jE4KsU8pNLbJ++iF2ZFcpcXHXtDglnw=="
|
||||
"resolved": "1.18.0",
|
||||
"contentHash": "G60lZOvbvqttA+SBSv/yY6/wUboXKJlkffhSNR9iOrx0M5gpcK1TRr6xrFR+qAhqIAhvrsPF1jkn9fYb4lEufQ=="
|
||||
},
|
||||
"Il2CppInterop.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "IR3BrZXvL2nvJAn4pruPMgC78Y87hVa5xTYZCuHN67OzRD6WDl5dTO55vtvTl8dXFALKvlN+spja2tXhVuquOw==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "aCP3kr39YQw5GVqE9Q8c5y7f9CEKdFxpUhIqYgQBtrEz5Z/KCbHhjuOf/lSuFrjl6Vub/BKk6k+UbMRdoSvC1w==",
|
||||
"dependencies": {
|
||||
"Iced": "1.17.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "6.0.1",
|
||||
@@ -96,63 +131,36 @@
|
||||
},
|
||||
"Il2CppInterop.Generator": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "FuhPxbh/K4K94U3xac/ClMaaBp+MZ4aIaqi5dR0QihyGQoombT+OM/A22RwAIzbaCTbFbvabWaAuOSgB69ZwWQ==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "y30sxc9mMv0bUzCPDr73xiI6fiu7ksmnEm6XULTGU/5JEGv2aw++/71bLOEYCscNbZTa2JT4yYrLCXCj3GSekg==",
|
||||
"dependencies": {
|
||||
"Il2CppInterop.Common": "1.3.0",
|
||||
"Il2CppInterop.Common": "1.4.6-ci.354",
|
||||
"Mono.Cecil": "0.11.3"
|
||||
}
|
||||
},
|
||||
"Il2CppInterop.HarmonySupport": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "VppBnXtbMNGFhX8a1gg/85E883t2pW/+FZyV7eOaOXMNQyorg++u+kUFOIYwNpzTVqxWmMeoPS0DH0toVpjoKA==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "mQV5A+B/qtI6kSXEGx/UswiqjFKw13/yyviawnStfRKbLMW+XFsdMgGSkOVZd/TiDtF9ZG4Xt7DbkbFu26WjyA==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.10.0",
|
||||
"Il2CppInterop.Runtime": "1.3.0"
|
||||
"Il2CppInterop.Runtime": "1.4.6-ci.354"
|
||||
}
|
||||
},
|
||||
"Il2CppInterop.Runtime": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "8A+N2yvja960Ap+s2RpW7Nb6HSpyuXJy2ipIlU+1erYU9SWHMyU9JZzUZGOhwWXJChKGvRmDdTZAg12k1+72dg==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "Xe5md9z+KIthdEcjfUjmoOhvM3gTI3SPyocqvuzEHoov5jQ/HhIPv5hUZzTSm+2nzn3XplENNE8vlBPvQ1o6OA==",
|
||||
"dependencies": {
|
||||
"Iced": "1.17.0",
|
||||
"Il2CppInterop.Common": "1.3.0"
|
||||
"Il2CppInterop.Common": "1.4.6-ci.354"
|
||||
}
|
||||
},
|
||||
"IndexRange": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.0.0",
|
||||
"contentHash": "6TgS1JLSUkpmPLfXBPaAgB39ZUix8E4soXWk2XSDcscVe84i1JKzIAtA7jHbRHSkOOrcr6YA0MpLCeq98y9mYQ=="
|
||||
},
|
||||
"js6pak.Gee.External.Capstone": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.1.0",
|
||||
"contentHash": "YYpq7NM50bSSVUDjXyV/eiITk6syXqItPjKBOb3jEWS6RFsk0DNhpWMPW6b3hKDmArARuWDU6S2pVu1IeVrvIA=="
|
||||
},
|
||||
"Linguini.Bundle": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.1",
|
||||
"contentHash": "k3D0IBSsS91T0G9rYACRYtAS27NDTGz4T3ygHhbhaFdA9i3cCfCpR39MqYEpoA1Ark3lzmvklHePmRCX5EQi1A==",
|
||||
"dependencies": {
|
||||
"Linguini.Shared": "0.3.0",
|
||||
"Linguini.Syntax": "0.3.0"
|
||||
}
|
||||
},
|
||||
"Linguini.Shared": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "rEYA9jWU1Nc9iDuPKar+4IVXjFbGrcNyYZCeU6hiWQoS4nA2UecHu36Rp4bxzasvRGda4FB2JZqty75m4e26VQ=="
|
||||
},
|
||||
"Linguini.Syntax": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "v8YV3xPFZfP+OSWjMd6yysp+o7cNnQXxq/slN8Yekoi+dFjsTNF0YiQWJIwg1j2FUbs6claJxY9R1FFlc4s6MA==",
|
||||
"dependencies": {
|
||||
"Linguini.Shared": "0.3.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.1",
|
||||
@@ -302,38 +310,41 @@
|
||||
},
|
||||
"Samboy063.Cpp2IL.Core": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.7.2",
|
||||
"contentHash": "e17CAhKSxdAp7vFcYEVxjSc7t7rcvVGBipGhgE9tAjRXY85wZXLlHEVO0AEvMRkLmf9U+if4wK/nZEC1AX6VqQ==",
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "QPMuix/3jRngWBdNSLhAbm9BHYf95Ln1Ph1eCK/cDZdVibxFDFP3a6Yczyx1p7GbN7bRQwrhs2skPJSS/z3m2w==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.5.5",
|
||||
"Iced": "1.11.1",
|
||||
"IndexRange": "1.0.0",
|
||||
"Mono.Cecil": "0.11.4",
|
||||
"Samboy063.LibCpp2IL": "2022.0.7.2",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.ValueTuple": "4.5.0",
|
||||
"AsmResolver.DotNet": "5.1.0",
|
||||
"Disarm": "2022.1.0-master.26",
|
||||
"Iced": "1.18.0",
|
||||
"Samboy063.LibCpp2IL": "2022.1.0-development.866",
|
||||
"StableNameDotNet": "0.1.0-development.866",
|
||||
"js6pak.Gee.External.Capstone": "2.1.0"
|
||||
}
|
||||
},
|
||||
"Samboy063.LibCpp2IL": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.7.2",
|
||||
"contentHash": "DpVeU0dQkUJCpbw0f1xKOG8vimdK2oYhrVABC7HDE3/ikGjhnMZd3i5b1joKDHZ+AiL90TWOaEXPcy24rCZ0dA==",
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "EcJSWTfQko8SQozozoUT+aQJVWC8wj8C0YUiPBF4rNRId19yTKp2IXcXnI747v+8/aal222QR6WHfoBK2WlVLg==",
|
||||
"dependencies": {
|
||||
"IndexRange": "1.0.0",
|
||||
"Samboy063.WasmDisassembler": "2022.0.2"
|
||||
"AssetRipper.VersionUtilities": "1.3.1",
|
||||
"Samboy063.WasmDisassembler": "2022.1.0-development.866"
|
||||
}
|
||||
},
|
||||
"Samboy063.WasmDisassembler": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.2",
|
||||
"contentHash": "2uu+xBb7M3HKfBx9tAY6jiDieAf0hRnQjSmGX+7IdE6i24dYsx6TYgtrLvRx5lOuF2M8DijZ5H8yQ1pcuCs2SA=="
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "2QK8F3eISkLcoW/Nt7wtxyQh31EXAqEMBVXXjEnuxyvXpBXxOIGpjmE3pWhGwxQwDCbe4zBsLF1zUiqq3/pXRA=="
|
||||
},
|
||||
"SemanticVersioning": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.0.2",
|
||||
"contentHash": "4EQgYdNZ92SyaO7YFk6olVnebF5V+jrHyMUjvPq89tLeMo8NSfgDF+6Zwq/lgh9j/0yfQp9Lkm0ZA0rUATCZFA=="
|
||||
},
|
||||
"StableNameDotNet": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.1.0-development.866",
|
||||
"contentHash": "DJb8x4dV3ucDgM12sU28HxCdeqY/JudJbeJG6mgXWDJzpFZw2Jd7JF1pKFRNLzh/0gpo8bCGLQS9gOWZmBjdtg=="
|
||||
},
|
||||
"StyleCop.Analyzers.Unstable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.0.435",
|
||||
@@ -664,6 +675,11 @@
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
||||
},
|
||||
"System.Runtime.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
@@ -862,6 +878,23 @@
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Json": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.7",
|
||||
"contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||
"System.Text.Encodings.Web": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Threading": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
@@ -881,16 +914,10 @@
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.ValueTuple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.0",
|
||||
"contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ=="
|
||||
},
|
||||
"reactor": {
|
||||
"type": "Project",
|
||||
"dependencies": {
|
||||
"BepInEx.Unity.IL2CPP": "[6.0.0-be.662, )",
|
||||
"Linguini.Bundle": "[0.3.1, )"
|
||||
"BepInEx.Unity.IL2CPP": "[6.0.0-be.670, )"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using Linguini.Syntax.Ast;
|
||||
|
||||
namespace Reactor.Linguinitor;
|
||||
|
||||
internal static class FluentCommentParser
|
||||
{
|
||||
private static readonly Regex _variableCommentRegex = new(@"^\$(?<id>[\w-]+) \((?<type>String|Number|Date)\)( - (?<description>.+))?$", RegexOptions.Compiled);
|
||||
|
||||
public static MessageInfo Parse(AstComment astComment)
|
||||
{
|
||||
var descriptionBuilder = new StringBuilder();
|
||||
var variables = new Dictionary<string, VariableInfo>();
|
||||
|
||||
foreach (var s in astComment.AsStr().Split("\n"))
|
||||
{
|
||||
var line = s.Trim();
|
||||
|
||||
if (_variableCommentRegex.Match(line) is { Success: true } match)
|
||||
{
|
||||
variables.Add(match.Groups["id"].Value, new VariableInfo(match.Groups["type"].Value, match.Groups["description"].Value));
|
||||
}
|
||||
else
|
||||
{
|
||||
descriptionBuilder.AppendLine(line);
|
||||
}
|
||||
}
|
||||
|
||||
return new MessageInfo(descriptionBuilder.ToString(), variables);
|
||||
}
|
||||
|
||||
public record MessageInfo(string Description, Dictionary<string, VariableInfo> Variables);
|
||||
|
||||
public record VariableInfo(string Type, string? Description);
|
||||
}
|
||||
@@ -1,166 +0,0 @@
|
||||
using CSharpPoet;
|
||||
using Linguini.Syntax.Ast;
|
||||
using Linguini.Syntax.Parser;
|
||||
using Microsoft.CodeAnalysis;
|
||||
|
||||
namespace Reactor.Linguinitor;
|
||||
|
||||
[Generator(LanguageNames.CSharp)]
|
||||
public class LinguinitorGenerator : IIncrementalGenerator
|
||||
{
|
||||
private static CSharpFile CreateTranslateFile(string @namespace, params CSharpType.IMember[] members)
|
||||
{
|
||||
return new CSharpFile(@namespace)
|
||||
{
|
||||
new CSharpClass(Visibility.Internal, "Translate")
|
||||
{
|
||||
IsStatic = true,
|
||||
IsPartial = true,
|
||||
Members = members,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
private static IEnumerable<Identifier> GetVariables(AstMessage astMessage)
|
||||
{
|
||||
foreach (var placeable in astMessage.Value!.Elements.OfType<Placeable>())
|
||||
{
|
||||
switch (placeable.Expression)
|
||||
{
|
||||
case VariableReference variableReference:
|
||||
yield return variableReference.Id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Initialize(IncrementalGeneratorInitializationContext context)
|
||||
{
|
||||
var rootNamespaceProvider =
|
||||
context.AnalyzerConfigOptionsProvider
|
||||
.Select((options, _) => options.GlobalOptions.TryGetValue("build_property.RootNamespace", out var rootNamespace) ? rootNamespace : throw new InvalidOperationException("Failed to get RootNamespace"));
|
||||
|
||||
context.RegisterSourceOutput(rootNamespaceProvider, (spc, rootNamespace) =>
|
||||
{
|
||||
const string ProviderType = "Reactor.Localization.Providers.FluentLocalizationProvider";
|
||||
spc.AddSource("Translate", CreateTranslateFile(
|
||||
rootNamespace,
|
||||
new CSharpField(Visibility.Private, ProviderType + "?", "_provider") { IsStatic = true },
|
||||
new CSharpProperty(ProviderType, "Provider")
|
||||
{
|
||||
IsStatic = true,
|
||||
Getter = new CSharpProperty.Accessor
|
||||
{
|
||||
Body = writer => writer.Write("_provider ?? throw new System.InvalidOperationException(\"Provider must be set before using Translate\");"),
|
||||
},
|
||||
Setter = new CSharpProperty.Accessor
|
||||
{
|
||||
Body = writer => writer.Write("_provider = value;"),
|
||||
},
|
||||
}
|
||||
).ToString());
|
||||
});
|
||||
|
||||
var textFiles = context.AdditionalTextsProvider.Where(static file => file.Path.EndsWith(".ftl", StringComparison.Ordinal));
|
||||
|
||||
var namesAndContents = textFiles.Select((text, cancellationToken) => (
|
||||
Name: Path.GetFileNameWithoutExtension(text.Path),
|
||||
Content: text.GetText(cancellationToken)!.ToString()
|
||||
));
|
||||
|
||||
context.RegisterSourceOutput(namesAndContents.Combine(rootNamespaceProvider), (spc, pair) =>
|
||||
{
|
||||
var ((name, content), rootNamespace) = pair;
|
||||
var fixedName = name.ToPascalCase();
|
||||
|
||||
var idsClass = new CSharpClass("Ids")
|
||||
{
|
||||
IsStatic = true,
|
||||
};
|
||||
|
||||
var fileClass = new CSharpClass(fixedName)
|
||||
{
|
||||
IsStatic = true,
|
||||
Members = { idsClass },
|
||||
};
|
||||
|
||||
var resource = new LinguiniParser(content).ParseWithComments();
|
||||
|
||||
foreach (var message in resource.Entries.OfType<AstMessage>())
|
||||
{
|
||||
var id = message.GetId();
|
||||
var fixedId = id.ToPascalCase();
|
||||
|
||||
idsClass.Members.Add(new CSharpField(Visibility.Public, "string", fixedId)
|
||||
{
|
||||
IsConst = true,
|
||||
DefaultValue = $"\"{id}\"",
|
||||
});
|
||||
|
||||
var messageInfo = message.Comment != null ? FluentCommentParser.Parse(message.Comment) : null;
|
||||
var variables = GetVariables(message).Select(m => m.ToString()).ToDictionary(
|
||||
m => m,
|
||||
m =>
|
||||
{
|
||||
if (messageInfo != null && messageInfo.Variables.TryGetValue(m, out var variableInfo))
|
||||
{
|
||||
return variableInfo.Type switch
|
||||
{
|
||||
"String" => "string",
|
||||
"Number" => "double",
|
||||
_ => throw new NotSupportedException($"Variable type {variableInfo.Type} is not supported"),
|
||||
};
|
||||
}
|
||||
|
||||
return "string";
|
||||
}
|
||||
);
|
||||
|
||||
void WriteComment(CodeWriter writer)
|
||||
{
|
||||
if (messageInfo == null) return;
|
||||
|
||||
writer.WriteLine("<summary>");
|
||||
|
||||
foreach (var line in messageInfo.Description.Trim().Split("\n"))
|
||||
{
|
||||
writer.WriteLine(line);
|
||||
}
|
||||
|
||||
writer.WriteLine("</summary>");
|
||||
|
||||
foreach (var (variableId, info) in messageInfo.Variables)
|
||||
{
|
||||
writer.WriteLine($"<param name=\"{variableId}\">{info.Description}</param>");
|
||||
}
|
||||
}
|
||||
|
||||
if (variables.Count <= 0)
|
||||
{
|
||||
fileClass.Members.Add(new CSharpProperty("string", fixedId)
|
||||
{
|
||||
XmlComment = WriteComment,
|
||||
IsStatic = true,
|
||||
Getter = new CSharpProperty.Accessor
|
||||
{
|
||||
Body = writer => writer.Write($"Provider.GetText(Ids.{fixedId});"),
|
||||
},
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
fileClass.Members.Add(new CSharpMethod("string", fixedId)
|
||||
{
|
||||
XmlComment = WriteComment,
|
||||
IsStatic = true,
|
||||
Parameters = variables.Select(v => new CSharpParameter(v.Value, v.Key)).ToArray(),
|
||||
BodyType = BodyType.Expression,
|
||||
Body = writer => writer.WriteLine($"Provider.GetText(Ids.{fixedId}, {string.Join(", ", variables.Select(v => $"(\"{v.Key}\", {v.Key.ToCamelCase()})"))});"),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
spc.AddSource("Translate." + fixedName, CreateTranslateFile(rootNamespace, fileClass).ToString());
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0;net472</TargetFrameworks>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="CSharpPoet" Version="0.2.0-dev" Private="true" GeneratePathProperty="true" />
|
||||
|
||||
<PackageReference Include="Linguini.Shared" Version="0.3.0" Private="true" GeneratePathProperty="true" />
|
||||
<PackageReference Include="Linguini.Syntax" Version="0.3.0" Private="true" GeneratePathProperty="true" />
|
||||
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.3.1" PrivateAssets="all" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<GetTargetPathDependsOn>$(GetTargetPathDependsOn);GetDependencyTargetPaths</GetTargetPathDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="GetDependencyTargetPaths">
|
||||
<PropertyGroup>
|
||||
<_LinguiniTargetFramework Condition="'$(TargetFramework)' == 'net6.0'">netstandard2.1</_LinguiniTargetFramework>
|
||||
<_LinguiniTargetFramework Condition="'$(TargetFramework)' == 'net472'">net451</_LinguiniTargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<TargetPathWithTargetPlatformMoniker Include="$(PkgCSharpPoet)\lib\netstandard2.0\CSharpPoet.dll" IncludeRuntimeDependency="false" />
|
||||
<TargetPathWithTargetPlatformMoniker Include="$(PkgLinguini_Shared)\lib\$(_LinguiniTargetFramework)\Linguini.Shared.dll" IncludeRuntimeDependency="false" />
|
||||
<TargetPathWithTargetPlatformMoniker Include="$(PkgLinguini_Syntax)\lib\$(_LinguiniTargetFramework)\Linguini.Syntax.dll" IncludeRuntimeDependency="false" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -1,38 +0,0 @@
|
||||
using System.Text;
|
||||
|
||||
namespace Reactor.Linguinitor;
|
||||
|
||||
internal static class StringExtensions
|
||||
{
|
||||
private static string ToCase(this string value, bool capitalizeFirst)
|
||||
{
|
||||
var stringBuilder = new StringBuilder();
|
||||
|
||||
for (var i = 0; i < value.Length; i++)
|
||||
{
|
||||
var c = value[i];
|
||||
|
||||
if (c == '-')
|
||||
{
|
||||
i++;
|
||||
stringBuilder.Append(char.ToUpperInvariant(value[i]));
|
||||
}
|
||||
else
|
||||
{
|
||||
stringBuilder.Append(capitalizeFirst && i == 0 ? char.ToUpperInvariant(c) : c);
|
||||
}
|
||||
}
|
||||
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
|
||||
public static string ToPascalCase(this string value)
|
||||
{
|
||||
return value.ToCase(true);
|
||||
}
|
||||
|
||||
public static string ToCamelCase(this string value)
|
||||
{
|
||||
return value.ToCase(false);
|
||||
}
|
||||
}
|
||||
@@ -1,105 +0,0 @@
|
||||
{
|
||||
"version": 1,
|
||||
"dependencies": {
|
||||
"net6.0": {
|
||||
"CSharpPoet": {
|
||||
"type": "Direct",
|
||||
"requested": "[0.2.0-dev, )",
|
||||
"resolved": "0.2.0-dev"
|
||||
},
|
||||
"Linguini.Shared": {
|
||||
"type": "Direct",
|
||||
"requested": "[0.3.0, )",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "rEYA9jWU1Nc9iDuPKar+4IVXjFbGrcNyYZCeU6hiWQoS4nA2UecHu36Rp4bxzasvRGda4FB2JZqty75m4e26VQ=="
|
||||
},
|
||||
"Linguini.Syntax": {
|
||||
"type": "Direct",
|
||||
"requested": "[0.3.0, )",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "v8YV3xPFZfP+OSWjMd6yysp+o7cNnQXxq/slN8Yekoi+dFjsTNF0YiQWJIwg1j2FUbs6claJxY9R1FFlc4s6MA==",
|
||||
"dependencies": {
|
||||
"Linguini.Shared": "0.3.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.CodeAnalysis.CSharp": {
|
||||
"type": "Direct",
|
||||
"requested": "[4.3.1, )",
|
||||
"resolved": "4.3.1",
|
||||
"contentHash": "5C9VHvahL98tumlyaT/loB5rW+K/6q0UU7uLyT1Dv15YjZraRkqML9u2t2e8GaO7XqEOtBVqK/SlxXOPqwzxog==",
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Common": "[4.3.1]"
|
||||
}
|
||||
},
|
||||
"StyleCop.Analyzers": {
|
||||
"type": "Direct",
|
||||
"requested": "[1.2.0-beta.435, )",
|
||||
"resolved": "1.2.0-beta.435",
|
||||
"contentHash": "TADk7vdGXtfTnYCV7GyleaaRTQjfoSfZXprQrVMm7cSJtJbFc1QIbWPyLvrgrfGdfHbGmUPvaN4ODKNxg2jgPQ==",
|
||||
"dependencies": {
|
||||
"StyleCop.Analyzers.Unstable": "1.2.0.435"
|
||||
}
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Analyzers": {
|
||||
"type": "Transitive",
|
||||
"resolved": "3.3.3",
|
||||
"contentHash": "j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ=="
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.1",
|
||||
"contentHash": "wexpJffSEEwptwe6UTMxRDZCCtz+XubI4Qewl4JECnNhcQrtb0anhSUEV9Nz7WkoNfWkx1fptR8xh1egoxYrqw==",
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Analyzers": "3.3.3",
|
||||
"System.Collections.Immutable": "6.0.0",
|
||||
"System.Memory": "4.5.4",
|
||||
"System.Reflection.Metadata": "5.0.0",
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||
"System.Text.Encoding.CodePages": "6.0.0",
|
||||
"System.Threading.Tasks.Extensions": "4.5.4"
|
||||
}
|
||||
},
|
||||
"StyleCop.Analyzers.Unstable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.0.435",
|
||||
"contentHash": "ouwPWZxbOV3SmCZxIRqHvljkSzkCyi1tDoMzQtDb/bRP8ctASV/iRJr+A2Gdj0QLaLmWnqTWDrH82/iP+X80Lg=="
|
||||
},
|
||||
"System.Collections.Immutable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Memory": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.4",
|
||||
"contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw=="
|
||||
},
|
||||
"System.Reflection.Metadata": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.0.0",
|
||||
"contentHash": "5NecZgXktdGg34rh1OenY1rFNDCI8xSjFr+Z4OU4cU06AQHUdRnIIEeWENu3Wl4YowbzkymAIMvi3WyK9U53pQ=="
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
||||
},
|
||||
"System.Text.Encoding.CodePages": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Threading.Tasks.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.4",
|
||||
"contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg=="
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Files", "Solution
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reactor.Networking.Shared", "Reactor.Networking.Shared\Reactor.Networking.Shared.csproj", "{1E68CA20-22EB-4E57-B525-81970BE6363D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Reactor.Linguinitor", "Reactor.Linguinitor\Reactor.Linguinitor.csproj", "{B4740F75-B657-4515-A8F6-8A84D64E8814}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -46,10 +44,6 @@ Global
|
||||
{1E68CA20-22EB-4E57-B525-81970BE6363D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1E68CA20-22EB-4E57-B525-81970BE6363D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1E68CA20-22EB-4E57-B525-81970BE6363D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B4740F75-B657-4515-A8F6-8A84D64E8814}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B4740F75-B657-4515-A8F6-8A84D64E8814}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B4740F75-B657-4515-A8F6-8A84D64E8814}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B4740F75-B657-4515-A8F6-8A84D64E8814}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
EndGlobalSection
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
-for-more-info-see = For more info see https://reactor.gg/handshake
|
||||
|
||||
vanilla-server-warning =
|
||||
This server doesn't support Reactor protocol.
|
||||
The lobbies shown may not be compatible with your current mods.
|
||||
{ -for-more-info-see }
|
||||
|
||||
public-lobby-warning =
|
||||
You can't make public lobbies on servers that don't support Reactor protocol.
|
||||
{ -for-more-info-see }
|
||||
@@ -1,10 +0,0 @@
|
||||
-for-more-info-see = Voor meer informatie, zie https://reactor.gg/handshake
|
||||
|
||||
vanilla-server-warning =
|
||||
Deze server ondersteunt het Reactor protocol niet.
|
||||
De lobbies die je ziet passen mogelijk niet bij jouw huidige mods.
|
||||
{ -for-more-info-see }
|
||||
|
||||
public-lobby-warning =
|
||||
Je kan geen publieke lobbies maken op servers die het Reactor protocol niet ondersteunen.
|
||||
{ -for-more-info-see }
|
||||
@@ -1,10 +0,0 @@
|
||||
-for-more-info-see = Dla więcej informacji, zobacz https://reactor.gg/handshake
|
||||
|
||||
vanilla-server-warning =
|
||||
Ten serwer nie wspiera protokołu Reactor.
|
||||
Pokazane gry mogą nie być kompatibline z twoimi modami.
|
||||
{ -for-more-info-see }
|
||||
|
||||
public-lobby-warning =
|
||||
Nie możesz tworzyć publicznych gier w serwerach, które nie wspierają protokołu Reactor.
|
||||
{ -for-more-info-see }
|
||||
@@ -1,258 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using Il2CppInterop.Runtime;
|
||||
using Il2CppInterop.Runtime.InteropTypes;
|
||||
using Il2CppInterop.Runtime.InteropTypes.Arrays;
|
||||
using Linguini.Bundle;
|
||||
using Linguini.Bundle.Builder;
|
||||
using Linguini.Bundle.Errors;
|
||||
using Linguini.Shared.Types.Bundle;
|
||||
using Linguini.Syntax.Ast;
|
||||
using Reactor.Localization.Extensions;
|
||||
using Reactor.Localization.Utilities;
|
||||
using Reactor.Utilities;
|
||||
using Object = Il2CppSystem.Object;
|
||||
|
||||
namespace Reactor.Localization.Providers;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a localization provider that uses Fluent.
|
||||
/// </summary>
|
||||
public class FluentLocalizationProvider : LocalizationProvider
|
||||
{
|
||||
private readonly Func<CultureInfo, IEnumerable<Resource>> _loadResources;
|
||||
private readonly List<FluentBundle> _bundles = new();
|
||||
private readonly Dictionary<StringNames, string> _ids = new();
|
||||
private readonly Dictionary<StringNames, string[]> _arguments = new();
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the fallback language.
|
||||
/// </summary>
|
||||
public SupportedLangs FallbackLanguage { get; set; } = SupportedLangs.English;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="FluentLocalizationProvider"/> class.
|
||||
/// </summary>
|
||||
/// <param name="loadResources">The implementation of resource loading.</param>
|
||||
public FluentLocalizationProvider(Func<CultureInfo, IEnumerable<Resource>> loadResources)
|
||||
{
|
||||
_loadResources = loadResources;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="FluentLocalizationProvider"/> class that loads resources from the calling assembly.
|
||||
/// </summary>
|
||||
/// <param name="prefix">The prefix of resource file names to load.</param>
|
||||
/// <returns>a <see cref="FluentLocalizationProvider"/>.</returns>
|
||||
public static FluentLocalizationProvider FromEmbeddedResources(string prefix) => FromEmbeddedResources(Assembly.GetCallingAssembly(), prefix);
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="FluentLocalizationProvider"/> class that loads resources from the specified <paramref name="assembly"/>.
|
||||
/// </summary>
|
||||
/// <param name="assembly">The assembly to load resources from.</param>
|
||||
/// <param name="prefix">The prefix of resource file names to load.</param>
|
||||
/// <returns>a <see cref="FluentLocalizationProvider"/>.</returns>
|
||||
public static FluentLocalizationProvider FromEmbeddedResources(Assembly assembly, string prefix)
|
||||
{
|
||||
return new FluentLocalizationProvider(cultureInfo =>
|
||||
{
|
||||
return assembly.GetManifestResourceNames()
|
||||
.Where(n => n.StartsWith($"{prefix}.{cultureInfo.Name}.", StringComparison.Ordinal) && n.EndsWith(".ftl", StringComparison.Ordinal))
|
||||
.Select(n => (Resource) new StreamReader(assembly.GetManifestResourceStream(n)!));
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Registers a <see cref="StringNames"/> for use with base game apis.
|
||||
/// </summary>
|
||||
/// <param name="id">The id of a Fluent message.</param>
|
||||
/// <returns>A <see cref="StringNames"/>.</returns>
|
||||
public StringNames Register(string id)
|
||||
{
|
||||
var stringNames = CustomStringName.Create();
|
||||
_ids[stringNames] = id;
|
||||
|
||||
return stringNames;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Registers a <see cref="StringNames"/> for use with base game apis with overriden format argument names.
|
||||
/// </summary>
|
||||
/// <param name="id">The id of a Fluent message.</param>
|
||||
/// <param name="argumentNames">An array of Fluent variable names in the same order as format arguments.</param>
|
||||
/// <returns>A <see cref="StringNames"/>.</returns>
|
||||
public StringNames Register(string id, params string[] argumentNames)
|
||||
{
|
||||
var stringNames = Register(id);
|
||||
_arguments[stringNames] = argumentNames;
|
||||
|
||||
return stringNames;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override int Priority => ReactorPriority.Normal;
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void OnLanguageChanged(SupportedLangs newLanguage)
|
||||
{
|
||||
if (CurrentLanguage == newLanguage) return;
|
||||
|
||||
_bundles.Clear();
|
||||
_bundles.Add(Load(newLanguage.ToCultureInfo()));
|
||||
if (newLanguage != FallbackLanguage) _bundles.Add(Load(FallbackLanguage.ToCultureInfo()));
|
||||
}
|
||||
|
||||
private FluentBundle Load(CultureInfo culture)
|
||||
{
|
||||
return LinguiniBuilder.Builder()
|
||||
.CultureInfo(culture)
|
||||
.AddResources(_loadResources(culture))
|
||||
.SetUseIsolating(false)
|
||||
.UncheckedBuild();
|
||||
}
|
||||
|
||||
private string GetMsg(string id, IDictionary<string, IFluentType>? args)
|
||||
{
|
||||
foreach (var bundle in _bundles)
|
||||
{
|
||||
if (bundle.TryGetMsg(id, null, args, out var errors, out var message))
|
||||
{
|
||||
if (errors.Count > 0)
|
||||
{
|
||||
throw new LinguiniException(errors);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
throw new KeyNotFoundException();
|
||||
}
|
||||
|
||||
private static bool Is<T>(Il2CppObjectBase o)
|
||||
{
|
||||
return IL2CPP.il2cpp_class_is_assignable_from(Il2CppClassPointerStore<T>.NativeClassPtr, IL2CPP.il2cpp_object_get_class(o.Pointer));
|
||||
}
|
||||
|
||||
private static bool TryUnbox<T>(Il2CppObjectBase o, [NotNullWhen(true)] out T? result) where T : unmanaged
|
||||
{
|
||||
if (!Is<T>(o))
|
||||
{
|
||||
result = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
result = o.Unbox<T>();
|
||||
return true;
|
||||
}
|
||||
|
||||
private static IFluentType ToFluentType(Object o)
|
||||
{
|
||||
if (Is<string>(o)) return new FluentString(IL2CPP.Il2CppStringToManaged(o.Pointer));
|
||||
|
||||
if (TryUnbox<byte>(o, out var @byte)) return (FluentNumber) @byte;
|
||||
if (TryUnbox<sbyte>(o, out var @sbyte)) return (FluentNumber) @sbyte;
|
||||
if (TryUnbox<short>(o, out var @short)) return (FluentNumber) @short;
|
||||
if (TryUnbox<int>(o, out var @int)) return (FluentNumber) @int;
|
||||
if (TryUnbox<long>(o, out var @long)) return (FluentNumber) @long;
|
||||
if (TryUnbox<ushort>(o, out var @ushort)) return (FluentNumber) @ushort;
|
||||
if (TryUnbox<uint>(o, out var @uint)) return (FluentNumber) @uint;
|
||||
if (TryUnbox<ulong>(o, out var @ulong)) return (FluentNumber) @ulong;
|
||||
if (TryUnbox<float>(o, out var @float)) return (FluentNumber) @float;
|
||||
if (TryUnbox<double>(o, out var @double)) return (FluentNumber) @double;
|
||||
|
||||
return new FluentString(o.ToString());
|
||||
}
|
||||
|
||||
private static IFluentType ToFluentType(object o)
|
||||
{
|
||||
return o switch
|
||||
{
|
||||
string str => (FluentString) str,
|
||||
byte num => (FluentNumber) num,
|
||||
sbyte num => (FluentNumber) num,
|
||||
short num => (FluentNumber) num,
|
||||
ushort num => (FluentNumber) num,
|
||||
int num => (FluentNumber) num,
|
||||
uint num => (FluentNumber) num,
|
||||
long num => (FluentNumber) num,
|
||||
ulong num => (FluentNumber) num,
|
||||
double num => (FluentNumber) num,
|
||||
float num => (FluentNumber) num,
|
||||
_ => (FluentString) o.ToString()!,
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the localized text for the given fluent message <paramref name="id"/>.
|
||||
/// </summary>
|
||||
/// <param name="id">The id of the message.</param>
|
||||
/// <param name="args">The arguments used for formatting.</param>
|
||||
/// <returns>Text localized and formatted by fluent.</returns>
|
||||
public string GetText(string id, params (string, object)[] args)
|
||||
{
|
||||
var fluentArgs = new Dictionary<string, IFluentType>(args.Length);
|
||||
foreach (var (key, value) in args)
|
||||
{
|
||||
fluentArgs[key] = ToFluentType(value);
|
||||
}
|
||||
|
||||
return GetMsg(id, fluentArgs);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override bool TryGetTextFormatted(StringNames stringName, Il2CppReferenceArray<Object> parts, [NotNullWhen(true)] out string? result)
|
||||
{
|
||||
if (_ids.TryGetValue(stringName, out var id))
|
||||
{
|
||||
var hasArgumentsOverride = _arguments.TryGetValue(stringName, out var arguments);
|
||||
if (hasArgumentsOverride)
|
||||
{
|
||||
if (arguments!.Length != parts.Length)
|
||||
throw new InvalidOperationException($"Arguments override for {id} has an invalid count of arguments");
|
||||
}
|
||||
|
||||
var args = new Dictionary<string, IFluentType>(parts.Length);
|
||||
for (var i = 0; i < parts.Count; i++)
|
||||
{
|
||||
var part = parts[i];
|
||||
|
||||
if (hasArgumentsOverride)
|
||||
{
|
||||
args[arguments![i]] = ToFluentType(part);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Fluent doesn't allow positional variables nor starting variable names with numbers so we have to use a,b,c,d... instead
|
||||
if (i > 25) throw new InvalidOperationException("Too many format parts");
|
||||
var c = (char) ('a' + i);
|
||||
args[c.ToString()] = ToFluentType(part);
|
||||
}
|
||||
}
|
||||
|
||||
result = GetMsg(id, args);
|
||||
return true;
|
||||
}
|
||||
|
||||
result = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override bool TryGetText(StringNames stringName, [NotNullWhen(true)] out string? result)
|
||||
{
|
||||
if (_ids.TryGetValue(stringName, out var id))
|
||||
{
|
||||
result = GetMsg(id, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
result = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -39,6 +39,8 @@ public static class ModList
|
||||
return _modByPluginType[pluginType];
|
||||
}
|
||||
|
||||
internal static bool IsAnyModIsRequiredOnAllClients { get; private set; }
|
||||
|
||||
private static readonly Dictionary<uint, Mod> _modByNetId = new();
|
||||
private static readonly Dictionary<Mod, uint> _netIdByMod = new();
|
||||
|
||||
@@ -113,6 +115,8 @@ public static class ModList
|
||||
netId++;
|
||||
}
|
||||
|
||||
IsAnyModIsRequiredOnAllClients = Current.Any(m => m.IsRequiredOnAllClients);
|
||||
|
||||
var debug = new StringBuilder("Mod list:");
|
||||
foreach (var mod in Current)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using AmongUs.Data;
|
||||
using HarmonyLib;
|
||||
using Hazel;
|
||||
using Il2CppInterop.Runtime;
|
||||
@@ -59,7 +60,7 @@ internal static class ClientPatches
|
||||
return false;
|
||||
}
|
||||
|
||||
if (ReactorConnection.Instance!.Syncer == Syncer.Host && reader.Tag == InnerNetClient.SceneChangeFlag)
|
||||
if (reader.Tag == InnerNetClient.SceneChangeFlag && ReactorConnection.Instance?.Syncer == Syncer.Host)
|
||||
{
|
||||
var clientId = reader.ReadPackedInt32();
|
||||
var clientData = innerNetClient.FindClientById(clientId);
|
||||
@@ -83,17 +84,23 @@ internal static class ClientPatches
|
||||
|
||||
if (innerNetClient.AmHost)
|
||||
{
|
||||
if (reactorClientData == null)
|
||||
if (reactorClientData == null && ModList.IsAnyModIsRequiredOnAllClients)
|
||||
{
|
||||
Warning("Kicking " + clientData.PlayerName + " for not having Reactor installed");
|
||||
PlayerControl.LocalPlayer.RpcSendChat(clientData.PlayerName + " tried joining without Reactor installed");
|
||||
|
||||
var chatText = clientData.PlayerName + " tried joining without Reactor installed";
|
||||
if (DataManager.Settings.Multiplayer.ChatMode == QuickChatModes.FreeChatOrQuickChat)
|
||||
PlayerControl.LocalPlayer.RpcSendChat(chatText);
|
||||
else
|
||||
HudManager.Instance.Chat.AddChat(PlayerControl.LocalPlayer, chatText);
|
||||
|
||||
innerNetClient.KickPlayer(clientData.Id, false);
|
||||
|
||||
__result = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!Mod.Validate(reactorClientData.Mods, ModList.Current, out var reason))
|
||||
if (!Mod.Validate(reactorClientData?.Mods ?? Array.Empty<Mod>(), ModList.Current, out var reason))
|
||||
{
|
||||
innerNetClient.KickWithReason(clientData.Id, reason);
|
||||
__result = false;
|
||||
@@ -234,7 +241,7 @@ internal static class ClientPatches
|
||||
{
|
||||
public static bool Prefix(InnerNetClient __instance, [HarmonyArgument(0)] MessageReader reader)
|
||||
{
|
||||
if (__instance.GameMode == GameModes.FreePlay) return true;
|
||||
if (__instance.NetworkMode == NetworkModes.FreePlay) return true;
|
||||
|
||||
var isFirst = false;
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ internal static class HttpPatches
|
||||
{
|
||||
if (responseHeader == null)
|
||||
{
|
||||
DisconnectPopup.Instance.ShowCustom(Translate.Messages.VanillaServerWarning);
|
||||
DisconnectPopup.Instance.ShowCustom("This region doesn't support modded handshake.\nThe lobbies shown may not be compatible with your current mods.\nFor more info see https://reactor.gg/handshake");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,8 +102,8 @@ internal static class HttpPatches
|
||||
{
|
||||
public static void Postfix(GameStartManager __instance)
|
||||
{
|
||||
if (AmongUsClient.Instance.GameMode != GameModes.OnlineGame) return;
|
||||
if (ModList.Current.Any(m => m.IsRequiredOnAllClients) && !IsCurrentRegionModded())
|
||||
if (AmongUsClient.Instance.NetworkMode != NetworkModes.OnlineGame) return;
|
||||
if (ModList.IsAnyModIsRequiredOnAllClients && !IsCurrentRegionModded())
|
||||
{
|
||||
Warning("Vanilla region, locking public toggle");
|
||||
|
||||
@@ -126,7 +126,7 @@ internal static class HttpPatches
|
||||
size.x *= 2.5f;
|
||||
background.size = size;
|
||||
popup.TextAreaTMP.fontSizeMin = 2;
|
||||
popup.Show(Translate.Messages.PublicLobbyWarning);
|
||||
popup.Show("You can't make public lobbies on regions that don't support modded handshake.\nFor more info see https://reactor.gg/handshake");
|
||||
}));
|
||||
|
||||
if (AmongUsClient.Instance.AmHost && AmongUsClient.Instance.IsGamePublic)
|
||||
|
||||
@@ -4,7 +4,7 @@ using InnerNet;
|
||||
|
||||
namespace Reactor.Networking.Patches;
|
||||
|
||||
internal class ReactorClientData
|
||||
internal sealed class ReactorClientData
|
||||
{
|
||||
public ClientData ClientData { get; }
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
using HarmonyLib;
|
||||
|
||||
namespace Reactor.Patches.Fixes;
|
||||
|
||||
/// <summary>
|
||||
/// Fixes Game Lists not working on servers using legacy matchmaking.
|
||||
/// </summary>
|
||||
[HarmonyPatch(typeof(AmongUsClient._CoFindGame_d__3), nameof(AmongUsClient._CoFindGame_d__3.MoveNext))]
|
||||
internal static class CoFindGamePatch
|
||||
{
|
||||
public static void Prefix()
|
||||
{
|
||||
if (AmongUsClient.Instance.LastDisconnectReason == DisconnectReasons.Unknown)
|
||||
{
|
||||
AmongUsClient.Instance.LastDisconnectReason = DisconnectReasons.ExitGame;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using HarmonyLib;
|
||||
|
||||
namespace Reactor.Patches.Miscellaneous;
|
||||
@@ -5,11 +7,25 @@ namespace Reactor.Patches.Miscellaneous;
|
||||
[HarmonyPatch]
|
||||
internal static class CustomServersPatch
|
||||
{
|
||||
private static bool IsCurrentServerOfficial()
|
||||
{
|
||||
const string Domain = "among.us";
|
||||
|
||||
return ServerManager.Instance.CurrentRegion?.TryCast<StaticHttpRegionInfo>() is { } regionInfo &&
|
||||
regionInfo.PingServer.EndsWith(Domain, StringComparison.Ordinal) &&
|
||||
regionInfo.Servers.All(serverInfo => serverInfo.Ip.EndsWith(Domain, StringComparison.Ordinal));
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(AuthManager._CoConnect_d__4), nameof(AuthManager._CoConnect_d__4.MoveNext))]
|
||||
[HarmonyPatch(typeof(AuthManager._CoWaitForNonce_d__6), nameof(AuthManager._CoWaitForNonce_d__6.MoveNext))]
|
||||
[HarmonyPrefix]
|
||||
public static bool DisableAuthServer(out bool __result)
|
||||
public static bool DisableAuthServer(ref bool __result)
|
||||
{
|
||||
if (IsCurrentServerOfficial())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
__result = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ internal static class FreeNamePatch
|
||||
var editName = DestroyableSingleton<AccountManager>.Instance.accountTab.editNameScreen;
|
||||
var nameText = Object.Instantiate(editName.nameText.gameObject);
|
||||
|
||||
nameText.transform.localPosition += Vector3.up * 2.2f;
|
||||
nameText.transform.localPosition += Vector3.up * (AccountManager.Instance.isActiveAndEnabled ? 1.85f : 2.2f);
|
||||
|
||||
var textBox = nameText.GetComponent<TextBoxTMP>();
|
||||
textBox.outputText.alignment = TextAlignmentOptions.CenterGeoAligned;
|
||||
@@ -56,10 +56,10 @@ internal static class FreeNamePatch
|
||||
"JoinGameButton",
|
||||
};
|
||||
|
||||
var yStart = Vector3.up;
|
||||
var yStart = Vector3.up * (AccountManager.Instance.isActiveAndEnabled ? 0.9f : 1.1f);
|
||||
var yOffset = Vector3.down * 1.5f;
|
||||
|
||||
var gameObjects = toMove.Select(x => GameObject.Find("NormalMenu/" + x)).ToList();
|
||||
var gameObjects = toMove.Select(x => GameObject.Find("NormalMenu/Buttons/" + x)).ToList();
|
||||
if (gameObjects.Any(x => x == null)) return false;
|
||||
|
||||
for (var i = 0; i < gameObjects.Count; i++)
|
||||
|
||||
@@ -25,37 +25,65 @@ public static class ReactorVersionShower
|
||||
/// </summary>
|
||||
public static event Action<TextMeshPro>? TextUpdated;
|
||||
|
||||
private static void SetMainMenuPositionFromAspect(float aspectRatio)
|
||||
{
|
||||
if (Text == null) return;
|
||||
var pos = new Vector3(-1.2287f * aspectRatio + 10.9f, -0.57f, 4.5f);
|
||||
Text.transform.position = pos;
|
||||
}
|
||||
|
||||
private static readonly ResolutionManager.ResolutionChangedHandler _resolutionChangedHandler = (Action<float, int, int, bool>) ((aspectRatio, _, _, _) =>
|
||||
{
|
||||
SetMainMenuPositionFromAspect(aspectRatio);
|
||||
});
|
||||
|
||||
internal static void Initialize()
|
||||
{
|
||||
SceneManager.add_sceneLoaded((Action<Scene, LoadSceneMode>) ((_, _) =>
|
||||
SceneManager.add_sceneLoaded((Action<Scene, LoadSceneMode>) ((scene, _) =>
|
||||
{
|
||||
var original = UnityEngine.Object.FindObjectOfType<VersionShower>();
|
||||
if (!original)
|
||||
return;
|
||||
|
||||
var gameObject = new GameObject("ReactorVersion " + Guid.NewGuid());
|
||||
gameObject.transform.parent = original.transform.parent;
|
||||
|
||||
var aspectPosition = gameObject.AddComponent<AspectPosition>();
|
||||
|
||||
aspectPosition.Alignment = AspectPosition.EdgeAlignments.LeftTop;
|
||||
|
||||
var originalAspectPosition = original.GetComponent<AspectPosition>();
|
||||
var originalPosition = originalAspectPosition.DistanceFromEdge;
|
||||
originalPosition.y = 0.15f;
|
||||
originalAspectPosition.DistanceFromEdge = originalPosition;
|
||||
originalAspectPosition.AdjustPosition();
|
||||
var originalText = original.GetComponentInChildren<TextMeshPro>();
|
||||
|
||||
var position = originalPosition;
|
||||
position.x += 10.075f - 0.1f;
|
||||
position.y += 2.75f - 0.15f;
|
||||
position.z -= 1;
|
||||
aspectPosition.DistanceFromEdge = position;
|
||||
|
||||
aspectPosition.AdjustPosition();
|
||||
var gameObject = new GameObject("ReactorVersion");
|
||||
|
||||
Text = gameObject.AddComponent<TextMeshPro>();
|
||||
Text.font = originalText.font;
|
||||
Text.fontMaterial = originalText.fontMaterial;
|
||||
Text.UpdateFontAsset();
|
||||
Text.overflowMode = TextOverflowModes.Overflow;
|
||||
Text.fontSize = 2;
|
||||
Text.outlineWidth = 0.1f;
|
||||
Text.enableWordWrapping = false;
|
||||
Text.alignment = TextAlignmentOptions.TopLeft;
|
||||
|
||||
if (scene.name == "MainMenu")
|
||||
{
|
||||
ResolutionManager.add_ResolutionChanged(_resolutionChangedHandler);
|
||||
SetMainMenuPositionFromAspect(Screen.width / (float) Screen.height);
|
||||
}
|
||||
else
|
||||
{
|
||||
ResolutionManager.remove_ResolutionChanged(_resolutionChangedHandler);
|
||||
var aspectPosition = gameObject.AddComponent<AspectPosition>();
|
||||
var distanceFromEdge = new Vector3(10.13f, 2.55f, -1);
|
||||
if (originalAspectPosition.Alignment == AspectPosition.EdgeAlignments.LeftTop)
|
||||
{
|
||||
distanceFromEdge.y += 0.2f;
|
||||
}
|
||||
else if (AccountManager.Instance.isActiveAndEnabled)
|
||||
{
|
||||
distanceFromEdge.x += 0.2f;
|
||||
distanceFromEdge.y += 0.575f;
|
||||
}
|
||||
|
||||
aspectPosition.Alignment = AspectPosition.EdgeAlignments.LeftTop;
|
||||
aspectPosition.DistanceFromEdge = distanceFromEdge;
|
||||
aspectPosition.AdjustPosition();
|
||||
}
|
||||
|
||||
UpdateText();
|
||||
}));
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
|
||||
<Description>Core mod and API for Among Us</Description>
|
||||
|
||||
@@ -17,14 +16,10 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
|
||||
<Compile Include="..\Reactor.Networking.Shared\**\*.cs" LinkBase="Networking" Visible="false" />
|
||||
|
||||
<PackageReference Include="Linguini.Bundle" Version="0.3.1" />
|
||||
<ProjectReference Include="..\Reactor.Linguinitor\Reactor.Linguinitor.csproj" ReferenceOutputAssembly="false" OutputItemType="Analyzer" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Assets\**\*" Exclude="Assets\icon.png" />
|
||||
<AdditionalFiles Include="Assets\Localization\en\*.ftl" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="../AmongUs.props" />
|
||||
|
||||
@@ -41,11 +41,11 @@ public partial class ReactorPlugin : BasePlugin
|
||||
|
||||
internal RegionInfoWatcher RegionInfoWatcher { get; } = new();
|
||||
|
||||
internal FluentLocalizationProvider LocalizationProvider { get; } = FluentLocalizationProvider.FromEmbeddedResources("Reactor.Assets.Localization");
|
||||
|
||||
/// <inheritdoc />
|
||||
public ReactorPlugin()
|
||||
{
|
||||
Log.LogMessage($"Among Us {Application.version} {Constants.GetCurrentPlatformName()}");
|
||||
|
||||
PluginSingleton<ReactorPlugin>.Instance = this;
|
||||
PluginSingleton<BasePlugin>.Initialize();
|
||||
|
||||
@@ -57,7 +57,6 @@ public partial class ReactorPlugin : BasePlugin
|
||||
MethodRpcAttribute.Initialize();
|
||||
|
||||
LocalizationManager.Register(new HardCodedLocalizationProvider());
|
||||
LocalizationManager.Register(Translate.Provider = LocalizationProvider);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -94,7 +93,7 @@ public partial class ReactorPlugin : BasePlugin
|
||||
}
|
||||
|
||||
[RegisterInIl2Cpp]
|
||||
private class ReactorComponent : MonoBehaviour
|
||||
private sealed class ReactorComponent : MonoBehaviour
|
||||
{
|
||||
[HideFromIl2Cpp]
|
||||
public ReactorPlugin? Plugin { get; internal set; }
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Reactor.Utilities;
|
||||
public static class Coroutines
|
||||
{
|
||||
[RegisterInIl2Cpp]
|
||||
internal class Component : MonoBehaviour
|
||||
internal sealed class Component : MonoBehaviour
|
||||
{
|
||||
internal static Component? Instance { get; set; }
|
||||
|
||||
|
||||
@@ -75,7 +75,8 @@ public class Window
|
||||
Rect = Rect.ResetSize();
|
||||
}
|
||||
|
||||
Rect = GUILayout.Window(Id, Rect, Func, Title);
|
||||
GUI.skin.label.wordWrap = false;
|
||||
Rect = GUILayout.Window(Id, Rect, Func, Title, GUILayout.MinWidth(GUI.skin.label.CalcSize(new GUIContent(Title)).x * 2));
|
||||
|
||||
if ((Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(1)) && Rect.Contains(new Vector2(Input.mousePosition.x, Screen.height - Input.mousePosition.y)))
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@ using Object = UnityEngine.Object;
|
||||
|
||||
namespace Reactor.Utilities;
|
||||
|
||||
internal class RegionInfoWatcher : IDisposable
|
||||
internal sealed class RegionInfoWatcher : IDisposable
|
||||
{
|
||||
private FileSystemWatcher Watcher { get; }
|
||||
|
||||
|
||||
+111
-84
@@ -4,9 +4,9 @@
|
||||
"net6.0": {
|
||||
"AmongUs.GameLibs.Steam": {
|
||||
"type": "Direct",
|
||||
"requested": "[2022.10.25, )",
|
||||
"resolved": "2022.10.25",
|
||||
"contentHash": "PWgkH/VvMlShVhZB8G432q0tnMaNVZrbIdbEMCZN/fETUlT/ch+qQj4PdTcZhPHREbnJHH3ijHxlca1d7QMBcQ=="
|
||||
"requested": "[2023.7.11, )",
|
||||
"resolved": "2023.7.11",
|
||||
"contentHash": "e5zbU+4AYnp1zAQDizO5GRIh1kemkgCa8rFVAcr9bxeupkBu5dwwdHxArWv/pUybIJTZfOPjkOnicZ2qKWLX7g=="
|
||||
},
|
||||
"BepInEx.AutoPlugin": {
|
||||
"type": "Direct",
|
||||
@@ -22,29 +22,19 @@
|
||||
},
|
||||
"BepInEx.Unity.IL2CPP": {
|
||||
"type": "Direct",
|
||||
"requested": "[6.0.0-be.662, )",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "fn7jQ88IBmjssoY9XjGBTg3cULkS+N/le/eUijYf2VV8raWok/6cU/GbU9bejkJS8g+2MvzIwnROAhAxvrGI2Q==",
|
||||
"requested": "[6.0.0-be.670, )",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "dhzCrem44oFxhOICCJ9eoSUbaKSsGGyBUfUQW9WFljCwIK8o4Cx5BiuXAkYoRjr2DhpzLpPDyPZDRImUqH0bwA==",
|
||||
"dependencies": {
|
||||
"BepInEx.Core": "6.0.0-be.662",
|
||||
"BepInEx.Unity.Common": "6.0.0-be.662",
|
||||
"HarmonyX": "2.10.0",
|
||||
"Iced": "1.17.0",
|
||||
"Il2CppInterop.Generator": "1.3.0",
|
||||
"Il2CppInterop.HarmonySupport": "1.3.0",
|
||||
"Il2CppInterop.Runtime": "1.3.0",
|
||||
"BepInEx.Core": "6.0.0-be.670",
|
||||
"BepInEx.Unity.Common": "6.0.0-be.670",
|
||||
"HarmonyX": "2.10.1",
|
||||
"Iced": "1.18.0",
|
||||
"Il2CppInterop.Generator": "1.4.6-ci.354",
|
||||
"Il2CppInterop.HarmonySupport": "1.4.6-ci.354",
|
||||
"Il2CppInterop.Runtime": "1.4.6-ci.354",
|
||||
"MonoMod.RuntimeDetour": "22.5.1.1",
|
||||
"Samboy063.Cpp2IL.Core": "2022.0.7.2"
|
||||
}
|
||||
},
|
||||
"Linguini.Bundle": {
|
||||
"type": "Direct",
|
||||
"requested": "[0.3.1, )",
|
||||
"resolved": "0.3.1",
|
||||
"contentHash": "k3D0IBSsS91T0G9rYACRYtAS27NDTGz4T3ygHhbhaFdA9i3cCfCpR39MqYEpoA1Ark3lzmvklHePmRCX5EQi1A==",
|
||||
"dependencies": {
|
||||
"Linguini.Shared": "0.3.0",
|
||||
"Linguini.Syntax": "0.3.0"
|
||||
"Samboy063.Cpp2IL.Core": "2022.1.0-development.866"
|
||||
}
|
||||
},
|
||||
"Microsoft.SourceLink.GitHub": {
|
||||
@@ -66,34 +56,69 @@
|
||||
"StyleCop.Analyzers.Unstable": "1.2.0.435"
|
||||
}
|
||||
},
|
||||
"AsmResolver": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "7PjujQzgQ3wjzqZYT4CY8SV6zx7FY6swIwj3Yk4QLolLqo9sBPb7FLF3W30QFvCsCkNfiVWXlSbeZKs4xGgQOQ=="
|
||||
},
|
||||
"AsmResolver.DotNet": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "oKrBU94OaSrbbTwydvpLRFalYxozrNXGkl13nIkm823ZFQtPNYOiOMJb5DQLvkCJlWyis7q865tg803T5zg9IA==",
|
||||
"dependencies": {
|
||||
"AsmResolver.PE": "5.1.0",
|
||||
"System.Text.Json": "6.0.7"
|
||||
}
|
||||
},
|
||||
"AsmResolver.PE": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "XD3iAgLSInJIODKUUlpHWXf8MR9H1SFMb1lsmabb4GxxxnDQRPjMxjglv2NOCjQQuNB2Oh0bvjHE7ewf82UqyQ==",
|
||||
"dependencies": {
|
||||
"AsmResolver.PE.File": "5.1.0"
|
||||
}
|
||||
},
|
||||
"AsmResolver.PE.File": {
|
||||
"type": "Transitive",
|
||||
"resolved": "5.1.0",
|
||||
"contentHash": "YituBYe0Fh471sXQMfu+f4tWKX/JZvRwrX6g/SVsr4XkUIUzYi/aGT3/QvjHoYx19fE1KYOB6zBKqPkkOK7HPw==",
|
||||
"dependencies": {
|
||||
"AsmResolver": "5.1.0"
|
||||
}
|
||||
},
|
||||
"AssetRipper.VersionUtilities": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.1",
|
||||
"contentHash": "knQ/W1YwTZS2AbdaZh+nhyyBEZQPQDcahhSOnh88i+cdg4/FEoFJiCwaavgFvCMNuUeHTbcZc4qttF8WQ8xLIA=="
|
||||
"resolved": "1.3.1",
|
||||
"contentHash": "/1D18NOpqm7rS7+qVUbAReVMNWwgDuYpsnf0RkX1Aah/I0a0irqldoFJ+Kku7YdbSm0zqD+Z6iYUGKoP3GwTNQ=="
|
||||
},
|
||||
"BepInEx.Core": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "VVBeCD/KQVy0/TK3V6SD8QZ/es35Xb1mEz/+PbBs3ST1yUC1r7k2JOymhSnmghVqf6UsvlMglOO9pljqhuE/Pw==",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "7CbbMNZfb+1VHjFKh/ErFBOOEYrVCIkng/B3/HPcbNioySC7qdT1ztfYqs6YjQia4krEic+LV3ew86B/hTg+hw==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.10.0",
|
||||
"HarmonyX": "2.10.1",
|
||||
"MonoMod.Utils": "22.5.1.1",
|
||||
"SemanticVersioning": "2.0.2"
|
||||
}
|
||||
},
|
||||
"BepInEx.Unity.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0-be.662",
|
||||
"contentHash": "BgETw6+snwY//3xjQxLiiEAFRmXaMTcSkg+1UQz6fVBG0YA5Usm/m4GflhTc3nwF61KO3Iznn1AORi5CwLJoUw==",
|
||||
"resolved": "6.0.0-be.670",
|
||||
"contentHash": "FSzWILgwepZ7CpA34ew1WyO75lNjxkfX86uwo2172lbhmLkgoAdQbNun8dxKJCDlIevmTDga76yr/WPrTXELvA==",
|
||||
"dependencies": {
|
||||
"AssetRipper.VersionUtilities": "1.2.1",
|
||||
"MonoMod.Utils": "22.5.1.1"
|
||||
}
|
||||
},
|
||||
"Disarm": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.1.0-master.26",
|
||||
"contentHash": "YnZEbRGr0nG+N3G8WbRQ4Lkg8dTD3oso9iJlCVBmyhEyhLyqs+drBs1kWQbQqFPnb9mi/RJ++R9bPb+L3HF03Q=="
|
||||
},
|
||||
"HarmonyX": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.10.0",
|
||||
"contentHash": "4ayiy/dlCiW86K2N7Jvbf+VpI5wvP7dncv/6oRmfwRi32UCmCRzCGzsxdMfzJZkp6/26oBW+DrD8vi4UejzVAg==",
|
||||
"resolved": "2.10.1",
|
||||
"contentHash": "9LodMC9Y0u1TW96eKJoWrFJFpmzbgojEO38/Q+e7c1mFPhmHt8xcR8qhI06iF1rf0Dnsk+hqENFVSgbtwl/bEw==",
|
||||
"dependencies": {
|
||||
"MonoMod.RuntimeDetour": "22.3.23.4",
|
||||
"System.Reflection.Emit": "4.7.0"
|
||||
@@ -101,13 +126,13 @@
|
||||
},
|
||||
"Iced": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.17.0",
|
||||
"contentHash": "8x+HCVTl/HHTGpscH3vMBhV8sknN/muZFw9s3TsI8SA6+c43cOTCi2+jE4KsU8pNLbJ++iF2ZFcpcXHXtDglnw=="
|
||||
"resolved": "1.18.0",
|
||||
"contentHash": "G60lZOvbvqttA+SBSv/yY6/wUboXKJlkffhSNR9iOrx0M5gpcK1TRr6xrFR+qAhqIAhvrsPF1jkn9fYb4lEufQ=="
|
||||
},
|
||||
"Il2CppInterop.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "IR3BrZXvL2nvJAn4pruPMgC78Y87hVa5xTYZCuHN67OzRD6WDl5dTO55vtvTl8dXFALKvlN+spja2tXhVuquOw==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "aCP3kr39YQw5GVqE9Q8c5y7f9CEKdFxpUhIqYgQBtrEz5Z/KCbHhjuOf/lSuFrjl6Vub/BKk6k+UbMRdoSvC1w==",
|
||||
"dependencies": {
|
||||
"Iced": "1.17.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "6.0.1",
|
||||
@@ -116,54 +141,36 @@
|
||||
},
|
||||
"Il2CppInterop.Generator": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "FuhPxbh/K4K94U3xac/ClMaaBp+MZ4aIaqi5dR0QihyGQoombT+OM/A22RwAIzbaCTbFbvabWaAuOSgB69ZwWQ==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "y30sxc9mMv0bUzCPDr73xiI6fiu7ksmnEm6XULTGU/5JEGv2aw++/71bLOEYCscNbZTa2JT4yYrLCXCj3GSekg==",
|
||||
"dependencies": {
|
||||
"Il2CppInterop.Common": "1.3.0",
|
||||
"Il2CppInterop.Common": "1.4.6-ci.354",
|
||||
"Mono.Cecil": "0.11.3"
|
||||
}
|
||||
},
|
||||
"Il2CppInterop.HarmonySupport": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "VppBnXtbMNGFhX8a1gg/85E883t2pW/+FZyV7eOaOXMNQyorg++u+kUFOIYwNpzTVqxWmMeoPS0DH0toVpjoKA==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "mQV5A+B/qtI6kSXEGx/UswiqjFKw13/yyviawnStfRKbLMW+XFsdMgGSkOVZd/TiDtF9ZG4Xt7DbkbFu26WjyA==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.10.0",
|
||||
"Il2CppInterop.Runtime": "1.3.0"
|
||||
"Il2CppInterop.Runtime": "1.4.6-ci.354"
|
||||
}
|
||||
},
|
||||
"Il2CppInterop.Runtime": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.3.0",
|
||||
"contentHash": "8A+N2yvja960Ap+s2RpW7Nb6HSpyuXJy2ipIlU+1erYU9SWHMyU9JZzUZGOhwWXJChKGvRmDdTZAg12k1+72dg==",
|
||||
"resolved": "1.4.6-ci.354",
|
||||
"contentHash": "Xe5md9z+KIthdEcjfUjmoOhvM3gTI3SPyocqvuzEHoov5jQ/HhIPv5hUZzTSm+2nzn3XplENNE8vlBPvQ1o6OA==",
|
||||
"dependencies": {
|
||||
"Iced": "1.17.0",
|
||||
"Il2CppInterop.Common": "1.3.0"
|
||||
"Il2CppInterop.Common": "1.4.6-ci.354"
|
||||
}
|
||||
},
|
||||
"IndexRange": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.0.0",
|
||||
"contentHash": "6TgS1JLSUkpmPLfXBPaAgB39ZUix8E4soXWk2XSDcscVe84i1JKzIAtA7jHbRHSkOOrcr6YA0MpLCeq98y9mYQ=="
|
||||
},
|
||||
"js6pak.Gee.External.Capstone": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.1.0",
|
||||
"contentHash": "YYpq7NM50bSSVUDjXyV/eiITk6syXqItPjKBOb3jEWS6RFsk0DNhpWMPW6b3hKDmArARuWDU6S2pVu1IeVrvIA=="
|
||||
},
|
||||
"Linguini.Shared": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "rEYA9jWU1Nc9iDuPKar+4IVXjFbGrcNyYZCeU6hiWQoS4nA2UecHu36Rp4bxzasvRGda4FB2JZqty75m4e26VQ=="
|
||||
},
|
||||
"Linguini.Syntax": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "v8YV3xPFZfP+OSWjMd6yysp+o7cNnQXxq/slN8Yekoi+dFjsTNF0YiQWJIwg1j2FUbs6claJxY9R1FFlc4s6MA==",
|
||||
"dependencies": {
|
||||
"Linguini.Shared": "0.3.0"
|
||||
}
|
||||
},
|
||||
"Microsoft.Build.Tasks.Git": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.1.1",
|
||||
@@ -323,38 +330,41 @@
|
||||
},
|
||||
"Samboy063.Cpp2IL.Core": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.7.2",
|
||||
"contentHash": "e17CAhKSxdAp7vFcYEVxjSc7t7rcvVGBipGhgE9tAjRXY85wZXLlHEVO0AEvMRkLmf9U+if4wK/nZEC1AX6VqQ==",
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "QPMuix/3jRngWBdNSLhAbm9BHYf95Ln1Ph1eCK/cDZdVibxFDFP3a6Yczyx1p7GbN7bRQwrhs2skPJSS/z3m2w==",
|
||||
"dependencies": {
|
||||
"HarmonyX": "2.5.5",
|
||||
"Iced": "1.11.1",
|
||||
"IndexRange": "1.0.0",
|
||||
"Mono.Cecil": "0.11.4",
|
||||
"Samboy063.LibCpp2IL": "2022.0.7.2",
|
||||
"System.Runtime.InteropServices": "4.3.0",
|
||||
"System.ValueTuple": "4.5.0",
|
||||
"AsmResolver.DotNet": "5.1.0",
|
||||
"Disarm": "2022.1.0-master.26",
|
||||
"Iced": "1.18.0",
|
||||
"Samboy063.LibCpp2IL": "2022.1.0-development.866",
|
||||
"StableNameDotNet": "0.1.0-development.866",
|
||||
"js6pak.Gee.External.Capstone": "2.1.0"
|
||||
}
|
||||
},
|
||||
"Samboy063.LibCpp2IL": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.7.2",
|
||||
"contentHash": "DpVeU0dQkUJCpbw0f1xKOG8vimdK2oYhrVABC7HDE3/ikGjhnMZd3i5b1joKDHZ+AiL90TWOaEXPcy24rCZ0dA==",
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "EcJSWTfQko8SQozozoUT+aQJVWC8wj8C0YUiPBF4rNRId19yTKp2IXcXnI747v+8/aal222QR6WHfoBK2WlVLg==",
|
||||
"dependencies": {
|
||||
"IndexRange": "1.0.0",
|
||||
"Samboy063.WasmDisassembler": "2022.0.2"
|
||||
"AssetRipper.VersionUtilities": "1.3.1",
|
||||
"Samboy063.WasmDisassembler": "2022.1.0-development.866"
|
||||
}
|
||||
},
|
||||
"Samboy063.WasmDisassembler": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2022.0.2",
|
||||
"contentHash": "2uu+xBb7M3HKfBx9tAY6jiDieAf0hRnQjSmGX+7IdE6i24dYsx6TYgtrLvRx5lOuF2M8DijZ5H8yQ1pcuCs2SA=="
|
||||
"resolved": "2022.1.0-development.866",
|
||||
"contentHash": "2QK8F3eISkLcoW/Nt7wtxyQh31EXAqEMBVXXjEnuxyvXpBXxOIGpjmE3pWhGwxQwDCbe4zBsLF1zUiqq3/pXRA=="
|
||||
},
|
||||
"SemanticVersioning": {
|
||||
"type": "Transitive",
|
||||
"resolved": "2.0.2",
|
||||
"contentHash": "4EQgYdNZ92SyaO7YFk6olVnebF5V+jrHyMUjvPq89tLeMo8NSfgDF+6Zwq/lgh9j/0yfQp9Lkm0ZA0rUATCZFA=="
|
||||
},
|
||||
"StableNameDotNet": {
|
||||
"type": "Transitive",
|
||||
"resolved": "0.1.0-development.866",
|
||||
"contentHash": "DJb8x4dV3ucDgM12sU28HxCdeqY/JudJbeJG6mgXWDJzpFZw2Jd7JF1pKFRNLzh/0gpo8bCGLQS9gOWZmBjdtg=="
|
||||
},
|
||||
"StyleCop.Analyzers.Unstable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.2.0.435",
|
||||
@@ -685,6 +695,11 @@
|
||||
"Microsoft.NETCore.Targets": "1.1.0"
|
||||
}
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
||||
},
|
||||
"System.Runtime.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
@@ -883,6 +898,23 @@
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Json": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.7",
|
||||
"contentHash": "/Tf/9XjprpHolbcDOrxsKVYy/mUG/FS7aGd9YUgBVEiHeQH4kAE0T1sMbde7q6B5xcrNUsJ5iW7D1RvHudQNqA==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||
"System.Text.Encodings.Web": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Threading": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.3.0",
|
||||
@@ -901,11 +933,6 @@
|
||||
"Microsoft.NETCore.Targets": "1.1.0",
|
||||
"System.Runtime": "4.3.0"
|
||||
}
|
||||
},
|
||||
"System.ValueTuple": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.0",
|
||||
"contentHash": "okurQJO6NRE/apDIP23ajJ0hpiNmJ+f0BwOlB/cSqTLQlw5upkf+5+96+iG2Jw40G1fCVCyPz/FhIABUjMR+RQ=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="BepInEx" value="https://nuget.bepinex.dev/v3/index.json" />
|
||||
<add key="Samboy" value="https://nuget.samboy.dev/v3/index.json" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
Reference in new issue
Block a user