mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-07-31 01:15:57 -04:00
See extended.
[fixed] Characters could sometimes walk through buildings due to unsigned object Ids [fixed] Critical networking bugs [fixed] Client crash whenever an object was destroyed [added] Loading of client objects is now multithreaded. [updated] Reworked awareness system(engine). [fixed] lots of other small engine fixes.
This commit is contained in:
@@ -269,7 +269,6 @@ public class SimulationService implements INetworkDispatch {
|
||||
|
||||
DataTransformWithParent dataTransform = new DataTransformWithParent();
|
||||
dataTransform.deserialize(data);
|
||||
//System.out.println("Movement Counter: " + dataTransform.getMovementCounter());
|
||||
Client client = core.getClient((Integer) session.getAttribute("connectionId"));
|
||||
|
||||
if(core.objectService.getObject(dataTransform.getCellId()) == null)
|
||||
@@ -438,15 +437,13 @@ public class SimulationService implements INetworkDispatch {
|
||||
|
||||
if(client.getParent() == null)
|
||||
return;
|
||||
|
||||
session.suspendWrite();
|
||||
|
||||
CreatureObject object = (CreatureObject) client.getParent();
|
||||
boolean remove = remove(object, object.getPosition().x, object.getPosition().z);
|
||||
if(remove)
|
||||
System.out.println("Successful quadtree remove");
|
||||
|
||||
if(object.getContainer() == null) {
|
||||
//if(object.getContainer() == null) {
|
||||
HashSet<Client> oldObservers = new HashSet<Client>(object.getObservers());
|
||||
for(Iterator<Client> it = oldObservers.iterator(); it.hasNext();) {
|
||||
Client observerClient = it.next();
|
||||
@@ -454,9 +451,9 @@ public class SimulationService implements INetworkDispatch {
|
||||
observerClient.getParent().makeUnaware(object);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
object.getContainer().remove(object);
|
||||
}
|
||||
//} else {
|
||||
// object.getContainer().remove(object);
|
||||
//}
|
||||
|
||||
|
||||
object.createTransaction(core.getCreatureODB().getEnvironment());
|
||||
|
||||
Reference in New Issue
Block a user