mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 16:44:36 +00:00
network reductons
first pass, tsstatic sceneobject under review
This commit is contained in:
parent
5d260bc58f
commit
4579f327b4
1 changed files with 29 additions and 24 deletions
|
|
@ -942,8 +942,9 @@ U32 TSStatic::packUpdate(NetConnection* con, U32 mask, BitStream* stream)
|
||||||
|
|
||||||
if (stream->writeFlag(mask & UpdateCollisionMask))
|
if (stream->writeFlag(mask & UpdateCollisionMask))
|
||||||
{
|
{
|
||||||
stream->write(mCollisionLOD);
|
if (stream->writeFlag(mCollisionLOD>0))
|
||||||
stream->write((U32)mCollisionType);
|
stream->writeInt(mCollisionLOD,12);
|
||||||
|
stream->writeInt(mCollisionType,4);
|
||||||
}
|
}
|
||||||
if (stream->writeFlag(mask & SkinMask))
|
if (stream->writeFlag(mask & SkinMask))
|
||||||
con->packNetStringHandleU(stream, mSkinNameHandle);
|
con->packNetStringHandleU(stream, mSkinNameHandle);
|
||||||
|
|
@ -952,7 +953,7 @@ U32 TSStatic::packUpdate(NetConnection* con, U32 mask, BitStream* stream)
|
||||||
{
|
{
|
||||||
PACK_ASSET_REFACTOR(con, Shape);
|
PACK_ASSET_REFACTOR(con, Shape);
|
||||||
|
|
||||||
stream->write((U32)mDecalType);
|
stream->writeInt(mDecalType,4);
|
||||||
|
|
||||||
stream->writeFlag(mAllowPlayerStep);
|
stream->writeFlag(mAllowPlayerStep);
|
||||||
stream->writeFlag(mMeshCulling);
|
stream->writeFlag(mMeshCulling);
|
||||||
|
|
@ -998,17 +999,18 @@ U32 TSStatic::packUpdate(NetConnection* con, U32 mask, BitStream* stream)
|
||||||
|
|
||||||
if (stream->writeFlag(mask & MaterialMask))
|
if (stream->writeFlag(mask & MaterialMask))
|
||||||
{
|
{
|
||||||
stream->writeInt(mChangingMaterials.size(), 16);
|
if (stream->writeFlag(mChangingMaterials.size() > 0))
|
||||||
|
|
||||||
for (U32 i = 0; i < mChangingMaterials.size(); i++)
|
|
||||||
{
|
{
|
||||||
stream->writeInt(mChangingMaterials[i].slot, 16);
|
stream->writeInt(mChangingMaterials.size(), 16);
|
||||||
|
|
||||||
NetStringHandle matNameStr = mChangingMaterials[i].assetId.c_str();
|
for (U32 i = 0; i < mChangingMaterials.size(); i++)
|
||||||
con->packNetStringHandleU(stream, matNameStr);
|
{
|
||||||
|
stream->writeInt(mChangingMaterials[i].slot, 16);
|
||||||
|
|
||||||
|
NetStringHandle matNameStr = mChangingMaterials[i].assetId.c_str();
|
||||||
|
con->packNetStringHandleU(stream, matNameStr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//mChangingMaterials.clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return retMask;
|
return retMask;
|
||||||
|
|
@ -1042,8 +1044,9 @@ void TSStatic::unpackUpdate(NetConnection* con, BitStream* stream)
|
||||||
{
|
{
|
||||||
U32 collisionType = CollisionMesh;
|
U32 collisionType = CollisionMesh;
|
||||||
|
|
||||||
stream->read(&mCollisionLOD);
|
if (stream->readFlag())
|
||||||
stream->read(&collisionType);
|
mCollisionLOD = stream->readInt(12);
|
||||||
|
collisionType = stream->readInt(4);
|
||||||
|
|
||||||
// Handle it if we have changed CollisionType's
|
// Handle it if we have changed CollisionType's
|
||||||
if ((MeshType)collisionType != mCollisionType)
|
if ((MeshType)collisionType != mCollisionType)
|
||||||
|
|
@ -1069,7 +1072,7 @@ void TSStatic::unpackUpdate(NetConnection* con, BitStream* stream)
|
||||||
{
|
{
|
||||||
UNPACK_ASSET_REFACTOR(con, Shape);
|
UNPACK_ASSET_REFACTOR(con, Shape);
|
||||||
|
|
||||||
stream->read((U32*)&mDecalType);
|
mDecalType = (MeshType)stream->readInt(4);
|
||||||
|
|
||||||
mAllowPlayerStep = stream->readFlag();
|
mAllowPlayerStep = stream->readFlag();
|
||||||
mMeshCulling = stream->readFlag();
|
mMeshCulling = stream->readFlag();
|
||||||
|
|
@ -1124,20 +1127,22 @@ void TSStatic::unpackUpdate(NetConnection* con, BitStream* stream)
|
||||||
if (stream->readFlag())
|
if (stream->readFlag())
|
||||||
{
|
{
|
||||||
mChangingMaterials.clear();
|
mChangingMaterials.clear();
|
||||||
U32 materialCount = stream->readInt(16);
|
if (stream->readFlag())
|
||||||
|
|
||||||
for (U32 i = 0; i < materialCount; i++)
|
|
||||||
{
|
{
|
||||||
matMap newMatMap;
|
U32 materialCount = stream->readInt(16);
|
||||||
newMatMap.slot = stream->readInt(16);
|
|
||||||
newMatMap.assetId = String(con->unpackNetStringHandleU(stream).getString());
|
|
||||||
|
|
||||||
//do the lookup, now
|
for (U32 i = 0; i < materialCount; i++)
|
||||||
newMatMap.matAsset = AssetDatabase.acquireAsset<MaterialAsset>(newMatMap.assetId);
|
{
|
||||||
|
matMap newMatMap;
|
||||||
|
newMatMap.slot = stream->readInt(16);
|
||||||
|
newMatMap.assetId = String(con->unpackNetStringHandleU(stream).getString());
|
||||||
|
|
||||||
mChangingMaterials.push_back(newMatMap);
|
//do the lookup, now
|
||||||
|
newMatMap.matAsset = AssetDatabase.acquireAsset<MaterialAsset>(newMatMap.assetId);
|
||||||
|
|
||||||
|
mChangingMaterials.push_back(newMatMap);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
updateMaterials();
|
updateMaterials();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue