Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 84bab9bbc5 | |||
| 74997b1e23 | |||
| 6454d741d4 | |||
| 7d63d60d99 | |||
| 9f37c2bd8b |
@ -57,10 +57,8 @@ class MeshBatch {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function removeMesh(m: MeshObject) {
|
public function removeMesh(m: MeshObject) {
|
||||||
var shader = m.materials[0].shader;
|
var b = m.materials.length > 0 ? buckets.get(m.materials[0].shader) : null;
|
||||||
var b = buckets.get(shader);
|
if (b == null || !b.removeMesh(m)) nonBatched.remove(m);
|
||||||
if (b != null) b.removeMesh(m);
|
|
||||||
else nonBatched.remove(m);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@:access(iron.RenderPath)
|
@:access(iron.RenderPath)
|
||||||
@ -176,8 +174,8 @@ class Bucket {
|
|||||||
meshes.push(m);
|
meshes.push(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function removeMesh(m: MeshObject) {
|
public function removeMesh(m: MeshObject): Bool {
|
||||||
meshes.remove(m);
|
return meshes.remove(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if lnx_deinterleaved
|
#if lnx_deinterleaved
|
||||||
|
|||||||
@ -94,6 +94,7 @@ class CreateLeenkxNode extends LogicNode {
|
|||||||
lnxCn.onLeft = function(address) {
|
lnxCn.onLeft = function(address) {
|
||||||
Leenkx.id.set(net_Url, address);
|
Leenkx.id.set(net_Url, address);
|
||||||
sock.onleft();
|
sock.onleft();
|
||||||
|
sock.onclose();
|
||||||
};
|
};
|
||||||
lnxCn.onServer = function(address) {
|
lnxCn.onServer = function(address) {
|
||||||
Leenkx.id.set(net_Url, address);
|
Leenkx.id.set(net_Url, address);
|
||||||
@ -106,6 +107,7 @@ class CreateLeenkxNode extends LogicNode {
|
|||||||
lnxCn.onTimeout = function(address) {
|
lnxCn.onTimeout = function(address) {
|
||||||
Leenkx.id.set(net_Url, address);
|
Leenkx.id.set(net_Url, address);
|
||||||
sock.ontimeout();
|
sock.ontimeout();
|
||||||
|
sock.onclose();
|
||||||
};
|
};
|
||||||
lnxCn.onWireLeft = function(wirecount, wire) {
|
lnxCn.onWireLeft = function(wirecount, wire) {
|
||||||
Leenkx.data.set(net_Url, wirecount);
|
Leenkx.data.set(net_Url, wirecount);
|
||||||
|
|||||||
@ -408,9 +408,10 @@ class LeenkxClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onMessageData(identifier:String, message:Bytes, ?senderPk:String):Void {
|
function onMessageData(identifier:String, message:Bytes, ?senderPk:String):Void {
|
||||||
var hash = Crypto.hash(message).sub(0, 16).toHex();
|
var hash = (message.length > 0 && message.get(0) == 0x00)
|
||||||
|
? null : Crypto.hash(message).sub(0, 16).toHex();
|
||||||
var t = now();
|
var t = now();
|
||||||
if (!seen.exists(hash)) {
|
if (hash == null || !seen.exists(hash)) {
|
||||||
if (message.length > 0 && (message.get(0) == 0x00 || message.get(0) == 0x01)) {
|
if (message.length > 0 && (message.get(0) == 0x00 || message.get(0) == 0x01)) {
|
||||||
var isRelayed = message.get(0) == 0x01;
|
var isRelayed = message.get(0) == 0x01;
|
||||||
var offset = 1;
|
var offset = 1;
|
||||||
@ -434,7 +435,7 @@ class LeenkxClient {
|
|||||||
var rawPayload = message.sub(offset, message.length - offset);
|
var rawPayload = message.sub(offset, message.length - offset);
|
||||||
var payload = new leenkx.network.Buffer();
|
var payload = new leenkx.network.Buffer();
|
||||||
payload.writeBytes(rawPayload);
|
payload.writeBytes(rawPayload);
|
||||||
seen.set(hash, t);
|
if (isRelayed) seen.set(hash, t);
|
||||||
var senderAddr = msgSenderPk != null ? pkToAddress.get(msgSenderPk) : null;
|
var senderAddr = msgSenderPk != null ? pkToAddress.get(msgSenderPk) : null;
|
||||||
if (senderAddr == null && msgSenderPk != null && msgSenderPk != "") {
|
if (senderAddr == null && msgSenderPk != null && msgSenderPk != "") {
|
||||||
senderAddr = addressFromPk(msgSenderPk);
|
senderAddr = addressFromPk(msgSenderPk);
|
||||||
|
|||||||
@ -116,9 +116,6 @@ class WireTransport implements ITransport {
|
|||||||
if (onPeerHandshake != null && remotePk != "") {
|
if (onPeerHandshake != null && remotePk != "") {
|
||||||
onPeerHandshake(remotePk, remoteEk);
|
onPeerHandshake(remotePk, remoteEk);
|
||||||
}
|
}
|
||||||
if (onPeerConnected != null) {
|
|
||||||
onPeerConnected(peerId, getPeerCount());
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
wire.onExtended = function(name:String, data:Bytes) {
|
wire.onExtended = function(name:String, data:Bytes) {
|
||||||
if (name != EXT) return;
|
if (name != EXT) return;
|
||||||
@ -132,6 +129,9 @@ class WireTransport implements ITransport {
|
|||||||
if (onError != null) onError(msg);
|
if (onError != null) onError(msg);
|
||||||
};
|
};
|
||||||
wire.start([EXT]);
|
wire.start([EXT]);
|
||||||
|
if (onPeerConnected != null) {
|
||||||
|
onPeerConnected(peerId, getPeerCount());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onPeerLeft(peerId:String):Void {
|
function onPeerLeft(peerId:String):Void {
|
||||||
|
|||||||
Reference in New Issue
Block a user