438 lines
22 KiB
C
438 lines
22 KiB
C
/*---------------------------------------------------------------------------*/
|
|
/* Strintel.h : data structures for intelligency engine*/
|
|
/* auteur : Olivier Didelot.*/
|
|
/* date : 08/08/1996*/
|
|
/* modifications majeures : * 12/1996 O.C.*/
|
|
/* 970115 : Vector management (Fabien Morales)*/
|
|
/* 970120 : minor changes (O.C.)*/
|
|
/* January 28,1997 Adding Way and Waypoints management*/
|
|
/* 970212 : Module & DsgVarId node types (Fabien Morales)*/
|
|
/* modify : Olivier Couvreur 18/02/97 CPA_EXPORT + new functions for editor*/
|
|
/* modify : Olivier Couvreur 05/03/97 Model can be gathered between several perso + Alloc and Free functions rewritten*/
|
|
/* modify : Olivier Couvreur 25/03/97 NbNode is not an unsigned char anymore + NoComportInit support*/
|
|
/* modify : Olivier Couvreur 25/05/97 ZDD + ZDD stuff*/
|
|
/*---------------------------------------------------------------------------*/
|
|
|
|
#if !defined(__STRINTEL_H__)
|
|
#define __STRINTEL_H__
|
|
|
|
#include "GSParam.h"
|
|
#ifdef USE_IPT_DX5
|
|
#include "IPT_DX5.h" /* InPuT (absolutely before GAM.h)*/
|
|
#else /* USE_IPT_WIN */
|
|
#include "IPT.h" /* InPuT (absolutely before GAM.h)*/
|
|
#endif /* USE_IPT_WIN */
|
|
#include "specif/AIOption.h"
|
|
|
|
#if defined(U64)
|
|
#include "AIGame/EnumAct.h" /* tables of action names*/
|
|
#include "AIGame/EnumCond.h" /* tables of conditions names*/
|
|
#include "AIGame/EnumKey.h" /* tables of keywords names*/
|
|
#include "AIGame/EnumFunc.h" /* tables of functions names*/
|
|
#include "AIGame/EnumOper.h" /* tables of operator*/
|
|
#include "AIGame/EnumProc.h" /* tables of Procedure.*/
|
|
#include "AIGame/EnumFild.h" /* tables of fields*/
|
|
#endif
|
|
|
|
#if defined(REVERSE_RULES)
|
|
#pragma message("*** REVERSE_RULES is defined ***");
|
|
#endif
|
|
|
|
#if defined(__cplusplus)
|
|
/*#pragma message("*** Compiling in C++ for debug only ***")*/
|
|
/*#pragma message("*** Remove /Tp in Settings (C/C++ Project Options) to compile in C ***")*/
|
|
#endif
|
|
|
|
/**************************************/
|
|
#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
|
|
|
|
/*******************************************************************************/
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Macros for access to field of struct tdstTreeInterpret*/
|
|
/*---------------------------------------------------------------------------*/
|
|
#if defined(OPTIMIZE_NB_NODES)
|
|
#define M_GetNbNodeInterpret(p_Tree) fn_uwGetNbNodeInterpret((p_Tree))
|
|
#define M_SetNbNodeInterpret(p_Tree, NNode)
|
|
#define M_GetNodeInterpret(p_Tree) ((p_Tree)->p_stNodeInterpret)
|
|
#else
|
|
#define M_GetNbNodeInterpret(p_Tree) ((p_Tree)->uwNbNode)
|
|
#define M_SetNbNodeInterpret(p_Tree, NNode) (M_GetNbNodeInterpret(p_Tree)=(NNode))
|
|
#define M_GetNodeInterpret(p_Tree) ((p_Tree)->p_stNodeInterpret)
|
|
#endif
|
|
#define M_GetNodeInterpretN(p_Tree, NNode) (&(M_GetNodeInterpret(p_Tree)[NNode]))
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Macros for access to field of struct tdstMacro*/
|
|
/*---------------------------------------------------------------------------*/
|
|
#define M_GetMacroInitTree(p_stMacro) ((p_stMacro)->p_stInitTree)
|
|
#define M_GetMacroCurrentTree(p_stMacro) ((p_stMacro)->p_stCurrentTree)
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Macros for access to field of struct tdstListOfMacro*/
|
|
/*---------------------------------------------------------------------------*/
|
|
#define M_GetNameMacro(p_stMacro) ((p_stMacro)->szName)
|
|
#define M_GetMacro(p_stListMacro) ((p_stListMacro)->p_stMacro)
|
|
#define M_GetMacroN(p_stListMacro, N) (M_GetMacro(p_stListMacro)+N)
|
|
#define M_GetNbMacro(p_stListMacro) (p_stListMacro->ucNbMacro)
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Macros for access to field of struct tdstComport*/
|
|
/*---------------------------------------------------------------------------*/
|
|
#define M_GetNameComport(p_stComp) ((p_stComp)->szName)
|
|
#define M_GetComportSchedule(p_stComp) ((p_stComp)->p_stSchedule)
|
|
#define M_GetTreeComportSchedule(p_stComp) (M_GetNodeInterpret(M_GetComportSchedule(p_stComp)))
|
|
#define M_GetComportRules(p_stComp) ((p_stComp)->p_stRules)
|
|
#define M_GetComportRuleN(p_stComp, NRule) (&(M_GetComportRules(p_stComp)[NRule]))
|
|
#define M_GetComportNbRules(p_stComp) ((p_stComp)->ucNbRules)
|
|
#define M_GetComportNRules(p_stComp, N) ((p_stComp)[N].p_stRules)
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Macros for access to field of struct tdstScriptAI*/
|
|
/*---------------------------------------------------------------------------*/
|
|
#define M_GetScriptAINbComport(p_stScr) ((p_stScr)->ulNbComport)
|
|
#define M_GetScriptAIComport(p_stScr) ((p_stScr)->p_stComport)
|
|
#define M_GetScriptAIComportN(p_stScr, N) (&(M_GetScriptAIComport(p_stScr)[N]))
|
|
#define M_GetScriptAIActionTableNbEntry(p_stScr) ((p_stScr)->ucActionTableNbEntry)
|
|
#define M_GetScriptAINoComportInitDefault(p_stScr) ((p_stScr)->ulNoComportInitDefault)
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Macros for access to field of struct tdstIntelligence*/
|
|
/*---------------------------------------------------------------------------*/
|
|
#define M_GetCurrentComport(p_stInt) ((p_stInt)->p_stCurrentComport)
|
|
#define M_GetPrevComport(p_stInt) ((p_stInt)->p_stPrevComport)
|
|
#define M_GetRules(p_stInt) (M_GetComportRules(M_GetCurrentComport(p_stInt)))
|
|
#define M_GetRuleN(p_stInt, NRule) (&(M_GetRules(p_stInt)[(NRule)]))
|
|
#define M_GetNbRules(p_stInt) (M_GetComportNbRules(M_GetCurrentComport(p_stInt)))
|
|
#define M_GetScriptAI(p_stInt) (*((p_stInt)->p_p_stScriptAI))
|
|
#define M_GetNbComport(p_stInt) (M_GetScriptAINbComport(M_GetScriptAI(p_stInt)))
|
|
#define M_GetComport(p_stInt) (M_GetScriptAIComport(M_GetScriptAI(p_stInt)))
|
|
#define M_GetComportN(p_stInt, N) (M_GetScriptAIComportN(M_GetScriptAI(p_stInt), N))
|
|
#define M_GetCurrentSchedule(p_stInt) ((p_stInt)->p_stCurrentSchedule)
|
|
#define M_GetNoComportInit(p_stInt) ((p_stInt)->ulNoComportInit)
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Macros for access to field of struct tdstNodeInterpret*/
|
|
/*---------------------------------------------------------------------------*/
|
|
#define M_DepthInterpret(p_Tree) ((p_Tree)->ucDepth)
|
|
|
|
#if defined(__DEBUG_AI__)
|
|
#define M_GetTypeInterpret(p_Tree) ((p_Tree)->eType)
|
|
#define M_SetTypeInterpret(p_Tree,n) ((p_Tree)->eType)=(enum tdeTypeInterpret_) (n)
|
|
#else
|
|
#define M_GetTypeInterpret(p_Tree) (enum tdeTypeInterpret_) ((p_Tree)->eType)
|
|
#define M_SetTypeInterpret(p_Tree,n) ((p_Tree)->eType)=(unsigned char) (n)
|
|
#endif /* __DEBUG_AI__*/
|
|
|
|
#if defined(OPTIMIZE_SWAP_PARAMETER)
|
|
#define M_NodeToSkip(p_Tree) ((p_Tree)->uwNodeToSkip)
|
|
#endif /* OPTIMIZE_SWAP_PARAMETER*/
|
|
|
|
#if defined(U64)
|
|
#define M_TypeUnionInterpret(p_Tree) (&((p_Tree)->uDummy.uId))
|
|
#else
|
|
#define M_TypeUnionInterpret(p_Tree) (&((p_Tree)->uId))
|
|
#endif /* U64*/
|
|
|
|
#if defined(ACTIVE_AIDEBUG) /**** DR ****/
|
|
#define M_GetBreakPoint(p_Tree) ((p_Tree)->bBreakPoint)
|
|
#define M_SetBreakPoint(p_Tree,n) ((p_Tree)->bBreakPoint = (ACP_tdxBool)(n))
|
|
#endif /*ACTIVE_AIDEBUG*/
|
|
|
|
#define M_eCondIdInterpret(p_Tree) (M_TypeUnionInterpret(p_Tree)->eCondId)
|
|
#define M_eKeyWordIdInterpret(p_Tree) (M_TypeUnionInterpret(p_Tree)->eKeyWordId)
|
|
#define M_eOperatorIdInterpret(p_Tree) (M_TypeUnionInterpret(p_Tree)->eOperatorId)
|
|
#define M_eFuncIdInterpret(p_Tree) (M_TypeUnionInterpret(p_Tree)->eFuncId)
|
|
#define M_eFieldIdInterpret(p_Tree) (M_TypeUnionInterpret(p_Tree)->eFieldId)
|
|
#define M_eMetaActionIdInterpret(p_Tree) (M_TypeUnionInterpret(p_Tree)->eMetaActionId)
|
|
#define M_hInputHandleIdInterpret(p_Tree) (M_TypeUnionInterpret(p_Tree)->hInputAction)
|
|
#define M_eProcedureIdInterpret(p_Tree) (M_TypeUnionInterpret(p_Tree)->eProcedureId)
|
|
#define M_szStringInterpret(p_Tree) (M_GetSetParam_szString(p_Tree))
|
|
#define M_lValueInterpret(p_Tree) (M_GetSetParam_lValue(p_Tree))
|
|
#define M_xValueInterpret(p_Tree) (M_GetSetParam_xValue(p_Tree))
|
|
#define M_lPersoIdInterpret(p_Tree) (M_GetSetParam_lPersoId(p_Tree))
|
|
#define M_lKeyLinkInterpret(p_Tree) (M_GetSetParam_lValue(p_Tree))
|
|
#define M_p_stPersoRefInterpret(p_Tree) (M_GetSetParam_p_stEngineObjValue(p_Tree))
|
|
#define M_ucVarIdInterpret(p_Tree) (M_GetSetParam_lValue(p_Tree))
|
|
#define M_lZdxIdInterpret(p_Tree) (M_GetSetParam_lZdxId(p_Tree))
|
|
#define M_p_stVectorInterpret(p_Tree) (M_GetSetParam_p_stVectorValue(p_Tree))
|
|
#define M_lWayPointInterpret(p_Tree) (M_GetSetParam_WayPointValue(p_Tree))
|
|
#define M_lModuleInterpret(p_Tree) (M_GetSetParam_lModuleValue(p_Tree))
|
|
#define M_lDsgVarIdInterpret(p_Tree) (M_GetSetParam_lDsgVarIdValue(p_Tree))
|
|
#define M_ActionInterpret(p_Tree) (M_GetSetParam_ActionValue(p_Tree))
|
|
#define M_xMaskInterpret(p_Tree) (M_GetSetParam_xMaskValue(p_Tree))
|
|
#define M_hLipSynchroHandleIdInterpret(p_Tree) (M_GetSetParam_hLipsSynchro(p_Tree))
|
|
#define M_hFamilyHandleIdInterpret(p_Tree) (M_GetSetParam_hFamily(p_Tree))
|
|
#define M_SuperObjectInterpret(p_Tree) (M_GetSetParam_SuperObjectValue(p_Tree))
|
|
#define M_lChannelInterpret(p_Tree) (M_GetSetParam_lChannelValue(p_Tree))
|
|
#define M_SoundEventInterpret(p_Tree) (M_GetSetParam_SoundEvent(p_Tree))
|
|
#define M_ComportInterpret(p_Tree) (M_GetSetParam_pComport(p_Tree))
|
|
#define M_TextInterpret(p_Tree) (M_GetSetParam_hText(p_Tree))
|
|
#define M_ParticleGeneratorInterpret(p_Tree) (M_GetSetParam_hParticleGenerator(p_Tree))
|
|
#define M_GameMaterialInterpret(p_Tree) (M_GetSetParam_hGameMaterial(p_Tree))
|
|
#define M_ObjectTableInterpret(p_Tree) (M_GetSetParam_hObjectTable(p_Tree))
|
|
#define M_ColorValueInterpret(p_Tree) (M_GetSetParam_ColorValue(p_Tree))
|
|
#define M_p_stModelInterpret(p_Tree) (M_GetSetParam_p_stModel(p_Tree))
|
|
#define M_ClearNodeInterpret(p_Tree) memset((void*) (p_Tree),0,sizeof(struct tdstNodeInterpret_));
|
|
#define M_IsTheEndOfTree(p_Tree) (M_GetTypeInterpret(p_Tree) == E_ti_EndTree)
|
|
#define M_p_stLightInterpret(p_Tree) (M_GetSetParam_LightValue(p_Tree))
|
|
#define M_ulCapsInterpret(p_Tree) (M_GetSetParam_CapsValue(p_Tree))
|
|
#define M_p_stGraphInterpret(p_Tree) (M_GetSetParam_GraphValue(p_Tree))
|
|
#define M_p_stMacroInterpret(p_Tree) (M_GetSetParam_p_stMacroValue(p_Tree))
|
|
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Usefull misc. definitions */
|
|
/*---------------------------------------------------------------------------*/
|
|
#if defined(__DEBUG_AI__)
|
|
#define M_VerifyNbParamAction(p_stTree, NParam) \
|
|
if (fn_ucGetTreeNbParam((p_stTree)) != NParam) \
|
|
{ \
|
|
M_AIFatalError(E_uwAIFatalWrongParamAction); \
|
|
}
|
|
|
|
#define M_VerifyTypeOfParamAction(p_stParam, eType) \
|
|
if (M_GetSetParam_Type(p_stParam) != eType) \
|
|
{ \
|
|
M_AIFatalError(E_uwAIFatalWrongTypeParamAction); \
|
|
}
|
|
|
|
#define M_Verify2TypesOfParamAction(p_stParam, eType1, eType2) \
|
|
if ( (M_GetSetParam_Type(p_stParam) != eType1) && (M_GetSetParam_Type(p_stParam) != eType2) ) \
|
|
{ \
|
|
M_AIFatalError(E_uwAIFatalWrongTypeParamAction); \
|
|
}
|
|
#else
|
|
#define M_VerifyNbParamAction(p_stTree, NParam)
|
|
#define M_VerifyTypeOfParamAction(p_stParam, eType)
|
|
#define M_Verify2TypesOfParamAction(p_stParam, eType1, eType2)
|
|
#endif /* __DEBUG_AI__*/
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Structures definitions */
|
|
/*---------------------------------------------------------------------------*/
|
|
#include "EnumType.h"
|
|
|
|
typedef union tduIdInterpret_
|
|
{
|
|
enum tdeCondId_ eCondId;
|
|
enum tdeKeyWordId_ eKeyWordId;
|
|
enum tdeOperatorId_ eOperatorId;
|
|
enum tdeFuncId_ eFuncId;
|
|
enum tdeProcedureId_ eProcedureId;
|
|
enum tdeFieldId_ eFieldId;
|
|
enum tdeMetaActionId_ eMetaActionId;
|
|
IPT_tdxHandleToEntryElement hInputAction;
|
|
} tduIdInterpret;
|
|
|
|
typedef struct tdstNodeInterpret_
|
|
{
|
|
union
|
|
{
|
|
union tduIdInterpret_ uId;
|
|
union tduGetSetParamForNode_ uParam; /*this trick allow us to have sizeof(uParam)=4 instead of 12 : great for U64*/
|
|
}
|
|
#if defined(U64)
|
|
uDummy
|
|
#endif
|
|
;
|
|
/* this trick allow us to have sizeof(eType)=1 instead of 4 : it is benefit if we respect alignment : great for U64*/
|
|
#if defined(__DEBUG_AI__)
|
|
enum tdeTypeInterpret_ eType;
|
|
#endif /* __DEBUG_AI__*/
|
|
#if defined(OPTIMIZE_SWAP_PARAMETER)
|
|
unsigned short uwNodeToSkip;
|
|
#endif /* OPTIMIZE_SWAP_PARAMETER*/
|
|
unsigned char ucDepth;
|
|
#if !defined(__DEBUG_AI__)
|
|
unsigned char eType;
|
|
#endif
|
|
#if defined(ACTIVE_AIDEBUG)
|
|
ACP_tdxBool bBreakPoint; /**** DR ****/
|
|
#endif /*ACTIVE_AIDEBUG*/
|
|
|
|
} tdstNodeInterpret;
|
|
|
|
typedef struct tdstTreeInterpret_
|
|
{
|
|
struct tdstNodeInterpret_ *p_stNodeInterpret;
|
|
#if !defined(OPTIMIZE_NB_NODES)
|
|
unsigned short uwNbNode; /* For debug*/
|
|
#endif
|
|
} tdstTreeInterpret;
|
|
|
|
typedef struct tdstMacro_
|
|
{
|
|
#if defined(__DEBUG_AI__)
|
|
char szName[256];
|
|
#endif
|
|
struct tdstTreeInterpret_ *p_stInitTree;
|
|
struct tdstTreeInterpret_ *p_stCurrentTree;
|
|
} tdstMacro;
|
|
|
|
typedef struct tdstListOfMacro_
|
|
{
|
|
struct tdstMacro_ *p_stMacro;
|
|
unsigned char ucNbMacro; /* For second pass.*/
|
|
} tdstListOfMacro;
|
|
|
|
typedef struct tdstComport_
|
|
{
|
|
#if defined(__DEBUG_AI__)
|
|
char szName[256];
|
|
#endif
|
|
struct tdstTreeInterpret_ *p_stRules;
|
|
/* For Schedule.*/
|
|
struct tdstTreeInterpret_ *p_stSchedule;
|
|
//XB 05/08/99
|
|
#ifndef D_THROW_CFAST_AI
|
|
//End XB
|
|
long CFast_lMyIndex;
|
|
//XB 05/08/99
|
|
#endif /* D_THROW_CFAST_AI */
|
|
//End XB
|
|
unsigned char ucNbRules;
|
|
} tdstComport;
|
|
|
|
typedef struct tdstScriptAI_
|
|
{
|
|
struct tdstComport_ *p_stComport;
|
|
unsigned long ulNbComport;
|
|
unsigned long ulNoComportInitDefault;
|
|
unsigned char ucActionTableNbEntry;
|
|
} tdstScriptAI;
|
|
|
|
typedef struct tdstIntelligence_
|
|
{
|
|
struct tdstScriptAI_ **p_p_stScriptAI;
|
|
struct tdstNodeInterpret_ *p_stCurrentSchedule;
|
|
struct tdstComport_ *p_stCurrentComport;
|
|
/* Current comport when we execute the last ChangeComport.*/
|
|
struct tdstComport_ *p_stPrevComport;
|
|
struct tdstActionTable_ *p_stActionTable;
|
|
unsigned long ulNoComportInit;
|
|
} tdstIntelligence;
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Strintel.c functions*/
|
|
/*---------------------------------------------------------------------------*/
|
|
/*EXTERN_AI_DLL CPA_EXPORT */
|
|
void fn_vReinitComport(struct tdstIntelligence_ *p_stIntelligence);
|
|
unsigned char fn_ucChangeComportIntell(struct tdstIntelligence_ *p_stIntelligence, struct tdstComport_ *p_stComport);
|
|
|
|
unsigned char fn_ucGetTreeNbParam(struct tdstNodeInterpret_ *p_stTree);
|
|
|
|
#if defined(OPTIMIZE_NB_NODES)
|
|
EXTERN_AI_DLL CPA_EXPORT unsigned short fn_uwGetNbNodeInterpret(struct tdstTreeInterpret_ *p_stTree);
|
|
#endif /* OPTIMIZE_NB_NODES*/
|
|
|
|
|
|
/**************************************************************/
|
|
/* AI init functions used by allocations */
|
|
/**************************************************************/
|
|
/*
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vInitComport(struct tdstComport_ *p_stComport);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vInitRule(struct tdstTreeInterpret_ *p_stRule);
|
|
*/
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vInitNodeInterpret(struct tdstNodeInterpret_ *p_stNode, long lVal, enum tdeTypeInterpret_ eTypeInterpret, unsigned char ucDepth);
|
|
|
|
/*
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFullInitNodeInterpret(struct tdstIntelligence_ *p_stIntelligence,
|
|
unsigned long ulNbComport,
|
|
unsigned char ucNbRules,
|
|
unsigned short uwNbNode,
|
|
long lVal,
|
|
enum tdeTypeInterpret_ eTypeInterpret,
|
|
unsigned char ucDepth);
|
|
*/
|
|
|
|
|
|
/**************************************************************/
|
|
/* AI allocation functions for macros : */
|
|
/**************************************************************/
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vAllocListOfMacro(struct AI_tdstMind_ *p_stMind, unsigned char ucNbMacro);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vAllocNodeMacro(tdstMacro *p_stMacro, unsigned short ucNbNode);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstListOfMacro_ *fn_p_stAllocListOfMacro(unsigned char ucNbMacro);
|
|
|
|
/**************************************************************/
|
|
/* AI allocation functions : */
|
|
/**************************************************************/
|
|
EXTERN_AI_DLL CPA_EXPORT struct AI_tdstAIModel_ *fn_p_stAllocAIModel();
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstScriptAI_ *fn_p_stAllocScriptAI(unsigned char ucActionTableNbEntry);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstIntelligence_ *fn_p_stAllocIntelligence(struct tdstScriptAI_ **p_p_stScriptAI,unsigned char ucActionTableNbEntry);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstActionTableEntry_ *fn_p_stAllocActionTableEntry(unsigned char ucActionTableEntry);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstActionTable_ *fn_p_stAllocActionTable(unsigned char ucActionTableNbEntry);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstComport_ *fn_p_stAllocComport(unsigned long ulNbComport);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstTreeInterpret_ *fn_p_stAllocRule(unsigned char ucNbRules);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstNodeInterpret_ *fn_p_stAllocNodeInterpret(unsigned short uwNbNode);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstTreeInterpret_ *fn_p_stAllocSchedule(unsigned short uwNbNode);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vCreateNodeString(struct tdstNodeInterpret_ *p_stNode, char *szString);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vCreateNodeVector(struct tdstNodeInterpret_ *p_stNode);
|
|
|
|
#ifdef ACTIVE_EDITOR
|
|
/**************************************************************/
|
|
/* AI deallocation functions : */
|
|
/**************************************************************/
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeNodeContent(struct tdstNodeInterpret_ *p_stNode);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeNodeInterpretAll(struct tdstNodeInterpret_ **p_p_stNode,unsigned short uwNbNodes);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeRuleContent(struct tdstTreeInterpret_ *p_stRules);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeRuleAll(struct tdstTreeInterpret_ **p_p_stRules,unsigned char ucNbRules);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeScheduleContent(struct tdstTreeInterpret_ *p_stSchedule);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeScheduleAll(struct tdstTreeInterpret_ **p_p_stSchedule);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeComportContent(struct tdstComport_ *p_stComport);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeComportAll(struct tdstComport_ **p_p_stComport,unsigned long ulNbComport);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeScriptAIContent(struct tdstScriptAI_ *p_stScriptAI);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeScriptAIAll(struct tdstScriptAI_ **p_p_stScriptAI);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeAIModelContent(struct AI_tdstAIModel_ *p_stAIModel);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeAIModelAll(struct AI_tdstAIModel_ **p_p_stAIModel);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeActionTableEntryContent(struct tdstActionTableEntry_ *p_stActionTableEntry);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeActionTableEntryAll(struct tdstActionTableEntry_ **p_p_stActionTableEntry,unsigned ucActionTableNbEntry);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeActionTableContent(struct tdstActionTable_ *p_stActionTable);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeActionTableAll(struct tdstActionTable_ **p_p_stActionTable);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeIntelligenceContent(struct tdstIntelligence_ *p_stIntelligence);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeIntelligenceAll(struct tdstIntelligence_ **p_p_stIntelligence);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeReflexAll(struct tdstIntelligence_ **p_p_stReflex);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeMindContent(struct AI_tdstMind_ *p_stMind);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeMindAll(struct AI_tdstMind_ **p_p_stMind);
|
|
#endif /* ACTIVE_EDITOR*/
|
|
|
|
/*******************************************************************/
|
|
/* AI allocation and deallocation functions for variable designer: */
|
|
/*******************************************************************/
|
|
/* allocations*/
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vAllocVariableDesigner(struct AI_tdstMind_ *p_stMind,unsigned long ulSizeDsgMem,unsigned char ucNbParam);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstDsgVarInfo_ *fn_p_stAllocDsgVarInfo(unsigned char ucNbDsgVar);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstDsgVar_ *fn_p_stAllocDsgVar(unsigned long ulSize,unsigned char ucNbDsgVar);
|
|
EXTERN_AI_DLL CPA_EXPORT char *fn_p_cAllocDsgMemBuffer(unsigned long ulSize);
|
|
EXTERN_AI_DLL CPA_EXPORT struct tdstDsgMem_ *fn_p_stAllocDsgMem(struct tdstDsgVar_ **p_p_stDsgVar,unsigned long ulSize);
|
|
|
|
|
|
#ifdef ACTIVE_EDITOR
|
|
/* deallocations*/
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeDesignerVariable(struct AI_tdstMind_ *p_stMind);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeDsgVarInfoContent(struct tdstDsgVarInfo_ *p_stDsgVarInfo);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeDsgVarInfoAll(struct tdstDsgVarInfo_ **p_p_stDsgVarInfo,unsigned char ucNbDsgVar);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeDsgVarContent(struct tdstDsgVar_ *p_stDsgVar);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeDsgVarAll(struct tdstDsgVar_ **p_p_stDsgVar);
|
|
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeDsgMemBuffer(char **p_p_cDsgMemBuffer);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeDsgMemContent(struct tdstDsgMem_ *p_stDsgMem);
|
|
EXTERN_AI_DLL CPA_EXPORT void fn_vFreeDsgMemAll(struct tdstDsgMem_ **p_p_stDsgMem);
|
|
#endif /* ACTIVE_EDITOR*/
|
|
|
|
/*******************************************************************************/
|
|
#undef EXTERN_AI_DLL
|
|
|
|
#endif /* __STRINTEL_H__*/
|