mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-23 16:21:15 +00:00
Use new and delete for DeepClone
This commit is contained in:
parent
df68b05e2a
commit
228c9c7dce
@ -93,10 +93,10 @@ Mesh* MeshImpl::DeepClone(Something* p_mesh)
|
||||
DWORD dataSize;
|
||||
unsigned int vcount, fcount, vperface;
|
||||
m_data->groupMesh->GetGroup(m_data->groupIndex, &vcount, &fcount, &vperface, &dataSize, NULL);
|
||||
unsigned int* faceBuffer = (unsigned int*) malloc(dataSize * sizeof(unsigned int));
|
||||
unsigned int* faceBuffer = new unsigned int[dataSize];
|
||||
m_data->groupMesh->GetGroup(m_data->groupIndex, &vcount, &fcount, &vperface, &dataSize, faceBuffer);
|
||||
// We expect vertex to be sized 0x24, checked at start of file.
|
||||
D3DRMVERTEX* vertexBuffer = (D3DRMVERTEX*) malloc(vcount * sizeof(D3DRMVERTEX));
|
||||
D3DRMVERTEX* vertexBuffer = new D3DRMVERTEX[vcount];
|
||||
m_data->groupMesh->GetVertices(m_data->groupIndex, 0, vcount, vertexBuffer);
|
||||
LPDIRECT3DRMTEXTURE textureRef;
|
||||
m_data->groupMesh->GetGroupTexture(m_data->groupIndex, &textureRef);
|
||||
@ -116,10 +116,8 @@ Mesh* MeshImpl::DeepClone(Something* p_mesh)
|
||||
Result result = ResultVal(target->ImplementationData()->SetGroupColor(index, color));
|
||||
|
||||
// Cleanup
|
||||
if (faceBuffer)
|
||||
free(faceBuffer);
|
||||
if (vertexBuffer)
|
||||
free(vertexBuffer);
|
||||
delete[] faceBuffer;
|
||||
delete[] vertexBuffer;
|
||||
if (result == Error) {
|
||||
delete newSomething;
|
||||
newSomething = NULL;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user