#if !defined(__CONV_CST_H__)
#define __CONV_CST_H__
 
#define C_MAX_LENGTH_STRING 200
 
#define ULTRA_ABLE 1
#define NOT_ULTRA_ABLE 0
 
#define STRING1_TO_CHAR(str1) ((char) (*((char *)str1)))
 
/* maximum number of parameters for meta-actions, functions, conditions, operators*/
/* XB 25/05/99 */
#ifndef U64
#define C_MAX_NB_PARAM 8
#else /* U64 */
	#if defined(AI_EXCLUDE_NEVER_USED) && defined(FINAL_VERSION)
		#define C_MAX_NB_PARAM 1
	#else
#define C_MAX_NB_PARAM 6
	#endif
#endif /* U64 */
/* End XB 25/05/99 */
 
/****************************************************************      //
 *    WARNING : Letters used  *                                 *    //
 * ABCDEFGHIJKLMNOPQRSTUVWXYZ *                                 *   ======================================\
 * 11101111111111111111111111 * <======== PLEASE FILL THIS LINE *    \\                                   |
 ****************************************************************      \\                                 |
																							!!!			  |
                                                                                            !!!           | 
   WWWW       WWWW     AAAA      RRRRRRR      NNN    NNN   III   NNN    NNN    GGGGGGG      !!!           |
   WWWW       WWWW    AA  AA     RRR   RRR    NNNNN  NNN   III   NNNNN  NNN   GGG           !!!           |
    WWWW     WWWW    AAA  AAA    RRR   RRR    NNNNNN NNN   III   NNNNNN NNN   GGG   GGGG    !!!           |
     WWWWW WWWWW    AAAAAAAAAA   RRRRRRR      NNN NNNNNN   III   NNN NNNNNN   GGG    GGG    !!!   ========/
      WWWWWWWWW     AAA    AAA   RRR   RRR    NNN  NNNNN   III   NNN  NNNNN   GGGGGGGGGG   
       WWW WWW      AAA    AAA   RRR    RRR   NNN    NNN   III   NNN    NNN    GGGGGGGG     000
 
 
	         **********************************************************************
	         *          DON'T USE C_..._PARAM, USE USE_...._PARAM INSTEAD         *
	         **********************************************************************
 
 
					PLEASE FILL szAutorizedTypeParam[] IN CONVERT.C 
 
*/
 
/*******************************************************/
/* WARNING : DON'T USE THE SAME LETTER TWICE ..........*/
/*******************************************************/
 
