/*=========================================================================
*
* Actors.h	- LVL and ALW functions
*
* Version			1.0
* Revision date
*
*=======================================================================*/
#ifndef __ACTORS_H__
#define __ACTORS_H__


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

#include "SCR.h"
#include "MTH.h"

#include "typedef.h"

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

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


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

// character
typedef struct MLT_tdstInsertCharacter_
{
	xString				sName;
	xString				szLink;

	MTH_tdxReal			RotMatrix[3][3] ;
	MTH_tdxReal			ScaleMatrix[3][3] ;
	MTH3D_tdstVector	Translation ;
	xString				szInitial;
}
MLT_tdstInsertCharacter;

// always
typedef struct MLT_tdstAlways_
{
  xString	sName;
  xString	sLinkCharacter;
  long		iCharacter;
  float		fTransparency;
} 
MLT_tdstAlways;


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


// lvl file
extern void						MLT_vInitLVLLoad		 (void);
extern void						MLT_vSaveInsertCharacter (SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
extern SCR_tde_Anl_ReturnValue  MLT_xLoadInsertCharacter (SCR_tdst_File_Description *p_fFile, char *szAction, char *szParams[], SCR_tde_Anl_Action cType);

// alw file
extern void						MLT_vInitALWLoad		 (void);
extern void						MLT_vSaveAlways			 (SCR_tdst_File_Description *p_stFile, char *sFileName, void *p_vPtr, SCR_tde_Ntfy_Action xAction);
extern SCR_tde_Anl_ReturnValue	MLT_xLoadAlways			 (SCR_tdst_File_Description *p_fFile, char *szAction, char *szParams[], SCR_tde_Anl_Action cType);
extern SCR_tde_Anl_ReturnValue	MLT_xLoadALWCallback	 (SCR_tdst_File_Description *p_fFile, char *szAction, char *szParams[], SCR_tde_Anl_Action cType);
// alw library
extern void						MLT_vEraseALWLib		 (void);
extern void						MLT_vLoadALWFileInLib	 (void);
extern void						MLT_vSaveLibInALWFile	 (void);

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

#endif // __ACTORS_H__ 
