From d53601daa612bc4e6de7cd2720c220a2525567d7 Mon Sep 17 00:00:00 2001 From: Vapre Date: Sun, 10 Oct 2021 17:44:43 +0200 Subject: [PATCH] World, SyncHash, cache per tick. --- OpenRA.Game/Sync.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OpenRA.Game/Sync.cs b/OpenRA.Game/Sync.cs index a553f26c2f..c1faee6f4e 100644 --- a/OpenRA.Game/Sync.cs +++ b/OpenRA.Game/Sync.cs @@ -112,7 +112,7 @@ namespace OpenRA public static int HashCPos(CPos i2) { - return ((i2.X * 5) ^ (i2.Y * 3)) / 4; + return i2.Bits; } public static int HashCVec(CVec i2) @@ -142,10 +142,11 @@ namespace OpenRA return (int)(t.Actor.ActorID << 16) * 0x567; case TargetType.FrozenActor: - if (t.FrozenActor.Actor == null) + var actor = t.FrozenActor.Actor; + if (actor == null) return 0; - return (int)(t.FrozenActor.Actor.ActorID << 16) * 0x567; + return (int)(actor.ActorID << 16) * 0x567; case TargetType.Terrain: return HashUsingHashCode(t.CenterPosition);