/* must be uppercase*/
#define C_NO_PARAM			""
#define C_ACTION_PARAM		"A"   /* for editor*/
#define C_ADDR_ACTION_PARAM     "a"
#define C_BOOLEAN_PARAM		"B"   /* for editor*/
#define C_ADDR_BOOLEAN_PARAM    "b"
#define C_GMT_PARAM			"C"
#define C_ADDR_GMT_PARAM	"c"
#define C_ARRAY_PARAM		"D"
#define C_ADDR_ARRAY_PARAM  "d"
#define C_ZDE_PERSO_PARAM	"E"   /* for editor*/
#define C_SURFACE_PARAM		"F"   /* for SRF_tdxHandleToSurface*/
#define C_FAMILY_PARAM		"G"	  /* hFamily = tdxHandleToFamilyList*/
#define C_ENV_PARAM         "H"   /* hEnvironment = ENV_tdxHandleToEnvironment*/
#define C_LIST_PARAM		"I"   /* for editor*/
#define C_ADDR_LIST_PARAM       "i"
#define C_OBJECTTABLE_PARAM "J"   /* hObjectTable*/
#define C_MASK_PARAM		"K"   /* for GMT_mask*/
#define C_LONG_PARAM		"L"   /* for integers (lValue)*/
#define C_ADDR_LONG_PARAM       "l"
#define C_CHANNEL_PARAM		"M"
#define C_MODULE_PARAM	    C_CHANNEL_PARAM  /* for Module (Id long)*/
#define C_ZDE_MODULE_PARAM  C_MODULE_PARAM   /* for editor*/
#define C_ZDD_MODULE_PARAM  C_MODULE_PARAM   /* for editor*/
#define C_POWER_PARAM       "N"   /* for power in inventory */
#define C_LIPSYNCHRO_PARAM	"O"   /* hLipSynchro*/
#define C_PERSO_PARAM		"P"   /* for perso (p_stSuperObjValue)*/
#define C_ALWAYS_PARAM		C_PERSO_PARAM   /*"?"*/
#define C_PERSO_PARAM_ONLY  "!"
#define C_ADDR_PERSO_PARAM      "p"
#define C_COMPORT_PARAM "Q"
#define C_ADDR_COMPORT_PARAM "q"
#define C_SECTOR_PARAM		"R"   /* hSector = HIE_tdxHandleToSuperObject*/
#define C_STRING_PARAM		"S"
#define C_MAP_PARAM			C_STRING_PARAM
#define C_TEXT_PARAM        "T" /* for text*/
#define C_ADDR_TEXT_PARAM   "t" 
#define C_ZDM_PERSO_PARAM	"U"   /* for editor*/
#define C_VECTOR_PARAM		"V"   /* for Vertex (stVertex)*/
#define C_ADDR_VECTOR_PARAM     "v"
#define C_WAYPOINT_PARAM	"W"   /* for editor*/
#define C_ADDR_WAYPOINT_PARAM   "w"
#define C_REAL_PARAM		"X"   /* for reals (xValue) */
#define C_ADDR_REAL_PARAM       "x"
#define C_ZDD_PERSO_PARAM	"Z"   /* for editor*/
 
#if defined(ACTIVE_EDITOR)
/* for Xavier only*/
#define C_MY_REFLEX_COMPORT_PARAM "1"
#define C_MY_INTELL_COMPORT_PARAM "2"
#define C_REFLEX_COMPORT_PARAM    "3"
#define C_INTELL_COMPORT_PARAM    "4"
#else
#define C_MY_REFLEX_COMPORT_PARAM C_COMPORT_PARAM
#define C_MY_INTELL_COMPORT_PARAM C_COMPORT_PARAM
#define C_REFLEX_COMPORT_PARAM    C_COMPORT_PARAM
#define C_INTELL_COMPORT_PARAM    C_COMPORT_PARAM
#endif
 
#define C_FONT_PARAM  "5"
#define C_BUTTON_PARAM		"6"   /* for button*/
#define C_PARTICLEGENERATOR_PARAM "7"
 
#define C_MODEL_PARAM		"8"	  /* for model*/
#define C_SUPEROBJECT_PARAM		"9"
 
#define C_SOUNDEVENT_PARAM  "0"
#define C_LIGHT_PARAM	"£"
#define C_CAPS_PARAM	"#"
#define C_ADDR_CAPS_PARAM	C_CAPS_PARAM 
#define C_GRAPH_PARAM	"$"
#define C_ADDR_GRAPH_PARAM C_GRAPH_PARAM 
#define C_ZDR_PERSO_PARAM	"r"
 
/* macros to use in defining meta-actions, functions, conditions, procedures (fn_vDefine....Entry)*/
/* very simple in fact to do string concatenation with some defines*/
/* comments prevent Lint information message 786 from raising during macro expansion*/
#define USE_NO_PARAM              C_NO_PARAM
 
#define USE_SUPEROBJECT_PARAM	C_SUPEROBJECT_PARAM
 
#define USE_GMT_PARAM			  C_GMT_PARAM
#define USE_RGB_PARAM			  C_LONG_PARAM C_LONG_PARAM C_LONG_PARAM
#define USE_RGBA_PARAM			  USE_RGB_PARAM C_LONG_PARAM
#define USE_COLOR_PARAM			  C_LONG_PARAM	
 
