#ifndef D_DsgMemC #define D_DsgMemC /**************************************/ #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 /*******************************************************************************/ /*******************************************************************************************************************/ /* Get the real indice of variable */ /*******************************************************************************************************************/ #define M_CFast_ucGetRealIndice(Indice1) (unsigned char)M_lDsgVarIdInterpret(p_stRefTree+Indice1) #define M_CFast_hGetPersoRef(Indice) (HIE_tdxHandleToSuperObject)M_GetSuperObject(M_p_stPersoRefInterpret(p_stRefTree+Indice)) /*******************************************************************************************************************/ /* Get Functions to access DsgVar */ /*******************************************************************************************************************/ /* MTH_tdxReal CFast_fn_xGetDsgVarFloat(unsigned char ucId, AI_tdstMind *p_stPerso); C_TypeOfPerso CFast_fn_hGetDsgVarPerso(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_Vector MTH3D_tdstVector *CFast_fn_p_stGetDsgVarVector(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_Caps unsigned long CFast_fn_ucGetDsgVarCaps(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_Graph C_TypeOfGraph CFast_fn_hGetDsgVarGraph(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_WayPoint C_TypeOfWayPoint CFast_fn_hGetDsgVarWayPoint(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_Action C_TypeOfAction CFast_fn_xGetDsgVarAction(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_Comport C_TypeOfComport CFast_fn_xGetDsgVarComport(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_List C_TypeOfList1 * CFast_fn_p_xGetDsgVarList(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_Boolean long CFast_fn_lGetDsgVarBoolean(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType__128To127 long CFast_fn_lGetDsgVar_128To127(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_0To255 long CFast_fn_lGetDsgVar0To255(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType__32768To32767 long CFast_fn_lGetDsgVar_32768To32767(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_0To65535 long CFast_fn_lGetDsgVar0To65535(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_Integer long CFast_fn_lGetDsgVarInteger(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_PositiveInteger long CFast_fn_lGetDsgVarPositiveInteger(unsigned char ucId, AI_tdstMind *p_stPerso); // eDsgVarType_GameMaterial C_TypeOfGameMaterial CFast_fn_xGetDsgVarGameMaterial(unsigned char ucId, AI_tdstMind *p_stPerso); */ #define CFast_fn_xGetDsgVarFloat(ucId, p_stPerso) ((MTH_tdxReal) (*(MTH_tdxReal *)M_GetDsgVarAddr(p_stPerso,ucId))) #define LocalCFast_fn_xGetDsgVarFloat(ucId) ((MTH_tdxReal) (*(MTH_tdxReal *)M_LocalGetDsgVarAddr(NULL,ucId))) #define CFast_fn_hGetDsgVarPerso(ucId,p_stPerso) ((C_TypeOfPerso) *(C_TypeOfPerso *)M_GetDsgVarAddr(p_stPerso,ucId)) #define LocalCFast_fn_hGetDsgVarPerso(ucId) ((C_TypeOfPerso) *(C_TypeOfPerso *)M_LocalGetDsgVarAddr(NULL,ucId)) #define CFast_fn_p_stGetDsgVarVector(ucId,p_stPerso) ((MTH3D_tdstVector *)(M_GetDsgVarAddr(p_stPerso,ucId))) #define LocalCFast_fn_p_stGetDsgVarVector(ucId) ((MTH3D_tdstVector *)(M_LocalGetDsgVarAddr(NULL,ucId))) #define CFast_fn_ucGetDsgVarCaps(ucId, p_stPerso) (*((unsigned long *)(M_GetDsgVarAddr(p_stPerso,ucId)))) #define LocalCFast_fn_ucGetDsgVarCaps(ucId) (*((unsigned long *)(M_LocalGetDsgVarAddr(NULL,ucId)))) #define CFast_fn_hGetDsgVarGraph(ucId,p_stPerso) (*((C_TypeOfGraph *)M_GetDsgVarAddr(p_stPerso,ucId))) #define LocalCFast_fn_hGetDsgVarGraph(ucId) (*((C_TypeOfGraph *)M_LocalGetDsgVarAddr(NULL,ucId))) #define CFast_fn_hGetDsgVarWayPoint(ucId,p_stPerso) (*((C_TypeOfWayPoint *)M_GetDsgVarAddr(p_stPerso,ucId))) #define LocalCFast_fn_hGetDsgVarWayPoint(ucId) (*((C_TypeOfWayPoint *)M_LocalGetDsgVarAddr(NULL,ucId))) #define CFast_fn_xGetDsgVarAction(ucId,p_stPerso) (*((C_TypeOfAction *)M_GetDsgVarAddr(p_stPerso,ucId))) #define LocalCFast_fn_xGetDsgVarAction(ucId) (*((C_TypeOfAction *)M_LocalGetDsgVarAddr(NULL,ucId))) #define CFast_fn_xGetDsgVarComport(ucId,p_stPerso) (*((C_TypeOfComport *)M_GetDsgVarAddr(p_stPerso,ucId))) #define LocalCFast_fn_xGetDsgVarComport(ucId) (*((C_TypeOfComport *)M_LocalGetDsgVarAddr(NULL,ucId))) #define CFast_fn_p_xGetDsgVarList(ucId,p_stPerso) ((struct tdstList_ *)M_GetDsgVarAddr(p_stPerso,ucId)) #define LocalCFast_fn_p_xGetDsgVarList(ucId) ((struct tdstList_ *)M_LocalGetDsgVarAddr(NULL,ucId)) #define CFast_fn_lGetDsgVarBoolean(ucId,p_stPerso) ((long)(*((C_TypeOfBoolean *)M_GetDsgVarAddr(p_stPerso,ucId)))) #define LocalCFast_fn_lGetDsgVarBoolean(ucId) ((long)(*((C_TypeOfBoolean *)M_LocalGetDsgVarAddr(NULL,ucId)))) #define CFast_fn_lGetDsgVar_128To127(ucId,p_stPerso) ( (long)(*((C_TypeOf_128To127 *)M_GetDsgVarAddr(p_stPerso,ucId)) ) ) #define LocalCFast_fn_lGetDsgVar_128To127(ucId) ( (long)(*((C_TypeOf_128To127 *)M_LocalGetDsgVarAddr(NULL,ucId)) ) ) #define CFast_fn_lGetDsgVar0To255(ucId,p_stPerso) ((long)(*((C_TypeOf0To255 *)M_GetDsgVarAddr(p_stPerso,ucId)) ) ) #define LocalCFast_fn_lGetDsgVar0To255(ucId) ((long)(*((C_TypeOf0To255 *)M_LocalGetDsgVarAddr(NULL,ucId)) ) ) #define CFast_fn_lGetDsgVar_32768To32767(ucId,p_stPerso) ((long)(*((C_TypeOf_32768To32767 *)M_GetDsgVarAddr(p_stPerso,ucId)) ) ) #define LocalCFast_fn_lGetDsgVar_32768To32767(ucId) ((long)(*((C_TypeOf_32768To32767 *)M_LocalGetDsgVarAddr(NULL,ucId)) ) ) #define CFast_fn_lGetDsgVar0To65535(ucId,p_stPerso) ((long)(*((C_TypeOf0To65535 *)M_GetDsgVarAddr(p_stPerso,ucId)))) #define LocalCFast_fn_lGetDsgVar0To65535(ucId) ((long)(*((C_TypeOf0To65535 *)M_LocalGetDsgVarAddr(NULL,ucId)))) #define CFast_fn_lGetDsgVarInteger(ucId,p_stPerso) ((long)(*((C_TypeOfInteger *)M_GetDsgVarAddr(p_stPerso,ucId)) ) ) #define LocalCFast_fn_lGetDsgVarInteger(ucId) ((long)(*((C_TypeOfInteger *)M_LocalGetDsgVarAddr(NULL,ucId)) ) ) #define CFast_fn_lGetDsgVarPositiveInteger(ucId,p_stPerso) ((long)(*((C_TypeOfPositiveInteger *)M_GetDsgVarAddr(p_stPerso,ucId)) ) ) #define LocalCFast_fn_lGetDsgVarPositiveInteger(ucId) ((long)(*((C_TypeOfPositiveInteger *)M_LocalGetDsgVarAddr(NULL,ucId)) ) ) #define CFast_fn_xGetDsgVarGameMaterial(ucId,p_stPerso) ((C_TypeOfGameMaterial)(*((C_TypeOfGameMaterial *)M_GetDsgVarAddr(p_stPerso,ucId)))) #define LocalCFast_fn_xGetDsgVarGameMaterial(ucId) ((C_TypeOfGameMaterial)(*((C_TypeOfGameMaterial *)M_LocalGetDsgVarAddr(NULL,ucId)))) HIE_tdxHandleToSuperObject CFast_fn_hGetDsgVarPersoArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex); HIE_tdxHandleToSuperObject LocalCFast_fn_hGetDsgVarPersoArray(unsigned char ucId, unsigned char ucTabIndex); MTH3D_tdstVector *CFast_fn_p_stGetDsgVarVectorArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex); MTH3D_tdstVector *LocalCFast_fn_p_stGetDsgVarVectorArray(unsigned char ucId, unsigned char ucTabIndex); MTH_tdxReal CFast_fn_xGetDsgVarFloatArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex); MTH_tdxReal LocalCFast_fn_xGetDsgVarFloatArray(unsigned char ucId, unsigned char ucTabIndex); long CFast_fn_lGetDsgVarIntegerArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex); long LocalCFast_fn_lGetDsgVarIntegerArray(unsigned char ucId, unsigned char ucTabIndex); C_TypeOfWayPoint CFast_fn_hGetDsgVarWayPointArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex); C_TypeOfWayPoint LocalCFast_fn_hGetDsgVarWayPointArray(unsigned char ucId, unsigned char ucTabIndex); char *CFast_fn_p_szGetDsgVarTextArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex); char *LocalCFast_fn_p_szGetDsgVarTextArray(unsigned char ucId, unsigned char ucTabIndex); /*******************************************************************************************************************/ /* Set Functions to access DsgVar */ /*******************************************************************************************************************/ /* eDsgVarType_Float*/ void CFast_fn_vSetDsgVarFloat(unsigned char ucId, AI_tdstMind *p_stPerso, C_TypeOfFloat xValue); void LocalCFast_fn_vSetDsgVarFloat(unsigned char ucId, C_TypeOfFloat xValue); /* eDsgVarType_Perso*/ void CFast_fn_vSetDsgVarPerso(unsigned char ucId, AI_tdstMind *p_stPerso, C_TypeOfPerso hPerso); void LocalCFast_fn_vSetDsgVarPerso(unsigned char ucId, C_TypeOfPerso hPerso); void CFast_fn_vSetDsgVarPersoWithEngine(unsigned char ucId, AI_tdstMind *p_stPerso, struct tdstEngineObject_ *hPerso); void LocalCFast_fn_vSetDsgVarPersoWithEngine(unsigned char ucId, struct tdstEngineObject_ *hPerso); /* eDsgVarType_Action*/ void CFast_fn_vSetDsgVarAction(unsigned char ucId, AI_tdstMind *p_stPerso, C_TypeOfAction hAction); void LocalCFast_fn_vSetDsgVarAction(unsigned char ucId, C_TypeOfAction hAction); /* eDsgVarType_Comport*/ void CFast_fn_vSetDsgVarComport(unsigned char ucId, AI_tdstMind *p_stPerso, C_TypeOfComport p_stComport); void LocalCFast_fn_vSetDsgVarComport(unsigned char ucId, C_TypeOfComport p_stComport); /* eDsgVarType_Vector*/ void CFast_fn_vSetDsgVarVector(unsigned char ucId, AI_tdstMind *p_stPerso,MTH3D_tdstVector *p_stVertex); void LocalCFast_fn_vSetDsgVarVector(unsigned char ucId,MTH3D_tdstVector *p_stVertex); /* eDsgVarType_Caps*/ void CFast_fn_vSetDsgVarCaps(unsigned char ucId, AI_tdstMind *p_stPerso, C_TypeOfCaps ulCaps); void LocalCFast_fn_vSetDsgVarCaps(unsigned char ucId, C_TypeOfCaps ulCaps); /* eDsgVarType_Graph*/ void CFast_fn_vSetDsgVarGraph(unsigned char ucId, AI_tdstMind *p_stPerso, C_TypeOfGraph hGraph); void LocalCFast_fn_vSetDsgVarGraph(unsigned char ucId, C_TypeOfGraph hGraph); /* eDsgVarType_WayPoint*/ void CFast_fn_vSetDsgVarWayPoint(unsigned char ucId, AI_tdstMind *p_stPerso, C_TypeOfWayPoint hWayPoint); void LocalCFast_fn_vSetDsgVarWayPoint(unsigned char ucId, C_TypeOfWayPoint hWayPoint); /* eDsgVarType_List*/ void CFast_fn_vSetDsgVarList(unsigned char ucId, AI_tdstMind *p_stPerso, tdstList *p_SrcList); void LocalCFast_fn_vSetDsgVarList(unsigned char ucId, tdstList *p_SrcList); /* eDsgVarType_Boolean*/ void CFast_fn_vSetDsgVarBoolean(unsigned char ucId, AI_tdstMind *p_stPerso, C_TypeOfBoolean bValue); void LocalCFast_fn_vSetDsgVarBoolean(unsigned char ucId, C_TypeOfBoolean bValue); /* eDsgVarType__128To127*/ void CFast_fn_vSetDsgVar_128To127(unsigned char ucId, AI_tdstMind *p_stPerso, long lValue); void LocalCFast_fn_vSetDsgVar_128To127(unsigned char ucId, long lValue); /* eDsgVarType_0To255*/ void CFast_fn_vSetDsgVar0To255(unsigned char ucId, AI_tdstMind *p_stPerso, long lValue); void LocalCFast_fn_vSetDsgVar0To255(unsigned char ucId, long lValue); /* eDsgVarType__32768To32767*/ void CFast_fn_vSetDsgVar_32768To32767(unsigned char ucId, AI_tdstMind *p_stPerso, long lValue); void LocalCFast_fn_vSetDsgVar_32768To32767(unsigned char ucId, long lValue); /* eDsgVarType_0To65535*/ void CFast_fn_vSetDsgVar0To65535(unsigned char ucId, AI_tdstMind *p_stPerso, long lValue); void LocalCFast_fn_vSetDsgVar0To65535(unsigned char ucId, long lValue); /* eDsgVarType_Integer*/ void CFast_fn_vSetDsgVarInteger(unsigned char ucId, AI_tdstMind *p_stPerso, long lValue); void LocalCFast_fn_vSetDsgVarInteger(unsigned char ucId, long lValue); /* eDsgVarType_PositiveInteger*/ void CFast_fn_vSetDsgVarPositiveInteger(unsigned char ucId, AI_tdstMind *p_stPerso, long lValue); void LocalCFast_fn_vSetDsgVarPositiveInteger(unsigned char ucId, long lValue); /* eDsgVarType_GameMaterial*/ void CFast_fn_vSetDsgVarGameMaterial(unsigned char ucId, AI_tdstMind *p_stPerso, C_TypeOfGameMaterial hGameMaterial); void LocalCFast_fn_vSetDsgVarGameMaterial(unsigned char ucId, C_TypeOfGameMaterial hGameMaterial); void CFast_fn_vSetDsgVarPersoArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex, C_TypeOfPerso hPerso); void CFast_fn_vSetDsgVarPersoArrayWithEngine(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex, struct tdstEngineObject_ *hPerso) ; void CFast_fn_vSetDsgVarVectorArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex, MTH3D_tdstVector *p_stVector); void CFast_fn_vSetDsgVarFloatArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex, MTH_tdxReal xValue); void CFast_fn_vSetDsgVarIntegerArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex, long lValue); void CFast_fn_vSetDsgVarWayPointArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex, C_TypeOfWayPoint hWayPoint); void CFast_fn_vSetDsgVarTextArray(unsigned char ucId, AI_tdstMind *p_stPerso, unsigned char ucTabIndex, char *p_szString); void LocalCFast_fn_vSetDsgVarPersoArray(unsigned char ucId, unsigned char ucTabIndex, C_TypeOfPerso hPerso); void LocalCFast_fn_vSetDsgVarPersoArrayWithEngine(unsigned char ucId, unsigned char ucTabIndex, struct tdstEngineObject_ *hPerso); void LocalCFast_fn_vSetDsgVarVectorArray(unsigned char ucId, unsigned char ucTabIndex, MTH3D_tdstVector *p_stVector); void LocalCFast_fn_vSetDsgVarFloatArray(unsigned char ucId, unsigned char ucTabIndex, MTH_tdxReal xValue); void LocalCFast_fn_vSetDsgVarIntegerArray(unsigned char ucId, unsigned char ucTabIndex, long lValue); void LocalCFast_fn_vSetDsgVarWayPointArray(unsigned char ucId, unsigned char ucTabIndex, C_TypeOfWayPoint hWayPoint); void LocalCFast_fn_vSetDsgVarTextArray(unsigned char ucId, unsigned char ucTabIndex, char *p_szString); /*******************************************************************************/ #undef EXTERN_AI_DLL #endif /*D_DsgMem*/