reman3/Rayman_X/cpa/public/AI/AIBase/GSParam.h

460 lines
21 KiB
C

/*------------------------------------------------------------------------------*/
/* GetSetParam.h : Exchange structure between node, field and designers variables*/
/* auteur : Olivier Couvreur*/
/* date : 18/12/1996*/
/* modify : 31/12/1996 */
/* modify : 09/01/1997*/
/* 970115 : Vector management (Fabien Morales)*/
/* 970120 : 3DPoint are vector type (Fabien Morales) */
/* 970212 : Module & DsgVarId node types, Vector Dsg var type : macros (Fabien Morales)*/
/* March 21,1997 : Modification concerneing ways and waypoints management.*/
/* 970526 : (Olivier Couvreur) ZDD + ZDE stuff*/
/*------------------------------------------------------------------------------*/
#if !defined(__GETSET_PARAM_H__)
#define __GETSET_PARAM_H__
#include "ACP_Base.h"
#include "GAM\locale\FonPub.h"
#define C_INVALID_GET 0
#define C_VALID_GET 1
#define C_INVALID_SET 0
#define C_VALID_SET 1
#define _WP_D_DEFINE_WAYPOINTS_
#include "WP_Handl.h"
#include "WP_Func.h"
#undef _WP_D_DEFINE_WAYPOINTS_
/* for ZDD and ZDE*/
#define AI_ZDX_CHARACTER 0
#define AI_ZDX_MODULE 1
#include "VarType.h"
#include "Ai_struc.h"
/* All r,g,b,a values are in range [0..100]*/
typedef struct RGBAComponent_
{
unsigned char Red;
unsigned char Green;
unsigned char Blue;
unsigned char Alpha;
} RGBAComponent;
typedef union RGBAStruct_
{
long Color;
RGBAComponent Component;
} RGBAStruct;
#define RGBA_Color(n) ((n).Color)
#define RGBA_Component(n) ((n).Component)
#define RGBA_Red(n) (RGBA_Component(n).Red)
#define RGBA_Green(n) (RGBA_Component(n).Green)
#define RGBA_Blue(n) (RGBA_Component(n).Blue)
#define RGBA_Alpha(n) (RGBA_Component(n).Alpha)
/***********************************************************************/
typedef union tduGetSetParam_
{
MTH_tdxReal xValue;
long lValue;
unsigned long ulValue;
short wValue;
unsigned short uwValue;
char cValue;
unsigned char ucValue;
unsigned char bf7Value:7;
unsigned char bf6Value:6;
unsigned char bf5Value:5;
unsigned char bf4Value:4;
unsigned char bf3Value:3;
unsigned char bf2Value:2;
unsigned char bf1Value:1;
RGBAStruct ColorValue;
char *szString;
struct tdstEngineObject_ *p_stEngObjValue;
tdxHandleToState tdxstHandleToState;
HIE_tdxHandleToSuperObject hSuperObject; /* for hSector etc...*/
WP_tdhWayPoint m_hWayPoint;
GMT_tdxMask xMask;
tdxHandleOfLipsSynchroTable hLipsSynchro;
tdxHandleToObjectsTablesList hObjectTable;
tdxHandleToFamilyList hFamily;
SND_tdxHandleToSoundEvent pSoundEvent;
struct tdstComport_ *pComport;
FON_tdxHandleOfText hText;
tdxHandleToParticleGenerator hParticleGenerator;
GMT_tdxHandleToGameMaterial hGameMaterial;
AI_tdstAIModel *p_stModel;
MTH3D_tdstVector stVectorValue;
GLI_tdxHandleToLight p_stLight;
WP_tdHandleOfGraph hGraph;
struct tdstMacro_ *p_stMacro;
} tduGetSetParam;
typedef union tduGetSetParamForNode_
{
MTH_tdxReal xValue;
long lValue;
unsigned long ulValue;
short wValue;
unsigned short uwValue;
char cValue;
unsigned char ucValue;
RGBAStruct ColorValue;
char *szString;
struct tdstEngineObject_ *p_stEngObjValue;
tdxHandleToState tdxstHandleToState;
HIE_tdxHandleToSuperObject hSuperObject; /* for Sector etc...*/
WP_tdhWayPoint m_hWayPoint;
GMT_tdxMask xMask;
tdxHandleOfLipsSynchroTable hLipsSynchro;
tdxHandleToObjectsTablesList hObjectTable;
tdxHandleToFamilyList hFamily;
SND_tdxHandleToSoundEvent pSoundEvent;
struct tdstComport_ *pComport;
FON_tdxHandleOfText hText;
tdxHandleToParticleGenerator hParticleGenerator;
GMT_tdxHandleToGameMaterial hGameMaterial;
AI_tdstAIModel *p_stModel;
MTH3D_tdstVector *p_stVectorValue;
GLI_tdxHandleToLight p_stLight;
WP_tdHandleOfGraph hGraph;
struct tdstMacro_ *p_stMacro;
} tduGetSetParamForNode;
/* in order to access to tduGetSetParam : don't use these directly*/
#define M_tduGetSetParam_Clear(n) memset((void*)(n),0,sizeof(*(n)));
#define M_tduGetSetParam_szString(n) ((n)->szString)
#define M_tduGetSetParam_xValue(n) ((n)->xValue)
#define M_tduGetSetParam_lValue(n) ((n)->lValue)
#define M_tduGetSetParam_ulValue(n) ((n)->ulValue)
/* ANNECY MT - 12/04/99 { */
#if defined(__DEBUG_AI__)
#define M_tduGetSetParam_p_stSupObjValue(n) ((n)->p_stEngObjValue ? M_GetSuperObject((n)->p_stEngObjValue) : NULL)
#else
#define M_tduGetSetParam_p_stSupObjValue(n) M_GetSuperObject((n)->p_stEngObjValue)
#endif /* __DEBUG_AI__ */
/* END ANNECY MT } */
#define M_tduGetSetParam_p_stEngObjValue(n) ((n)->p_stEngObjValue)
#define M_tduGetSetParam_boolValue(n) M_tduGetSetParam_lValue(n)
#define M_tduGetSetParam_HandleToState(n) ((n)->tdxstHandleToState)
#define M_tduGetSetParam_stVertexValue(n) M_tduGetSetParam_stVectorValue(n)
#define M_tduGetSetParam_p_stVectorValue(n) ((n)->p_stVectorValue)
#define M_tduGetSetParam_stVectorValue(n) ((n)->stVectorValue)
#define M_tduGetSetParam_hWayPoint(n) ((n)->m_hWayPoint)
#define M_GetSetParam_lZDMIdValue(n) M_GetSetParam_lValue(n)
#define M_tduGetSetParam_hLipsSynchro(n) ((n)->hLipsSynchro)
#define M_tduGetSetParam_hFamily(n) ((n)->hFamily)
#define M_tduGetSetParam_hObjectTable(n) ((n)->hObjectTable)
#define M_tduGetSetParam_hSuperObject(n) ((n)->hSuperObject)
#define M_tduGetSetParam_pSoundEvent(n) ((n)->pSoundEvent)
#define M_tduGetSetParam_pComport(n) ((n)->pComport)
#define M_tduGetSetParam_hText(n) ((n)->hText)
#define M_tduGetSetParam_hParticleGenerator(n) ((n)->hParticleGenerator)
#define M_tduGetSetParam_hGameMaterial(n) ((n)->hGameMaterial)
#define M_tduGetSetParam_p_stModel(n) ((n)->p_stModel)
#define M_tduGetSetParam_ColorValue(n) RGBA_Color(M_tduGetSetParam_Color(n))
#define M_tduGetSetParam_Color(n) ((n)->ColorValue)
#define M_tduGetSetParam_RedValue(n) RGBA_Red(M_tduGetSetParam_Color(n))
#define M_tduGetSetParam_GreenValue(n) RGBA_Green(M_tduGetSetParam_Color(n))
#define M_tduGetSetParam_BlueValue(n) RGBA_Blue(M_tduGetSetParam_Color(n))
#define M_tduGetSetParam_AlphaValue(n) RGBA_Alpha(M_tduGetSetParam_Color(n))
#define M_tduGetSetParam_p_stLight(n) ((n)->p_stLight)
#define M_tduGetSetParam_ubf32Caps(n) ((n)->ulValue)
#define M_tduGetSetParam_hGraph(n) ((n)->hGraph)
#define M_tduGetSetParam_p_stMacro(n) ((n)->p_stMacro)
#if !defined(U64) /**** DR ****/
#define M_tduGetSetParam_wValue(n) ((n)->wValue)
#define M_tduGetSetParam_uwValue(n) ((n)->uwValue)
#define M_tduGetSetParam_cValue(n) ((n)->cValue)
#define M_tduGetSetParam_ucValue(n) ((n)->ucValue)
#define M_tduGetSetParam_bf7Value(n) ((n)->bf7Value)
#define M_tduGetSetParam_bf6Value(n) ((n)->bf6Value)
#define M_tduGetSetParam_bf5Value(n) ((n)->bf5Value)
#define M_tduGetSetParam_bf4Value(n) ((n)->bf4Value)
#define M_tduGetSetParam_bf3Value(n) ((n)->bf3Value)
#define M_tduGetSetParam_bf2Value(n) ((n)->bf2Value)
#define M_tduGetSetParam_bf1Value(n) ((n)->bf1Value)
#define M_tduGetSetParam_xMaskValue(n) ((n)->xMask)
#else /* U64 *** DR ****/
#define M_tduGetSetParam_wValue(n) ((short)((n)->lValue))
#define M_tduGetSetParam_uwValue(n) ((unsigned short)((n)->lValue))
#define M_tduGetSetParam_cValue(n) ((char)((n)->lValue))
#ifdef CODEWARRIOR
#define M_tduGetSetParam_ucValue(n) ((n)->lValue)
#else
#define M_tduGetSetParam_ucValue(n) ((unsigned char)((n)->lValue))
#endif
#define M_tduGetSetParam_bf7Value(n) ((unsigned char)((n)->lValue))
#define M_tduGetSetParam_bf6Value(n) ((unsigned char)((n)->lValue))
#define M_tduGetSetParam_bf5Value(n) ((unsigned char)((n)->lValue))
#define M_tduGetSetParam_bf4Value(n) ((unsigned char)((n)->lValue))
#define M_tduGetSetParam_bf3Value(n) ((unsigned char)((n)->lValue))
#define M_tduGetSetParam_bf2Value(n) ((unsigned char)((n)->lValue))
#define M_tduGetSetParam_bf1Value(n) ((unsigned char)((n)->lValue))
#ifdef CODEWARRIOR
#define M_tduGetSetParam_xMaskValue(n) ((n)->lValue)
#else
#define M_tduGetSetParam_xMaskValue(n) ((GMT_tdxMask)((n)->lValue))
#endif
#endif /* U64 *** DR ****/
/* for U64*/
typedef struct tdstGetSetParam_
{
#if defined(U64)
/* dummy indirection as in tdstNodeInterpret_*/
union
{
#endif
union tduGetSetParam_ uParam;
#if defined(U64)
} uDummy; /* must be the same name as in tdstNodeInterpret_ definition*/
#endif
enum tdeVariableType_ eType;
} tdstGetSetParam;
/* in order to access fields of tdstGetSetParam structure : use these macros instead*/
#if defined(U64)
#define M_GetSetParam_Param(n) (&((n)->uDummy.uParam))
#else
#define M_GetSetParam_Param(n) (&((n)->uParam))
#endif
#define M_GetSetParam_Type(n) ((n)->eType)
#define M_GetSetParam_Clear(n) M_tduGetSetParam_Clear(M_GetSetParam_Param(n));M_GetSetParam_Type(n)=E_vt_None;
#define M_GetSetParam_szString(n) M_tduGetSetParam_szString(M_GetSetParam_Param(n))
#define M_GetSetParam_xValue(n) M_tduGetSetParam_xValue(M_GetSetParam_Param(n))
#define M_GetSetParam_lValue(n) M_tduGetSetParam_lValue(M_GetSetParam_Param(n))
#define M_GetSetParam_ulValue(n) M_tduGetSetParam_ulValue(M_GetSetParam_Param(n))
#define M_GetSetParam_wValue(n) M_tduGetSetParam_wValue(M_GetSetParam_Param(n))
#define M_GetSetParam_uwValue(n) M_tduGetSetParam_uwValue(M_GetSetParam_Param(n))
#define M_GetSetParam_cValue(n) M_tduGetSetParam_cValue(M_GetSetParam_Param(n))
#define M_GetSetParam_ucValue(n) M_tduGetSetParam_ucValue(M_GetSetParam_Param(n))
#define M_GetSetParam_bf7Value(n) M_tduGetSetParam_bf7Value(M_GetSetParam_Param(n))
#define M_GetSetParam_bf6Value(n) M_tduGetSetParam_bf6Value(M_GetSetParam_Param(n))
#define M_GetSetParam_bf5Value(n) M_tduGetSetParam_bf5Value(M_GetSetParam_Param(n))
#define M_GetSetParam_bf4Value(n) M_tduGetSetParam_bf4Value(M_GetSetParam_Param(n))
#define M_GetSetParam_bf3Value(n) M_tduGetSetParam_bf3Value(M_GetSetParam_Param(n))
#define M_GetSetParam_bf2Value(n) M_tduGetSetParam_bf2Value(M_GetSetParam_Param(n))
#define M_GetSetParam_bf1Value(n) M_tduGetSetParam_bf1Value(M_GetSetParam_Param(n))
/* ANNECY MT - 12/04/99 { */
#if defined(__DEBUG_AI__)
#define M_GetSetParam_p_stSupObjValue(n) (M_tduGetSetParam_p_stEngObjValue(M_GetSetParam_Param(n)) ? M_GetSuperObject(M_tduGetSetParam_p_stEngObjValue(M_GetSetParam_Param(n))) : NULL)
#else
#define M_GetSetParam_p_stSupObjValue(n) M_GetSuperObject(M_tduGetSetParam_p_stEngObjValue(M_GetSetParam_Param(n)))
#endif /* __DEBUG_AI__ */
/* END ANNECY MT } */
#define M_GetSetParam_p_stEngineObjValue(n) M_tduGetSetParam_p_stEngObjValue(M_GetSetParam_Param(n))
#define M_GetSetParam_lPersoId(n) M_GetSetParam_lValue(n)
#define M_GetSetParam_ActionReturnValue(n) M_GetSetParam_lValue(n)
#define M_GetSetParam_ActionValue(n) M_tduGetSetParam_HandleToState(M_GetSetParam_Param(n))
#define M_GetSetParam_lZdxId(n) M_GetSetParam_lValue(n)
#define M_GetSetParam_stVertexValue(n) M_GetSetParam_stVectorValue(n)
#define M_GetSetParam_p_stVectorValue(n) M_tduGetSetParam_p_stVectorValue(M_GetSetParam_Param(n))
#define M_GetSetParam_stVectorValue(n) M_tduGetSetParam_stVectorValue(M_GetSetParam_Param(n))
#define M_GetSetParam_WayPointValue(n) M_tduGetSetParam_hWayPoint(M_GetSetParam_Param(n))
#define M_GetSetParam_lModuleValue(n) M_GetSetParam_lValue(n)
#define M_GetSetParam_lDsgVarIdValue(n) M_GetSetParam_lValue(n)
#define M_GetSetParam_xMaskValue(n) M_tduGetSetParam_xMaskValue(M_GetSetParam_Param(n))
#define M_GetSetParam_ulTimeValue(n) M_GetSetParam_ulValue(n)
#define M_GetSetParam_hLipsSynchro(n) M_tduGetSetParam_hLipsSynchro(M_GetSetParam_Param(n))
#define M_GetSetParam_hFamily(n) M_tduGetSetParam_hFamily(M_GetSetParam_Param(n))
#define M_GetSetParam_hObjectTable(n) M_tduGetSetParam_hObjectTable(M_GetSetParam_Param(n))
#define M_GetSetParam_SuperObjectValue(n) M_tduGetSetParam_hSuperObject(M_GetSetParam_Param(n))
#define M_GetSetParam_SectorValue(n) M_GetSetParam_SuperObjectValue(n)
#define M_GetSetParam_DNMLimbTypeValue(n) M_GetSetParam_lValue(n)
#define M_GetSetParam_SoundEvent(n) M_tduGetSetParam_pSoundEvent(M_GetSetParam_Param(n))
#define M_GetSetParam_pComport(n) M_tduGetSetParam_pComport(M_GetSetParam_Param(n))
#define M_GetSetParam_hText(n) M_tduGetSetParam_hText(M_GetSetParam_Param(n))
#define M_GetSetParam_hParticleGenerator(n) M_tduGetSetParam_hParticleGenerator(M_GetSetParam_Param(n))
#define M_GetSetParam_hGameMaterial(n) M_tduGetSetParam_hGameMaterial(M_GetSetParam_Param(n))
#define M_GetSetParam_p_stModel(n) M_tduGetSetParam_p_stModel(M_GetSetParam_Param(n))
#define M_GetSetParam_Color(n) M_tduGetSetParam_Color(M_GetSetParam_Param(n))
#define M_GetSetParam_ColorValue(n) M_tduGetSetParam_ColorValue(M_GetSetParam_Param(n))
#define M_GetSetParam_RedValue(n) M_tduGetSetParam_RedValue(M_GetSetParam_Param(n))
#define M_GetSetParam_GreenValue(n) M_tduGetSetParam_GreenValue(M_GetSetParam_Param(n))
#define M_GetSetParam_BlueValue(n) M_tduGetSetParam_BlueValue(M_GetSetParam_Param(n))
#define M_GetSetParam_AlphaValue(n) M_tduGetSetParam_AlphaValue(M_GetSetParam_Param(n))
#define M_GetSetParam_LightValue(n) M_tduGetSetParam_p_stLight(M_GetSetParam_Param(n))
#define M_GetSetParam_CapsValue(n) M_tduGetSetParam_ubf32Caps(M_GetSetParam_Param(n))
#define M_GetSetParam_GraphValue(n) M_tduGetSetParam_hGraph(M_GetSetParam_Param(n))
#define M_GetSetParam_p_stMacroValue(n) M_tduGetSetParam_p_stMacro(M_GetSetParam_Param(n))
/* in order to access to designer variables*/
/* WARNING : must follow C_TYPEOf.... constants defined in DsgMem.h*/
#define M_GetSetParam_Dsg_Boolean(n) M_GetSetParam_cValue(n)
#define M_GetSetParam_Dsg__128To127(n) M_GetSetParam_cValue(n)
#define M_GetSetParam_Dsg_0To255(n) M_GetSetParam_ucValue(n)
#define M_GetSetParam_Dsg__32768To32767(n) M_GetSetParam_wValue(n)
#define M_GetSetParam_Dsg_0To65535(n) M_GetSetParam_uwValue(n)
#define M_GetSetParam_Dsg_Integer(n) M_GetSetParam_lValue(n)
#define M_GetSetParam_Dsg_PositiveInteger(n) M_GetSetParam_ulValue(n)
#define M_GetSetParam_Dsg_Float(n) M_GetSetParam_xValue(n)
#define M_GetSetParam_Dsg_Perso(n) M_GetSetParam_lPersoId(n)
#define M_GetSetParam_Dsg_PersoInList(n) M_GetSetParam_cValue(n)
#define M_GetSetParam_Dsg_List(n) M_GetSetParam_lValue(n)
#define M_GetSetParam_Dsg_WayPoint(n) M_GetSetParam_WayPointValue(n)
#define M_GetSetParam_Dsg_Vector(n) (&M_GetSetParam_stVectorValue(n))
#define M_GetSetParam_Dsg_Comport(n) M_GetSetParam_pComport(n)
#define M_GetSetParam_Dsg_Action(n) M_GetSetParam_ActionValue(n)
#define M_GetSetParam_Dsg_Text(n) M_GetSetParam_hText(n)
#define M_GetSetParam_Dsg_GameMaterial(n) M_GetSetParam_hGameMaterial(n)
#define M_GetSetParam_Dsg_Caps(n) M_GetSetParam_CapsValue(n)
#define M_GetSetParam_Dsg_Graph(n) M_GetSetParam_GraphValue(n)
/* in order to choose between lValue or xValue */
#define M_ReturnParam_lValue(n) \
( \
(M_GetSetParam_Type(n)==E_vt_Float) \
? ( MTH_M_xRealToLong(M_GetSetParam_xValue(n)) ) \
: ( M_GetSetParam_lValue(n) ) \
)
#define M_ReturnParam_xValue(n) \
( \
(M_GetSetParam_Type(n)==E_vt_Float) \
? ( M_GetSetParam_xValue(n) ) \
: ( MTH_M_xLongToReal(M_GetSetParam_lValue(n)) ) \
)
/* in order to simplify affectation during interpretation*/
#define M_Full_GetSetParam_Integer(p_stValue,lValue) \
M_GetSetParam_lValue(p_stValue)=(long) (lValue); \
M_GetSetParam_Type(p_stValue)=E_vt_Integer;
#define M_Full_GetSetParam_Float(p_stValue,xValue) \
M_GetSetParam_xValue(p_stValue)=(xValue); \
M_GetSetParam_Type(p_stValue)=E_vt_Float;
#define M_Full_GetSetParam_ActionReturn(p_stValue,ucActionReturn) \
M_GetSetParam_ActionReturnValue(p_stValue)=(ucActionReturn); \
M_GetSetParam_Type(p_stValue)=E_vt_MetaActionReturn;
#define M_Full_GetSetParam_Perso(p_stValue,pPerso) \
M_GetSetParam_p_stEngineObjValue(p_stValue) = ((pPerso==NULL)?NULL:M_GetEngineObject(pPerso)); \
M_GetSetParam_Type(p_stValue)=E_vt_Perso;
/* ANNECY OA - 05/08/99 { */
#ifndef U64
#define M_Full_GetSetParam_SuperObject(p_stValue,pSuperObject) \
M_GetSetParam_SuperObjectValue(p_stValue) = (pSuperObject); \
M_GetSetParam_Type(p_stValue)=E_vt_SuperObject;
#endif
/* END ANNECY OA } */
#define M_Full_GetSetParam_hLipsSynchro(p_stValue,hLipsSynchro) \
M_GetSetParam_hLipsSynchro(p_stValue) = hLipsSynchro; \
M_GetSetParam_Type(p_stValue)=E_vt_LipsSynchro;
#define M_Full_GetSetParam_hObjectTable(p_stValue,hObjectTable) \
M_GetSetParam_hObjectTable(p_stValue) = hObjectTable; \
M_GetSetParam_Type(p_stValue)=E_vt_ObjectTable;
#define M_Full_GetSetParam_hFamily(p_stValue,hFamily) \
M_GetSetParam_hFamily(p_stValue) = hFamily; \
M_GetSetParam_Type(p_stValue)=E_vt_Family;
#define M_Full_GetSetParam_p_stVertex(p_stValue,p_stVertex) \
MTH3D_M_vCopyVector(&M_GetSetParam_stVertexValue(p_stValue),p_stVertex); \
M_GetSetParam_Type(p_stValue)=E_vt_Vector;
#define M_Full_GetSetParam_Button(p_stValue,lValue) \
M_GetSetParam_lValue(p_stValue)=(long)(lValue); \
M_GetSetParam_Type(p_stValue)=E_vt_Button;
#define M_Full_GetSetParam_List(p_stValue,lValue) \
M_GetSetParam_Dsg_List(p_stValue)=(long) ((tdstList*) (lValue) ); \
M_GetSetParam_Type(p_stValue)=E_vt_List;
#define M_Full_GetSetParam_WayPoint(p_stValue,lWP)\
M_GetSetParam_WayPointValue(p_stValue) = (lWP);\
M_GetSetParam_Type(p_stValue) = E_vt_WayPoint;
#define M_Full_GetSetParam_Module(p_stValue,lModule) \
M_GetSetParam_lModuleValue(p_stValue)=(long) (lModule); \
M_GetSetParam_Type(p_stValue)=E_vt_Module;
#define M_Full_GetSetParam_DsgVarId(p_stValue,lDsgVarId) \
M_GetSetParam_lDsgVarIdValue(p_stValue)=(long) (lDsgVarId); \
M_GetSetParam_Type(p_stValue)=E_vt_DsgVarId;
#define M_Full_GetSetParam_String(p_stValue, szString) \
M_GetSetParam_szString(p_stValue) = (szString); \
M_GetSetParam_Type(p_stValue) = E_vt_String;
#define M_Full_GetSetParam_Mask(p_stValue,xMask) \
M_GetSetParam_lValue(p_stValue) = (long) (xMask); \
M_GetSetParam_Type(p_stValue)=E_vt_Mask;
#define M_Full_GetSetParam_Time(p_stValue,ulValue) \
M_GetSetParam_ulTimeValue(p_stValue)=(unsigned long) (ulValue); \
M_GetSetParam_Type(p_stValue)=E_vt_PositiveInteger;
#define M_Full_GetSetParam_SoundEvent(p_stValue,pSndEvent) \
M_GetSetParam_SoundEvent(p_stValue)=(pSndEvent); \
M_GetSetParam_Type(p_stValue)=E_vt_SoundEvent;
#define M_Full_GetSetParam_pComport(p_stValue,pComport) \
M_GetSetParam_pComport(p_stValue)=(pComport); \
M_GetSetParam_Type(p_stValue)=E_vt_Comport;
#define M_Full_GetSetParam_Action(p_stValue,hAction) \
M_GetSetParam_ActionValue(p_stValue)=(hAction); \
M_GetSetParam_Type(p_stValue)=E_vt_Action;
#define M_Full_GetSetParam_hText(p_stValue,hText) \
M_GetSetParam_hText(p_stValue)=(hText); \
M_GetSetParam_Type(p_stValue)=E_vt_Text;
#define M_Full_GetSetParam_hParticleGenerator(p_stValue,hParticleGenerator) \
M_GetSetParam_hParticleGenerator(p_stValue)=(hParticleGenerator); \
M_GetSetParam_Type(p_stValue)=E_vt_ParticleGenerator;
#define M_Full_GetSetParam_hGameMaterial(p_stValue, hGameMaterial) \
M_GetSetParam_hGameMaterial(p_stValue)=(hGameMaterial); \
M_GetSetParam_Type(p_stValue)=E_vt_GameMaterial;
#define M_Full_GetSetParam_ColorValue(p_stValue,ColorValue) \
M_GetSetParam_ColorValue(p_stValue)=(long) (ColorValue); \
M_GetSetParam_Type(p_stValue)=E_vt_Color;
#define M_Full_GetSetParam_p_stModel(p_stValue,ModelValue) \
M_GetSetParam_p_stModel(p_stValue)=(AI_tdstAIModel*) (ModelValue); \
M_GetSetParam_Type(p_stValue)=E_vt_Model;
#define M_Full_GetSetParam_Light(p_stValue,LightValue) \
M_GetSetParam_LightValue(p_stValue)=(LightValue); \
M_GetSetParam_Type(p_stValue)=E_vt_Light;
#define M_Full_GetSetParam_Caps(p_stValue, CapsValue) \
M_GetSetParam_CapsValue(p_stValue)=(CapsValue); \
M_GetSetParam_Type(p_stValue)=E_vt_Caps;
#define M_Full_GetSetParam_Graph(p_stValue, GraphValue) \
M_GetSetParam_GraphValue(p_stValue)=(GraphValue); \
M_GetSetParam_Type(p_stValue)=E_vt_Graph;
#define M_IsFloatType(p_stParam) (M_GetSetParam_Type((p_stParam))==E_vt_Float)
#define M_IsVectorType(p_stParam) (M_GetSetParam_Type((p_stParam))==E_vt_Vector)
#endif /* __GETSET_PARAM_H__ */