0.3.3
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
# Release Notes v0.3.3
|
||||
|
||||
- *Hopefully* Fixed for PlateUp! 1.3.0
|
||||
@@ -0,0 +1,3 @@
|
||||
[h1]Release Notes v0.3.3[/h1]
|
||||
|
||||
- *Hopefully* Fixed for PlateUp! 1.3.0
|
||||
@@ -13,7 +13,7 @@ namespace MMOKitchen
|
||||
{
|
||||
public const string MOD_GUID = "com.starfluxgames.mmokitchen";
|
||||
public const string MOD_NAME = "MMO Kitchen";
|
||||
public const string MOD_VERSION = "0.3.2";
|
||||
public const string MOD_VERSION = "0.3.3";
|
||||
public const string MOD_AUTHOR = "StarFluxGames";
|
||||
public const string MOD_GAMEVERSION = ">=1.2.0";
|
||||
|
||||
|
||||
@@ -1,30 +1,44 @@
|
||||
using HarmonyLib;
|
||||
using Kitchen.NetworkSupport;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using System.Reflection.Emit;
|
||||
using UnityEngine;
|
||||
using SteamNetworkService = Kitchen.NetworkSupport.SteamNetworkService;
|
||||
|
||||
namespace MMOKitchen.Patches
|
||||
{
|
||||
/*
|
||||
* This patch is used to change how many players can join the lobby using Steam.
|
||||
*/
|
||||
[HarmonyPatch(typeof(SteamPlatform))]
|
||||
[HarmonyPatch(typeof(SteamNetworkService))]
|
||||
public class SteamPlatformPatch
|
||||
{
|
||||
{
|
||||
private static MethodBase TargetMethod()
|
||||
{
|
||||
Type type = AccessTools.FirstInner(typeof(SteamPlatform), t => t.Name.Contains("<CreateNewLobby>d__26"));
|
||||
Type type = AccessTools.FirstInner(typeof(SteamNetworkService), t => t.Name.Contains("<CreateNewLobby>d__31"));
|
||||
return AccessTools.FirstMethod(type, method => method.Name.Contains("MoveNext"));
|
||||
}
|
||||
|
||||
[HarmonyTranspiler]
|
||||
private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
|
||||
{
|
||||
CodeMatcher matcher = new(instructions);
|
||||
|
||||
matcher.MatchForward(false, new CodeMatch(OpCodes.Ldc_I4_2), new CodeMatch(OpCodes.Bne_Un), new CodeMatch(OpCodes.Ldc_I4_4))
|
||||
.Advance(2)
|
||||
|
||||
foreach (var instruction in matcher.InstructionEnumeration())
|
||||
{
|
||||
if (instruction.operand != null)
|
||||
{
|
||||
Debug.Log($"{instruction.opcode} : {instruction.operand}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log($"{instruction.opcode}");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
matcher.MatchForward(false, new CodeMatch(OpCodes.Ldc_I4_4), new CodeMatch(OpCodes.Call), new CodeMatch(OpCodes.Callvirt), new CodeMatch(OpCodes.Stloc_S), new CodeMatch(OpCodes.Ldloca_S), new CodeMatch(OpCodes.Call), new CodeMatch(OpCodes.Brtrue))
|
||||
.Set(OpCodes.Ldc_I4, Mod.MaxPlayers);
|
||||
|
||||
return matcher.InstructionEnumeration();
|
||||
|
||||
Reference in New Issue
Block a user