Files
FC1/Editor/GameExporter.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

76 lines
2.5 KiB
C++

////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2002.
// -------------------------------------------------------------------------
// File name: gameexporter.h
// Version: v1.00
// Created: 30/6/2003 by Timur.
// Compilers: Visual Studio.NET
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __gameexporter_h__
#define __gameexporter_h__
#pragma once
#include "Util\PakFile.h"
/*! CGameExporter implements exporting of data fom Editor to Game format.
It will produce LevelData.cpk file in current level folder, with nececcary exported files.
*/
class CGameExporter
{
public:
CGameExporter( ISystem *system );
virtual ~CGameExporter();
// Export level info to game.
virtual void Export( bool bSurfaceTexture,bool bReloadTerrain );
virtual void ExportLevelData( const CString &path,bool bExportMission=true );
virtual void ExportLevelInfo( const CString &path );
void FlattenHeightmap( uint16 *pSaveHeightmapData,int width,int height );
virtual void ExportMap(char *pszGamePath, bool bSurfaceTexture);
virtual void ExportHeightMap(char *pszGamePath);
virtual void ExportAnimations( const CString &path );
virtual void ExportStaticObjects( const CString &path );
virtual void ExportSurfaceTypes( const CString &iniFile );
virtual void ExportMapIni( const CString &path );
virtual void ExportMapInfo( XmlNodeRef &node );
virtual bool ExportSurfaceTexture( const CString &path,uint *pSurface,int width,bool bHiQuality );
virtual void ExportLowResSurfaceTexture( const char* pszGamePath,CImage &surfaceTexture );
virtual void ExportAIGraph( const CString &path );
virtual void ExportBrushes( const CString &path );
virtual void ExportMusic( XmlNodeRef &levelDataNode,const CString &path );
virtual void ExportMaterials( XmlNodeRef &levelDataNode,const CString &path );
private:
void ExportTerrainBeaches( const CString &path );
void DeleteOldFiles( const CString &levelDir,bool bSurfaceTexture );
void ForceDeleteFile( const char *filename );
CString m_levelName;
CString m_missionName;
CString m_levelPath;
ISystem *m_ISystem;
I3DEngine *m_I3DEngine;
IAISystem *m_IAISystem;
IEntitySystem *m_IEntitySystem;
IEditor *m_IEditor;
CPakFile m_levelPakFile;
bool m_bHiQualityCompression;
int m_iExportTexWidth;
int m_numExportedMaterials;
//CPakFile m_texturePakFile;
};
#endif // __gameexporter_h__