#define USE_MODEL_PARAM			  C_MODEL_PARAM
#define USE_ARRAY_PARAM			  C_ARRAY_PARAM
 
#define USE_MY_REFLEX_COMPORT_PARAM C_MY_REFLEX_COMPORT_PARAM
#define USE_REFLEX_COMPORT_PARAM    C_REFLEX_COMPORT_PARAM
#define USE_MY_INTELL_COMPORT_PARAM C_MY_INTELL_COMPORT_PARAM
#define USE_INTELL_COMPORT_PARAM    C_INTELL_COMPORT_PARAM
 
#define USE_FAMILY_PARAM		  C_FAMILY_PARAM
#define USE_CHANNEL_PARAM         C_CHANNEL_PARAM
#define USE_MASK_PARAM            C_MASK_PARAM
#define USE_BUTTON_PARAM          C_BUTTON_PARAM
#define USE_MAP_PARAM             C_MAP_PARAM
#define USE_STRING_PARAM          C_STRING_PARAM
#define USE_SURFACE_PARAM		  C_SURFACE_PARAM
#define USE_POWER_PARAM		      C_POWER_PARAM
 
/* CGHT*/
#define USE_LIPSYNCHRO_PARAM	  C_LIPSYNCHRO_PARAM
#define USE_OBJECTTABLE_PARAM	  C_OBJECTTABLE_PARAM
#define USE_SECTOR_PARAM          C_SECTOR_PARAM
#define USE_ENV_PARAM			  C_ENV_PARAM
 
#define USE_PERSO_PARAM           C_PERSO_PARAM
#define USE_ALWAYS_PARAM          C_ALWAYS_PARAM
/*#define USE_PERSO_PARAM_ONLY      C_PERSO_PARAM_ONLY*/
#define USE_PERSO_PARAM_ONLY      C_PERSO_PARAM
 
#define USE_CONSTANT_PARAM        C_LONG_PARAM
#define USE_REAL_PARAM            C_REAL_PARAM
#define USE_VECTOR_PARAM	      C_VECTOR_PARAM
#define USE_MODULE_PARAM	      C_MODULE_PARAM
 
#define USE_ZDM_PERSO_PARAM       C_ZDM_PERSO_PARAM
#define USE_ZDD_PERSO_PARAM       C_ZDD_PERSO_PARAM
#define USE_ZDD_MODULE_PARAM      C_ZDD_MODULE_PARAM
#define USE_ZDE_PERSO_PARAM       C_ZDE_PERSO_PARAM
#define USE_ZDE_MODULE_PARAM      C_ZDE_MODULE_PARAM
#define USE_ZDR_PERSO_PARAM		  C_ZDR_PERSO_PARAM
 
#define USE_WAYPOINT_PARAM        C_WAYPOINT_PARAM 
#define USE_LIST_PARAM            C_LIST_PARAM    
#define USE_ADDR_LIST_PARAM       C_ADDR_LIST_PARAM
 
#define USE_ACTION_PARAM          C_ACTION_PARAM
#define USE_ADDR_LONG_PARAM       C_ADDR_LONG_PARAM
#define USE_ADDR_REAL_PARAM       C_ADDR_REAL_PARAM 
#define USE_ADDR_WAY_PARAM        C_ADDR_WAY_PARAM
#define USE_ADDR_VECTOR_PARAM     C_ADDR_VECTOR_PARAM
#define USE_ADDR_PERSO_PARAM      C_ADDR_PERSO_PARAM
#define USE_ADDR_ARRAY_PARAM			C_ADDR_ARRAY_PARAM
 
 
#define USE_SOUNDEVENT_PARAM      C_SOUNDEVENT_PARAM
 
#define USE_BOOLEAN_PARAM         C_BOOLEAN_PARAM
#define USE_2_BOOLEANS_PARAM      /*lint -save -e786*/ USE_BOOLEAN_PARAM USE_BOOLEAN_PARAM        /*lint -restore*/
 
