// EdIRIC.hpp : header file // #ifndef _EDIRIC_HPP_ #define _EDIRIC_HPP_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #define D_ZdxStuff_StructureDefine #include "MTH.h" #include "ai_intf.hpp" #include "Ctl.h" #include "CPA_NLL.hpp" #include "ITF.h" #include "incAI.h" typedef enum tdeNodeType_ { eCreateSchedule , eCreateRule , eCreateDsgVar , //BEGIN ROMTEAM Cristi Petrescu 98-04- eCreateSubr, eSubrRef, //END ROMTEAM Cristi Petrescu 98-04- eBeginMacro , eEndMacro , eIncDepth , eDecDepth , eStopEngine , eStopRule , eNonStop , eKeyWord , eCondition , eMetaAction , eProcedure , eField , eConstant , eOperator , eFunction , eDsgVar , eConstantInt , eConstantReal , ePerso , eReal , eZdd , eZde , eZdm , eVector , eVectorConstant , eAction , eState , eWay , eWayPoint , eModule , eKeyButton , eComport , eMaskType , ePower , eSurface , eEnvironment , eSector , eSuperObject , eLipSynchro , eObjectTable , eFamily , eModel , eSoundEvent , eString , eText , eFont , eGameMaterial , eLight , eCaps , eGraph , eParticleGenerator , eMyRfxBehaviour , eMyIABehaviour , eRfxBehaviour , eIABehaviour , eZdr , eInvalidNode } tdeNodeType; ///////////////////////////////////////////////////////////////////////////// // class CPA_EdIR_IntermediateCode ///////////////////////////////////////////////////////////////////////////// class CPA_Actor; class CPA_EdIR_IntermediateCode { private: enum eType { eUseLong, eUseReal, eUseVector, eUseString, eInvalidType }; long m_lOffset; //in original text tdeNodeType m_eNodeType; //node type unsigned char m_ucDepth; //depth eType m_eType; //to know if we use m_lIndex, m_dfValue or m_tdstVector long m_lIndex; //value CPA_Actor *m_pclModel; //for behaviour double m_dfValue; //value MTH3D_tdstVector m_tdstVector; //value CString m_csString; //value public: tdstNodeInterpret *pstRefNode; /* To remember address of node for a reference */ CPA_EdIR_IntermediateCode(); CPA_EdIR_IntermediateCode(CPA_EdIR_IntermediateCode *); CPA_EdIR_IntermediateCode(long,tdeNodeType,long,CPA_Actor *pclModel=NULL); CPA_EdIR_IntermediateCode(long,tdeNodeType,double); CPA_EdIR_IntermediateCode(long,tdeNodeType,double,double,double); CPA_EdIR_IntermediateCode(long,tdeNodeType,CString); CString m_fn_csGetValue(); long m_fn_lGetIndex(); CPA_Actor *m_fn_pclGetModel(); double m_fn_dfGetValue(); MTH3D_tdstVector m_fn_tdstGetVector(); CString m_fn_csGetString(); long m_fn_lGetOffset(); tdeNodeType m_fn_tdeGetNodeType(); unsigned char m_fn_ucGetDepth(); void m_fn_vSetIndex(long); void m_fn_vSetValue(double); void m_fn_vSetNodeType(tdeNodeType); void m_fn_vSetDepth(unsigned char); void m_fn_vSetModel(CPA_Actor *); ///////////////////////////////////////////////////////////////////////////////// //TEMPORAIRE void m_fn_vSetString(CString); ///////////////////////////////////////////////////////////////////////////////// }; #endif //_EDIRIC_HPP_