/*=========================================================================
*
* ModSave.h	- Saving functions for MOD file
*
* Version			1.0
* Revision date
*
*=======================================================================*/
#ifndef MODSAVE_H
#define MODSAVE_H


//--- Includes --------------------------------------------------------

#include "SCR.h"

#include "geoobj.h"


//--- Globals ---------------------------------------------------------

extern char g_szInstancesSaved[200][256];
extern int	g_iNbInstancesSaved;


//--- Functions ---------------------------------------------------------

// mod save
extern void MLT_vSaveEmptyModHeader	(SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
// geometric object
extern void MLT_vSaveGeometricObject	(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstGeometricObject *p_stGeometric, BOOL bPhy, BOOL bTbl, BOOL bZoo, BOOL bVse);
// save elements
extern void MLT_vSaveElementIndexedTriangle		(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementIndexedTriangles *p_stElement);
extern void MLT_vSaveElementFaceMapDescriptors	(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementFaceMapDescriptors *p_stElement);
extern void MLT_vSaveElementSprites				(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementSprite *p_stElement);
extern void MLT_vSaveElementLines				(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementLines *p_stElement);
extern void MLT_vSaveElementSpheres				(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementSpheres *p_stElement);
extern void MLT_vSaveElementAlignedBox			(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementAlignedBoxes *p_stElement);
extern void MLT_vSaveElementCones				(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementCones *p_stElement);
extern void MLT_vSaveElementPoints				(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementPoints *p_stElement);
extern void MLT_vSaveElementTMeshes				(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementTMeshes *p_stElement);
extern void MLT_vSaveElementAltimap				(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementAltimap *p_stElement);
extern void MLT_vSaveElementMegaFace			(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstElementMegaFace *p_stElement);
// save objects
extern void MLT_vSaveFaceMapDescriptor			(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstFaceMapDescriptor *hFMD);
extern void MLT_vSaveSprite						(SCRIPT_tdstSaveFile *p_stFile, MLT_tdstSprite *hSprite);
// operations
extern BOOL MLT_bFindVertex			(MLT_tdstGeometricObject *p_stGeometric, MTH3D_tdstVector stValues);
extern BOOL MLT_bTestSymmetry		(MLT_tdstGeometricObject *p_stGeometric);




#endif // MODSAVE_H 