// **********************************************************************************
// * "Levels.h"																		*
// * Written by :	Mihaela Tancu													*
// **********************************************************************************
#ifndef LEVELS_H
#define LEVELS_H

#include "Scr.h"

/*
 =======================================================================================
	Defines
 =======================================================================================
 */
#define M_InsertAlways "InsertAlways"
#define M_FichierALW ".alw"
#define M_LinkCharacter "LinkCharacter"

#define M_Texture "Texture"
#define M_FichierTEX ".tex"
#define M_LoadTexture "LoadTexture"

#define M_InsertCharacter "InsertCharacter"
#define M_FichierLVL ".lvl"

typedef char xString[256];

typedef struct MLT_tdstTextures_
{
  xString sName;
  xString sLoadTexture;

} MLT_tdstTextures;


typedef struct MLT_tdstAlways_
{
  xString sName;
  xString sLinkCharacter;

} MLT_tdstAlways;

typedef struct MLT_tdstInsertCharacter_
{
  xString sName;
  xString sLinkCharacter;

} MLT_tdstInsertCharacter;

extern MLT_tdstAlways **g_hAlwaysInFile;
extern long g_lAlwaysIndex;

void MLT_vLoadALWFileInLib(char *szFileName);
void MLT_vInitALWLoad();
SCR_tde_Anl_ReturnValue GLI_xLoadALWCallback(SCR_tdst_File_Description *p_fFile, char *szAction, char *szParams[], SCR_tde_Anl_Action cType);
void MLT_vEraseALWLib();
void MLT_vInitSystem();
void MLT_vExitSystem();

extern MLT_tdstInsertCharacter **g_hInsertCharacterInFile;
extern long g_lInsertCharacterIndex;

void MLT_vLoadLVLFileInLib(char *szFileName);
void MLT_vInitLVLLoad();
SCR_tde_Anl_ReturnValue GLI_xLoadLVLCallback(SCR_tdst_File_Description *p_fFile, char *szAction, char *szParams[], SCR_tde_Anl_Action cType);
void MLT_vEraseLVLLib();

extern MLT_tdstTextures **g_hTexturesInFile;
extern long g_lTexturesIndex;

void MLT_vLoadTEXFileInLib(char *szFileName);
void MLT_vInitTEXLoad();
SCR_tde_Anl_ReturnValue GLI_xLoadTEXCallback(SCR_tdst_File_Description *p_fFile, char *szAction, char *szParams[], SCR_tde_Anl_Action cType);
void MLT_vEraseTEXLib();

char *MLT_p_cGetFileNameWithoutExt(char *_sFileName);
char *MLT_p_cGetFileNameWithoutPath(char *sFileName);

#endif
