source-engine/utils/xbox/MakeGameData/MakeParticles.cpp
FluorescentCIAAfricanAmerican 3bf9df6b27 1
2020-04-22 12:56:21 -04:00

38 lines
1.1 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: .360 file creation of PCF files
//
//=====================================================================================//
#include "MakeGameData.h"
bool CreateTargetFile_PCF( const char *pSourceName, const char *pTargetName, bool bWriteToZip )
{
DmxHeader_t header;
CDmElement *pRoot;
if ( g_pDataModel->RestoreFromFile( pSourceName, NULL, NULL, &pRoot, CR_DELETE_NEW, &header ) == DMFILEID_INVALID )
{
Msg( "CreateTargetFile_PCF: Error reading file \"%s\"!\n", pSourceName );
return false;
}
const char *pOutFormat = header.formatName;
if ( !g_pDataModel->FindFormatUpdater( pOutFormat ) )
{
pOutFormat = "dmx";
}
CUtlBuffer binaryBuffer;
if ( !g_pDataModel->Serialize( binaryBuffer, "binary", pOutFormat, pRoot->GetHandle() ) )
{
Msg( "CreateTargetFile_PCF: Error writing buffer\n" );
return false;
}
g_pDataModel->RemoveFileId( pRoot->GetFileId() );
WriteBufferToFile( pTargetName, binaryBuffer, bWriteToZip, g_WriteModeForConversions );
return true;
}