/*---------------------------------------------------------------------------*/
/* Action.h : Definition of general Action.*/
/* auteur : Olivier Didelot.*/
/* date   : 15/10/1996*/
/* modifications majeures : Olivier Couvreur*/
/* date   : 28/10/1996*/
/* encore modifications majeures : Olivier Couvreur*/
/* date   : 7/11/1996*/
/* encore modifications majeures : Olivier Didelot*/
/* date   : 19/11/1996*/
/* modifications : Olivier Couvreur*/
/* date   : 20/01/1997  support for script and editor names + parameter types*/
/* modifications : Fabien MORALES*/
/* date   : 21/01/1997  Blocking actions management*/
/* modifications : Fabien MORALES*/
/* date   : 23/01/1997  Kill Perso*/
/* modifications : Albert Pais*/
/* date   : January 28,1997 : adding Way and WP relative actions*/
/* modifications : Fabien MORALES*/
/* date   : 29/01/1997  GoToPosition, ReachTarget*/
/* modify : Olivier Couvreur*/
/* date   : 10/02/1997  great enhancement for automatic init support*/
/* modify : Albert Pais*/
/* date   :February 11,1997 adding meta-action for reinitialising the way*/
/* modifications : Fabien MORALES*/
/* date   : 10/02/1997  Actions TranslateModule,        RotateModule, */
/*                              TranslateModuleToPerso, RotateModuleToPerso*/
/* modify : Olivier Couvreur*/
/* date   : 18/02/1997  CPA_EXPORT + new functions for editor*/
/* modify : Yann Le Guyader*/
/* date   : 24/02/1997  New functions for camera*/
/* modify : Olivier Couvreur 25/03/1997  ACTIVE_EDITOR support*/
/*---------------------------------------------------------------------------*/
 
#if !defined(__ACTION_H__)
#define __ACTION_H__
 
/****************************************/
#if !defined(CPA_EXPORT)
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif /*CPA_WANTS_IMPORT || CPA_WANTS_EXPORT*/
#endif /*CPA_EXPORT*/
/***************************************/
#undef extern
#define EXTERN_AI_DLL extern
/*******************************************************************************/
 
#include "specif/AIOption.h"
#include "ActConst.h"
 
#define M_TestActionReturn(ActionReturn,Flag) ( ( (ActionReturn) & (Flag) ) == (Flag) )
 
/* ---------------*/
/* general actions*/
/* ---------------*/
 
#include "..\AIGame\TypePtr.h"
 
EXTERN_AI_DLL CPA_EXPORT	unsigned char g_ucNewActionReturn; /* to set the action type using the script*/
EXTERN_AI_DLL CPA_EXPORT	unsigned char g_ucUseDefaultActionReturn;	/* the g_ucNewActionReturn is not taking into account*/
 
 
struct tdstNodeInterpret_ *fn_p_stDefaultActionInit(HIE_tdxHandleToSuperObject p_SuperObjPerso, struct tdstNodeInterpret_ *p_stTree);
tducActionReturn fn_ucDefaultAction(HIE_tdxHandleToSuperObject p_SuperObjPerso);
 
#if !defined(OPTIMIZED_COMMAND)
void fn_vInitMetaActionEntries(void);
#endif
 
 
/*******************************************************************************/
#undef EXTERN_AI_DLL
 
#endif /* __ACTION_H__*/
