From d6e973f2f20796f644f08019d907d673dc0b8b20 Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Fri, 5 Jun 2020 13:28:38 -0700 Subject: [PATCH] Fixed GroundToCursor code to use client-side entity id and pass along server-side entity id --- .../com/riiablo/engine/client/ClientNetworkReceiver.java | 4 ++-- .../riiablo/engine/client/NetworkedClientItemManager.java | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/core/src/com/riiablo/engine/client/ClientNetworkReceiver.java b/core/src/com/riiablo/engine/client/ClientNetworkReceiver.java index 52dd5944..fb31cf17 100644 --- a/core/src/com/riiablo/engine/client/ClientNetworkReceiver.java +++ b/core/src/com/riiablo/engine/client/ClientNetworkReceiver.java @@ -83,7 +83,6 @@ public class ClientNetworkReceiver extends IntervalSystem { private static final boolean DEBUG_PACKET = DEBUG && !true; private static final boolean DEBUG_SYNC = DEBUG && !true; -// protected ComponentMapper mNetworked; protected ComponentMapper mCofReference; protected ComponentMapper mCofComponents; protected ComponentMapper mCofTransforms; @@ -422,7 +421,8 @@ public class ClientNetworkReceiver extends IntervalSystem { private void GroundToCursor(D2GS packet) { GroundToCursor groundToCursor = (GroundToCursor) packet.data(new GroundToCursor()); - items.groundToCursor(Riiablo.game.player, groundToCursor.itemId()); + int entityId = syncIds.get(groundToCursor.itemId()); + items.groundToCursor(Riiablo.game.player, entityId); } private void CursorToGround(D2GS packet) { diff --git a/core/src/com/riiablo/engine/client/NetworkedClientItemManager.java b/core/src/com/riiablo/engine/client/NetworkedClientItemManager.java index 008a9b60..8763194a 100644 --- a/core/src/com/riiablo/engine/client/NetworkedClientItemManager.java +++ b/core/src/com/riiablo/engine/client/NetworkedClientItemManager.java @@ -2,9 +2,11 @@ package com.riiablo.engine.client; import com.google.flatbuffers.FlatBufferBuilder; +import com.artemis.ComponentMapper; import com.artemis.annotations.Wire; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.net.Socket; +import com.riiablo.engine.server.component.Networked; import com.riiablo.item.BodyLoc; import com.riiablo.item.StoreLoc; import com.riiablo.net.packet.d2gs.BeltToCursor; @@ -28,6 +30,8 @@ import java.nio.channels.WritableByteChannel; public class NetworkedClientItemManager extends ClientItemManager { private static final String TAG = "NetworkedClientItemManager"; + protected ComponentMapper mNetworked; + @Wire(name = "client.socket") protected Socket socket; @@ -50,8 +54,9 @@ public class NetworkedClientItemManager extends ClientItemManager { @Override public void groundToCursor(int entityId) { + int serverId = mNetworked.get(entityId).serverId; FlatBufferBuilder builder = obtainBuilder(); - int dataOffset = GroundToCursor.createGroundToCursor(builder, entityId); + int dataOffset = GroundToCursor.createGroundToCursor(builder, serverId); wrapAndSend(builder, D2GSData.GroundToCursor, dataOffset); }