/*=========================================================================
* MSLight.h : Light's functions
*
*
*         Light MUST BE REPLACE BY THE HEADER FILENAME
*
*
* Version              1.0
* Creation date        01/10/96
* Revision date
*
* That file needs to be compatible for all platforms.
*
* (c) Ubi Studios 1996
*=======================================================================*/
 
#if !defined(__MSLIGHT_H__)
#define __MSLIGHT_H__
 
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
 
#include "GAM/Header.h"
 
#undef EXTERN
#undef extern
#if !defined(D_MSLight_VariableDefine)
#define EXTERN extern
#else
#define EXTERN
#endif /* D_MSLight_VariableDefine */
 
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
 
#if defined(D_MSLight_StructureDefine)
struct tdstMSLight_
{
/*ANNECY CT 13/01/98 {*/
 unsigned char bLocalLight;
 unsigned char bOnlyLocalLight;
/*ENDANNECY CT }*/
 unsigned char bGiroPhare;
 unsigned char bPulsing;
 MTH3D_tdstVector stOffsetVect;
 MTH3D_tdstVector stAngle;
 
 MTH_tdxReal xStepGiro;
 MTH_tdxReal xStepPulse;
 MTH_tdxReal xMaxRangePulse;
 MTH_tdxReal xGiroAngle;
 
 GLI_tdstLight *p_stLight;
 GEO_tdstGeometricObject *p_stVisuLight;
 SECT_tdxHandleOfElementLstDNMLights hLightInSector;
 /*ANNECY JMD 17/02/98{*/
	unsigned char ucNbRLIUse ;    /* 0 : no use ; 1 : use one RLI ; 2 : blend RLI */
	unsigned char ucFirstRLI ;    /* index of the first RLI in the array in the VSE */
	unsigned char ucSecondRLI ;   /* index of the second RLI in the arry in the VSE */
	MTH_tdxReal ucBlendPercent ;  /* percent of the blend between the two RLI */ 
/*END ANNECY JMD }*/
};
#endif /* D_MSLight_StructureDefine */
 
/***********************/
/**** Handle define ****/
/***********************/
typedef struct tdstMSLight_ * MS_tdxHandleToMSLight;
 
/**** Light scripts ****/
#define C_SectionLightDescription                "MSLight"
#define C_EntryLightOnOff                        "On"
#define C_EntryLightType						 "Type"
#define C_EntryLightFarNear                      "FarNear"
#define C_EntryLightLittleBigAlpha               "LittleBigAlpha"
#define C_EntryLightLittleBigTangent             "LittleBigTangent"
#define C_EntryLightColor                        "Color"
#define C_EntryGiroPhare                         "GiroPhare"
#define C_EntryPulse	                         "Pulse"
#define C_EntryOffset							 "Offset"
#define C_EntryDirection						 "Direction"
 
/*ANNECY CT 13/01/98 {*/
#define C_EntryLocalLight			             "LocalLight"
#define C_EntryOnlyLocalLight			         "OnlyLocalLight"
/*ENDANNECY CT }*/
 
/*CHINA WFQ (MT) 16-02-98 {*/
#define C_EntryInterMinPos						 "InterMinPos"
#define C_EntryInterMaxPos						 "InterMaxPos"
#define C_EntryExterMinPos						 "ExterMinPos"
#define C_EntryExterMaxPos						 "ExterMaxPos"
#define C_EntryIntensityMinMax					 "IntensityMinMax"
/*ENDCHINA WFQ }*/
 
/**** Put here all globals variables : ****/
/****    EXTERN typeofvar  variable;   ****/
/* MR1903*/
EXTERN unsigned char g_bShowLight
#if defined(D_MSLight_VariableDefine)
=0
#endif
;
 
