/*=========================================================================
*
* SctSave.h	- Saving functions for SCT file
*
* Version			1.0
* Revision date
*
*=======================================================================*/
#ifndef SCTSAVE_H
#define SCTSAVE_H

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

#include "SCR.h"

#include "typedef.h"

#include "sprobj.h"

//----------------------------------------------------------------------

#ifdef _WINDOWS
/********************************************************/
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus 
/********************************************************/
#endif // _WINDOWS


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

// sector
extern xString	g_a_sOldSector[500];
extern long		g_lNbOldSector;

extern xString	g_a_sSector[500];
extern long		g_lNbSector;



//--- Enums ---------------------------------------------------------

typedef enum {IS_NEWFRONTIER = 0x01, IS_OLDFRONTIER = 0x02} eFrontiers;

//--- Structures ---------------------------------------------------------

// super-object
//typedef struct MLT_tdstSprObj_ *MLT_tdxHandleToSuperObject;



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

// check sector
extern BOOL MLT_bIsGoodSector		(char *sSector);
extern BOOL MLT_bContainBadSector	(char *sSector);
extern void MLT_vAddSector			(char *sSector);
// saving functions
extern void MLT_vSaveSctFile	(MLT_tdxHandleToSuperObject hRoot, xString sFile);
extern void MLT_vSaveSctHeader	(SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
extern void MLT_vSaveSct		(SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
extern void MLT_vSaveBorder		(SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
extern void MLT_vSaveSctGot		(SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
extern void MLT_vSaveSctEnv		(SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
extern void MLT_vSaveSctLnk		(SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
extern void MLT_vSaveSctLgt		(SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
extern void MLT_vSaveSctUnivers	(SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
// update
extern void MLT_vUpdateSctFile	(xString sFile);
extern void MLT_vToEndSection	(FILE *file);


#ifdef _WINDOWS
/********************************************************/
#ifdef __cplusplus
}
#endif // __cplusplus 
/********************************************************/
#endif // _WINDOWS

#endif // SCTSAVE_H 