Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.1 KiB

5 years ago
//========= 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;
}