#define USE_SURFACE_REAL_PARAM    /*lint -save -e786*/ USE_SURFACE_PARAM USE_REAL_PARAM /*lint -restore*/
#define USE_PERSO_CONSTANT_PARAM  /*lint -save -e786*/ USE_PERSO_PARAM        USE_CONSTANT_PARAM  /*lint -restore*/
#define USE_PERSO_REAL_PARAM      /*lint -save -e786*/ USE_PERSO_PARAM        USE_REAL_PARAM      /*lint -restore*/
#define USE_PERSO_2_REALS_PARAM   /*lint -save -e786*/ USE_PERSO_REAL_PARAM   USE_REAL_PARAM      /*lint -restore*/
#define USE_PERSO_3_REALS_PARAM   /*lint -save -e786*/ USE_PERSO_2_REALS_PARAM   USE_REAL_PARAM      /*lint -restore*/
#define USE_PERSO_CONSTANT_3_REALS_PARAM   /*lint -save -e786*/ USE_PERSO_CONSTANT_PARAM   USE_3_REALS_PARAM      /*lint -restore*/
 
#define USE_PERSO_MY_REFLEX_COMPORT_PARAM /*lint -save -e786*/ USE_PERSO_PARAM_ONLY USE_MY_REFLEX_COMPORT_PARAM /*lint -restore*/
#define USE_PERSO_REFLEX_COMPORT_PARAM    /*lint -save -e786*/ USE_PERSO_PARAM_ONLY USE_REFLEX_COMPORT_PARAM /*lint -restore*/
#define USE_PERSO_MY_INTELL_COMPORT_PARAM /*lint -save -e786*/ USE_PERSO_PARAM_ONLY USE_MY_INTELL_COMPORT_PARAM /*lint -restore*/
#define USE_PERSO_INTELL_COMPORT_PARAM	  /*lint -save -e786*/ USE_PERSO_PARAM_ONLY USE_INTELL_COMPORT_PARAM /*lint -restore*/
 
#define USE_PERSO_CONSTANT_VECTOR_PARAM   /*lint -save -e786*/ USE_PERSO_CONSTANT_PARAM   USE_VECTOR_PARAM      /*lint -restore*/
#define USE_PERSO_VECTOR_PARAM   /*lint -save -e786*/ USE_PERSO_PARAM   USE_VECTOR_PARAM      /*lint -restore*/
 
#define USE_2_CONSTANTS_PARAM     /*lint -save -e786*/ USE_CONSTANT_PARAM     USE_CONSTANT_PARAM  /*lint -restore*/
#define USE_3_CONSTANTS_PARAM     /*lint -save -e786*/ USE_2_CONSTANTS_PARAM  USE_CONSTANT_PARAM  /*lint -restore*/
#define USE_4_CONSTANTS_PARAM     /*lint -save -e786*/ USE_3_CONSTANTS_PARAM  USE_CONSTANT_PARAM  /*lint -restore*/
 
#define USE_2_REALS_PARAM         /*lint -save -e786*/ USE_REAL_PARAM         USE_REAL_PARAM      /*lint -restore*/
#define USE_3_REALS_PARAM         /*lint -save -e786*/ USE_2_REALS_PARAM      USE_REAL_PARAM      /*lint -restore*/
#define USE_4_REALS_PARAM         /*lint -save -e786*/ USE_3_REALS_PARAM      USE_REAL_PARAM      /*lint -restore*/
 
#define USE_2_PERSOS_PARAM        /*lint -save -e786*/ USE_PERSO_PARAM        USE_PERSO_PARAM     /*lint -restore*/
#define USE_3_PERSOS_PARAM        /*lint -save -e786*/ USE_2_PERSOS_PARAM     USE_PERSO_PARAM     /*lint -restore*/
#define USE_4_PERSOS_PARAM        /*lint -save -e786*/ USE_3_PERSOS_PARAM     USE_PERSO_PARAM     /*lint -restore*/
 
