diff --git a/MirrorWeaver/Weaver/Readers.cs b/MirrorWeaver/Weaver/Readers.cs index f9a39c7c..916ac70d 100644 --- a/MirrorWeaver/Weaver/Readers.cs +++ b/MirrorWeaver/Weaver/Readers.cs @@ -360,7 +360,7 @@ namespace Mirror.Weaver continue; // todo does this even work? - Log.Error($"read using {method}", klass); + Log.Error($"! read using {method}", klass); // mismatched ldloca/ldloc for struct/class combinations is invalid IL, which causes crash at runtime var opcode = klass.IsValueType ? OpCodes.Ldloca : OpCodes.Ldloc; worker.Emit(opcode, 0); // the klass @@ -388,6 +388,7 @@ namespace Mirror.Weaver if (readFunc != null) { worker.Emit(OpCodes.Ldarg_0); + Log.Error($"! read field {field}", variable); worker.Emit(OpCodes.Call, readFunc); } else diff --git a/MirrorWeaver/Weaver/Writers.cs b/MirrorWeaver/Weaver/Writers.cs index baa33f39..b7bf55eb 100644 --- a/MirrorWeaver/Weaver/Writers.cs +++ b/MirrorWeaver/Weaver/Writers.cs @@ -276,7 +276,7 @@ namespace Mirror.Weaver continue; // todo does this even work? - Log.Error($"write using {method}", klass); + Log.Error($"! write using {method}", klass); worker.Emit(OpCodes.Ldarg_1); // the klass worker.Emit(OpCodes.Ldarg_0); // the writer worker.Emit(OpCodes.Callvirt, method); @@ -307,6 +307,7 @@ namespace Mirror.Weaver worker.Emit(OpCodes.Ldarg_0); worker.Emit(OpCodes.Ldarg_1); worker.Emit(OpCodes.Ldfld, fieldRef); + Log.Error($"! write field {field}", variable); worker.Emit(OpCodes.Call, writeFunc); } diff --git a/QSB/AuthoritySync/AuthQueueMessage.cs b/QSB/AuthoritySync/AuthQueueMessage.cs index ae26f42f..9bf11467 100644 --- a/QSB/AuthoritySync/AuthQueueMessage.cs +++ b/QSB/AuthoritySync/AuthQueueMessage.cs @@ -22,13 +22,13 @@ namespace QSB.AuthoritySync public override void Serialize(NetworkWriter writer) { base.Serialize(writer); - writer.Write(NetId); + writer.WriteUInt(NetId.Value); } public override void Deserialize(NetworkReader reader) { base.Deserialize(reader); - NetId = reader.Read(); + NetId = new QNetworkInstanceId(reader.ReadUInt()); } public override bool ShouldReceive => WorldObjectManager.AllObjectsReady;