#ifndef _AS_PS_OBJECT #define _AS_PS_OBJECT #ifndef _AS_LIBPS #include #define _AS_LIBPS #endif #ifndef _AS_PS_ORDER #include "ps_order.hpp" #endif #ifndef _AS_PS_COORD #include "ps_coord.hpp" #endif const u_long MODEL_MAP_OFFSET = 1 ; const u_long MODEL_DATA_OFFSET = 3 ; class CDrawableObject { public: virtual void draw( GsOT& h) ; }; //typedef CDrawableObject* LPDRAWABLEOBJECT ; //CMoving3DObject class C3DObject : public CDrawableObject // ,public GsDOBJ2 ,public GsCOORDINATE2, public SVECTOR { //protected: public: SVECTOR rotation; GsDOBJ2 gsObjectHandler; char* m_pstrName ; u_long m_lModel ; SVECTOR m_startVector ; public: GsCOORDINATE2 gsObjectCoord; C3DObject( ) ; void initCords( ) ; // const char* name( ) const ; // void name( const char* cpstrName ) ; void model( const u_long lModelAddress ) ; const u_long model( ) const ; void invalidate( ) ; virtual void draw( GsOT& header ) ; void Setposition( const long X ,const long Y ,const long Z ) ; void setY(const long Y); void position( const long X ,const long Y ,const long Z ) ; void position( const CCord& ) ; void ResetRotation( ); virtual void rotate( int x, int y, int z ) ; void advance( int nSpeed ) ; void strafe( int nSpeed ); }; #endif