/* Vertex param */
#define USE_VECTOR_CONSTANT_PARAM /*lint -save -e786*/ USE_VECTOR_PARAM       USE_CONSTANT_PARAM  /*lint -restore*/
#define USE_VECTOR_REAL_PARAM     /*lint -save -e786*/ USE_VECTOR_PARAM       USE_REAL_PARAM      /*lint -restore*/
#define USE_VECTOR_2_REALS_PARAM  /*lint -save -e786*/ USE_VECTOR_REAL_PARAM  USE_REAL_PARAM      /*lint -restore*/
#define USE_2_VECTORS_PARAM       /*lint -save -e786*/ USE_VECTOR_PARAM  USE_VECTOR_PARAM         /*lint -restore*/
#define USE_3_VECTORS_PARAM       /*lint -save -e786*/ USE_2_VECTORS_PARAM  USE_VECTOR_PARAM      /*lint -restore*/
 
#define USE_VECTORID_PARAM        /*lint -save -e786*/ USE_ADDR_VECTOR_PARAM                      /*lint -restore*/    
#define USE_2_VECTORIDS_PARAM     /*lint -save -e786*/ USE_VECTORID_PARAM USE_VECTORID_PARAM      /*lint -restore*/
#define USE_3_VECTORIDS_PARAM     /*lint -save -e786*/ USE_2_VECTORIDS_PARAM USE_VECTORID_PARAM   /*lint -restore*/
 
/* CGHT */
#define USE_MVV_PARAM     /*lint -save -e786*/ USE_MODULE_PARAM USE_VECTOR_PARAM USE_VECTOR_PARAM   /*lint -restore*/
#define USE_MPV_PARAM	  /*lint -save -e786*/ USE_MODULE_PARAM USE_PERSO_PARAM USE_VECTOR_PARAM   /*lint -restore*/
 
/* fonction de list*/
#define USE_DSGVARIDLIST_CONSTANT_PARAM         /*lint -save -e786*/ USE_ADDR_LIST_PARAM USE_CONSTANT_PARAM   /*lint -restore*/
#define USE_DSGVARIDLIST_ZDD_MODULE_PARAM       /*lint -save -e786*/ USE_ADDR_LIST_PARAM USE_ZDD_MODULE_PARAM /*lint -restore*/
#define USE_DSGVARIDLIST_ZDD_PERSO_PARAM        /*lint -save -e786*/ USE_ADDR_LIST_PARAM USE_ZDD_PERSO_PARAM  /*lint -restore*/
#define USE_DSGVARIDLIST_PERSO_PARAM            /*lint -save -e786*/ USE_ADDR_LIST_PARAM USE_PERSO_PARAM      /*lint -restore*/
 
#define USE_DSGVARIDLIST_ZDE_PERSO_PARAM        /*lint -save -e786*/ USE_ADDR_LIST_PARAM USE_ZDE_PERSO_PARAM  /*lint -restore*/
#define USE_DSGVARIDLIST_ZDE_MODULE_PARAM       /*lint -save -e786*/ USE_ADDR_LIST_PARAM USE_ZDE_MODULE_PARAM /*lint -restore*/
 
#define USE_DSGVARIDLIST_ZDE_PERSO_MASK_PARAM   /*lint -save -e786*/ USE_DSGVARIDLIST_ZDE_PERSO_PARAM USE_MASK_PARAM     /*lint -restore*/
#define USE_DSGVARIDLIST_ZDE_MODULE_MASK_PARAM  /*lint -save -e786*/ USE_DSGVARIDLIST_ZDE_MODULE_PARAM USE_MASK_PARAM    /*lint -restore*/
#define USE_DSGVARIDLIST_PERSO_CONSTANT_PARAM   /*lint -save -e786*/ USE_DSGVARIDLIST_PERSO_PARAM USE_CONSTANT_PARAM     /*lint -restore*/
#define USE_DSGVARIDLIST_2_CONSTANTS_PARAM      /*lint -save -e786*/ USE_DSGVARIDLIST_CONSTANT_PARAM USE_CONSTANT_PARAM  /*lint -restore*/
 
