#define D_Brain_StructureDefine #include "AIUseCPA.h" #include "TypePtr.h" #include "CFast.h" #include "EnumProc.h" #include "EnumCond.h" #include "EnumAct.h" #include "EnumFunc.h" #include "EnumFild.h" #include "EnumOper.h" #include "EnumKey.h" #include "ActConst.h" #include "DsgMem.h" #include "DsgMemC.h" #include "Specif\AItools.h" #ifndef U64 #include "sna.h" #endif //XB 05/08/99 #ifndef D_THROW_CFAST_AI //End XB extern void fn_vSetUltraOperatorPerso(HIE_tdxHandleToSuperObject hCurrentSuperObjPerso,HIE_tdxHandleToSuperObject hNewCurrentSuperObjPerso); extern tdstNodeInterpret *fn_p_stOperatorGetPerso(HIE_tdxHandleToSuperObject p_SuperObjPerso, tdstNodeInterpret *p_stTree, HIE_tdxHandleToSuperObject *hSuperObjPersoFound) ; extern void fn_vSetProcedureActionReturn(tducActionReturn ucActionReturn); extern tducActionReturn fn_ucGetProcedureActionReturn(void); tdstGetSetParam CFast_g_a_stParam[CFast_lMaxTreeDepth] ; tdstNodeInterpret CFast_g_a_stPseudoTree[7][CFast_lMaxTreeDepth] ; /*long CFast_g_a_lLong[CFast_lMaxTreeDepth] ;*/ tdp_fn_p_stConditionFunctionPtr CFast_g_p_fn_CondPtr ; tdp_fn_p_stOperatorFunctionPtr CFast_g_p_fn_OpPtr ; tdp_fn_p_stProcedureFunctionPtr CFast_g_p_fn_ProcPtr ; tdp_fn_p_stFunctionFunctionPtr CFast_g_p_fn_FuncPtr ; tdp_fn_p_stKeyWordFunctionPtr CFast_g_p_fn_KeyWordPtr ; tdp_fn_p_stMetaActionInitFunctionPtr CFast_g_p_fn_MetaInitPtr ; tdp_fn_ucMetaActionFunctionPtr CFast_g_p_fn_MetaPtr ; ACP_tdxBool CFast_g_bProcessReflex ; ACP_tdxBool CFast_g_bMetaActionInRfx ; tdeTypeInterpret CFast_g_aEvt2Eti[] = { E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Real, E_ti_String, E_ti_WayPointRef, E_ti_PersoRef, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_Constant, E_ti_ConstantVector, E_ti_Module, E_ti_DsgVarRef, E_ti_ActionRef, E_ti_Button, E_ti_Mask, E_ti_Constant, E_ti_LipsSynchroRef, E_ti_ObjectTableRef, E_ti_SuperObjectRef, E_ti_Constant, E_ti_FamilyRef, E_ti_SoundEventRef, E_ti_ComportRef, E_ti_Constant, E_ti_Constant, E_ti_ParticleGenerator, E_ti_GameMaterialRef, E_ti_Color, E_ti_ModelRef, E_ti_Constant, E_ti_Light, E_ti_Caps, E_ti_Graph } ; /* Mind of current perso */ AI_tdstMind *p_stGlobalMind; struct tdstNodeInterpret_ *gp_stRefTree; struct tdstNodeInterpret_ *gp_stPseudoTree; HIE_tdxHandleToSuperObject g_hSuperObjectPerso; char *p_cGlobalDsgMemBuffer; tdstDsgVarInfo *p_stGlobalDsgVarInfo; #define M_LocalGetDsgVarAddr(mind, ind) (p_cLocalDsgMemBuffer + p_stLocalDsgVarInfo[ind].ulOffsetInDsgMem) /*#define M_LocalGetDsgVarAddr(mind, ind) (p_cLocalVarsArray[ind])*/ #ifdef __DEBUG_AI__ #ifdef ACTIVE_EDITOR #define CFast_M_MakeNode(val, type, skip, depth, bpt) { {{(enum tdeCondId_)val}}, (tdeTypeInterpret)type, skip, depth } #else #define CFast_M_MakeNode(val, type, skip, depth, bpt) { {{(enum tdeCondId_)val}}, (tdeTypeInterpret)type, skip, depth } #endif /* ACTIVE_EDITOR */ #else #define CFast_M_MakeNode(val, type, skip, depth, bpt) { val, skip, depth, type } #endif /* __DEBUG_AI__ */ #ifdef U64 #define CFast_M_MakeRef(a, b, c, d) { b, c, d } #else #define CFast_M_MakeRef(a, b, c, d) { b } #endif #ifdef U64 void CFast_vCalcAllCodeSizes(void) { /* long i = 0 ; while( CFast_gast_ArrayFunctions[i].ml_SizeOfTree != 0L ) { CFast_gast_ArrayFunctions[i].ml_SizeOfCode -= (long)(CFast_gast_ArrayFunctions[i].mfnv_Function); i++ ; } */ } #endif /* U64 */ /***************************************/ void CFast_fn_vSetUltraOperatorPersoRef(int i) { fn_vSetUltraOperatorPerso(g_hSuperObjectPerso, M_GetSuperObject(M_p_stPersoRefInterpret(gp_stRefTree + i))) ; } /***************************************/ void CFast_fn_vSetUltraOperatorMainActor(void) { fn_vSetUltraOperatorPerso(g_hSuperObjectPerso, MC_fn_hGetCharacterInMainCharacterNode(MC_fn_hGetFirstMainCharNode())) ; } /***************************************/ /*void CFast_fn_vSetUltraOperatorWorld(void) { fn_vSetUltraOperatorPerso(g_hSuperObjectPerso, g_stEngineStructure.h_WorldCaracter) ; }*/ /***************************************/ void CFast_fn_vSetUltraOperatorPersoVar(int i) { HIE_tdxHandleToSuperObject hNewCurrentSuperObjPerso; tdstNodeInterpret stTmpTree; M_SetTypeInterpret(&stTmpTree, E_ti_DsgVarRef); M_lValueInterpret(&stTmpTree) = i; fn_p_stOperatorGetPerso(g_hSuperObjectPerso,&stTmpTree,&hNewCurrentSuperObjPerso); fn_vSetUltraOperatorPerso(g_hSuperObjectPerso, hNewCurrentSuperObjPerso); } /***************************************/ void CFast_memcpy(int i, int j, int k) { long *pdest = (long *) &CFast_g_a_stPseudoTree[i][j], *psrc = (long *) (gp_stRefTree + k); #if defined(__DEBUG_AI__) memcpy(pdest, psrc, sizeof(tdstNodeInterpret)); #else /* Size of tdstNodeInterpret in release is 8 */ *pdest++ = *psrc++; *pdest++ = *psrc++; #endif } /***************************************/ void CFast_CallFunction1_Static(int iInd) { a_stFunctionTable[M_eFuncIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[1]) ; } void CFast_CallFunction2_Static(int iInd) { a_stFunctionTable[M_eFuncIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[2]) ; } void CFast_CallFunction3_Static(int iInd) { a_stFunctionTable[M_eFuncIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[3]) ; } void CFast_CallFunction4_Static(int iInd) { a_stFunctionTable[M_eFuncIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[4]) ; } void CFast_CallFunction5_Static(int iInd) { a_stFunctionTable[M_eFuncIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[5]) ; } void CFast_CallFunction6_Static(int iInd) { a_stFunctionTable[M_eFuncIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[6]) ; } void CFast_CallFunction7_Static(int iInd) { a_stFunctionTable[M_eFuncIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[7]) ; } void CFast_CallFunction8_Static(int iInd) { a_stFunctionTable[M_eFuncIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[8]) ; } void CFast_CallFunction9_Static(int iInd) { a_stFunctionTable[M_eFuncIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[9]) ; } void CFast_CallFunction1_NoStatic(void) { a_stFunctionTable[M_eFuncIdInterpret(CFast_g_a_stPseudoTree[E_ti_Function])].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Function]+1, &CFast_g_a_stParam[1]) ; } void CFast_CallFunction2_NoStatic(void) { a_stFunctionTable[M_eFuncIdInterpret(CFast_g_a_stPseudoTree[E_ti_Function])].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Function]+1, &CFast_g_a_stParam[2]) ; } void CFast_CallFunction3_NoStatic(void) { a_stFunctionTable[M_eFuncIdInterpret(CFast_g_a_stPseudoTree[E_ti_Function])].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Function]+1, &CFast_g_a_stParam[3]) ; } void CFast_CallFunction4_NoStatic(void) { a_stFunctionTable[M_eFuncIdInterpret(CFast_g_a_stPseudoTree[E_ti_Function])].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Function]+1, &CFast_g_a_stParam[4]) ; } void CFast_CallFunction5_NoStatic(void) { a_stFunctionTable[M_eFuncIdInterpret(CFast_g_a_stPseudoTree[E_ti_Function])].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Function]+1, &CFast_g_a_stParam[5]) ; } void CFast_CallFunction6_NoStatic(void) { a_stFunctionTable[M_eFuncIdInterpret(CFast_g_a_stPseudoTree[E_ti_Function])].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Function]+1, &CFast_g_a_stParam[6]) ; } void CFast_CallFunction7_NoStatic(void) { a_stFunctionTable[M_eFuncIdInterpret(CFast_g_a_stPseudoTree[E_ti_Function])].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Function]+1, &CFast_g_a_stParam[7]) ; } void CFast_CallFunction8_NoStatic(void) { a_stFunctionTable[M_eFuncIdInterpret(CFast_g_a_stPseudoTree[E_ti_Function])].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Function]+1, &CFast_g_a_stParam[8]) ; } void CFast_CallFunction9_NoStatic(void) { a_stFunctionTable[M_eFuncIdInterpret(CFast_g_a_stPseudoTree[E_ti_Function])].p_fn_p_stFunctionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Function]+1, &CFast_g_a_stParam[9]) ; } /***************************************/ long CFast_CallCondition_Static(int iInd) { long temp; a_stConditionTable[M_eCondIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stConditionFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &temp) ; return temp; } long CFast_CallCondition_NoStatic(void) { long temp; a_stConditionTable[M_eCondIdInterpret(CFast_g_a_stPseudoTree[E_ti_Condition])].p_fn_p_stConditionFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Condition]+1, &temp) ; return temp; } /***************************************/ void CFast_CallVector0_Static (int iInd) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, gp_stPseudoTree+iInd, &CFast_g_a_stParam[0]) ; } void CFast_CallVector1_Static (int iInd) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, gp_stPseudoTree+iInd, &CFast_g_a_stParam[1]) ; } void CFast_CallVector2_Static (int iInd) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, gp_stPseudoTree+iInd, &CFast_g_a_stParam[2]) ; } void CFast_CallVector3_Static (int iInd) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, gp_stPseudoTree+iInd, &CFast_g_a_stParam[3]) ; } void CFast_CallVector4_Static (int iInd) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, gp_stPseudoTree+iInd, &CFast_g_a_stParam[4]) ; } void CFast_CallVector5_Static (int iInd) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, gp_stPseudoTree+iInd, &CFast_g_a_stParam[5]) ; } void CFast_CallVector6_Static (int iInd) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, gp_stPseudoTree+iInd, &CFast_g_a_stParam[6]) ; } void CFast_CallVector7_Static (int iInd) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, gp_stPseudoTree+iInd, &CFast_g_a_stParam[7]) ; } void CFast_CallVector8_Static (int iInd) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, gp_stPseudoTree+iInd, &CFast_g_a_stParam[8]) ; } void CFast_CallVector0_NoStatic (void) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[6], &CFast_g_a_stParam[0]) ; } void CFast_CallVector1_NoStatic (void) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[6], &CFast_g_a_stParam[1]) ; } void CFast_CallVector2_NoStatic (void) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[6], &CFast_g_a_stParam[2]) ; } void CFast_CallVector3_NoStatic (void) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[6], &CFast_g_a_stParam[3]) ; } void CFast_CallVector4_NoStatic (void) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[6], &CFast_g_a_stParam[4]) ; } void CFast_CallVector5_NoStatic (void) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[6], &CFast_g_a_stParam[5]) ; } void CFast_CallVector6_NoStatic (void) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[6], &CFast_g_a_stParam[6]) ; } void CFast_CallVector7_NoStatic (void) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[6], &CFast_g_a_stParam[7]) ; } void CFast_CallVector8_NoStatic (void) { a_stTypeTable[E_ti_Vector].p_fn_p_stEvalTypePtr(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[6], &CFast_g_a_stParam[8]) ; } /***************************************/ void CFast_CallOperator0_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[0]) ; } void CFast_CallOperator1_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[1]) ; } void CFast_CallOperator2_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[2]) ; } void CFast_CallOperator3_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[3]) ; } void CFast_CallOperator4_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[4]) ; } void CFast_CallOperator5_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[5]) ; } void CFast_CallOperator6_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[6]) ; } void CFast_CallOperator7_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[7]) ; } void CFast_CallOperator8_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[8]) ; } void CFast_CallOperator9_Static(int iInd) { a_stOperatorTable[M_eOperatorIdInterpret(gp_stPseudoTree+iInd)].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, gp_stPseudoTree+iInd+1, &CFast_g_a_stParam[9]) ; } void CFast_CallOperator0_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[0]) ; } void CFast_CallOperator1_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[1]) ; } void CFast_CallOperator2_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[2]) ; } void CFast_CallOperator3_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[3]) ; } void CFast_CallOperator4_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[4]) ; } void CFast_CallOperator5_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[5]) ; } void CFast_CallOperator6_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[6]) ; } void CFast_CallOperator7_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[7]) ; } void CFast_CallOperator8_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[8]) ; } void CFast_CallOperator9_NoStatic(void) { a_stOperatorTable[M_eOperatorIdInterpret(CFast_g_a_stPseudoTree[E_ti_Operator])].p_fn_p_stOperatorFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Operator]+1, &CFast_g_a_stParam[9]) ; } /***************************************/ void CFast_CallProcedure_Static(int iInd) { a_stProcedureTable[M_eProcedureIdInterpret(gp_stPseudoTree + iInd)].p_fn_p_stProcedureFunction(g_hSuperObjectPerso, gp_stPseudoTree + iInd+1) ; } void CFast_CallProcedure_NoStatic(void) { a_stProcedureTable[M_eProcedureIdInterpret(CFast_g_a_stPseudoTree[E_ti_Procedure])].p_fn_p_stProcedureFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_Procedure]+1) ; } /***************************************/ void CFast_CallMetaActionInit_Static(int iInd) { a_stMetaActionTable[M_eMetaActionIdInterpret(gp_stPseudoTree + iInd)].p_fn_p_stMetaActionInitFunction(g_hSuperObjectPerso, gp_stPseudoTree + iInd+1) ; } void CFast_CallMetaActionInit_NoStatic(void) { a_stMetaActionTable[M_eMetaActionIdInterpret(CFast_g_a_stPseudoTree[E_ti_MetaAction])].p_fn_p_stMetaActionInitFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_MetaAction]+1) ; } /***************************************/ unsigned char CFast_CallMetaAction(int iFunc) { return a_stMetaActionTable[iFunc].p_fn_ucMetaActionFunction(g_hSuperObjectPerso) ; } /***************************************/ void CFast_CallKeyword_Static(int iInd, int iReturn) { a_stKeyWordTable[M_eKeyWordIdInterpret(gp_stPseudoTree + iInd)].p_fn_p_stKeyWordFunction(g_hSuperObjectPerso, gp_stPseudoTree + iInd + 1, &CFast_g_a_stParam[iReturn]) ; } void CFast_CallKeyword_NoStatic(int iReturn) { a_stKeyWordTable[M_eKeyWordIdInterpret(CFast_g_a_stPseudoTree[E_ti_KeyWord])].p_fn_p_stKeyWordFunction(g_hSuperObjectPerso, CFast_g_a_stPseudoTree[E_ti_KeyWord] + 1, &CFast_g_a_stParam[iReturn]) ; } void CFast_vInitStaticTree (struct tdstNodeInterpret_ *p_stStaticTree, long lSize, struct tdstNodeInterpret_ *p_stRefTree ){ long i; for ( i=0 ; i