Add ToSpan for MemoryWriteStream and simplify code with it
This commit is contained in:
@@ -43,7 +43,7 @@ public:
|
||||
// Copy to asset chunk
|
||||
if (context.AllocateChunk(0))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ CreateAssetResult CreateAnimationGraph::Create(CreateAssetContext& context)
|
||||
// Copy to asset chunk
|
||||
if (context.AllocateChunk(0))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
return CreateAssetResult::Error;
|
||||
if (context.AllocateChunk(0))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ public:
|
||||
const BehaviorTreeGraph graph;
|
||||
MemoryWriteStream stream(64);
|
||||
graph.Save(&stream, true);
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
}
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
|
||||
@@ -191,7 +191,7 @@ CreateAssetResult CreateMaterial::Create(CreateAssetContext& context)
|
||||
|
||||
MemoryWriteStream stream(512);
|
||||
layer->Graph.Save(&stream, true);
|
||||
context.Data.Header.Chunks[SHADER_FILE_CHUNK_VISJECT_SURFACE]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[SHADER_FILE_CHUNK_VISJECT_SURFACE]->Data.Copy(ToSpan(stream));
|
||||
Delete(layer);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -45,7 +45,7 @@ public:
|
||||
return CreateAssetResult::Error;
|
||||
if (context.AllocateChunk(0))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public:
|
||||
MemoryWriteStream stream(256);
|
||||
stream.Write(Guid::Empty);
|
||||
MaterialParams::Save(&stream, nullptr);
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ public:
|
||||
graph.CreateDefault();
|
||||
MemoryWriteStream stream(512);
|
||||
graph.Save(&stream, false);
|
||||
context.Data.Header.Chunks[SHADER_FILE_CHUNK_VISJECT_SURFACE]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[SHADER_FILE_CHUNK_VISJECT_SURFACE]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
return CreateAssetResult::Error;
|
||||
if (context.AllocateChunk(0))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
stream.WriteInt32(0); // Emitters Count
|
||||
stream.WriteInt32(0); // Tracks Count
|
||||
}
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ public:
|
||||
stream.WriteInt32(5 * 60); // DurationFrames
|
||||
stream.WriteInt32(0); // Tracks Count
|
||||
}
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ public:
|
||||
const VisualScriptGraph graph;
|
||||
MemoryWriteStream stream(64);
|
||||
graph.Save(&stream, true);
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
}
|
||||
|
||||
// Chunk 1 - Visual Script Metadata
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
stream.Write(1);
|
||||
stream.Write(*baseTypename, 31);
|
||||
stream.Write((int32)VisualScript::Flags::None);
|
||||
context.Data.Header.Chunks[1]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[1]->Data.Copy(ToSpan(stream));
|
||||
}
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
|
||||
@@ -554,7 +554,7 @@ CreateAssetResult ImportModel::CreateModel(CreateAssetContext& context, const Mo
|
||||
return CreateAssetResult::Error;
|
||||
if (context.AllocateChunk(0))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
// Pack model LODs data
|
||||
const auto lodCount = modelData.LODs.Count();
|
||||
@@ -566,7 +566,7 @@ CreateAssetResult ImportModel::CreateModel(CreateAssetContext& context, const Mo
|
||||
const int32 chunkIndex = MODEL_LOD_TO_CHUNK_INDEX(lodIndex);
|
||||
if (context.AllocateChunk(chunkIndex))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[chunkIndex]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[chunkIndex]->Data.Copy(ToSpan(stream));
|
||||
}
|
||||
|
||||
// Generate SDF
|
||||
@@ -577,7 +577,7 @@ CreateAssetResult ImportModel::CreateModel(CreateAssetContext& context, const Mo
|
||||
{
|
||||
if (context.AllocateChunk(15))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[15]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[15]->Data.Copy(ToSpan(stream));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -596,7 +596,7 @@ CreateAssetResult ImportModel::CreateSkinnedModel(CreateAssetContext& context, c
|
||||
return CreateAssetResult::Error;
|
||||
if (context.AllocateChunk(0))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
// Pack model LODs data
|
||||
const auto lodCount = modelData.LODs.Count();
|
||||
@@ -608,7 +608,7 @@ CreateAssetResult ImportModel::CreateSkinnedModel(CreateAssetContext& context, c
|
||||
const int32 chunkIndex = MODEL_LOD_TO_CHUNK_INDEX(lodIndex);
|
||||
if (context.AllocateChunk(chunkIndex))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[chunkIndex]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[chunkIndex]->Data.Copy(ToSpan(stream));
|
||||
}
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
@@ -637,7 +637,7 @@ CreateAssetResult ImportModel::CreateAnimation(CreateAssetContext& context, cons
|
||||
return CreateAssetResult::Error;
|
||||
if (context.AllocateChunk(0))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[0]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[0]->Data.Copy(ToSpan(stream));
|
||||
|
||||
return CreateAssetResult::Ok;
|
||||
}
|
||||
|
||||
@@ -178,7 +178,7 @@ CreateAssetResult ImportTexture::Create(CreateAssetContext& context, const Textu
|
||||
}
|
||||
if (context.AllocateChunk(15))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[15]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[15]->Data.Copy(ToSpan(stream));
|
||||
}
|
||||
|
||||
// Save mip maps
|
||||
@@ -317,7 +317,7 @@ CreateAssetResult ImportTexture::Create(CreateAssetContext& context, const Textu
|
||||
}
|
||||
if (context.AllocateChunk(15))
|
||||
return CreateAssetResult::CannotAllocateChunk;
|
||||
context.Data.Header.Chunks[15]->Data.Copy(stream.GetHandle(), stream.GetPosition());
|
||||
context.Data.Header.Chunks[15]->Data.Copy(ToSpan(stream));
|
||||
}
|
||||
|
||||
// Save mip maps
|
||||
|
||||
Reference in New Issue
Block a user