diff --git a/AquaMai.Core/Helpers/Shim.cs b/AquaMai.Core/Helpers/Shim.cs index 3faad0ea..922b04d9 100644 --- a/AquaMai.Core/Helpers/Shim.cs +++ b/AquaMai.Core/Helpers/Shim.cs @@ -189,6 +189,26 @@ public static byte[] EncryptNetPacketBody(byte[] data) return (PacketUpsertUserAll)ctor2.Invoke(args); }; } + else if (type.GetConstructor(new[] + { + typeof(int), + typeof(UserData), + typeof(int), + typeof(Action), + typeof(Action) + }) is ConstructorInfo ctor3) + { + return (index, src, onDone, onError) => + { + var maxTrackNo = + src.IsEntry && !Singleton.Instance.IsEmpty() + ? Singleton.Instance.GetScoreListCount() + : 0; + + var args = new object[] { index, src, maxTrackNo, onDone, onError }; + return (PacketUpsertUserAll)ctor3.Invoke(args); + }; + } else { throw new MissingMethodException("No matching PacketUpsertUserAll constructor found");