/*******************************/
/**** Base functions define ****/
/*******************************/
#if !defined(U64)
extern CPA_EXPORT SCR_tde_Anl_ReturnValue fn_eLightScriptCallBack(SCR_tdst_File_Description *_p_stFile,char *_p_szName,char *_ap_szParams[],SCR_tde_Anl_Action	_eAction);
#endif /* U64 */
/*extern CPA_EXPORT void fn_vLightSaveMiniStructure(SCR_tdst_File_Description *p_stFile,struct tdstEngineObject_ *p_stObject);*/
extern CPA_EXPORT unsigned long fn_ulLightSizeOf();
extern CPA_EXPORT void fn_vLightAlloc(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT MS_tdxHandleToMSLight fn_h_LightRealAlloc();
extern CPA_EXPORT void fn_vLightFree(struct tdstEngineObject_ *p_stObject);
extern CPA_EXPORT void fn_vLightInit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vLightDesinit(struct tdstEngineObject_ *p_stObject,enum tdeObjectTreeInit_ eObjectInit);
extern CPA_EXPORT void fn_vLightCopyClone(struct tdstEngineObject_ * _p_stObjectDest,struct tdstEngineObject_ * _p_stObjectSrc);
extern CPA_EXPORT void fn_vLightReInit(struct tdstEngineObject_ *p_stObject);
 
/*********************************/
/**** Access functions define ****/
/*********************************/
extern CPA_EXPORT unsigned char fn_ucMSLightGetOnOff(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetOnOff(MS_tdxHandleToMSLight h_MSLight,unsigned char ucOnOff);
extern CPA_EXPORT void fn_vMSCreateLightWithType(MS_tdxHandleToMSLight h_MSLight,long lTypeOfLight);
extern CPA_EXPORT long fn_lMSLightGetTypeOfLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetTypeOfLight(MS_tdxHandleToMSLight h_MSLight,long lTypeOfLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetFar(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetFar(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xFar);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetNear(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetNear(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xNear);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetLittleAlpha(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetLittleAlpha(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xLittleAlpha);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetBigAlpha(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetBigAlpha(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xBigAlpha);
extern CPA_EXPORT GEO_tdstColor *fn_p_stMSLightGetColor(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetColor(MS_tdxHandleToMSLight h_MSLight,GEO_tdstColor *p_stColor);
extern CPA_EXPORT void fn_vMSLightSetColorRGBA(MS_tdxHandleToMSLight h_MSLight,GEO_tdxColorValue xR,GEO_tdxColorValue xG,GEO_tdxColorValue xB,GEO_tdxColorValue xA);
extern CPA_EXPORT GEO_tdxColorValue fn_xMSLightGetColorR(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GEO_tdxColorValue fn_xMSLightGetColorG(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GEO_tdxColorValue fn_xMSLightGetColorB(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GEO_tdxColorValue fn_xMSLightGetColorA(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GLI_tdstLight **fn_pp_stMSLightGetLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT GLI_tdstLight *fn_p_stMSLightGetLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetLight(MS_tdxHandleToMSLight h_MSLight,GLI_tdstLight *p_stLight);
extern CPA_EXPORT void fn_vMSLightSetNearFar(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xNear,MTH_tdxReal xFar);
extern CPA_EXPORT void fn_vMSLightSetAlphas(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xLittleAlpha,MTH_tdxReal xBigAlpha);
extern CPA_EXPORT void fn_vMSLightSetGiroPhare(MS_tdxHandleToMSLight h_MSLight,unsigned char bOnOff,MTH_tdxReal xStep);
extern CPA_EXPORT unsigned char fn_bMSLightGetGiroPhare(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetGiroStep(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetGiroAngle(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xAngle);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetGiroAngle(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetPulseStep(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetPulse(MS_tdxHandleToMSLight h_MSLight,unsigned char bOnOff,MTH_tdxReal xStep,MTH_tdxReal xMaxRange);
extern CPA_EXPORT unsigned char fn_bMSLightGetPulse(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetPulseStep(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetPulseStep(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xStep);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetPulseMaxRange(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetPulseMaxRange(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xMR);
extern CPA_EXPORT void fn_vMSLightSetOffset(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xX,MTH_tdxReal xY,MTH_tdxReal xZ);
extern CPA_EXPORT void fn_vMSLightSetOffsetVector(MS_tdxHandleToMSLight h_MSLight,MTH3D_tdstVector *p_stVector);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetOffset(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetOffset(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetOffsetX(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetOffsetY(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetOffsetZ(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetDirection(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal xX,MTH_tdxReal xY,MTH_tdxReal xZ);
extern CPA_EXPORT void fn_vMSLightGetDirection(MS_tdxHandleToMSLight h_MSLight,MTH_tdxReal *p_xX,MTH_tdxReal *p_xY,MTH_tdxReal *p_xZ);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetDirectionX(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetDirectionY(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetDirectionZ(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT SECT_tdxHandleOfElementLstDNMLights fn_hMSLightGetLightNodeInSector(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT void fn_vMSLightSetLightNodeInSector(MS_tdxHandleToMSLight _hMSLight,SECT_tdxHandleOfElementLstDNMLights _hLightNode);
 
/*ANNECY CT 13/01/98 {*/
extern CPA_EXPORT unsigned char fn_bMSLightGetLocalLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetLocalLight(MS_tdxHandleToMSLight h_MSLight,unsigned char ucLocalLight);
extern CPA_EXPORT unsigned char fn_bMSLightGetOnlyLocalLight(MS_tdxHandleToMSLight h_MSLight);
extern CPA_EXPORT void fn_vMSLightSetOnlyLocalLight(MS_tdxHandleToMSLight h_MSLight,unsigned char ucOnlyLocalLight);
/*ENDANNECY CT }*/
 
/*CHINA WFQ (MT) 16-02-98 {*/
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetInterMinInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMinX(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMinY(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMinZ(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetInterMaxInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMaxX(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMaxY(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetInterMaxZ(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetExterMinInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMinX(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMinY(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMinZ(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetExterMaxInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMaxX(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMaxY(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetExterMaxZ(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetIntensityMin(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal fn_xMSLightGetIntensityMax(MS_tdxHandleToMSLight _hMSLight);
 
extern CPA_EXPORT void fn_xMSLightSetInterMinXYZ(MS_tdxHandleToMSLight _hMSLight,
												 MTH_tdxReal xInterMinX, MTH_tdxReal xInterMinY, MTH_tdxReal xInterMinZ );
extern CPA_EXPORT void fn_xMSLightSetInterMaxXYZ(MS_tdxHandleToMSLight _hMSLight,
												 MTH_tdxReal xInterMaxX, MTH_tdxReal xInterMaxY, MTH_tdxReal xInterMaxZ );
extern CPA_EXPORT void fn_xMSLightSetExterMinXYZ(MS_tdxHandleToMSLight _hMSLight,
												 MTH_tdxReal xExterMinX, MTH_tdxReal xExterMinY, MTH_tdxReal xExterMinZ );
extern CPA_EXPORT void fn_xMSLightSetExterMaxXYZ(MS_tdxHandleToMSLight _hMSLight,
												 MTH_tdxReal xExterMaxX, MTH_tdxReal xExterMaxY, MTH_tdxReal xExterMaxZ );
extern CPA_EXPORT void fn_xMSLightSetIntensityMinMax(MS_tdxHandleToMSLight _hMSLight, MTH_tdxReal xIntensityMin, MTH_tdxReal xIntensity_Max);
 
/*ENDCHINA WFQ }*/
 
/**********************************/
/**** Special functions define ****/
/**********************************/
extern CPA_EXPORT GLI_tdxValue fn_xComputeAngleOfPerso(HIE_tdxHandleToSuperObject p_SuperObjPerso);
extern CPA_EXPORT void fn_vUpdateLight(HIE_tdxHandleToSuperObject hSupObject);
extern CPA_EXPORT GEO_tdstGeometricObject *fn_pCreateSphere(MTH_tdxReal x,MTH_tdxReal y,MTH_tdxReal z,MTH_tdxReal xRadius);
extern CPA_EXPORT GEO_tdstGeometricObject *fn_pCreateCone(MTH_tdxReal x,MTH_tdxReal y,MTH_tdxReal z,MTH_tdxReal xRadius);
 
 
/**********************/
/**** SAI function ****/
/**********************/
void fn_vLightInitValueSAI(MS_tdxHandleToMSLight _hMSLight);
void fn_vLightSavedValueSAI(MS_tdxHandleToMSLight _hMSLight);
void fn_vLightFreeInitValueSAI(MS_tdxHandleToMSLight _hMSLight);
 
/*************************************/
/**** Access functions for Editor ****/
/*************************************/
#if defined(ACTIVE_EDITOR)
extern CPA_EXPORT unsigned char *fn_p_ucMSLightGetGiroPhareInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT unsigned char *fn_p_ucMSLightGetPulsingInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetOffsetVectInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH3D_tdstVector *fn_p_stMSLightGetAngleInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetStepGiroInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetStepPulseInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetMaxRangePulseInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetGiroAngleInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT long *fn_p_lMSLightGetOnOffInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT long *fn_p_lMSLightGetTypeInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetFarInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetNearInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetLittleAlphaInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetBigAlphaInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetLittleTangentInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetBigTangentInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetColorRInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetColorGInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetColorBInit(MS_tdxHandleToMSLight _hMSLight);
 
/*ANNECY CT 13/01/98 {*/
extern CPA_EXPORT unsigned char *fn_p_ucMSLightGetLocalLightInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT unsigned char *fn_p_ucMSLightGetOnlyLocalInit(MS_tdxHandleToMSLight _hMSLight);
/*ENDANNECY CT }*/
 
/* CHINA WFQ (MT) 16-02-98 {*/
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMinXInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMinYInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMinZInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMaxXInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMaxYInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetInterMaxZInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMinXInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMinYInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMinZInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMaxXInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMaxYInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetExterMaxZInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetIntensityMinInit(MS_tdxHandleToMSLight _hMSLight);
extern CPA_EXPORT MTH_tdxReal *fn_p_xMSLightGetIntensityMaxInit(MS_tdxHandleToMSLight _hMSLight);
/*ENDCHINA WFQ }*/
 
#endif /* ACTIVE_EDITOR */
 
extern CPA_EXPORT GLI_tdstLight *HIE_fn_hGetSuperObjectLight(HIE_tdxHandleToSuperObject p_SuperObjPerso);
 
 
/*NZO 25/09/97*/
#ifdef BIN_SaveBin
extern CPA_EXPORT unsigned long MSLight_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
/*NZO 25/09/97*/
#ifdef BIN_LoadBin
extern CPA_EXPORT void MSLight_fn_vReadBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
#endif
 
/*ANNECY JMD 17/02/98{*/
extern CPA_EXPORT unsigned char fn_ucGetNumberOfRLI (MS_tdxHandleToMSLight hMSLight, unsigned char *ucIndex1, unsigned char *ucIndex2, MTH_tdxReal *xPercent );
extern CPA_EXPORT unsigned char fn_ucGetNumberOfRLIFromCharacter (HIE_tdxHandleToSuperObject hSprObj, unsigned char *p_ucIndex1, unsigned char *p_ucIndex2, MTH_tdxReal *p_xPercent) ;
extern CPA_EXPORT void  fn_vMSLightSetRLIParameter ( MS_tdxHandleToMSLight hMSLight, long lNbRLI, long lIndex1, long lIndex2, long lPercent ) ;
/*END ANNECY JMD }*/
 
#if defined(__cplusplus)
}
#endif /* __cplusplus */
 
#endif /* __LIGHT_H__ */
 
