00001 // ----------------------------------------------------------------------- // 00002 // 00003 // MODULE : propmodel.h 00004 // 00005 // PURPOSE : CPropModel object class - Definition 00006 // 00007 // CREATED : 03/26/01 00008 // 00009 // (c) 2001 LithTech, Inc. All Rights Reserved 00010 // 00011 // ----------------------------------------------------------------------- // 00012 00013 #ifndef __PROP_MODEL_H__ 00014 #define __PROP_MODEL_H__ 00015 00016 00017 // Engine includes 00018 #include <ltengineobjects.h> 00019 00020 00022 class LTCollisionSphere; 00023 00024 00026 #define MAX_STARTANIMS 4 00027 00028 #define ANIMTRACKER_2 1 00029 #define ANIMTRACKER_3 2 00030 #define ANIMTRACKER_4 3 00031 00032 00034 class CPropModel : public BaseClass 00035 { 00036 public: 00037 // Construction / destruction 00038 CPropModel(); 00039 virtual ~CPropModel(); 00040 00041 // Overridden functions 00042 00043 uint32 EngineMessageFn(uint32 messageID, void *pData, float fData); 00044 00045 // Accessors 00046 00047 protected: 00048 // EngineMessageFn handlers 00049 00050 uint32 PreCreate(void *pData, float fData); 00051 void ObjectCreated(); 00052 void Update(); 00053 00054 // Other functions 00055 00056 void ReadProps(ObjectCreateStruct* pStruct); 00057 void PostReadProps(); 00058 00059 // Members 00060 00061 char m_szModelFile[MAX_CS_FILENAME_LEN]; 00062 char m_szTexListFile[MAX_CS_FILENAME_LEN]; 00063 char m_szTexSet[MAX_CS_FILENAME_LEN]; 00064 char m_szRSSet[MAX_CS_FILENAME_LEN]; 00065 00066 float m_fScale; 00067 float m_fMass; 00068 00069 bool m_bDropToFloor; 00070 00071 char m_szStartAnims[MAX_STARTANIMS][MAX_CS_FILENAME_LEN]; 00072 char m_szWeightSets[MAX_STARTANIMS][MAX_CS_FILENAME_LEN]; 00073 uint8 m_nNumExtraTrackers; 00074 LTVector3f m_vStartAnimDims; 00075 00076 LTCollisionSphere* m_pCollSphere; 00077 00078 private: 00079 00080 }; 00081 00082 00083 #endif // __PROP_MODEL_H__ 00084