#define USE_DSGVARIDLIST_PARAM                  /*lint -save -e786*/ USE_ADDR_LIST_PARAM                                 /*lint -restore*/
#define USE_DSGVARIDLIST_FAMILY_PARAM			/*lint -save -e786*/ USE_DSGVARIDLIST_PARAM USE_FAMILY_PARAM			 /*lint -restore*/
#define USE_DSGVARIDLIST_MODEL_PARAM			/*lint -save -e786*/ USE_DSGVARIDLIST_PARAM USE_MODEL_PARAM				/*lint -restore*/
#define USE_2_DSGVARIDLISTS_PARAM               /*lint -save -e786*/ USE_DSGVARIDLIST_PARAM USE_DSGVARIDLIST_PARAM       /*lint -restore*/
#define USE_3_DSGVARIDLISTS_PARAM               /*lint -save -e786*/ USE_2_DSGVARIDLISTS_PARAM USE_DSGVARIDLIST_PARAM    /*lint -restore*/
 
/* ZDD + ZDE*/
#define USE_PERSO_ZDD_PERSO_PARAM		/*lint -save -e786*/ USE_PERSO_PARAM USE_ZDD_PERSO_PARAM  /*lint -restore*/
#define USE_PERSO_ZDE_PERSO_PARAM		/*lint -save -e786*/ USE_PERSO_PARAM USE_ZDE_PERSO_PARAM  /*lint -restore*/
#define USE_PERSO_ZDD_MODULE_PARAM		/*lint -save -e786*/ USE_PERSO_PARAM USE_ZDD_MODULE_PARAM /*lint -restore*/
#define USE_PERSO_ZDE_MODULE_PARAM		/*lint -save -e786*/ USE_PERSO_PARAM USE_ZDE_MODULE_PARAM /*lint -restore*/
#define USE_PERSO_MASK_PARAM            /*lint -save -e786*/ USE_PERSO_PARAM USE_MASK_PARAM       /*lint -restore*/ 
#define USE_ZDM_PERSO_VECTOR_PARAM		/*lint -save -e786*/ USE_ZDM_PERSO_PARAM USE_VECTOR_PARAM /*lint -restore*/ 
#define USE_PERSO_ZDM_PERSO_PARAM		/*lint -save -e786*/ USE_PERSO_PARAM USE_ZDM_PERSO_PARAM  /*lint -restore*/
#define USE_PERSO_ZDR_PERSO_PARAM		/*lint -save -e786*/ USE_PERSO_PARAM USE_ZDR_PERSO_PARAM  /*lint -restore*/
 
#define USE_FONT_PARAM C_FONT_PARAM
 
#define USE_TEXT_PARAM C_TEXT_PARAM
#define USE_ADDR_TEXT_PARAM C_ADDR_TEXT_PARAM
 
#define USE_PARTICLEGENERATOR_PARAM C_PARTICLEGENERATOR_PARAM
 
/*ANNECY CT 22/01/98 {*/
#define USE_LIGHT_PARAM		C_LIGHT_PARAM
/*ENDANNECY CT}*/
 
/*ANNECY Bart 02/02/98 {*/
#define USE_CAPS_PARAM  C_CAPS_PARAM
#define USE_GRAPH_PARAM C_GRAPH_PARAM
 
#define USE_ADDR_CAPS_PARAM  C_ADDR_CAPS_PARAM 
#define USE_ADDR_GRAPH_PARAM C_ADDR_GRAPH_PARAM 
/*ENDANNECY Bart }*/
 
#endif /* __CONV_CST_H__*/
