/*------------------------------------------------------------------------------*/ /* 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__ */